contextlib2 is a backport of the standard library's contextlib module to earlier Python versions.
Find a file
2017-04-25 13:47:18 +10:00
docs Updated links for Jazzband move. 2016-07-27 16:42:06 +02:00
.coveragerc Set up coverage.py. Refs #4. 2016-07-26 14:36:15 +02:00
.gitignore Set up coverage.py. Refs #4. 2016-07-26 14:36:15 +02:00
.travis.yml Fix version ref in comment 2017-04-25 13:28:55 +10:00
contextlib2.py Issue #7: Backport fix for CPython issue #27122 2016-07-31 13:31:39 +10:00
CONTRIBUTING.md Updated links for Jazzband move. 2016-07-27 16:42:06 +02:00
LICENSE.txt Add support for tox (http://tox.testrun.org/) 2015-09-14 08:34:55 -07:00
MANIFEST.in Updated links for Jazzband move. 2016-07-27 16:42:06 +02:00
NEWS.rst Update test matrix 2017-04-25 13:07:46 +10:00
README.rst Don't test PyPy3 in Travis CI for now 2017-04-25 13:28:10 +10:00
setup.cfg Issue #6: Publish universal wheels 2016-05-02 16:54:31 +10:00
setup.py Fixing issue13: setup.py does not fallback to using distutils.core import setup 2017-04-24 12:53:34 -07:00
test_contextlib2.py Issue #7: Backport fix for CPython issue #27122 2016-07-31 13:31:39 +10:00
tox.ini Update test matrix 2017-04-25 13:07:46 +10:00
VERSION.txt Update test matrix 2017-04-25 13:07:46 +10:00

.. image:: https://jazzband.co/static/img/badge.svg
   :target: https://jazzband.co/
   :alt: Jazzband

.. image:: https://readthedocs.org/projects/contextlib2/badge/?version=latest
   :target: https://contextlib2.readthedocs.org/
   :alt: Latest Docs

.. image:: https://img.shields.io/travis/jazzband/contextlib2/master.svg
   :target: http://travis-ci.org/jazzband/contextlib2

.. image:: https://coveralls.io/repos/github/jazzband/contextlib2/badge.svg?branch=master
   :target: https://coveralls.io/github/jazzband/contextlib2?branch=master

.. image:: https://landscape.io/github/jazzband/contextlib2/master/landscape.svg
   :target: https://landscape.io/github/jazzband/contextlib2/

contextlib2 is a backport of the `standard library's contextlib
module <https://docs.python.org/3.5/library/contextlib.html>`_ to
earlier Python versions.

It also serves as a real world proving ground for possible future
enhancements to the standard library version.

Development
-----------

contextlib2 has no runtime dependencies, but requires ``unittest2`` for testing
on Python 2.x, as well as ``setuptools`` and ``wheel`` to generate universal
wheel archives.

Local testing is just a matter of running ``python test_contextlib2.py``.

You can test against multiple versions of Python with
`tox <https://tox.testrun.org/>`_::

    pip install tox
    tox

Versions currently tested in both tox and Travis CI are:

* CPython 2.6
* CPython 2.7
* CPython 3.4
* CPython 3.5
* CPython 3.6
* CPython 3.7 (CPython development branch)
* PyPy

Versions currently tested only in tox are:

* PyPy3

This is due to an exception chaining compatibility bug that was fixed in
the PyPy3 5.5 alpha release, while the version on Travis CI (as of April 2017)
is still the older PyPy3 2.4.0 release.