Skip to main content
drawing

Nodus: A lightweight and reusable job manager.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse id molestie elit, semper auctor ex. Phasellus vestibulum, elit vitae maximus mollis, odio nunc laoreet magna, ac venenatis neque odio ac sem. Pellentesque vel mauris laoreet, semper nunc at, tempor felis. Morbi at magna dui. Sed a venenatis mauris, at auctor velit. Pellentesque luctus, eros sed sagittis molestie, orci ex elementum nisl, at scelerisque lorem felis vel felis. Ut eget elit pellentesque, egestas quam sed, luctus diam. Cras ex risus, convallis id enim eget, malesuada consequat mi.

1. How to install

pip install nodus

2. How to use

# Import wsbmr
import nodus
import time 

# Create Nodus Session
session = nodus.NodusSession()
db = session.add_nodus_db()  # Add a default NodusDB instance

# Get the JobManager from the db instance
jm = db.job_manager

# Initialize the command
nodus_command = "bash -c 'for i in {1..10}; do echo Step $i; sleep 1; done'"

# Create a new job to run the command
job_id = jm.create_job(
    name="example_job",
    parent_caller="example_command_runner",
    job_type="command",
    command = nodus_command
)

# Let the JobManager monitor jobs (in practice, your UI would run alongside this)
while True:
    time.sleep(1)  # Keep the main thread alive

# Then after a while
# Close connection
session.close()

Using the UI:

python -m nodus

UI

3. How to cite this?

If you found my work valuable and it was useful for you, consider citing it in any published work where you used it to help me improve the visibility of my code and make it easier for other people to access it, by adding the following bibtex entry to your paper:

@misc{MBValentin2020DynamicTable,
  author = {Valentin, Manuel Blanco},
  title = {Nodus: A lightweight and reusable job manager},
  year = {2025},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/manuelblancovalentin/nodus}}
}

4. Pypip

https://pypi.org/project/nodus/0.0.1/

Release files for nodus 0.1.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 nodus 0.1.1
File Size Uploaded
nodus-0.1.1.tar.gz 28.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nodus 0.1.1
File Interpreter ABI Platform
nodus-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 57.3 kB

Release files / nodus-0.1.1.tar.gz

Download URL nodus-0.1.1.tar.gz
Size 28.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f5df000faae82efea773f279b63f80956ff44572d63d0e0252b7b0d4863753e1
BLAKE2b-256 checksum
How to use checksums
fbeceea719aa3807d78b5aea1ece42ec45866c1a7163046a73f47be912ce1868
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.10.16

Release files / nodus-0.1.1-py3-none-any.whl

Download URL nodus-0.1.1-py3-none-any.whl
Size 29.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a8740719f0c845e455e1aacd5a01fab2c3b626571aed6300d37a889a3649ad8a
BLAKE2b-256 checksum
How to use checksums
1fe2b507404579b894201bd5599875028bc944063d358f07927881cafcbfb532
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.10.16

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

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