Backport/clone of ChainMap for py26, py32, and pypy3.
Project description
This module is a polyfill, implementing ChainMap for reasonably-recent versions of Python that do not have collections.ChainMap–namely, Python 2.6, Python 3.2, and PyPy3 releases based on Python 3.2.
It is closely derived from Python 3.5 source code at hg.python.org, (especially the collections and reprlib modules). Several changes have been made to ensure Python 2.6 compatibility, and tests and packaging have been added.
Typical usage:
try: from collections import ChainMap except ImportError: from chainmap import ChainMap
This preferentially imports from the Python standard library if available, using the chainmap only when it isn’t otherwise available.
Optionally, you may import it all of the time:
from chainmap import ChainMap
Please see the standard documentation for details on how to use ChainMap.
If you’re not sure why someone would use a ChainMap, they are useful for managing “nested” contexts and “overlays.” See e.g. my options and say, which use them quite extensively for flexible option handling. You can find similar uses in the Context class of Django’s template engine.
Installation
To install or upgrade to the latest version:
pip install -U chainmap
To easy_install under a specific Python version (3.3 in this example):
python3.3 -m easy_install --upgrade chainmap
(You may need to prefix these with sudo to authorize installation. In environments without super-user privileges, you may want to use pip’s --user option, to install only for a single user, rather than system-wide.)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for chainmap-1.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be7e2b8eefeed54dfad7fd33b0b13f6d6408303c08dd677a73232aefeabde89c |
|
MD5 | d241ca460af704fec94a31a4b042558e |
|
BLAKE2b-256 | 997c17181804025a457477bf361b4fcecbefdfd564326c1f1dccc5e30ef2bc57 |