zc.buildout 3.3
pip install zc.buildout==3.3
Released:
System for managing development buildouts
Navigation
Verified details
These details have beenverified by PyPIOwner
Maintainers
Unverified details
These details havenot been verified by PyPIProject links
Meta
- License: Zope Public License (ZPL 2.1)
- Author:Jim Fulton
- Tags development, build
- Requires: Python !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, >=2.7
- Provides-Extra:
test
Classifiers
- Development Status
- Intended Audience
- License
- Programming Language
- Topic
Project description
Buildout is a project designed to solve 2 problems:
Application-centric assembly and deployment
Assembly runs the gamut from stitching together libraries tocreate a running program, to production deployment configuration ofapplications, and associated systems and tools (e.g. run-controlscripts, cron jobs, logs, service registration, etc.).
Buildout might be confused with build tools like make or ant, butit is a little higher level and might invoke systems like make orant to get its work done.
Buildout might be confused with systems like puppet or chef, but itis more application focused. Systems like puppet or chef mightuse buildout to get their work done.
Buildout is also somewhat Python-centric, even though it can beused to assemble and deploy non-python applications. It has somespecial features for assembling Python programs. It’s scripted withPython, unlike, say puppet or chef, which are scripted with Ruby.
Repeatable assembly of programs from Python software distributions
Buildout puts great effort toward making program assembly a highlyrepeatable process, whether in a very open-ended development mode,where dependency versions aren’t locked down, or in a deploymentenvironment where dependency versions are fully specified. Youshould be able to check buildout into a VCS and later check it out.Two checkouts built at the same time in the same environment shouldalways give the same result, regardless of their history. Amongother things, after a buildout, all dependencies should be at themost recent version consistent with any version specificationsexpressed in the buildout.
Buildout supports applications consisting of multiple programs,with different programs in an application free to use differentversions of Python distributions. This is in contrast with aPython installation (real or virtual), where, for any givendistribution, there can only be one installed.
To learn more about buildout, including how to use it, seehttp://docs.buildout.org/.
Change History
3.3 (2024-10-17)
Bug fixes:
Allow the-I option in the Python interpreter wrapper installed bybuildout when using thezc.recipe.egg recipe’sinterpreter = directive.This solves the issue when VSCode calls the designated Python interpreter fora workspace with this option to determine the Python version etc. (#627)
3.2.0 (2024-09-26)
New features:
Add config option:optional-extends.This is the same as theextends option, but then for optional files.The names must be file paths, not URLs. If the path does not exist, it is silently ignored.This is useful for optionally loading alocal.cfg orcustom.cfg with options specific for the developer or the server.[maurits] (#665)
3.1.1 (2024-09-20)
Bug fixes:
Fix: a variable defined with initial+= was undefined and would lead to a corrupted.installed.cfg.Fixesissue 641.[distributist] (#641)
Fix: extends with increments could result in missing values.Buildout processes them in the correct order now and combines them correctly.Fixesissue 176 andissue 629.[distributist] (#644)
Fix: Multiple+= or/-= in one file would lose assignment in a previous file.Fixesissue 656.[distributist] (#656)
3.1.0 (2024-08-29)
Breaking changes:
Drop support for Python 3.5. It is unsupported, and testing it is too hard.[maurits] (#35)
Bug fixes:
Normalize package names when gathering packages.This should help find all distributions for packagename.space, whether they are calledname.space-1.0.tar.gz with a dot orname_space-1.0.tar.gz with an underscore (created withsetuptools 69.3 or higher).[maurits] (#647)
Fix ImportError: cannot import namepackaging frompkg_resources with setuptools 70.Done by adding a compatibility module that tries to importpackaging from several places.Fixesissue 648.[maurits] (#648)
3.0.1 (2022-11-08)
Bug fixes:
Fixed import of packaging.markers. [maurits] (#621)
3.0.0 (2022-11-07)
New features:
Add support for PEP 508 markers in section condition expressions.For example:[versions:python_version <= "3.9"].[maurits] (#621)
Bug fixes:
Command-line ‘extends’ now works with dirs in file names[gotcha] (cli-extends)
Add support for python311-315 in conditional section expressions. (#311)
Make compatible with pip 22.2+, restoring Requires-Python functionality there.Fixesissue 613.[maurits] (#613)
3.0.0rc3 (2022-04-07)
Bug fixes:
FixTypeError: dist must be a Distribution instance due to issue betweensetuptools andpip. (#600)
3.0.0rc2 (2022-03-04)
New features:
add support for PEP496 environment markers (pep496)
Bug fixes:
Fix TypeError for missing requireduse_deprecated_html5lib with pip 22.Keep compatible with earlier pip versions. (#598)
3.0.0rc1 (2021-12-16)
Bug fixes:
Call pip viapython -m pip. (#569)
3.0.0b5 (2021-11-29)
Bug fixes:
Fix when c extension implements namespace packages without the corresponding directories. (#589)
Honor command-line buildout:extends (#592)
3.0.0b4 (2021-11-25)
New features:
Allow to run buildout in FIPS enabled environments. (#570)
Proper error message if extends-cache tries to expand ${section:variable} (#585)
Bug fixes:
Forward verbose option to pip (#576)
Check that file top_level.txt exists before opening.Add check for other files as well. (#582)
Return code of pip install subprocess is now properly returned to buildout. (#586)
3.0.0b3 (2021-10-08)
New features:
Improve warning message when a section contains unused options. (#483)
Bug fixes:
Fix support ofpip>=21.1 (#567)
Fix confusion when using multiple Python versions andinstalling packages with C extensionswithout proper binary wheel available. (#574)
Development:
Avoid broken jobs on Travis because of security on PRs (travis-pr)
3.0.0b2 (2021-03-09)
New features:
Improve error message when a package version is not pinned andallow-picked-versions = false. (#481)
Bug fixes:
Fix FileNotFoundError when installing eggs with top-level directory without code (like doc). (#556)
Development:
Login to docker hub to avoid pull limits (travis)
Initialize towncrier (#519)
3.0.0b1 (2021-03-07)
Fix issue with combination of> specs andextras and recentsetuptools.
Fix issue with incrementing options from.buildout/default.cfg.
Support python37, python38 and python39 in conditional section expressions.
Fix bootstrapping for python27 and python35.
3.0.0a2 (2020-05-25)
Ignore.git when computing signature of a recipe develop egg
Warn when the name passed tozc.recipe.egg:scriptsis not defined in egg entry points.
Show pip warning about Python version only once.
Better patch forpkg_resources.Distribution.hashcmp performance.
3.0.0a1 (2020-05-17)
Scripts: ensure eggs are inserted beforesite-packages insys.path.
Fix forever loop when changingzc.buildout version viabuildout.
Add support forRequires-Python metadata.Fragile monkeypatch that relies onpip._internal.Emits a warning when support is disabled due to changes inpip.
Usepip install instead of deprecatedsetuptools.easy_install.
Patchpkg_resources.Distribution to make install of unpinned versions quicker.Most obvious withsetuptools.
2.13.3 (2020-02-11)
Fix DeprecationWarning about MutableMapping.(#484)
2.13.2 (2019-07-03)
Fixed DeprecationWarning on python 3.7: “‘U’ mode is deprecated”.
2.13.1 (2019-01-29)
Documentation update for the newbuildout query command.
2.13.0 (2019-01-17)
Get information about the configuration with new commandbuildout query.
2.12.2 (2018-09-04)
Upon an error, buildout exits with a non-zero exit code. This now also workswhen running with-D.
Fixed most ‘Deprecation’ and ‘Resource’ warnings.
2.12.1 (2018-07-02)
zc.buildout now explicitly requests zc.recipe.egg >=2.0.6 now.
2.12.0 (2018-07-02)
Add a new buildout optionallow-unknown-extras to enableinstalling requirements that specify extras that do not exist. Thisneeds a corresponding update to zc.recipe.egg. Seeissue 457.
zc.recipe.egg has been updated to 2.0.6 for this change.
2.11.5 (2018-06-19)
Fix forissue 295. Onwindows, deletion of temporary egg files is more robust now.
2.11.4 (2018-05-14)
Fix forissue 451:distributions with a version number that normalizes to a shorter versionnumber (3.3.0 to 3.3, for instance) can be installed now.
2.11.3 (2018-04-13)
Update to use the new PyPI athttps://pypi.org/.
2.11.2 (2018-03-19)
Fix for the #442 issue: AttributeError onpkg_resources.SetuptoolsVersion.
2.11.1 (2018-03-01)
Made upgrade check more robust. When using extensions, the improvementintroduced in 2.11 could prevent buildout from restarting itself when itupgraded setuptools.
2.11.0 (2018-01-21)
Installed packages are added to the working set immediately. This helps insome corner cases that occur when system packages have versions thatconflict with our specified versions.
2.10.0 (2017-12-04)
Setuptools 38.2.0 started supporting wheels. Through setuptools, buildoutnow also supports wheels! You need at least version 38.2.3 to get propernamespace support.
This setuptools change interfered with buildout’s recent support forbuildout.wheel, resulting ina sudden “Wheels are not supported” error message (seeissue 435). Fixed by makingsetuptools the default, though you can still use the buildout.wheel if youwant.
2.9.6 (2017-12-01)
Fixed: could not install eggs when sdist file name and package name had differentcase.
2.9.5 (2017-09-22)
Use HTTPS for PyPI’s index. PyPI redirects HTTP to HTTPS by defaultnow so using HTTPS directly avoids the potential for that redirectbeing modified in flight.
2.9.4 (2017-06-20)
Sort the distributions used to compute__buildout_signature__ toensure reproducibility under Python 3 or under Python 2 when-Ris used onPYTHONHASHSEED is set torandom. Fixesissue 392.
NOTE: This may cause existing.installed.cfg to beconsidered outdated and lead to parts being reinstalled spuriouslyunder Python 2.
Add support code for doctests to be able to easily measure codecoverage. Seeissue 397.
2.9.3 (2017-03-30)
Add more verbosity toannotate results with-v
Select one or more sections with arguments afterbuildout annotate.
2.9.2 (2017-03-06)
Fixed: We unnecessarily used a function from newer versions ofsetuptools that caused problems when older setuptools or pkg_resourcesinstalls were present (as in travis.ci).
2.9.1 (2017-03-06)
Fixed a minor packaging bug that broke the PyPI page.
2.9.0 (2017-03-06)
Added new syntax to explicitly declare that a part depends on other part.Seehttp://docs.buildout.org/en/latest/topics/implicit-parts.html
Internal refactoring to work withbuildout.wheel.
Fixed a bugs inzc.buildout.testing.Buildout. It was loadinguser-default configuration. It didn’t support calling thecreated method on its sections.
Fixed a bug (windows, py 3.4)When processing metadata on “old-style” distutils scripts, .exe stubsappeared inmetadata_listdir, in turn reading those burped withUnicodeDecodeError. Skipping .exe stubs now.
2.8.0 (2017-02-13)
Added a hook to enable a soon-to-be-released buildout extension toprovide wheel support.
2.7.1 (2017-01-31)
Fixed a bug introduced in 2.6.0:zc.buildout and its dependeoncies were reported as picked even whentheir versions were fixed in aversions section. Worse, when theupdate-versions-file option was used, theversions section wasupdated needlessly on every run.
2.7.0 (2017-01-30)
Added a buildout option,abi-tag-eggs that, when true, causestheABI tagfor the buildout environment to be added to the eggs directory name.
This is useful when switching Python implementations (e.g. CPythonvs PyPI or debug builds vs regular builds), especially whenenvironment differences aren’t reflected in egg names. It also hasthe side benefit of making eggs directories smaller, because eggsfor different Python versions are in different directories.
2.6.0 (2017-01-29)
Updated to work with the latest setuptools.
Added (verified) Python 3.6 support.
2.5.3 (2016-09-05)
After a dist is fetched and put into its final place, compile itspython files. No longer wait with compiling until all dists are inplace. This is related to the change below about not removing anexisting egg. [maurits]
Do not remove an existing egg. When installing an egg to a locationthat already exists, keep the current location (directory or file).This can only happen when the location at first did not exist andthis changed during the buildout run. We used to remove theprevious location, but this could cause problems when running twobuildouts at the same time, when they try to install the same newegg. Fixes #307. [maurits]
Inzc.buildout.testing.system, setTERM=dumb in the environment.This avoids invisible control characters popping up in some terminals,likexterm. Note that this may affect tests by buildout recipes.[maurits]
Removed Python 2.6 and 3.2 support.[do3cc]
2.5.2 (2016-06-07)
Fixed-= and+= when extending sections. See #161.[puittenbroek]
2.5.1 (2016-04-06)
Fix python 2 for downloading external config files with basic auth in theURL. Fixes #257.
2.5.0 (2015-11-16)
Added more elaborate version and requirement information when there’s aversion conflict. Previously, you could get a report of a version conflictwithout information about which dependency requested the conflicingrequirement.
Now all this information is logged and displayed in case of an error.[reinout]
Dropped 3.2 support (at least in the automatic tests) as setuptools willsoon stop supporting it. Added python 3.5 to the automatic tests.[reinout]
2.4.7 (2015-10-29)
Fix for #279. Distutils script detection previously broke on windows withpython 3 because it errored on.exe files.[reinout]
2.4.6 (2015-10-28)
Relative paths are now also correctly generated for the current directory(“develop = .”).[youngking]
2.4.5 (2015-10-14)
More complete fix for #24. Distutils scripts are now also generated fordevelop eggs.[reinout]
2.4.4 (2015-10-02)
zc.buildout is now also released as a wheel. (Note: buildout itself doesn’tsupport installing wheels yet.)[graingert]
2.4.3 (2015-09-03)
Added nested directory creation support[guyzmo]
2.4.2 (2015-08-26)
If a downloaded config file in the “extends-cache” gets corrupted, buildoutnow tells you the filename in the cache. Handy for troubleshooting.[reinout]
2.4.1 (2015-08-08)
Check theuse-dependency-links option earlier. This can givea small speed increase.[maurits]
When using python 2, urllib2 is used to work around Python issue 24599, whichaffects downloading from behind a proxy.[stefano-m]
2.4.0 (2015-07-01)
Buildout no longer breaks on packages that contain a file with a non-asciifilename. Fixes #89 and #148.[reinout]
Undo breakage on Windows machines wheresys.prefix can also be asite-packages directory: don’t remove it fromsys.path. Seehttps://github.com/buildout/buildout/issues/217 .
Remove assumption thatpkg_resources is a module (untrue sincerelease ofsetuptools 8.3`). Seehttps://github.com/buildout/buildout/issues/227 .
Fix for #212. For certain kinds of conflict errors you’d get an UnpackErrorwhen rendering the error message. Instead of a nicely formatted versionconflict message.[reinout]
Making sure we use the correct easy_install when setuptools is installedglobally. Seehttps://github.com/buildout/buildout/pull/232 andhttps://github.com/buildout/buildout/pull/222 .[lrowe]
Updated buildout’stravis-ciconfiguration so that tests run much quicker so that buildout is easier andquicker to develop.[reinout]
Note: zc.recipe.egg has also been updated to 2.0.2 together with thiszc.buildout release. Fixed: Inzc.recipe.egg#custom recipe’srpathsupport, don’t assume path elements are buildout-relative if they start withone of the “special” tokens (e.g.,$ORIGIN). See:https://github.com/buildout/buildout/issues/225.[tseaver]
download-cache,eggs-directory andextends-cache are nowautomatically created if their parent directory exists. Also they can berelative directories (relative to the location of the buildout config filethat defines them). Also they can now be in the form~/subdir, with theusual convention that the~ char means the home directory of the userrunning buildout.[lelit]
A new bootstrap.py file is released (version 2015-07-01).
When bootstrapping, thedevelop-eggs/ directory is first removed. Thisprevents old left-over.egg-link files from breaking buildout’s carefulpackage collection mechanism.[reinout]
The bootstrap script now accepts--to-dir. Setuptools is installedthere. If already available there, it is reused. This can be used tobootstrap buildout without internet access. Similarly, a localez_setup.py is used when available instead of it being downloaded. Youneed setuptools 14.0 or higher for this functionality.[lrowe]
The bootstrap script now uses--buildout-version instead of--version to pick a specific buildout version.[reinout]
The bootstrap script now accepts--version which prints the bootstrapversion. This version is the date the bootstrap.py was last changed. A dateis handier or less confusing than either tracking zc.buildout’s version orhaving a separate bootstrap version number.[reinout]
2.3.1 (2014-12-16)
Fixed: Buildout merged single-version requirements withversion-range requirements in a way that caused it to think therewasn’t a single-version requirement. IOW, buildout through thatversions were being picked when they weren’t.
Suppress spurious (and possibly non-spurious) version-parsing warnings.
2.3.0 (2014-12-14)
Buildout is now compatible with (and requires) setuptools 8.
2.2.5 (2014-11-04)
Improved fix for #198: when bootstrapping with an extension, buildout wastoo strict on itself, resulting in an inability to upgrade or downgrade itsown version.[reinout]
Setuptools must be at 3.3 or higher now. If you use the latest bootstrapfromhttp://downloads.buildout.org/2/bootstrap.py you’re all set.[reinout]
Installingrecipes that themselves have dependencies used to fail with aVersionConflict if such a dependency was installed globally with a lowerversion. Buildout now ignores the version conflict in those cases and simplyinstalls the correct version.[reinout]
2.2.4 (2014-11-01)
Fix for #198: buildout 2.2.3 caused a version conflict when bootstrapping abuildout with a version pinned to an earlier one. Same version conflictcould occur with system-wide installed packages that were newer than thepinned version.[reinout]
2.2.3 (2014-10-30)
Fix #197, Python 3 regression[aclark4life]
2.2.2 (2014-10-30)
Open files forexec() in universal newlines mode. Seehttps://github.com/buildout/buildout/issues/130
AddBUILDOUT_HOME as an alternate way to control how the user defaultconfiguration is found.
Close various files when finished writing to them. This avoidsResourceWarnings on Python 3, and better supports doctests under PyPy.
Introduce improved easy_install Install.install function. This is presentin 1.5.X and 1.7X but was never merged into 2.X somehow.
2.2.1 (2013-09-05)
distutils scripts: correct order of operations onfrom ... importlines (seehttps://github.com/buildout/buildout/issues/134).
Add an--allow-site-packges option tobootstrap.py, defaultingto False. If the value is false, strip any “site packages” (as defined bythesite module) fromsys.path before attempting to importsetuptools /pkg_resources.
Updated the URL used to fetchez_setup.py to the official, non-version-pinned version.
2.2.0 (2013-07-05)
Handle both addition and subtraction of elements (+= and -=) on the same keyin the same section. Forward-ported from buildout 1.6.
Suppress the uselessLink to <URL>***BLOCKED*** by--allow-hostserror message being emitted by distribute / setuptools.
Extend distutils script generation to support module docstrings and__future__ imports.
Refactored picked versions logic to make it easier to use for plugins.
Useget_win_launcher API to find Windows launcher (falling back toresource_string forcli.exe).
Removedata_files fromsetup.py: it was installingREADME.txtin current directory during installation (merged from 1.x branch).
Switch dependency fromdistribute 0.6.x tosetuptools 0.7.x.
2.1.0 (2013-03-23)
Meta-recipe support
Conditional sections
Buildout now accepts a--version command-line option to printits version.
- Fixed: Builout didn’t exit with a non-zero exit status if there was a
failure in combination with an upgrade.
- Fixed: We now fail with an informative error when an old bootstrap
script causes buildout 2 to be used with setuptools.
- Fixed: An error incorrectly suggested that buildout 2 implemented all
of the functionality of dumppickedversions.
- Fixed: Buildout generated bad scripts when no eggs needed to be added
tosys.path.
- Fixed: Buildout didn’t honour Unix umask when generating scripts.
- Fixed:update-versions-file didn’t work unless
show-picked-versions was also set.https://github.com/buildout/buildout/issues/71
2.0.1 (2013-02-16)
Fixed: buildout didn’t honor umask settings when creating scripts.
Fix for distutils scripts installation on Python 3, related to__pycache__ directories.
Fixed: encoding data in non-entry-point-based scripts was lost.
Project details
Verified details
These details have beenverified by PyPIOwner
Maintainers
Unverified details
These details havenot been verified by PyPIProject links
Meta
- License: Zope Public License (ZPL 2.1)
- Author:Jim Fulton
- Tags development, build
- Requires: Python !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, >=2.7
- Provides-Extra:
test
Classifiers
- Development Status
- Intended Audience
- License
- Programming Language
- Topic
Release historyRelease notifications |RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more aboutinstalling packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more aboutwheel file names.
Copy a direct link to the current filters
File details
Details for the filezc.buildout-3.3.tar.gz.
File metadata
- Download URL:zc.buildout-3.3.tar.gz
- Upload date:
- Size: 189.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 | 9b89ad69caafa9d87afe94d2d81263baddbf05436ade1138d7bd6437475cb2c7 | |
| MD5 | eb97d3ac76bb840978584531decc6828 | |
| BLAKE2b-256 | b190f291b2052b0a24b661ee8a5967c42abe4020ff7be23b4d39d1aad9a4b403 |
File details
Details for the filezc.buildout-3.3-py2.py3-none-any.whl.
File metadata
- Download URL:zc.buildout-3.3-py2.py3-none-any.whl
- Upload date:
- Size: 175.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 | 85b32c6bc917359301e8efcfa48fc0bb1a4c603f9395267b9dcb79bd4c57affc | |
| MD5 | cc81be5b3e7f5766cfbf767cb217fc85 | |
| BLAKE2b-256 | 854730efd82f566276aa2bab655c82accdb46ac124507c3e1b3f9cb767798e94 |