Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

Valhalla Python bindings

| [pyvalhalla version] | [pyvalhalla-weekly version] |

This folder contains the Python bindings to Valhalla routing engine.

[!NOTE] pyvalhalla(-weekly) packages are currently only published for:

  • linux-x86_x64
  • win-amd64
  • macos-arm64

On top of the (very) high-level Python bindings, we package some data-building Valhalla executables to ease the process of graph creation or run Valhalla as a service, see below.

Installation

We distribute all currently maintained CPython versions as binary wheels for Win64, MacOS (arm64) and Linux (x86_64) distributions with glibc>=2.28. We do not offer a source distribution on PyPI.

pip install pyvalhalla to install the most recent Valhalla release.
pip install pyvalhalla-weekly to install the weekly published Valhalla master commit.

Usage

Bindings

Find a more extended notebook in ./examples, e.g. how to use the actor.

Before using the Python bindings you need to have access to a routable Valhalla graph. Either install Valhalla from source and built the graph from OSM compatible data or use our Valhalla docker image for a painless experience, e.g. this will build the routing graph for Andorra in ./custom_files:

docker run --rm --name valhalla -p 8002:8002 -v $PWD/custom_files:/custom_files -e tile_urls=https://download.geofabrik.de/europe/andorra-latest.osm.pbf ghcr.io/valhalla/valhalla-scripted:latest

Once you have created a graph locally, you can use it like this:

from valhalla import Actor, get_config, get_help

# generate configuration
config = get_config(tile_extract='./custom_files/valhalla_tiles.tar', verbose=True)

# print the help for specific config items (has the same structure as the output of get_config()
print(get_help()["service_limits"]["auto"]["max_distance"])

# instantiate Actor to load graph and call actions
actor = Actor(config)
route = actor.route({"locations": [...]})

Valhalla executables (linux-x86_x64 only)

To access the C++ (native) executables, there are 2 options:

  • (recommended) execute the module, e.g. python -m valhalla valhalla_build_tiles -h
  • execute the Python wrapper scripts directly, e.g. valhalla_build_tiles -h

[!NOTE] For the latter option to work, the Python environment's bin/ folder has to be in the $PATH. Inside virtual environments, that's always the case.

Executing the scripts directly might also not work properly if there's a system-wide Valhalla installation, unless the Python environment's bin/ folder has higher priority than system folders in $PATH. The module execution uses an explicit Python executable which should be preferred.

There are also some additional commands we added:

  • --help: print the help for python -m valhalla explicitly
  • --quiet: redirect stdout of the C++ executables to /dev/null; can be added once anywhere in the command, will not be forwarded to a C++ executable
  • print_bin_path: simply prints the absolute path to the package-internal bin/ directory where the C++ executables are; useful if the executables should be accessed directly in some script

To find out which Valhalla executables are currently included, run python -m valhalla --help. We limit the number of executables to control the wheel size. However, we're open to include any other executable if there's a good reason.

Building from source

Linux

To package arch-dependent Linux bindings we use a manylinux fork, where we install all dependencies into the manylinux_2_28 image, based on AlmaLinux 8. This is necessary to have a broad glibc compatibility with many semi-recent Linux distros.

Either pull the manylinux image, or build it locally for testing:

docker pull ghcr.io/valhalla/manylinux:2_28_valhalla_python

# or pull the image from ghcr.io
git clone https://github.com/valhalla/manylinux
cd manylinux
POLICY=manylinux_2_28 PLATFORM=x86_64 COMMIT_SHA=$(git rev-parse --verify HEAD) BUILDX_BUILDER=builder-docker-container ./build.sh
docker tag quay.io/pypa/manylinux_2_28_x86_64:$(git rev-parse --verify HEAD) ghcr.io/valhalla/manylinux:2_28_valhalla_python

Once built, start a container to actually build Valhalla using AlmaLinux 8:

cd valhalla
docker run -dt -v $PWD:/valhalla-py --name valhalla-py --workdir /valhalla-py ghcr.io/valhalla/manylinux:2_28_valhalla_python
docker exec -t valhalla-py /valhalla-py/src/bindings/python/scripts/build_manylinux.sh build_manylinux 3.13

This will also build & install libvalhalla before building the bindings. At this point there should be a wheelhouse folder with the fixed python wheel, ready to be installed or distributed to arbitrary python 3.12 installations.

cibuildwheel

On our CI, this orchestrates the packaging of all pyvalhalla wheels for every supported, minor Python version and every platform. It can also be run locally (obviously only being able to build wheels for your platform), e.g.

python -m pip install cibuildwheel
cibuildwheel --print-build-identifiers
cibuildwheel --only cp313-manylinux_x86_64

# for windows you'll have to set an env var to the vcpkg win root
VCPKG_ARCH_ROOT="build/vcpkg_installed/custom-x64-windows" cibuildwheel --only cp313-manylinux_x86_64

On Linux, this might download the manylinux docker image. In the end, you'll find the wheel in ./wheelhouse.

Testing (linux-x86_x64 only)

We have a small test script which makes sure that all the executables are working properly. If run locally for some reason, install a pyvalhalla wheel first. We run this in CI in a fresh Docker container with no dependencies installed, mostly to verify dynamic linking of the vendored dependencies.

Metadata

Release files for pyvalhalla-weekly 3.5.1.post1.dev191

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 pyvalhalla-weekly 3.5.1.post1.dev191
File
pyvalhalla_weekly-3.5.1.post1.dev191-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
pyvalhalla_weekly-3.5.1.post1.dev191-cp39-cp39-macosx_14_0_arm64.whl CPython 3.9 CPython 3.9 macOS 14.0+ ARM64 Details

Total release size: 911.1 MB

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp313-cp313-win_amd64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp313-cp313-win_amd64.whl
Size 26.8 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
a38a8e634b2470c4e7322261122cb49f68a98d3d3d6f618ac4e222fa7acefd47
BLAKE2b-256 checksum
How to use checksums
07df04e7be99d81214c96e9cfef0d1f0458962c7fb02da255e8e8ac13fcc19d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp313-cp313-manylinux_2_28_x86_64.whl
Size 85.1 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cca077975650d7b59f1aa0d1e1d65b0994a8685db43cd93e2a2dace81eb50c7f
BLAKE2b-256 checksum
How to use checksums
dbbf8e30be180c09815259389be278c5380436cdc1dfa56ad8c8ad1dcf4562ab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp313-cp313-macosx_14_0_arm64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp313-cp313-macosx_14_0_arm64.whl
Size 70.3 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
44a3b826eff215ff4108708461211e3f3c59b44d4182b1ed4a5f66da668bb92e
BLAKE2b-256 checksum
How to use checksums
15e5643c5e632dbac34fdf45e006d54eb9cc5df518f1b2b444e35fb6c636194c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp312-cp312-win_amd64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp312-cp312-win_amd64.whl
Size 26.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ddd966b094d5c3d370a9288309ddd11aa759dda67b84de6c0a23e400b9178232
BLAKE2b-256 checksum
How to use checksums
5a38724c0ed74b3687c46fd6ee850dfe453566b5197114c7de67439f12f66379
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp312-cp312-manylinux_2_28_x86_64.whl
Size 85.1 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
54707188bef5f61a5a239f1355c05d18cf0aae0ec1cbce73b27fd4676b091aa1
BLAKE2b-256 checksum
How to use checksums
a508e53b951955a687c76e8c24bf9e4b5d983aa3b951167a3871773178d61610
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp312-cp312-macosx_14_0_arm64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp312-cp312-macosx_14_0_arm64.whl
Size 70.3 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
262aa1c16eb959d27bb723fdfbe54b0a9577cfe48c805ed7982f0b076832f767
BLAKE2b-256 checksum
How to use checksums
1b2fb79bbd8df2ac4518b4f845d7bd8c337c884884a1e8048dbe77f7c8bbb98a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp311-cp311-win_amd64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp311-cp311-win_amd64.whl
Size 26.8 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
bf00072308ab6a3264f634de86e8c276a0903ad71d89a33eda8f2f3f55718244
BLAKE2b-256 checksum
How to use checksums
9d24a671fe08664e1dad2b17bf61fd0e3cff212de74ab486d159ee8309461ad4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp311-cp311-manylinux_2_28_x86_64.whl
Size 85.1 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
77ce30488c62a036a85252ba15221dd23d0e2e78bea05955e4aa2c4a0430f6f1
BLAKE2b-256 checksum
How to use checksums
1086bf4cf3c4a0ac0edf3e3090e4d315e86d17b07b034991515dad9dfa48ee9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp311-cp311-macosx_14_0_arm64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp311-cp311-macosx_14_0_arm64.whl
Size 70.3 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
22a4dd9f4657adc5f67dd125e54d9b07147ac9331e7260e98bfa520bfbdbcb4a
BLAKE2b-256 checksum
How to use checksums
bd5d42a4fcb6f5fe02f67a4eeee0e4e4ecf84f59ca087e3ef167a2f6c2fd06bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp310-cp310-win_amd64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp310-cp310-win_amd64.whl
Size 26.8 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
0a461e975e3740efaa67ea88ed27adadfb7d21b9c0f0cb2b9cead78446022ad5
BLAKE2b-256 checksum
How to use checksums
0ae6b033ce6798a525625ed4fae90dbcc6b61254c84353137e67a70dd31ceab7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp310-cp310-manylinux_2_28_x86_64.whl
Size 85.1 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
7883e6e9557edb7f6c430660d1aced38de370da7031b1b9a25ed5dc1a1732887
BLAKE2b-256 checksum
How to use checksums
5e1c4d0ae5a3c892c51840b85b6b0718ff1c401702fc41d4a9445547ef8455c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp310-cp310-macosx_14_0_arm64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp310-cp310-macosx_14_0_arm64.whl
Size 70.3 MB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
e0b9960385965bb333fee75af29b6f7e794e4e858a06d8e0e518b30f584c204a
BLAKE2b-256 checksum
How to use checksums
69e8887c196defc90fa433e75d150569f665c6bdbfda8d772b1a0368adcbebdd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp39-cp39-win_amd64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp39-cp39-win_amd64.whl
Size 26.9 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
bf4202775b4023f1ac502ea7c560899b90c717af7ea5f6a406123ea4237d1e95
BLAKE2b-256 checksum
How to use checksums
bfe0b5203c345db1f61d0e719abd9ecacaec26aa5f3abe21d0b4ccfebf43c222
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp39-cp39-manylinux_2_28_x86_64.whl
Size 85.1 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6ab44e04eefc61c7af8ff000601905035ffd20ea3144eb08aceb1affd8257147
BLAKE2b-256 checksum
How to use checksums
e5273d8443107f2d941217ebb4a567a420fd92b04fa9b7e5d7d2ee192bae562a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log

Release files / pyvalhalla_weekly-3.5.1.post1.dev191-cp39-cp39-macosx_14_0_arm64.whl

Download URL pyvalhalla_weekly-3.5.1.post1.dev191-cp39-cp39-macosx_14_0_arm64.whl
Size 70.3 MB
Tags CPython 3.9 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
86f1ffd8b7c5c1964281bee31c620e49091bff21ea4ce49f01c01c7f3349efc6
BLAKE2b-256 checksum
How to use checksums
b39c93738fe507e83eed5844f64b9d5041f20bf1fa4cde0ab9a8cfef7ad2843c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

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 3, 2025.

Transparency log
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