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 1

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 1
File Size Uploaded
magnum_opus-1.tar.gz 39.2 kB Details

Release files / magnum_opus-1.tar.gz

Download URL magnum_opus-1.tar.gz
Size 39.2 kB
Tags Source
SHA-256 checksum
How to use checksums
e83c3a594571ff9e9674d30531018ac1f83a60dfb7141e15216daba52727603c
BLAKE2b-256 checksum
How to use checksums
65f2653e26e5babe7971c1e7e962842c1e22043fd5252370c4ee4babc75b4d00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

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

2

2 release files

This release

1 This release

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