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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd3e2d0ab26e6b7e0e839b7bab0f984a00873ffb6126435eb03ae8d1ceff45f4 |
|
MD5 | f8bfb14a6452a9e8cc31fa5b3745ce32 |
|
BLAKE2b-256 | dc27fb0091e2877e87d171ac12215e707d4c0e5051f3be33a620a4bbf6af8f39 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 426510e7b1318ed8eb7e5f3ea407874650c9b8454d7de487c54e2d2cf72aae99 |
|
MD5 | 7d04bc69efd02cb67f1137111b95f06c |
|
BLAKE2b-256 | 9d5507b57835fbccab0ae77b3bc0d2571de8b0cbf5791073179af5a7fba57f23 |