Documentation Index
Fetch the complete documentation index at: https://docs.mesa.dev/llms.txt
Use this file to discover all available pages before exploring further.
mesa.fs.mount(...) is an async context manager that yields a MesaFileSystem.
mount() mints a scoped API key for the mounted repos, connects to the VCS backend, and revokes the key when the context exits. The scoped key also has a one-hour server-side TTL.
Options
Repositories to mount. Each entry can be a bare repo name such as
app, a matching org/repo slug such as acme/app, or a RepoConfig for bookmark/change pinning. The sequence must be non-empty.Access mode. Defaults to
rw. Read-only mounts mint a read scoped key and reject write operations with PermissionError.Optional on-disk cache. When omitted, the mount uses in-memory caching only.
RepoConfig
Pin a repository to a bookmark or change at mount time.Repository name.
Bookmark to check out.
Change ID to check out.
DiskCacheConfig
Directory for the on-disk cache.
Optional cache size cap. When omitted, the native extension auto-sizes the budget against system resources.
Paths
Mounted filesystem paths include the organization and repository name:repos=["acme/app"] is accepted only when acme matches the resolved client organization. Cross-org mounts are rejected with InvalidOptionsError.
Response
Yields aMesaFileSystem.
MesaFileSystem
The yieldedfs object exposes async file I/O, metadata, traversal, mutation, Bash, and mounted-repo version-control helpers.
Byte I/O
Read a file as bytes.
Replace file contents, creating the file if missing. Parent directories must already exist.
Append bytes to a file, creating it if missing.
Return whether a path exists. Follows symlinks.
Metadata and traversal
Return metadata for a path, following symlinks.
Return metadata for a path without following symlinks.
Return entry names in a directory. Sort client-side if you need deterministic ordering.
Resolve symlinks and
.. segments to a canonical path.Return the target of a symlink.
Join and normalize a path against a base path without touching the filesystem.
Mutations
Create a directory. With
recursive=True, create missing parents and do nothing when the path already exists as a directory.Remove a file or directory. Use
recursive=True for non-empty directories and force=True to ignore missing paths.Copy a file or directory. Use
recursive=True for directories.Move or rename a file or directory.
Set permission bits, such as
0o755.Create a symlink. Relative targets are stored verbatim and resolve against the parent of
link at read time.Set access and modification times. Values are milliseconds since the Unix epoch, not seconds.
Hard links are not supported and this method raises
NotImplementedError.FsStat
stat(...) and lstat(...) return FsStat.
Whether the path is a regular file.
Whether the path is a directory.
Whether the path is a symlink. This is
False from stat(...) when the target exists because stat follows symlinks.POSIX mode bits.
Size in bytes.
Modification time in milliseconds since the Unix epoch.
Related filesystem methods
| Method namespace | Reference |
|---|---|
fs.bash(...) | fs.bash() |
fs.changes | fs.changes |
fs.bookmarks | fs.bookmarks |
Errors
RaisesInvalidOptionsError for an empty repo list, invalid mode, or a mismatched org prefix. API key minting, repo lookup, or VCS connection failures can raise ApiError subclasses or connection errors.
Multiprocessing
MesaFS is not fork-safe. If you usemultiprocessing, set the start method to spawn or forkserver before creating Mesa objects.

