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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fs_anvilfs-0.2.10.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fs_anvilfs-0.2.10-py3-none-any.whl (24.5 kB view details)

Uploaded Python 3

File details

Details for the file fs_anvilfs-0.2.10.tar.gz.

File metadata

  • Download URL: fs_anvilfs-0.2.10.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fs_anvilfs-0.2.10.tar.gz
Algorithm Hash digest
SHA256 3d3e722e210279437ac8eb37ebd42f8885d73ab2b3ffc373021786c1842628ad
MD5 afb97626350fad24177f77e06b6f6f58
BLAKE2b-256 bf66eb20a646dbce78d89ae28e10ab1af9e89c47d4d7db8d8fd436f89a46b468

See more details on using hashes here.

Provenance

The following attestation bundles were made for fs_anvilfs-0.2.10.tar.gz:

Publisher: release.yml on anvilproject/fs.anvilfs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fs_anvilfs-0.2.10-py3-none-any.whl.

File metadata

  • Download URL: fs_anvilfs-0.2.10-py3-none-any.whl
  • Upload date:
  • Size: 24.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fs_anvilfs-0.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 4b866874f9d18137af9c52fae3b1f66aa500c3a1eb904b30fce78e937d17ad2e
MD5 c6fa85df1fc38244e67ecd1daea15bcd
BLAKE2b-256 cb961f69aba8908cc4a7eb46ab7d18dcb7c5585ab7a6fac08136faf77f0fd2f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for fs_anvilfs-0.2.10-py3-none-any.whl:

Publisher: release.yml on anvilproject/fs.anvilfs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.2.10 This release

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.2

2 files

0.1.1

2 files

0.0.45

2 files

0.0.44

2 files

0.0.43

2 files

0.0.4

1 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