contextlib2 is a backport of the standard library's contextlib module to earlier Python versions.
Find a file
2016-05-02 16:13:19 +10:00
docs Note ExitStack's new-style class requirement 2016-05-02 15:03:03 +10:00
.gitignore Moving from BitBucket to GitHub 2016-04-17 17:31:06 +10:00
.travis.yml Install tox in Travis CI 2016-04-17 19:14:31 +10:00
contextlib2.py Make all classes new-style in Python 2, allowing them to be used with ExitStack. 2016-01-29 14:11:25 -08:00
LICENSE.txt Add support for tox (http://tox.testrun.org/) 2015-09-14 08:34:55 -07:00
MANIFEST.in MANIFEST.in should include itself so source distributions could be built from source distributions 2016-04-13 16:18:00 +03:00
NEWS.rst Start 0.5.3 development 2016-05-02 16:13:19 +10:00
README.rst Add Coveralls shield 2016-04-17 21:05:53 +10:00
setup.py Revert README to ReST formatting for PyPI 2016-01-13 22:43:32 +10:00
test_contextlib2.py Make all classes new-style in Python 2, allowing them to be used with ExitStack. 2016-01-29 14:11:25 -08:00
tox.ini Enable Travis CI 2016-04-17 19:06:48 +10:00
VERSION.txt Start 0.5.3 development 2016-05-02 16:13:19 +10:00

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

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

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

.. image:: https://landscape.io/github/ncoghlan/contextlib2/master/landscape.svg
   :target: https://landscape.io/github/ncoghlan/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 currently has no dependencies.

Local testing is currently 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 development branch)
* PyPy

tox also has a PyPy3 configuration, but it is not configured in Travis
due to a
`known incompatibility <https://bitbucket.org/pypy/pypy/issues/1903>`_.

To install several of the relevant runtimes on Fedora 23::

    sudo dnf install python python3 pypy pypy3
    sudo dnf copr enable -y mstuchli/Python3.5
    sudo dnf install python35-python3