contextvars

PEP 567 Backport


Licenses
Apache-2.0/libpng-2.0
Install
pip install contextvars==2.4

Documentation

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

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.

Documentation

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

PEP 567 also provides a comprehensive overview of the API and explains all design choices.

Installation

$ pip install contextvars

Usage

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" setuptools feature:

import setuptools

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

License

Apache 2.0.