BlogsModalClient API Stability and Ergonomics

Client API Stability and Ergonomics

Client API Stability and Ergonomics

2
posts
2025

Modal 1.0 marks a significant milestone in the maturity and stability of the Modal platform's client API. Key design principles for this release include avoiding unpredictable 'magic' behaviors by making features like package automounting explicit, separating core functionality from additional concepts through distinct decorators (e.g., `@modal.concurrent`), and consolidating related functionalities into canonical paths (e.g., managing local files within `modal.Image`). This release aims to prov. The platform now offers official SDKs for JavaScript and Go, enabling developers to call deployed Modal Functions and create isolated sandboxes from server-side JavaScript or Go code. This expands Modal's accessibility beyond Python, allowing integration with Node backends, Next.js server handlers, and Go microservices. The SDKs support calling functions with JSON-like or bytes data types and creating sandboxes for executing code, running untrusted scripts, checking out Git repos, and running one-off jobs. While deployment of Modal Functions still requires Python, the SDKs provide a lightweight, consistent, and easy-to-use interface for interacting with Modal from other languages.

2025

Introducing: Modal 1.0

6/9/2025

Introduced Modal 1.0, focusing on client API robustness and predictability. Key changes include: 1. Explicitly defining local package inclusion in `modal.Image` instead of relying on automounting. 2. Separating concerns by introducing new decorators like `@modal.concurrent` alongside `@app.function`. 3. Consolidating local file management under `modal.Image`, deprecating `modal.Mount` as a direct function parameter. Also announced a shift to batched client updates for better predictability.

Modal SDKs for JavaScript and Go (alpha)

4/30/2025

Introduced alpha versions of official Modal SDKs for JavaScript and Go. These SDKs allow developers to call deployed Modal Functions and create/interact with isolated sandboxes from server-side JavaScript (Node, Deno, Bun) and Go code. The SDKs support calling functions with JSON-like or `bytes` data types and creating sandboxes for executing arbitrary code, running untrusted scripts, checking out Git repos, and running one-off jobs. Authentication can be done via CLI setup or environment variables. The post notes that deployment of Modal Functions still requires Python and that advanced function calling modes, sandbox tunnels, volumes, and container lifecycle management are coming soon.