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

Metadata

Release files for git-annex 10.20261026

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

Built distributions (wheels)

Table of built distributions (wheels) for git-annex 10.20261026
File Actions
git_annex-10.20261026-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details for git_annex-10.20261026-py3-none-win_amd64.whl
git_annex-10.20261026-py3-none-manylinux_2_34_x86_64.whl Python 3 none Linux glibc 2.34+ x86-64 Details for git_annex-10.20261026-py3-none-manylinux_2_34_x86_64.whl
git_annex-10.20261026-py3-none-manylinux_2_34_aarch64.whl Python 3 none Linux glibc 2.34+ ARM64 Details for git_annex-10.20261026-py3-none-manylinux_2_34_aarch64.whl
git_annex-10.20261026-py3-none-macosx_15_0_x86_64.whl Python 3 none macOS 15.0+ x86-64 Details for git_annex-10.20261026-py3-none-macosx_15_0_x86_64.whl
git_annex-10.20261026-py3-none-macosx_15_0_arm64.whl Python 3 none macOS 15.0+ ARM64 Details for git_annex-10.20261026-py3-none-macosx_15_0_arm64.whl

Total release size: 135.0 MB

Release files / git_annex-10.20261026-py3-none-win_amd64.whl

Download URL git_annex-10.20261026-py3-none-win_amd64.whl
Size 27.5 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
e8ac1a82243c47ac5b04b44ee27855bd1ddb8cca7ab7cac3f5e83606c599ca9c
BLAKE2b-256 checksum
How to use checksums
318eae422a9eb2703a031c6e80ac6c0e68cce7727c0db5a04aa5148589b48839
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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}

Release files / git_annex-10.20261026-py3-none-manylinux_2_34_x86_64.whl

Download URL git_annex-10.20261026-py3-none-manylinux_2_34_x86_64.whl
Size 22.4 MB
Tags Linux glibc 2.34+ x86-64 Python 3
SHA-256 checksum
How to use checksums
88db2b37f1ea9deb8ca9106f1e4c4a0b1a4b7440cd12bdfdfca5c1b3cb5640af
BLAKE2b-256 checksum
How to use checksums
ca6c1ebc1ddf775b4c8d03a1dc56f643c0207cc8f3dfb43a6192941345dd41f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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}

Release files / git_annex-10.20261026-py3-none-manylinux_2_34_aarch64.whl

Download URL git_annex-10.20261026-py3-none-manylinux_2_34_aarch64.whl
Size 26.7 MB
Tags Linux glibc 2.34+ ARM64 Python 3
SHA-256 checksum
How to use checksums
ee90ab0fe3374922cb935fab00079d3d248ff1b18a6a04afee8b8e27e04c5022
BLAKE2b-256 checksum
How to use checksums
c543f2fda168bdeadb92e511d87f66f8a3caed01cf7261773cd6783f6e8b248a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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}

Release files / git_annex-10.20261026-py3-none-macosx_15_0_x86_64.whl

Download URL git_annex-10.20261026-py3-none-macosx_15_0_x86_64.whl
Size 18.1 MB
Tags Python 3 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
85906b73b9b3cff50c3545f3147d67feaa335c26e08de180d009e8fde88c4003
BLAKE2b-256 checksum
How to use checksums
c9b6fc64afd6aeace638d1c6c8789cb98355eb7bd2e94b743bc1903551997fc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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}

Release files / git_annex-10.20261026-py3-none-macosx_15_0_arm64.whl

Download URL git_annex-10.20261026-py3-none-macosx_15_0_arm64.whl
Size 40.2 MB
Tags Python 3 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
b63cff3cec8f2cd3c302dce5a3d0e17980f416a62d0a331c2857797fd473bc7f
BLAKE2b-256 checksum
How to use checksums
22199b42aef74c7125408ac02ad39c15c5c391b7f4c7602b0b23d7f5a3ecab6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","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}

Security for git-annex 10.20261026

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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