Python Wires is a library to facilitate callable wiring by decoupling callers from callees. It can be used as a simple callable-based event notification system, as an in-process publish-subscribe like solution, or in any context where 1:N callable decoupling is appropriate.
Python Wires is a pure Python package distributed via PyPI. Install it with:
$ pip install wires
Create a Wires object:
from wires import Wires w = Wires()
Its attributes are callables, auto-created on first access, that can be wired to other callables:
def say_hello(): print('Hello from wires!') w.my_callable.wire(say_hello) # Wires `w.my_callable`, auto-created, to `say_hello`.
Calling such callables calls their wired callables:
w.my_callable() # Prints 'Hello from wires!'
More wirings can be added:
def say_welcome(): print('Welcome!') w.my_callable.wire(say_welcome) # Wires `w.my_callable` to `say_welcome`, as well. w.my_callable() # Prints 'Hello from wires!' and 'Welcome!'.
Wirings can also be removed:
w.my_callable.unwire(say_hello) # Removes the wiring to `say_hello`. w.my_callable() # Prints 'Welcome!' w.my_callable.unwire(say_welcome) # Removes the wiring to `say_welcome`. w.my_callable() # Does nothing.
To learn more about Python Wires, including passing parameters, setting wiring limits and tuning the call-time coupling behaviour, please refer to the remaining documentation at https://python-wires.readthedocs.org/.
Python Wires was created by Tiago Montes.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for wires-19.2.0-py2.py3-none-any.whl