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.20260624-py3-none-win_amd64.whl (27.1 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.34+ x86-64

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

Uploaded Python 3manylinux: glibc 2.34+ ARM64

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

Uploaded Python 3macOS 15.0+ x86-64

git_annex-10.20260624-py3-none-macosx_14_0_arm64.whl (36.2 MB view details)

Uploaded Python 3macOS 14.0+ ARM64

File details

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

File metadata

  • Download URL: git_annex-10.20260624-py3-none-win_amd64.whl
  • Upload date:
  • Size: 27.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.20260624-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 52e4a155939a8f6f2733e4a3c96e0127902b60c964745fb69688b7860f054d5d
MD5 e4995cf1695e2b93af1b18a911df4220
BLAKE2b-256 fcc66b9d4fa52826db05af46f8027c64c356ed9dd9f259cc3d8d1b697a82ad48

See more details on using hashes here.

File details

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

File metadata

  • Download URL: git_annex-10.20260624-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.29 {"installer":{"name":"uv","version":"0.11.29","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.20260624-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 9f7799b019abeefc55c20b165a52af3cc86527f6f0299cdb74507803e2aab288
MD5 b5dd572e041f531e3e2972e6fb3bc3a7
BLAKE2b-256 78fdb40ff330453f8cc574dae269f410e4312587836fbffc700a0d72317834cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: git_annex-10.20260624-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.29 {"installer":{"name":"uv","version":"0.11.29","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.20260624-py3-none-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 1b031d594794fa495df382216c4e4238e10a56a17f9b79ccd04b6f557cb39b67
MD5 45b05794bc8e4f886a67dbea3f354bce
BLAKE2b-256 c7ce1bcced2cf98eb8d44db7dd4c81e23420f2a90a5046c00c68d43d27ae89a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: git_annex-10.20260624-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.29 {"installer":{"name":"uv","version":"0.11.29","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.20260624-py3-none-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 cf5d692fa07d93f714d5cb4d7f93177b35ed658cef000e2e6e9f0d7230196fcd
MD5 05d903ca11bf35b7e0a2b33d8b937a16
BLAKE2b-256 5ff5fcc5f7bfa592e7828feed8f42aa27667050cb2d37302274cbf902f79ccf3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: git_annex-10.20260624-py3-none-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 36.2 MB
  • Tags: Python 3, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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.20260624-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6403ad89445d4b44e171b84b83ac9fd142f28ce504e1fd2c0397451ff0679f2b
MD5 cc617f52face011aada6dbfafd61cd02
BLAKE2b-256 0012cdeeb8dc493ab94d2e5d6ca51f25910d6ce4b54916b4ec00c6ff2696bdaa

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