Skip to main content

Buildout Versions Checker

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,ascii,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:
                        auto)
  --sorting {alpha,ascii,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:
                        https://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.4 and more.

Since version 1.10.0, the project compatibility start from Python 3.7 and more.

Requirements

  • packaging >= 16

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

Metadata

Release files for buildout-versions-checker 1.10.0

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-versions-checker 1.10.0
File Size Uploaded
buildout-versions-checker-1.10.0.tar.gz 33.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for buildout-versions-checker 1.10.0
File Interpreter ABI Platform
buildout_versions_checker-1.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 74.5 kB

Release files / buildout-versions-checker-1.10.0.tar.gz

Download URL buildout-versions-checker-1.10.0.tar.gz
Size 33.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c3c7c61c9a486fd9e097ece9049029640a0a146c2ded071b25c97cbdd9df8627
BLAKE2b-256 checksum
How to use checksums
f8553cb21df9dfd9efa930bd31d73175187c04dbfd33444d571d2cc428295df9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2

Release files / buildout_versions_checker-1.10.0-py3-none-any.whl

Download URL buildout_versions_checker-1.10.0-py3-none-any.whl
Size 41.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e7bbac54adc1dd28ae6484c313e19fbd7ba331759f500ca483bfea9434e2ceab
BLAKE2b-256 checksum
How to use checksums
f24887b086360fe53e2d96f1f86768296eaf6355b11d491044ab0ff088af9615
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.2

Release history Release notifications | RSS feed

This release

1.10.0 This release

2 release files

1.9.5

2 release files

1.9.4

2 release files

1.9.3

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9

2 release files

1.8

2 release files

1.7

2 release files

1.6

2 release files

1.5.1

2 release files

1.4

1 release file

1.3.1

1 release file

1.3

1 release file

1.2

1 release file

1.1

1 release file

1.0

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