Personal tools
You are here: Home Documentation Tutorials Introduction to zc.buildout Glossary of Egg Jargon

Glossary of Egg Jargon

Terminology used when refering to eggs
Jim Fulton's tutorial for using buildout, originally given at DZUG 2007
Page 3 of 17.

Egg jargon

  • Distribution

    handout

    "distribution" is the name distutils uses for something that can be distributed. There are several kinds of distributions that can be created by distutils, including source distributions, binary distributions, eggs, etc.

  • source and binary distributions

    handout

    A source distribution contains the source for a project.

    A binary distributions contains a compiled version of a project, including .pyc files and built extension modules.

    Eggs are a type of binary distribution.

  • Platform independent and platform dependent eggs

    handout

    Platform dependent eggs contain built extension modules and are thus tied to a specific operating system. In addition, they may depend on build options that aren't reflected in the egg name.

  • develop egg links

    handout

    Develop egg links (aka develop eggs) are special files that allow a source directory to be treated as an egg. An egg links is a file containing the path of a source directory.

  • requirements

    handout

    Requirements are strings that name distributions. They consist of a project name, optional version specifiers, and optional extras specifiers. Extras are names of features of a package that may have special dependencies.

  • index and link servers

    easy_install and zc.buildout will automatically download distributions from the Internet. When looking for distributions, they will look on zero or more links servers for links to distributions.

    They will also look on a single index server, typically (always) http://www.python.org/pypi. Index servers are required to provide a specific web interface.

Entry points

  • Very similar to utilities

    • Named entry point groups define entry point types
    • Named entry points within groups provide named components of a given type.
  • Allow automated script generation

    Wrapper script:

    • Sets up path

      handout

      easy_install and zc.buildout take very different approaches to this.

      easy_install generates scripts that call an API that loads eggs dynamically at run time.

      zc.buildout determines the needed eggs at build time and generates code in scripts to explicitly add the eggs to sys.path.

      The approach taken by zc.buildout is intended to make script execution deterministic and less susceptible to accidental upgrades.

    • Imports entry point

    • Calls entry point without arguments

      handout

      Buildout allows more control over script generation. Initialization code and entry point arguments can be specified.