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.dev212

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

Total release size: 925.0 MB

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp313-cp313-win_amd64.whl
Size 26.8 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
9af187d7e846aa7144f1c449cc5b27221454ab81022fa4ec77eea565afc6c796
BLAKE2b-256 checksum
How to use checksums
620fbb796371a2f3c7087587e847c3e3b412b9454452261a492ae3df85108dab
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp313-cp313-manylinux_2_28_x86_64.whl
Size 87.8 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
72575721b2a17448ed1aafdd035012b93fe70020369ba38493d4301beb295c3c
BLAKE2b-256 checksum
How to use checksums
71edca9012360992168d452a8d233f8190407afa046e467802f0b2203ac7b95e
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp313-cp313-macosx_14_0_arm64.whl
Size 70.4 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
d5c295ad4bbe960eb414078651bd34c52332d39ace13d57243bd98c8ebe73cb5
BLAKE2b-256 checksum
How to use checksums
f6efa301c9d2120b4291e6089c134f046e9395f022a0d06e847799dc5228c51e
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp312-cp312-win_amd64.whl
Size 26.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ba985563f7e6b0fc12e3650eabde04f05a10c939d2df011816e055e5036033c4
BLAKE2b-256 checksum
How to use checksums
aafb680b2af0196f2421c0c56bfc70bb17238cb6cd623553575707c2db6d32c4
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp312-cp312-manylinux_2_28_x86_64.whl
Size 87.8 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b97af0f8b91f8044f59dbcba8a042294ebcecb72cbb64b61645068a7c0c2ac08
BLAKE2b-256 checksum
How to use checksums
a43572fd933ef1441f85cf8a66464837f3eb7319840837a892b4738e3fe9107c
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp312-cp312-macosx_14_0_arm64.whl
Size 70.4 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
1839da84f1a73d407b6a9a86ef1440fd56d6e1ff29c539c8171a95e6589cefef
BLAKE2b-256 checksum
How to use checksums
5162d008b6c5ef70f030861d74eeda1ace819b57b7aa65158c15cf8d1a69ecbb
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp311-cp311-win_amd64.whl
Size 26.8 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e161881eca7285bd9e2bc31cfa26e2e82d6fa6521159aa02380c603f0f761b2b
BLAKE2b-256 checksum
How to use checksums
851a653efec1dc82e1366399aa0b6be54cc2614885a8fa4c769d29c446f409de
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp311-cp311-manylinux_2_28_x86_64.whl
Size 87.8 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
48515f6be87264c431a2c39ff97003d3bfc4a106881122085f9bdf518604c5b6
BLAKE2b-256 checksum
How to use checksums
f0754c7d75ba93ef2e31eb6cb100fdfb206477a68bcaa0db37e37ebc3292c48e
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp311-cp311-macosx_14_0_arm64.whl
Size 70.4 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
22abf73c99e888d5dc7eeb3cc3f4de419d1d6a8264b307ffd23bd0029e2f0b22
BLAKE2b-256 checksum
How to use checksums
53d5500cb3b6489a0d9c6fcca85743298888d09c92672012f2956a88e2fdf38c
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp310-cp310-win_amd64.whl
Size 26.8 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
e363c54698d3e2f946cbfadf053bb5ce3f1bfb3d746242743590539edcea8cbc
BLAKE2b-256 checksum
How to use checksums
46952f049d46a0775cc9f59dbc1828af4c52ea5765b1b9f940f5c5f9fa9debc2
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp310-cp310-manylinux_2_28_x86_64.whl
Size 87.8 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f0647afb47fd8479b2b56e6dde27c44abb873ae64970712fb4ff200bdff2879c
BLAKE2b-256 checksum
How to use checksums
4c8d4bd37cbd3b5131cfc7d376bb48c2b9155c42643cc17671508ca130b5c2a6
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp310-cp310-macosx_14_0_arm64.whl
Size 70.4 MB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
f4d196ab964255b8ac54f407978710c5e5e732987aaab78186435bcb98d8fd4b
BLAKE2b-256 checksum
How to use checksums
1feb66704679400d064c7868c85e82ee5dda56e1da6e45fd113b09f163098733
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp39-cp39-win_amd64.whl
Size 26.8 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
1589966954b03ba2e837c9e32383fbacb7b387f100ccfa593c0e7db506c8798a
BLAKE2b-256 checksum
How to use checksums
27b688d52a6d13301c6971e538ed974fe133ff36d4bc18b83e3662b9589917f9
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp39-cp39-manylinux_2_28_x86_64.whl
Size 87.8 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ecca8da4b6a69c1143f6b786583346006ca88d3e3912e3144a210575ee693aac
BLAKE2b-256 checksum
How to use checksums
0c658f500ef8c9a2dc0bef44c7d22cc6d997e89695ee99b2481556ea28a3b4db
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 Sep 7, 2025.

Transparency log

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

Download URL pyvalhalla_weekly-3.5.1.post1.dev212-cp39-cp39-macosx_14_0_arm64.whl
Size 70.4 MB
Tags CPython 3.9 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
22661fede5197c0a20283b4aeaa04d932bdbfb205bc55658a0245a882bd14472
BLAKE2b-256 checksum
How to use checksums
38872175b45ad169a1c41ae6722669b8a01e2446f7ff67f6c93540a91466fc70
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 Sep 7, 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