Skip to main content

module framework

Project description

modulepy

easily build modular applications

features

  • module baseline
  • ipc
  • module dependency resolution
  • one-line module loading

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.1.tar.gz (3.7 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: modulepy-0.1.tar.gz
  • Upload date:
  • Size: 3.7 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.1.tar.gz
Algorithm Hash digest
SHA256 88bc3a821b131742d430f725ee1c71deba3902c5d1a4f16ca9dd108caed2b2d1
MD5 b39b788268b99b49ee5b979ae4762b0f
BLAKE2b-256 405b71ac54a046331857df27936d29c7ad741a5fb50cbceef7a32dbc95ba1fee

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