Hi All, The following buildout.cfg demonstrates something that feels buggy to me: [buildout] parts = sqlalchemy migrate versions = versions [versions] SQLAlchemy = 0.6.0 sqlalchemy = 0.6.2 [sqlalchemy] recipe = zc.recipe.egg eggs = SQLAlchemy entry-points = foo=bar:baz [migrate] recipe = zc.recipe.egg eggs = sqlalchemy-migrate When run, you'll get two scripts: bin/migrate: ... sys.path[0:0] = [ '/opt/buildout-eggs/sqlalchemy_migrate-0.6-py2.6.egg', '/opt/buildout-eggs/Tempita-0.4-py2.6.egg', '/opt/buildout-eggs/decorator-3.2.0-py2.6.egg', '/opt/buildout-eggs/SQLAlchemy-0.6.2-py2.6.egg', ... bin/foo: ... sys.path[0:0] = [ '/opt/buildout-eggs/SQLAlchemy-0.6.0-py2.6.egg', ] ... The problem is that sqlalchemy-migrate declares an install_requires dependency on "sqlalchemy", which the package is actually called SQLAlchemy. It could be argued that sqlalchemy-migrate is "wrong" but it remains that all python's packaging tools appear case insensitive to package names. As such, I'd expect buildout's version pinning to be case agnostic as well. What do other people feel about this? Chris