Skip to main content

Nodus - A lightweight and reusable job manager.

Project description

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/

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

nodus-0.1.1.tar.gz (28.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nodus-0.1.1-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file nodus-0.1.1.tar.gz.

File metadata

  • Download URL: nodus-0.1.1.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.16

File hashes

Hashes for nodus-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f5df000faae82efea773f279b63f80956ff44572d63d0e0252b7b0d4863753e1
MD5 63d66cf6aeacf6f1874214d8b2178101
BLAKE2b-256 fbeceea719aa3807d78b5aea1ece42ec45866c1a7163046a73f47be912ce1868

See more details on using hashes here.

File details

Details for the file nodus-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: nodus-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.16

File hashes

Hashes for nodus-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a8740719f0c845e455e1aacd5a01fab2c3b626571aed6300d37a889a3649ad8a
MD5 5ae0a79243bfe3ef732cdfe5059d9ac8
BLAKE2b-256 1fe2b507404579b894201bd5599875028bc944063d358f07927881cafcbfb532

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page