Skip to main content
o   o   O   o-o  o   o o   o o   o 
|\ /|  / \ o     |\  | |   | |\ /| 
| O | o---o|  -o | \ | |   | | O | 
|   | |   |o   | |  \| |   | |   | 
o   o o   o o-o  o   o  o-o  o   o 
                                   
                                   
     o-o  o--o  o   o  o-o         
    o   o |   | |   | |            
    |   | O--o  |   |  o-o         
    o   o |     |   |     |        
     o-o  o      o-o  o--o         

About

A python based task processing engine backend.

Usage

The intent of this project is to use it as a library to process tasks that conform to a certain style.

A typical stack will include the following components:

graph TD
    A[Client Application] -- parses configuration using --> B[Parsing Library]
    A -- execute parsed configuration using --> C[magnum-opus]

The client application has to provide the following implementations:

Base Class Usage
LoggerWrapper ( optional ) Used for logging. If not implemented, log messages from magnum-opus will be printed to STDOUT
StatePersistance ( optional ) Used to persist state during the various stages of task execution. Can also be used by TaskProcessor implementation to retrieve previous execution state of any individual task. If not implemented by the client, no persistance functionality will be provided/available.
TaskProcessor ( required ) This is the class that implements the logic of processing a given task. No out-of-the-bos task processors exist, so the client must supply it's own.

The client then creates an instance of Tasks and adds all TaskProcessor implementations before adding Task objects. Finally, the processing is performed by calling the process_context() method of the Tasks instance.

The opus-instrumenta project provides some "standard" TaskProcessor implementations for common types of tasks.

Hello World Example

Here is a really quick "hello world" example that will implement a TaskProcessor that creates a file with the text "Hello World!" in it:

python3 examples/hello_world.py

The example can also be observed as a unit test by running the test file tests/test_hello_world.py

Development Quick Start

Preparing your local system for development:

python3 -m venv venv

. venv/bin/activate

pip3 install coverage build twine

Metadata

Release files for magnum-opus 2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for magnum-opus 2
File Size Uploaded
magnum_opus-2.tar.gz 47.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for magnum-opus 2
File Interpreter ABI Platform
magnum_opus-2-py3-none-any.whl Python 3 none any Details

Total release size: 81.3 kB

Release files / magnum_opus-2.tar.gz

Download URL magnum_opus-2.tar.gz
Size 47.0 kB
Tags Source
SHA-256 checksum
How to use checksums
d39fad9705910d57887405faaac98c21e1bf7e4f854fc5fa7de3eb210c435e3d
BLAKE2b-256 checksum
How to use checksums
e3e3df3d742fa63457ec45dac38de3f42cd4774fb37d161a4a203077caaf694e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

Release files / magnum_opus-2-py3-none-any.whl

Download URL magnum_opus-2-py3-none-any.whl
Size 34.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
27b2f73d521b0ba9cf6b618cf0e67ee903774811a928e83072ea5d816eb69311
BLAKE2b-256 checksum
How to use checksums
c2c183e54613da8b0e9bbb32954c37942ff136b51ee800e37f9f013931393b8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.19

Release history Release notifications | RSS feed

3.1

2 release files

3.0

2 release files

2.3

2 release files

2.2

2 release files

2.1

2 release files

This release

2 This release

2 release files

1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page