Metadata-Version: 2.1
Name: z3c.checkversions
Version: 2.0
Summary: Find newer package versions on PyPI
Home-page: https://github.com/zopefoundation/z3c.checkversions
Author: Zope Foundation and Contributors
Author-email: zope-dev@zope.dev
License: ZPL 2.1
Keywords: version,buildout,packages,upgrade,zope,ztk
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Framework :: Buildout
Classifier: Framework :: Zope
Classifier: Framework :: Zope :: 3
Classifier: Framework :: Zope :: 5
Requires-Python: >=3.7
Provides-Extra: buildout
Provides-Extra: test
License-File: LICENSE.rst

Introduction
============

Find newer versions of your installed Python packages, or newer versions of
packages in a buildout file.

This package provides a console script named ``checkversions``.

.. image:: https://github.com/zopefoundation/z3c.checkversions/actions/workflows/tests.yml/badge.svg
   :target: https://github.com/zopefoundation/z3c.checkversions/actions/workflows/tests.yml

.. contents::

Install
=======

you can install this package either in a virtualenv::

    $ virtualenv sandbox
    $ sandbox/bin/pip install z3c.checkversions
    $ sandbox/bin/checkversions --help

or in your system::

    $ sudo pip install z3c.checkversions
    $ checkversions --help

or in a buildout::

    [buildout]
    parts = checkversions

    [checkversions]
    recipe=zc.recipe.egg
    eggs=z3c.checkversions [buildout]

Note that buildout support is optional and must be enabled with [buildout] so
that zc.buildout is installed as well.

If you need buildout support while installing this package via pip
you have to install it like this:

    pip install z3c.checkversions[buildout]

Usage
=====

::

    $ checkversions -h
    Usage: checkversions [-v] [-1] [-l LEVEL] [-i INDEX] [-b BLACKLIST] [buildout_file]

    This script will check new package versions of either your current installed
    distributions or a buildout file if provided. It can detect major or minor
    versions availability: level 0 gets the highest version (X.y.z), level 1 gets
    the highest intermediate version (x.Y.z), level 2 gets the highest minor
    version (x.y.Z).  Using level 2, you can automatically retrieve all bugfix
    versions of a buildout.  If you provide a blacklist file with bad versions,
    these versions won't be suggested.

    Options:
      -h, --help            show this help message and exit
      -l LEVEL, --level=LEVEL
                            Version level to check
      -i INDEX, --index=INDEX
                            Provide and alternative package index URL
      -b BLACKLIST, --blacklist=BLACKLIST
                            Provide a blacklist file with bad versions
      -1, --incremental     Suggest only one upgrade. Skip others.
      -v, --verbose         Verbose mode (prints old versions too)


Examples
========

For installed packages
----------------------

Example with a virtualenv::

    $ virtualenv --no-site-packages sandbox
    $ sandbox/bin/pip install z3c.checkversions
    $ sandbox/bin/checkversions -v -l 1
    # Checking your installed distributions
    pip=0.7.1 # was: 0.6.3

For a buildout
--------------

It can work either with a full buildout.cfg or with a simple versions.cfg file.

Here is a sample `versions.cfg` file::

    [versions]
    somepackage=0.5.3
    otherpackage=0.1.1

You can generate a new versions.cfg ::

    $ checkversions -v -l 1 versions.cfg
    # Checking buildout file versions.cfg
    somepackage=0.6.2 # was: 0.5.0
    otherpackage=0.1.2 # was: 0.1.1

If you provide a blacklist file, such as `blacklist.cfg` containing bad
versions, such as::

    somepackage=0.6.2
    somepackage=0.6.1

Then these versions won't be suggested::

    $ checkversions -v -l 1 versions.cfg -b blacklist.cfg
    # Checking buildout file versions.cfg
    somepackage=0.6.0 # was: 0.5.0
    otherpackage=0.1.2 # was: 0.1.1

If you enable the `--incremental` option, only one upgrade will be suggested::

    $ checkversions --incremental -v -l 1 versions.cfg
    # Checking buildout file versions.cfg
    somepackage=0.6.0 # was: 0.5.0
    otherpackage=0.1.1


Run tests
=========

Uncompress the archive, then run::

    $ virtualenv .
    $ bin/pip install tox
    $ tox

Changelog
=========

2.0 (2023-02-14)
----------------

- Add support for Python 3.10, 3.11.

- Drop support for Python 2.7, 3.5, 3.6.

- Pin ``setuptools < 66`` as newer versions are no longer compatible.


1.2 (2020-04-13)
----------------

- Add support for Python 3.8, drop support for Python 3.4.

- Improve error message in case zc.buildout is not installed.

- Improve installation instruction.

- Pass the index url to both the 'installed' and 'buildout' checkers.


1.1 (2018-11-03)
----------------

- Add support for Python 3.7.

- Drop support for `python setup.py test`.


1.0 (2018-05-23)
----------------

- Fix compatibility with setuptools 39 by using an API introduced
  in setuptools 8. (`GH #8`_)

- Add support for Python 3.5, 3.6 and PyPy3.

- Drop support for Python 2.6 and 3.3.

- Standardize namespace ``__init__``.

.. _GH #8 : https://github.com/zopefoundation/z3c.checkversions/issues/8


0.5 (2014-09-15)
----------------

- Python 3 support by Nicolas Dietrich (`GH #2`_, `GH #4`_)

.. _GH #2: https://github.com/zopefoundation/z3c.checkversions/pull/2
.. _GH #4: https://github.com/zopefoundation/z3c.checkversions/pull/4

0.4.2 (2013-10-02)
------------------

- ignore installed packages while searching for new versions, only look in
  the package index (makes the test suite more reliable, among other things).
- fix IndexError: list index out of range when buildout.cfg had a package with
  a blank version pin.
- show updates for non-final package versions, if there's a newer non-final
  version available on PyPI (`GH #1`_)

.. _GH #1: https://github.com/zopefoundation/z3c.checkversions/pull/1

0.4.1 (2010-08-25)
------------------

- fixed edge case bug where 1.0 was never updated to 1.0.x
- warn buildout users about the extra requirement

0.4 (2010-07-26)
----------------

- added a `blacklist` option for passing versions to avoid
  (possibly coming from a buildbot)
- added a `incremental` option to suggest only one upgrade
- remove a temporary file during tests

0.3 (2010-07-09)
----------------

- don't accumulate old comments
- prefer final versions

0.2 (2010-05-22)
----------------

- added a verbose option to print old versions as well
- updated metadata, doc and license

0.1 (2010-05-16)
----------------

- Initial release
