Skip to main content

Python wheel package for git-annex

Test git-annex wheel from PyPi

Why?

Git-annex is written in Haskell and plenty of installation methods are available. However, for deploying git-annex as a dependency of a Python library/application, like DataLad or AnnexRemote, system packages are a lot less flexible than Python's virtual environments, and other methods are more complex and fragile.

With git-annex being available from PyPi, versioned dependencies and deployment in application-specific environments are possible via standard means of Python packaging.

Caveats

A standard git-annex deployment is (primarily) a single binary (git-annex), and a bunch of symlinks that make this one binary fulfilled multiple roles (git-annex-shell, git-remote-annex, etc.). A Python wheel, however, is a ZIP file container with no support for symlinks, and also no support for "post-install" scripts.

In order to square this circle, the git-annex binary is wrapped via regular Python entrypoint scripts that handle calling git-annex as necessary. This delivers a cross-platform compatible wheel, but at a start-up cost (~30ms vs ~11ms on my laptop).

Installation

Get the package from PyPi, and install like any other package from PyPi.

uv users can deploy git-annex in a dedicated virtual environment via the one-liner:

uv tool install git-annex

git-annex build configuration

Git-annex is built with libmagic support.

Platform notes

Linux

The manylinux wheel is self-contained and includes copies of all libraries. It only depends on the declared GLIBC versions. The magic.mgc database is not included, and is assumed to be available on the target system. Install it separately, if needed (e.g., libmagic-mgc package).

Windows

The wheel is self-contained and includes a copy of libmagic and the magic.mgc database.

Mac

The wheel is self-contained and includes a copy of libmagic and the magic.mgc database.

Developer information

Sources

The sources for this package are available at https://github.com/psychoinformatics-de/git-annex-wheel

The repository tracks the git-annex sources as a Git submodule.

Issues

For issues related to the Python wheel packaging of git-annex, please use the tracker at https://github.com/psychoinformatics-de/git-annex-wheel/issues

How to update for a new git-annex release?

Advance the submodule ./git-annex to the new release tag.

Now adjust the package version in pyproject.toml accordingly. This version must follow the rules for Python packages.

The included (GitHub) action workflows will build a corresponding wheel and upload it to PyPi.

Acknowledgements

This work was funded, in part, by

  • Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under grant TRR 379 (546006540, Q02 project)
  • Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under grant SFB 1451 (431549029, INF project)
  • MKW-NRW: Ministerium für Kultur und Wissenschaft des Landes Nordrhein-Westfalen under the Kooperationsplattformen 2022 program, grant number: KP22-106A

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

git_annex-10.20260717-py3-none-win_amd64.whl (27.2 MB view details)

Uploaded Python 3Windows x86-64

git_annex-10.20260717-py3-none-manylinux_2_34_x86_64.whl (22.0 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

git_annex-10.20260717-py3-none-manylinux_2_34_aarch64.whl (26.3 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ ARM64

git_annex-10.20260717-py3-none-macosx_15_0_x86_64.whl (13.8 MB view details)

Uploaded Python 3macOS 15.0+ x86-64

git_annex-10.20260717-py3-none-macosx_14_0_arm64.whl (36.3 MB view details)

Uploaded Python 3macOS 14.0+ ARM64

File details

Details for the file git_annex-10.20260717-py3-none-win_amd64.whl.

File metadata

  • Download URL: git_annex-10.20260717-py3-none-win_amd64.whl
  • Upload date:
  • Size: 27.2 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for git_annex-10.20260717-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 cc0d9bcbbda972d68d691ad97fc205bca07a182115f299104c5a901e8ce4ec08
MD5 a7f3355f3df1f6b99ea14e38f438d7e3
BLAKE2b-256 03bfa6e55da19c3ebfc3c019937a410579b76ce8499e4f323f83991e4ec97f35

See more details on using hashes here.

File details

Details for the file git_annex-10.20260717-py3-none-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: git_annex-10.20260717-py3-none-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 22.0 MB
  • Tags: Python 3, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for git_annex-10.20260717-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 c5d180fb76c6a73fe2a773300700d21c0bf959f20bce42f1666db467d95a3756
MD5 6743e6aeef850336ebe200a78ca98d9b
BLAKE2b-256 5f245d1766d2f7ad597559be44bafecfc160e6410f0340be4dcab41c9d0a524b

See more details on using hashes here.

File details

Details for the file git_annex-10.20260717-py3-none-manylinux_2_34_aarch64.whl.

File metadata

  • Download URL: git_annex-10.20260717-py3-none-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 26.3 MB
  • Tags: Python 3, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for git_annex-10.20260717-py3-none-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 fc41ac44a8e646e837292cedf76a8784cc2ad22654d0cc3ae4b12478146de6eb
MD5 9fce6fbfb16ce1887fdfb01a2f3d30b0
BLAKE2b-256 be8528ec297b01f5f4e1d6bb207a0be6f73c099b6f355aaf58a4802752e51a9f

See more details on using hashes here.

File details

Details for the file git_annex-10.20260717-py3-none-macosx_15_0_x86_64.whl.

File metadata

  • Download URL: git_annex-10.20260717-py3-none-macosx_15_0_x86_64.whl
  • Upload date:
  • Size: 13.8 MB
  • Tags: Python 3, macOS 15.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for git_annex-10.20260717-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 d98ea82699f3c43bb434acba0434e9d9b672a1fb763d322d9209a4aba885ff6e
MD5 7df39ffee82764d4cccbfc69c6ff3ba7
BLAKE2b-256 c2e5ac9125ef4dc77eb8c1daf4b105830b482fc922b53524e8400a9549ee21d0

See more details on using hashes here.

File details

Details for the file git_annex-10.20260717-py3-none-macosx_14_0_arm64.whl.

File metadata

  • Download URL: git_annex-10.20260717-py3-none-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 36.3 MB
  • Tags: Python 3, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for git_annex-10.20260717-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 1e441e2bebd5a1b9c6c0c9dc69d7c6c6cf4fee6d4535ea8614d71a26bbb69168
MD5 80a3b16c9c8b1ee160362d63d64eb947
BLAKE2b-256 21291b80a006de7e70626d1ee063e8db8098436729bb0b6656323ac6248234c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page