Two Python libraries for working with fsspec filesystems, maintained in one uv workspace.
| Package | Purpose | Documentation |
|---|---|---|
vosfs |
An asynchronous fsspec filesystem for OpenCADC VOSpace | User guide |
fss-cli |
POSIX-shaped commands you embed in a Typer application, using your own filesystem instances | Integration guide |
The distributions are vosfs and fss-cli; their Python imports are vosfs
and fss_cli. Each package has its own version, changelog, and releases.
The workspace root is not a distribution, and fss-cli does not install a
standalone command.
uv sync --locked --all-packages
uv run --all-packages pre-commit install --install-hooks --hook-type pre-commit --hook-type commit-msg
uv run --locked --package vosfs pytest libs/vosfs/tests
uv run --locked --package fss-cli pytest libs/fss-cli/tests
uv run --locked --all-packages zensical build --strict --cleanCONTRIBUTING.md documents the complete local validation gate.
CI tests Python 3.10–3.14 on Linux and Python 3.12 on macOS. The protected
Required check covers repository quality and PR titles. Separate package
workflows run only when files under libs/vosfs/ or libs/fss-cli/ change;
the fss-cli workflow also checks isolated distributions. Live VOSpace integration
tests require separate credentials and are not part of these offline checks.
The packages originated in shinybrar/vosfs, then joined the shinybrar/vostools
workspace before moving here. Their original history and release tags are
preserved, along with relevant side-branch and PR history on archive/history.
The legacy Python vos package and its ancestry are excluded.
See the release guide for publishing and recovery. Architecture decisions are recorded in docs/adr/.