Hi all,

I'd like to propose a new community provider,
apache-airflow-providers-modal, for Modal (https://modal.com/), the
serverless compute platform for running functions, GPU jobs and sandboxed
containers. Targeting Airflow 3+ and shipping as incubation, same as the
Anthropic and OpenAI providers.

Scope of the first version

- A modal connection type (token id and secret, optional Modal
environment), so Modal credentials live in an Airflow connection and
secrets backend rather than in MODAL_TOKEN_ID / MODAL_TOKEN_SECRET on every
worker.
- ModalHook, which turns that connection into an authenticated modal.Client
and hands out handles to deployed functions and classes, secrets, volumes,
apps and sandboxes, each scoped to the connection's environment. Execution
stays on the Modal SDK objects (.remote(), .spawn(), Sandbox.wait()), so
the hook does not re-wrap the SDK.

No operators or executor in this first PR. The intent is to land the
connection type and hook first, because several things want them: the Modal
backend for the common.ai sandbox toolset (#72910) currently has to read
ambient credentials, and a ModalExecutor that runs each task in its own
Modal sandbox has a working prototype that I'd bring as a follow-up PR once
the provider exists to host it.

Why a standalone provider rather than a piece of common.ai

common.ai is provider-agnostic. Modal is infrastructure, not a model
vendor: a connection type, an executor and compute-oriented operators have
no home in an AI-neutral interface, and tying non-AI Modal users to
common.ai would be the wrong dependency direction. The sandbox backend
stays in common.ai and will take an optional modal_conn_id resolved through
this hook, which is the same "vendor provider alongside common.ai" split we
settled on for Anthropic and OpenAI.

Working implementation

https://github.com/apache/airflow/pull/73418

I'm happy to steward and sponsor the provider, and would welcome a
co-steward per the community provider policy. If there are no objections
within seven days I'll proceed with merging.

Thanks,
Kaxil

Reply via email to