Skip to content

Roadmap

How OpenModal compares to the Modal Python API.

Supported

Feature Modal OpenModal
Application construction
App
@app.function()
@app.local_entrypoint()
Serverless execution
Function.remote()
Function.local()
Function.map()
Web integrations
@web_server(port)
Function semantics
@modal.concurrent
Scheduling
modal.Cron
modal.Period
Exception handling
retries=N
Sandboxes
Sandbox.create()
Sandbox.exec()
Sandbox.filesystem
ContainerProcess
Container configuration
Image.debian_slim()
Image.from_registry()
Image.from_dockerfile()
.pip_install()
.uv_pip_install()
.apt_install()
.run_commands()
.env()
.workdir()
.entrypoint()
Secret.from_name()
Secret.from_dict()
Resource configuration
gpu=
cpu=
memory=
timeout=
scaledown_window=
Persistent storage
Volume
In-memory storage
Dict
Queue
CLI
run
deploy
stop
secret create/list/delete
ps / logs
monitor
setup

Not yet supported

Feature Status
High priority
Function.spawn() Planned
Medium priority
Function.starmap() / .for_each() Planned
modal.Retries(backoff=) Planned
CloudBucketMount Planned
.add_local_file() / .add_local_dir() Planned
.add_local_python_source() Planned
.run_function() Planned
.pip_install_from_requirements() / .pip_install_from_pyproject() Planned
serve (hot-reload) Planned
shell Planned
volume ls/put/get/rm Planned
Multi-region Planned
Lower priority
@app.cls() / Cls / @modal.method Planned — ergonomic, not blocking
@modal.enter / @modal.exit Planned — ergonomic, not blocking
@modal.batched Planned — ergonomic, not blocking
@modal.fastapi_endpoint Planned — ergonomic, not blocking
@modal.asgi_app / @modal.wsgi_app Planned — ergonomic, not blocking
modal.parameter() / Cls.with_options() Planned
@app.include()
Image.from_scratch() / Image.micromamba()
Secret.from_dotenv()
ephemeral_disk=
GPU fallback lists
Memory snapshots
FileIO
snapshot_filesystem()
Port tunnels
modal.Proxy / modal.forward()
Rolling / recreate strategies
Environments (dev/staging/prod)
container exec
NetworkFileSystem Deprecated in Modal

OpenModal-only features

Things we support that Modal doesn't:

  • Multi-cloud — GCP, AWS, Azure, and local Docker from one API
  • Self-hosted — runs on your own infrastructure, no vendor lock-in
  • Local Docker mode — free local testing with GPU passthrough (--local)
  • Live terminal dashboardopenmodal monitor with real-time GPU/CPU/memory sparklines
  • Historical metrics — persisted metrics with circular buffer
  • Interactive setup wizardopenmodal setup for each cloud provider
  • Harbor / CooperBench integration — experiment tracking compatibility

Infra roadmap

SLURM provider

Run on university HPC clusters via SLURM + Singularity. No sudo or Kubernetes needed — just SSH + sbatch.