The volume tools cover list, upload, download, copy and delete — the part of Modal work that otherwise means remembering CLI flags for a job you do twice a month. Because it runs through a Modal CLI you have already authenticated, there is no key to configure and no separate scope: the server reaches exactly the volumes that CLI reaches.
A Python server that drives the Modal CLI you already have configured: it lists your volumes, moves files in and out of them, and deploys a Modal app from a local project directory.
- Every Modal volume in your environment, returned as JSON
- The files and directories inside a volume, at any path you name
- Uploads of a local file or directory into a volume, with a force flag when you mean to overwrite
- Downloads from a volume back to a local destination
- Copies within a volume — one source or several, with the last path as the destination
- Deletes of a file or directory, recursive when you ask for it
- Deployment of a Modal app from a project directory
Python 3.11 or higher, the uv package manager, and a Modal CLI already configured with valid credentials. Deploying additionally needs the target project to manage dependencies with uv and to have Modal installed in its virtual environment.
