contextlib2 is a backport of the standard library's contextlib module to earlier Python versions.
Find a file
2021-06-26 16:40:28 +10:00
.github/workflows Accept 3.10 beta for testing 2021-06-26 15:47:45 +10:00
docs Docs and tests for abc and nullcontext 2019-09-21 09:17:20 +07: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
contextlib2.py Add back refresh_cm 2021-06-26 16:40:28 +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 Issue #29: Switch to CalVer, require Python >= 3.6 2021-06-26 15:39:33 +10:00
README.rst Update README.rst 2020-11-25 19:48:42 +01:00
setup.cfg Issue #6: Publish universal wheels 2016-05-02 16:54:31 +10:00
setup.py Issue #29: Switch to CalVer, require Python >= 3.6 2021-06-26 15:39:33 +10:00
test_contextlib2.py Exception chaining is now always available 2021-06-26 16:04:26 +10:00
tox.ini Issue #29: Switch to CalVer, require Python >= 3.6 2021-06-26 15:39:33 +10:00
VERSION.txt Issue #29: Switch to CalVer, require Python >= 3.6 2021-06-26 15:39:33 +10:00

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

.. image:: https://github.com/jazzband/contextlib2/workflows/Test/badge.svg
   :target: https://github.com/jazzband/contextlib2/actions
   :alt: Tests

.. image:: https://codecov.io/gh/jazzband/contextlib2/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/jazzband/contextlib2
   :alt: Coverage

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

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 GitHub Actions are:

* CPython 2.7
* CPython 3.5
* CPython 3.6
* CPython 3.7
* CPython 3.8
* PyPy
* PyPy3