All Projects → MagicStack → Contextvars

MagicStack / Contextvars

Licence: apache-2.0
PEP 567 Backport

Programming Languages

python
139335 projects - #7 most used programming language

.. image:: https://travis-ci.org/MagicStack/contextvars.svg?branch=master :target: https://travis-ci.org/MagicStack/contextvars

PEP 567 Backport

This package implements a backport of Python 3.7 contextvars module (see PEP 567) for Python 3.6.

Important: at this moment this package does not provide an asyncio event loop with PEP 567 support yet. Stay tuned for updates.

Original "contextvars" Package

This package replaces the old "contextvars" PyPI package which repository is available here <https://github.com/gawen/contextvars>_.

Documentation

Read the official contextvars module documentation here: https://docs.python.org/3.7/library/contextvars.html

PEP 567 <https://www.python.org/dev/peps/pep-0567/>_ also provides a comprehensive overview of the API and explains all design choices.

Installation

.. code-block:: bash

$ pip install contextvars

Usage

.. code-block:: python

import contextvars

my_var = contextvars.ContextVar('my_var')

# ...

Listing as a Dependency

The good news is that the standard library always takes the precedence over site packages, so even if a local contextvars module is installed, the one from the standard library will be used. Therefore you can simply list "contextvars" in your requirements.txt or setup.py files.

Another option is to use "platform specific dependencies" <http://setuptools.readthedocs.io/en/latest/setuptools.html\ #declaring-platform-specific-dependencies>_ setuptools feature:

.. code-block:: python

import setuptools

setuptools.setup(
    name="Project",
    ...
    install_requires=[
        'contextvars;python_version<"3.7"'
    ]
)

License

Apache 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].