{ "info": { "author": "Jonathan Ultis", "author_email": "jonathanu@zillow.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: MIT License", "Topic :: Utilities" ], "description": "Buildout Platform Versions (BPV)\n================================\n\nBPV lets you switch between sets of pinned dependencies more easily.\n\nIt's useful for testing a build with several dependency chains. For\nexample, you might be using one freeze of Turbogears in production, but\nyou might also want to test a new freeze in development.\n\nSimple Example\n--------------\n\nSuppose that we're using flup 1.0.2 in production. We want the\nproduction build to continue to use the old flup. But, we want to flip\nbetween the production flup and a new flup on the dev box.\n\nDevelopers can build and test with [production], [dev], or\n[newest\\_flup] by setting an environment variable\n\n::\n\n export PLATFORM\\_ENVIRONMENT\\_VARIABLE=dev\n\nOr writing a custom develop.cfg. Here's how BPV gets the job done:\n\nbuildout.cfg\n~~~~~~~~~~~~\n\n::\n\n [buildout]\n\n extensions = buildout_platform_versions\n\n # optionally\n # platform-versions-config = WHATEVER_SECTION\n\n [platform-versions-config]\n default-platform = production\n sources =\n some_config_enhance_file.cfg\n another_config_enhance_file.cfg\n platform-env = PLATFORM_ENVIRONMENT_VARIABLE\n\nsome\\_config\\_enhance\\_file.cfg\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n [base]\n simplejson = 2.2.1\n flup = 1.0.2\n WebOb = 1.1.1\n Jinja2 = 2.6\n pymongo = 2.1\n\nanother\\_config\\_enhance\\_file.cfg\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n [production]\n # the production environment uses the base config\n <<=