Distributed computing.


License
AGPL-3.0
Install
pip install hmq==24.4.1

Documentation

hummingqueue helps running millions of calculations at scale. It allows to dispatch python functions to a compute cluster without direct access to the internet. All function calls are signed and encrypted at rest to ensure confidential and secure access to compute power. A core aspect is to allow to span multiple data centers / (university) compute clusters.

Example use:

import hmq

# just add the decorator to an existing function
@hmq.task
def costly_calculation(arg1, arg2):
    ...
    return result

# call the function as if it would be run locally
# all calls return immediately and just record the arguments
for case in big_dataset:
    costly_calculation(*case)

# submit to queue
tag = costly_calculation.submit()

# wait
while True:
    remaining_jobs_in_queue = tag.pull()
    if remaining_jobs_in_queue == 0:
        break
    time.sleep(10)

# access results or errors
tag.results, tag.errors

Still in early development.