freshcrate
Home > Frameworks > wirerope

wirerope

'Turn functions and methods into fully controllable objects'

Description

wirerope ======== .. image:: https://github.com/youknowone/wirerope/actions/workflows/python-package.yml/badge.svg .. image:: https://codecov.io/gh/youknowone/wirerope/graph/badge.svg :target: https://codecov.io/gh/youknowone/wirerope The concepts: - `wirerope.rope.WireRope` is a wrapper interface for python callable. - Custom `wirerope.wire.Wire` class provides user-defined behavior. A subclass of this class is working similar to a *decorator function* body. - A wire object is associated with a bound method. - Rope is dispatching types. `wirerope.rope.WireRope` is the wrapper for callables. By wrapping a function with `WireRope` with a custom subclass of the `wirerope.wire.Wire` class, the wire object will be created by each function or bound method. `Wire` is the most important part. The given class will be instantiated and bound to each function or bound method - which fits the concept of *instance cmethod* of human. For example, when `f` is a free function or staticmethod, the wire also will be a single object. When `f` is a method or property, wires will be created for each method owner object `self`. When `f` is a classmethod, wires will be created for each method owner class `cls`. Yes, it will detect the owner and bound to it regardless of the calling type. `Rope` is internal dispatcher. It will be helpful when creating a complex object for decorated callable instead of simple callable feature. See also -------- - See [documentation](https://wirerope.readthedocs.io/en/latest/) - though it is not yet written very well. - See `tests/test_wire.py` for simple example. - See [methodtools](https://github.com/youknowone/methodtools) for practical example. Python2 support --------------- wirerope 1.0 stops to support Python 2. If you need Python 2 support, use 0.4.7 the latest version for Python 2.

Release History

VersionChangesUrgencyDate
1.0.0Imported from PyPI (1.0.0)Low4/21/2026
0.4.8Tag 0.4.8Low11/9/2024
0.4.7Tag 0.4.7Low2/5/2023
0.4.6Tag 0.4.6Low2/17/2022
0.4.5Tag 0.4.5Low7/31/2021
0.4.4Tag 0.4.4Low7/31/2021
0.4.3Tag 0.4.3Low5/26/2021
0.4.2Tag 0.4.2Low7/6/2020
0.4.1Tag 0.4.1Low7/5/2020
0.4.0Tag 0.4.0Low7/3/2020
0.3.1Tag 0.3.1Low10/26/2019
0.3.0Tag 0.3.0Low10/24/2019
0.2.1Tag 0.2.1Low5/5/2019
0.1.1Tag 0.1.1Low6/24/2018
0.1.0Tag 0.1.0Low6/14/2018

Dependencies & License Audit

Loading dependencies...

Similar Packages

methodtoolsExpand standard functools to methods0.4.7
pre-commitA framework for managing and maintaining multi-language pre-commit hooks.v4.6.0
azure-core-tracing-opentelemetryMicrosoft Azure Azure Core OpenTelemetry plugin Library for Pythonazure-template_0.1.0b6187637
spdx-toolsSPDX parser and tools.0.8.5
lacesDjango components that know how to render themselves.0.1.2