Skip to main content

Checks egg updates in your Buildout configurations.

Project description

Build Status - develop branch Coverage of the code

Parses a zc.buildout file containing a versions section of the pinned versions of the eggs, and checks if any updates are available.

Usage

If you use the practical convention to pin the versions of all the eggs used in your buildout into a file, you will find this package useful for checking if any newest version of the eggs are available on Pypi.

Here an example of a version file:

$ cat versions.cfg
[versions]
Pillow                          = 2.0.0
pytz                            = 2012j
South                           = 0.8.1
django                          = 1.5
django-tagging                  = 0.3.1

Now let’s execute the check-buildout-updates script:

$ ./check-buildout-updates
[versions]
Pillow                          = 2.1.0
pytz                            = 2013b
South                           = 0.8.2
django                          = 1.5.2

You can now update the versions.cfg file accordingly to your needs.

Options

usage: check-buildout-updates [-h] [--pre] [-s SPECIFIERS] [-i INCLUDES]
                              [-e EXCLUDES] [-w] [--indent INDENTATION]
                              [--sorting {alpha,length}]
                              [--service-url SERVICE_URL] [--timeout TIMEOUT]
                              [-t THREADS] [-v] [-q]
                              [source]

Check availables updates from a version section of a buildout script

positional arguments:
  source                The file where versions are pinned (default:
                        versions.cfg)

optional arguments:
  -h, --help            show this help message and exit

Allowed versions:
  --pre                 Allow pre-releases and development versions (by
                        default only stable versions are found)
  -s SPECIFIERS, --specifier SPECIFIERS
                        Describe what versions of a package are acceptable.
                        Example "package:>=1.0,!=1.3.4.*,< 2.0" (can be used
                        multiple times)

Filtering:
  -i INCLUDES, --include INCLUDES
                        Include package when checking updates (can be used
                        multiple times)
  -e EXCLUDES, --exclude EXCLUDES
                        Exclude package when checking updates (can be used
                        multiple times)

File:
  -w, --write           Write the updates in the source file
  --indent INDENTATION  Spaces used when indenting "key = value" (default: 32)
  --sorting {alpha,length}
                        Sorting algorithm used on the keys when writing source
                        file (default: None)

Network:
  --service-url SERVICE_URL
                        The service to use for checking the packages (default:
                        http://pypi.python.org/pypi)
  --timeout TIMEOUT     Timeout for each request (default: 10s)
  -t THREADS, --threads THREADS
                        Threads used for checking the versions in parallel

Verbosity:
  -v                    Increase verbosity (specify multiple times for more)
  -q                    Decrease verbosity (specify multiple times for more)

Buildout integration

You can easily integrate this script into your buildout script to automaticly find and write the updates.

[buildout]
parts                   = evolution

[evolution]
recipe                  = zc.recipe.egg
eggs                    = buildout-versions-checker
scripts                 = check-buildout-updates=evolve
arguments               = '-w --indent 24 -s django:<1.8 buildout.cfg'

With this part into your buildout, a new script named ./bin/evolve will be created. It will check for the available updates of the eggs listed in the versions section of the versions.cfg file, then write the updates found.

Python compatibility

Buildout-versions-checker has been originally developed for Python 2.7, but has been ported and tested for Python 3.2 and 3.3.

Requirements

  • six >= 1.4.1

  • futures >= 3.0.2

Extras

Buildout-versions-checker also provides extra scripts for simplify the maintenance of yours versions files.

indent-buildout

indent-buildout is designed for just (re)indenting your buildout files. Because the buildout files are sometimes mixed with spaces and tabulations which may affect viewing and editing.

$ ./indent-buildout buildout.cfg versions.cfg

find-unused-versions

find-unused-versions just check if your have not pinned eggs which are not used in your installation. For better results, run the script after a full and fresh install.

$ ./find-unused-versions

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

buildout-versions-checker-1.9.1.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

buildout_versions_checker-1.9.1-py2.py3-none-any.whl (19.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file buildout-versions-checker-1.9.1.tar.gz.

File metadata

File hashes

Hashes for buildout-versions-checker-1.9.1.tar.gz
Algorithm Hash digest
SHA256 033c78b4f0262468c58a85e745afef7af6b6679d0a552564f560c6805e766c2f
MD5 15b6276a240f6791cc65f8b1bd3a69ab
BLAKE2b-256 3a9a5c8097d1b576c7608aa225c917f9d74e4f95f43a5725c74eba56653a77ba

See more details on using hashes here.

File details

Details for the file buildout_versions_checker-1.9.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for buildout_versions_checker-1.9.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 427b7e701d133298eb19c08953d58546fa61c41033ef1676c8da55ff3c4edb78
MD5 52ee7417a8b8cedfcb10d2419cf4f7f0
BLAKE2b-256 a57f00d2c70749d6015b9d69b7dabea70d79f128b5487ffa6053c0642f15abd4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page