Skip to main content

A package for connecting objects to form a processing chain

Project description

The Connectors package facilitates the writing of block-diagram-like processing networks. For this it provides decorators for the methods of processing classes, so they can be connected to each other. When a parameter in such a processing network is changed, the result values will also be updated automatically. This is similar to a pipes and filters architecture, the observer pattern or streams.

This short example demonstrates the core functionality of the Connectors package by implementing a processing network of two sequential blocks, which double their input value:

>>> import connectors
>>>
>>> class TimesTwo:
...     def __init__(self, value=0):
...         self.__value = value
...
...     @connectors.Input("get_double")
...     def set_value(self, value):
...         self.__value = value
...
...     @connectors.Output()
...     def get_double(self):
...          return 2 * self.__value
>>>
>>> d1 = TimesTwo()                                     # create an instance that doubles its input value
>>> d2 = TimesTwo().set_value.connect(d1.get_double)    # create a second instance and connect it to the first
>>> d2.get_double()
0
>>> d1.set_value(2)
>>> d2.get_double()                                     # causes the new input value 2 to be processed by d1 and d2
8

Installation

The Connectors package requires Python version 3.6 or later. Python 3.5 might work, but this is not tested.

pip3 install connectors

Documentation

The documentation for the Connectors librariy can be found on Read the Docs.

License

The Connectors package is published under the terms and conditions of the GNU lesser general public license version 3 or later (LGPLv3+).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

connectors-4.1.tar.gz (33.5 kB view details)

Uploaded Source

File details

Details for the file connectors-4.1.tar.gz.

File metadata

  • Download URL: connectors-4.1.tar.gz
  • Upload date:
  • Size: 33.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.4.2 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for connectors-4.1.tar.gz
Algorithm Hash digest
SHA256 80992fb286516f578c9957569dcddc05ac0baff87fd81007e937a71ff36cc048
MD5 90a2de172a81364b10e45d102de62b8f
BLAKE2b-256 404a608bad823b8b2b9e3e3204b9097b4719b1be3f8ebfd1852d1c827302dc43

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page