Skip to main content

PyFilesystem2 AnVIL plugin

A plugin for representing AnVIL resources in Python environments as a file system; particularly, in an AnVIL-launched Galaxy instances.

Galaxy installation requirements:

  • file_sources_conf.yml in the Galaxy config directory with an AnVIL entry:
- doc: <whatever you would like to call it>
  id: <root folder name>
  namespace: <your google billing project == Terra namespace >
  type: anvil
  workspace: <name of the Terra workspace you wish to browse>
  api_url: <OPTIONAL - if not specified default production url will be used>
  on_anvil: <OPTIONAL - (true/false) must be true to manage AnVIL workload identity scopes>
  drs_url: <OPTIONAL - if not specified  default production url will be used>
  writable: <OPTIONAL - (true/false) if not specified plugin will be read-only>

NOTES:

  • doc and id can be any string you choose but type MUST be anvil
  • for off-AnVIL use, Galaxy and Data Fetch tools require the following environment variables:
    • GOOGLE_APPLICATION_CREDENTIALS="<path to credentials json>"
    • TERRA_NOTEBOOK_GOOGLE_ACCESS_TOKEN="$(gcloud auth print-access-token)"

Dependencies:

Releasing:

  • Pushing a version tag such as 0.2.7 builds the sdist and wheel and publishes them to PyPI via the Release GitHub Actions workflow. Nothing else publishes; there is no manual upload step.
  • The tag must equal __version__ in anvilfs/__about__.py or the workflow fails before building, so bump the version and merge it first, then tag the merge commit:
    git checkout dev && git pull
    git tag 0.2.7 && git push origin 0.2.7
    
  • Only bare N.N.N tags trigger a release.
  • Uploads use PyPI trusted publishing, so no API token is stored in the repository.

Known upstream incompatibilities:

anvilfs/__init__.py carries two compatibility shims. Both exist only because an unmaintained dependency fails at import time on a runtime Galaxy actually ships, and without them import anvilfs raises, the anvil file source never registers, and Galaxy will not start at all.

  • FISS on Python 3.12+. firecloud.fiss calls configparser.SafeConfigParser() when imported, and Python 3.12 removed that name. terra_notebook_utils.workspace imports fiss at module scope, so anvilfs/drs.py cannot avoid it. Tracked upstream in fiss#194, open since May 2025; firecloud 0.16.39 still makes the call. The shim restores the name, which has been a plain alias of ConfigParser since Python 3.2.
  • getm on urllib3 2.x. getm.http builds a module-level Retry(method_whitelist=[...]). urllib3 renamed that argument to allowed_methods in 1.26 and removed it in 2.0. getm 0.0.5, the latest release, still uses the old name, and pinning urllib3<2 is not possible inside Galaxy. The shim translates the keyword.

These are temporary. Each shim is a stopgap for a bug that belongs upstream, not a feature of this package, and each mutates a module that the whole host process shares. Delete the corresponding block as soon as a fixed release of that dependency exists and the floor in setup.py can be raised past it; the guards make each one inert in the meantime, so a stale shim fails quietly rather than loudly.

Metadata

Release files for fs.anvilfs 0.2.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fs.anvilfs 0.2.10
File Size Uploaded
fs_anvilfs-0.2.10.tar.gz 24.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fs.anvilfs 0.2.10
File Interpreter ABI Platform
fs_anvilfs-0.2.10-py3-none-any.whl Python 3 none any Details

Total release size: 48.7 kB

Release files / fs_anvilfs-0.2.10.tar.gz

Download URL fs_anvilfs-0.2.10.tar.gz
Size 24.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3d3e722e210279437ac8eb37ebd42f8885d73ab2b3ffc373021786c1842628ad
BLAKE2b-256 checksum
How to use checksums
bf66eb20a646dbce78d89ae28e10ab1af9e89c47d4d7db8d8fd436f89a46b468
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release files / fs_anvilfs-0.2.10-py3-none-any.whl

Download URL fs_anvilfs-0.2.10-py3-none-any.whl
Size 24.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4b866874f9d18137af9c52fae3b1f66aa500c3a1eb904b30fce78e937d17ad2e
BLAKE2b-256 checksum
How to use checksums
cb961f69aba8908cc4a7eb46ab7d18dcb7c5585ab7a6fac08136faf77f0fd2f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.10 This release

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.0.45

2 release files

0.0.44

2 release files

0.0.43

2 release files

0.0.4

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page