Documentation: https://finos.github.io/opengris-scaler/
Start there for installation options, command reference, worker manager guides, scaling policies, and examples.
OpenGRIS Scaler is a distributed computing framework for running Python tasks across local machines or remote infrastructure.
It provides:
- A Python client API similar to
multiprocessingpatterns such assubmit(),map(), andstarmap(). - A centralized scheduler that dispatches work and balances load across workers.
- Worker managers for local execution and cloud-backed capacity.
- Support for graph/DAG execution, monitoring, and task recovery.
- Clients submit tasks to a scheduler.
- The scheduler tracks state, applies scaling/allocation policies, and dispatches work.
- Worker managers provision workers locally or on external infrastructure.
- Workers execute tasks and return results.
- An object storage service stores task inputs and outputs used by the cluster.
Install the package:
pip install opengris-scalerCreate config.toml:
[object_storage_server]
bind_address = "tcp://127.0.0.1:8517"
[scheduler]
bind_address = "tcp://127.0.0.1:8516"
object_storage_address = "tcp://127.0.0.1:8517"
[[worker_manager]]
type = "baremetal_native"
scheduler_address = "tcp://127.0.0.1:8516"
worker_manager_id = "wm-native"Start a fully local stack:
scaler config.tomlSubmit tasks from Python:
from scaler import Client
def square(value: int) -> int:
return value * value
with Client(address="tcp://127.0.0.1:8516") as client:
results = client.map(square, range(10))
print(results)