Personal tools
You are here: Home Documentation Tutorials Introduction to zc.buildout What is zc.buildout

What is zc.buildout

zc.buildout is a coarse-grained python-based configuration-driven build tool
Jim Fulton's tutorial for using buildout, originally given at DZUG 2007
Page 1 of 17.

What is zc.buildout?

  • Coarse-grained python-based configuration-driven build tool

  • Tool for working with eggs

  • Repeatable

    handout

    It should be possible to check-in a buildout specification and reproduce the same software later by checking out the specification and rebuilding.

  • Developer oriented

Coarse-grained building

  • make and scons (and distutils) are fine grained

    • Focus on individual files

    • Good when one file is computed from another

      .c -> .o -> .so

    • rule-driven

    • dependency and change driven

  • zc.buildout is coarse-grained

    • Build large components of a system
      • applications
      • configurations files
      • databases
    • configuration driven

Python-based

  • make is an awful scripting language

    • uses shell
    • non-portable
  • Python is a good scripting language

    handout

    Fortunately, distutils addresses most of my building needs. If I had to write my own fine-grained build definition, I'd use scons.