1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- Metadata-Version: 2.2
- Name: wirerope
- Version: 1.0.0
- Summary: 'Turn functions and methods into fully controllable objects'
- Home-page: https://github.com/youknowone/wirerope
- Author: Jeong, YunWon
- Author-email: wirerope@youknowone.org
- License: BSD 2-Clause License
- Keywords: ring,methodtools,hack,method
- Classifier: License :: OSI Approved :: BSD License
- Classifier: Programming Language :: Python :: 3
- 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: Programming Language :: Python :: 3.9
- Classifier: Programming Language :: Python :: 3.10
- Classifier: Programming Language :: Python :: 3.11
- Classifier: Programming Language :: Python :: 3.12
- Classifier: Programming Language :: Python :: 3.13
- License-File: LICENSE
- Requires-Dist: six>=1.11.0
- Requires-Dist: inspect2>=0.1.0; python_version < "3"
- Requires-Dist: singledispatch>=3.4.0.3; python_version < "3.4"
- Provides-Extra: test
- Requires-Dist: pytest>=4.6.7; extra == "test"
- Requires-Dist: pytest-cov>=2.6.1; extra == "test"
- Requires-Dist: pytest-checkdocs>=1.2.5; python_version < "3" and extra == "test"
- Requires-Dist: pytest-checkdocs>=2.9.0; python_version >= "3" and extra == "test"
- Provides-Extra: doc
- Requires-Dist: sphinx; extra == "doc"
- 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.
|