Skip to main content

buildout.dumppickedversions

Q: What is a buildout extension ?

A: http://pypi.python.org/pypi/zc.buildout#extensions

The problem

When using a zc.buildout based deployment system I want to be able to reproduce the same setup with the same set of egg versions one month later. Without pinning all eggs the task is impossible.

Solution

buildout.dumppickedversions is a buildout extension that does just that. It can print or generate a versions.cfg file with all not pinned eggs.

buildout.dumppickedversions options

dump-picked-versions-file

A file name you want buildout.dumppickedversions to write to. If not given buildout.dumppickedversions will dump the results to the screen.

Detailed Documentation

Let’s create an egg to use it in our tests:

>>> mkdir('myegg')
>>> write('myegg', 'setup.py',
... '''
... from setuptools import setup
... setup(name='myegg', version='1.0',)
... ''')
>>> write('myegg', 'README', '')
>>> print system(buildout+' setup myegg bdist_egg'), # doctest: +ELLIPSIS
Running setup script 'myegg/setup.py'.
...

Now let’s create a buildout to install the egg and to use buildout.dumppickedversions:

>>> write('buildout.cfg',
... '''
... [buildout]
... extensions = buildout.dumppickedversions
... parts = foo
... find-links = %s
... index = http://pypi.python.org/simple
... [foo]
... recipe = zc.recipe.egg
... eggs = myegg
... ''' % join('myegg', 'dist'))

Running the buildout will print information about picked versions:

>>> print system(buildout), # doctest: +ELLIPSIS
Getting distribution for 'buildout.dumppickedversions'.
...
*************** PICKED VERSIONS ****************
[buildout]
<BLANKLINE>
versions = versions
<BLANKLINE>
[versions]
zc.buildout = N.N
zc.recipe.egg = N.N
myegg = N.N
setuptools = N.N
<BLANKLINE>
*************** /PICKED VERSIONS ***************

We can get a file with the picked versions. We just add an dump-picked-versions-file option and give a file name:

>>> write('buildout.cfg',
... '''
... [buildout]
... extensions = buildout.dumppickedversions
... dump-picked-versions-file = versions.cfg
... parts = foo
... find-links =
...     %s
... index = http://pypi.python.org/simple
... [foo]
... recipe = zc.recipe.egg
... eggs =
...     myegg
... ''' % join('myegg', 'dist'))

>>> print system(buildout), # doctest: +ELLIPSIS
Uninstalling foo.
Installing foo.
Writing picked versions to versions.cfg

And here is the content of the file versions.cfg:

>>> cat('versions.cfg')
[buildout]
<BLANKLINE>
versions = versions
<BLANKLINE>
[versions]
zc.buildout = N.N
zc.recipe.egg = N.N
myegg = N.N
setuptools = N.N
<BLANKLINE>

Change history

0.1 (2009-02-07)

  • Created recipe with ZopeSkel. [mustapha]

Contributors

  • Mustapha Benali, Author

Metadata

Release files for buildout.dumppickedversions 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for buildout.dumppickedversions 0.1
File Size Uploaded
buildout.dumppickedversions-0.1.tar.gz 5.4 kB Details

Release files / buildout.dumppickedversions-0.1.tar.gz

Download URL buildout.dumppickedversions-0.1.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
25dd319108e51d27f15509e7d22f606d22ee6a0ef47a4e41f56277dc2f09d561
BLAKE2b-256 checksum
How to use checksums
e5715b2c2b1f1ac40069a8ecfd4eaa04ad5e04b593375ade48f46fd5b81a6264
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

This release

0.1 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page