معرفی شرکت ها


aspectlib-2.0.0


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

``aspectlib`` is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing
ویژگی مقدار
سیستم عامل -
نام فایل aspectlib-2.0.0
نام aspectlib
نسخه کتابخانه 2.0.0
نگهدارنده []
ایمیل نگهدارنده []
نویسنده Ionel Cristian Mărieș
ایمیل نویسنده contact@ionelmc.ro
آدرس صفحه اصلی https://github.com/ionelmc/python-aspectlib
آدرس اینترنتی https://pypi.org/project/aspectlib/
مجوز BSD-2-Clause
======== Overview ======== ``aspectlib`` is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing behavior in existing code is desired. It includes tools for debugging and testing: simple mock/record and a complete capture/replay framework. * Free software: BSD 2-Clause License Installation ============ :: pip install aspectlib You can also install the in-development version with:: pip install https://github.com/ionelmc/python-aspectlib/archive/main.zip Documentation ============= Docs are hosted at readthedocs.org: `python-aspectlib docs <http://python-aspectlib.readthedocs.org/en/latest/>`_. Implementation status ===================== Weaving functions, methods, instances and classes is completed. Pending: * *"Concerns"* (see `docs/todo.rst`) If ``aspectlib.weave`` doesn't work for your scenario please report a bug! Requirements ============ :OS: Any :Runtime: Python 2.6, 2.7, 3.3, 3.4 or PyPy Python 3.2, 3.1 and 3.0 are *NOT* supported (some objects are too crippled). Similar projects ================ * `function_trace <https://github.com/RedHatQE/function_trace>`_ - extremely simple Changelog ========= 2.0.0 (2022-10-20) ------------------ * Drop support for legacy Pythons (2.7, 3.6 or older). * Remove Travis/Appveyor CI and switch to GitHub Actions. * Added support for Tornado 6 (in the test suite). 1.5.2 (2020-11-15) ------------------ * Fixed broken import on Python 3.9. Contributed by Felix Yan in `#19 <https://github.com/ionelmc/python-aspectlib/pull/19>`_. 1.5.1 (2020-06-11) ------------------ * Remove some debug leftover prints from `v1.5.0`. 1.5.0 (2020-04-05) ------------------ * Fixed ``weave`` to stop reading attributes that don't match the method selector. Contributed by Jonas Maurus in `#14 <https://github.com/ionelmc/python-aspectlib/pull/14>`_. * Added support for Python 3.7 and 3.8 (``async def`` functions and generators). 1.4.2 (2016-05-10) ------------------ * Fix forgotten debug prints. 1.4.1 (2016-05-06) ------------------ * Fixed weaving of objects that don't live on root-level modules. 1.4.0 (2016-04-09) ------------------ * Corrected weaving of methods, the weaved function should be unbound. * Rolling back only applies undos once. * Added a convenience ``weave`` fixture for pytest. 1.3.3 (2015-10-02) ------------------ * Fixed typo in ``ABSOLUTELLY_ALL_METHODS`` name (now ``ABSOLUTELY_ALL_METHODS``). Old name is still there for backwards compatibility. 1.3.2 (2015-09-22) ------------------ * Fixed another tricky bug in the generator advising wrappers - result was not returned if only `Proceed` was yielded. 1.3.1 (2015-09-12) ------------------ * Corrected result handling when using Aspects on generators. 1.3.0 (2015-06-06) ------------------ * Added ``messages`` property to ``aspectlib.test.LogCapture``. Change ``call`` to have level name instead of number. * Fixed a bogus warning from ``aspectlib.patch_module``` when patching methods on old style classes. 1.2.2 (2014-11-25) ------------------ * Added support for weakrefs in the ``__logged__`` wrapper from ``aspectlib.debug.log`` decorator. 1.2.1 (2014-10-15) ------------------ * Don't raise exceptions from ``Replay.__exit__`` if there would be an error (makes original cause hard to debug). 1.2.0 (2014-06-24) ------------------ * Fixed weaving methods that were defined in some baseclass (and not on the target class). * Fixed wrong qualname beeing used in the Story/Replay recording. Now used the alias given to the weaver instead of whatever is the realname on the current platform. 1.1.1 (2014-06-14) ------------------ * Use ``ASPECTLIB_DEBUG`` for every logger in ``aspectlib``. 1.1.0 (2014-06-13) ------------------ * Added a `bind` option to ``aspectlib.Aspect`` so you can access the cutpoint from the advisor. * Replaced automatic importing in ``aspectlib.test.Replay`` with extraction of context variables (locals and globals from the calling ``aspectlib.test.Story``). Works better than the previous inference of module from AST of the result. * All the methods on the replay are now properties: ``aspectlib.test.Story.diff``, ``aspectlib.test.Story.unexpected`` and ``aspectlib.test.Story.missing``. * Added ``aspectlib.test.Story.actual`` and ``aspectlib.test.Story.expected``. * Added an ``ASPECTLIB_DEBUG`` environment variable option to switch on debug logging in ``aspectlib``'s internals. 1.0.0 (2014-05-03) ------------------ * Reworked the internals ``aspectlib.test.Story`` to keep call ordering, to allow dependencies and improved the serialization (used in the diffs and the missing/unexpected lists). 0.9.0 (2014-04-16) ------------------ * Changed ``aspectlib.test.record``: * Renamed `history` option to `calls`. * Renamed `call` option to `iscalled`. * Added `callback` option. * Added `extended` option. * Changed ``aspectlib.weave``: * Allow weaving everything in a module. * Allow weaving instances of new-style classes. * Added ``aspectlib.test.Story`` class for capture-replay and stub/mock testing. 0.8.1 (2014-04-01) ------------------ * Use simpler import for the py3support. 0.8.0 (2014-03-31) ------------------ * Change ``aspectlib.debug.log`` to use ``aspectlib.Aspect`` and work as expected with coroutines or generators. * Fixed ``aspectlib.debug.log`` to work on Python 3.4. * Remove the undocumented ``aspectlib.Yield`` advice. It was only usable when decorating generators. 0.7.0 (2014-03-28) ------------------ * Add support for decorating generators and coroutines in ``aspectlib.Aspect``. * Made aspectlib raise better exceptions. 0.6.1 (2014-03-22) ------------------ * Fix checks inside ``aspectlib.debug.log`` that would inadvertently call ``__bool__``/``__nonzero``. 0.6.0 (2014-03-17) ------------------ * Don't include __getattribute__ in ALL_METHODS - it's too dangerous dangerous dangerous dangerous dangerous dangerous ... ;) * Do a more reliable check for old-style classes in debug.log * When weaving a class don't weave attributes that are callable but are not actually routines (functions, methods etc) 0.5.0 (2014-03-16) ------------------ * Changed ``aspectlib.debug.log``: * Renamed `arguments` to `call_args`. * Renamed `arguments_repr` to `call_args_repr`. * Added `call` option. * Fixed issue with logging from old-style methods (object name was a generic "instance"). * Fixed issues with weaving some types of builtin methods. * Allow to apply multiple aspects at the same time. * Validate string targets before weaving. ``aspectlib.weave('mod.invalid name', aspect)`` now gives a clear error (``invalid name`` is not a valid identifier) * Various documentation improvements and examples. 0.4.1 (2014-03-08) ------------------ * Remove junk from 0.4.0's source distribution. 0.4.0 (2014-03-08) ------------------ * Changed ``aspectlib.weave``: * Replaced `only_methods`, `skip_methods`, `skip_magicmethods` options with `methods`. * Renamed `on_init` option to `lazy`. * Added `aliases` option. * Replaced `skip_subclasses` option with `subclasses`. * Fixed weaving methods from a string target. 0.3.1 (2014-03-05) ------------------ * `???` 0.3.0 (2014-03-05) ------------------ * First public release.


نیازمندی

مقدار نام
- fields


زبان مورد نیاز

مقدار نام
>=3.7 Python


نحوه نصب


نصب پکیج whl aspectlib-2.0.0:

    pip install aspectlib-2.0.0.whl


نصب پکیج tar.gz aspectlib-2.0.0:

    pip install aspectlib-2.0.0.tar.gz