Skip to main content

module framework

Project description

modulepy

easily build modular applications

installation

pip3 install modulepy
# or
pip3 install git+https://github.com/nbdy/modulepy

features

  • module baseline
  • module loader
    • one-line module loading
    • one-line directory loading
  • module manager
    • add module
    • remove module
    • reload module directory
    • module dependency resolution
    • ipc

usage

from modulepy import ModuleBase, ModuleInformation, ModuleVersion, SharedData, ModuleManager


class ModuleA(ModuleBase):
    information = ModuleInformation("A", ModuleVersion(1, 0, 0))
    dependencies = [ModuleInformation("B", ModuleVersion(1, 0, 0))]

    def work(self):
        self.enqueue({"A": 0})

    def process_input_data(self, data: SharedData):
        print(data)


class ModuleB(ModuleBase):
    information = ModuleInformation("B", ModuleVersion(1, 0, 0))
    
    def work(self):
        self.enqueue({"B": 1})


if __name__ == '__main__':
    manager = ModuleManager()
    manager.add_module(ModuleA())
    manager.add_module(ModuleB())
    manager.start()
    manager.join()

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

modulepy-0.4.tar.gz (3.8 kB view details)

Uploaded Source

File details

Details for the file modulepy-0.4.tar.gz.

File metadata

  • Download URL: modulepy-0.4.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.5

File hashes

Hashes for modulepy-0.4.tar.gz
Algorithm Hash digest
SHA256 ba4e9f3823fe5cbf91fdf9c84e595abbeb9cfe3e9b87a40b35f93d057af46310
MD5 2188adf6f344f2abb283e21a49f2550c
BLAKE2b-256 76055034508239f6f30ab88e55276dc530edf9e34e61cf5d98babf0e27bd6816

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