Metadata-Version: 2.1
Name: xmod
Version: 1.1.0
Summary: Create and recursively fill a temporary directory
Home-page: https://github.com/rec/xmod
Author: Tom Ritchford
Author-email: tom@swirly.com
License: MIT
Keywords: testing,modules
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Requires-Dist: dek


API
===

``xmod.xmod(extension=None, name=None, full=None, props=None, omit=None)``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(`xmod.py, 71-148 <https://github.com/rec/xmod/blob/master/xmod.py#L71-L148>`_)

Extend the system module at ``name`` with any Python object.

The original module is replaced in ``sys.modules`` by a proxy class
which delegates attributes, first to the extension, and then to the
original module.

``xmod`` can also be used as a decorator, both with and without
parameters.

ARGUMENTS
  extension
    The object whose methods and properties extend the namespace.
    This includes magic methods like __call__ and __getitem__.

  name
    The name of this symbol in ``sys.modules``.  If this is ``None``
    then ``xmod`` will use ``extension.__module__``.

    This only needs to be be set if ``extension`` is _not_ a function or
    class defined in the module that's being extended.

    If the ``name`` argument is given, it should almost certainly be
    ``__name__``.

  full
    If False, just add extension as a callable.
    If True, extend the module with all members of ``extension``.
    If None, add the extension if it's a callable, otherwise
    extend the module with all members of ``extension``.

  omit
    A list of methods _not_ to delegate from the proxy to the extension.
    If ``omit`` is None, it defaults to ``xmod.OMIT``, which seems to
    work well.

(automatically generated by `doks <https://github.com/rec/doks/>`_ on 2020-07-25T11:50:46.314943)


