12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- =============
- ABC-Backports
- =============
- Usage:
- .. code-block:: python
- try:
- # ABCs live in "collections.abc" in Python >= 3.3
- from collections.abc import Coroutine, Generator
- except ImportError:
- # fall back to import from "backports_abc"
- from backports_abc import Coroutine, Generator
- You can also install the ABCs into the stdlib by calling the ``patch()``
- function:
- .. code-block:: python
- import backports_abc
- backports_abc.patch()
- try:
- # ABCs live in "collections.abc" in Python >= 3.3
- from collections.abc import Coroutine, Generator
- except ImportError:
- # fall back to import from "collections" in Python <= 3.2
- from backports_abc import Coroutine, Generator
- Currently, ``patch()`` provides the following names if missing:
- * ``collections.abc.Generator``
- * ``collections.abc.Awaitable``
- * ``collections.abc.Coroutine``
- * ``inspect.isawaitable(obj)``
- All of them are also available directly from the ``backports_abc``
- module namespace.
- In Python 2.x and Python 3.2, it patches the ``collections`` module
- instead of the ``collections.abc`` module. Any names that are already
- available when importing this module will not be overwritten.
- The names that were previously patched by ``patch()`` can be queried
- through the mapping in ``backports_abc.PATCHED``.
|