Skip to main content

A framework that exposes a simple set of APIs enabling multi-process integration with the curses screen painting library

Project description

mpcurses is a framework that exposes a simple set of APIs enabling multi-process integration with the curses screen painting library.

With mpcurses, the complexities of setting up multi-processing within a curses environment are abstracted into a few simple APIs and constructs. The main features:

  • Execute a method across one or more concurrent processes

  • Queue method execution to ensure only a predefined number of processes are running

  • Define curses screen layout using a Python dict

  • Leverage built-in directives for updating screen dynamically * Keep numeric counts * Update text values * Update text colors * Maintain visual indicators * Update progress bars * Display table of data coming from concurrent proceses

How it works

The method you wish to execute concurrently is decorated with the queue handler decorator. The queue handler decorator creates a new log handler that will write all logged messages within the decorated method to a thread-safe queue. The main process creates the thread-safe message queue and handles the spawning of the desired number of concurrent processes, each process will be passed the reference to the message queue upon startup. As the process executes it will send all log messages to the message queue. The main process will then read messages from the message queue as they come in and update the curses screen accordingly.

The layout of the curses screen is defined as a dictionary and can leverage builtin constructs for capturing messages, incrementing counters, and processing side effects such as changing text colors when certain messages appear. The result is a screen that is being updated dynamically from one or more concurrent processes running in the background.

For samples checkout our home page: https://github.com/soda480/mpcurses

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

mpcurses-0.0.7.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

mpcurses-0.0.7-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file mpcurses-0.0.7.tar.gz.

File metadata

  • Download URL: mpcurses-0.0.7.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.5

File hashes

Hashes for mpcurses-0.0.7.tar.gz
Algorithm Hash digest
SHA256 cd3e2d0ab26e6b7e0e839b7bab0f984a00873ffb6126435eb03ae8d1ceff45f4
MD5 f8bfb14a6452a9e8cc31fa5b3745ce32
BLAKE2b-256 dc27fb0091e2877e87d171ac12215e707d4c0e5051f3be33a620a4bbf6af8f39

See more details on using hashes here.

Provenance

File details

Details for the file mpcurses-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: mpcurses-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.5

File hashes

Hashes for mpcurses-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 426510e7b1318ed8eb7e5f3ea407874650c9b8454d7de487c54e2d2cf72aae99
MD5 7d04bc69efd02cb67f1137111b95f06c
BLAKE2b-256 9d5507b57835fbccab0ae77b3bc0d2571de8b0cbf5791073179af5a7fba57f23

See more details on using hashes here.

Provenance

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