Vehicle
Vehicle is a system for embedding logical specifications into neural networks. At its heart is the Vehicle specification language, a high-level, functional language for writing mathematically-precise specifications for your networks. For example, the following simple specification says that a network's output should be monotonically increasing with respect to its third input.
These specifications can then automatically be compiled down to loss functions to be used when training your network. After training, the same specification can be compiled down to queries for low-level neural network solvers such as Marabou which either prove that the specification holds or produce a counter-example. Such a proof is far better than simply testing, as you can prove that the specification holds for all inputs. Verified specifications can also be exported to interactive theorem provers (ITPs) such as Agda. This in turn allows for the formal verification of larger software systems that use neural networks as subcomponents. The generated ITP code is tightly linked to the actual deployed network, so changes to the network will result in errors when checking the larger proof.
Documentation
Examples
Each of the following examples comes with an explanatory README file:
-
ACAS Xu - The complete specification of the ACAS Xu collision avoidance system from the Reluplex paper in a single file.
-
Car controller - A neural network controller that is formally proven to always keep a simple model of a car on the road in the face of noisy sensor data and an unpredictable cross-wind.
-
MNIST robustness - A classifier for the MNIST dataset that is proven to be robust around the images in the dataset.
In addition to the above, further examples of specifications can be found in the test suite and the corresponding output of the Vehicle compiler can be found here.
Support
If you are interested in adding support for a particular format or tool then open an issue on the Issue Tracker to discuss it with us.
Neural network formats
Dataset formats
Solver backends
- Any VNNLIB 2.0 compatible solver
- Marabou
Interactive Theorem Prover backends
Related papers
Metadata
Release files for vehicle-lang 0.28.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 397.0 MB
Release files / vehicle_lang-0.28.0-cp313-cp313-win_amd64.whl
| Download URL | vehicle_lang-0.28.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 14.1 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
18b48e1782def699e655b10104b8e4a23819b0a495670ea35726aad674e96044
|
|
BLAKE2b-256 checksum How to use checksums |
ba2f52a7adb22ea5102d5c698058a3c30e37bbd4f4bc9e95eedd5f597a6f14b6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp313-cp313-musllinux_1_1_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp313-cp313-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 23.8 MB |
| Tags | CPython 3.13 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
8221922b01bc8b5caa423aa5acd51fd57c72c362fb374cc112dcddd953c14aa0
|
|
BLAKE2b-256 checksum How to use checksums |
b02f74eb14a4a934aacbd49d4a8241bf9ac8886731237d50542abc127a42f293
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 23.1 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9b67a4df5f092a67667244d7dea7018a8f4426defc86b76c98c4e65fa32fa2b8
|
|
BLAKE2b-256 checksum How to use checksums |
f08d8645ebfdeae6100a4497afe4bb1352d6707dc38ed46dd6a3c1211576b48e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | vehicle_lang-0.28.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
28d146e8628f10da28ab427caf0b6ddab3c204473e3ff169aabbbbc109d8bc25
|
|
BLAKE2b-256 checksum How to use checksums |
63dca2529a25f38a2850aa69afe67724492aa7da94a79d42d9669f22ebc02aae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 19.4 MB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
623cdc8a1593911703c1ab164e7f94590088cea913221bb6ae7cbc26d55c62a5
|
|
BLAKE2b-256 checksum How to use checksums |
8df0854dc000a0448649e3a1bdb233cb8710543e9329ef1eff74763e7f8dae8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp312-cp312-win_amd64.whl
| Download URL | vehicle_lang-0.28.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 14.1 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
947f72b6f148022490b124b851a7e1e17605e4551339df3a7c9aba91665e88b3
|
|
BLAKE2b-256 checksum How to use checksums |
a8d8974d40671c70fbb7f220a12999ba7345c46456f553d5f75465f1de5c3e51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp312-cp312-musllinux_1_1_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp312-cp312-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 23.8 MB |
| Tags | CPython 3.12 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
b36e74af9e8313d13dd287110a482591e71056e3021f8f575056896a8a51d324
|
|
BLAKE2b-256 checksum How to use checksums |
c5599672bec0dd7288e34be6a5e898f5d642e2f193be72a5c662eff770d502fc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 23.1 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
29e2ba9268cfbf152ba44c3604b9fce68da26a55dc1dbc75bc9145993956bcb6
|
|
BLAKE2b-256 checksum How to use checksums |
e1c666b97f60e2419e6e3c535c35c1d83ff4dbc975e090770ff4ccdc4fc01a13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | vehicle_lang-0.28.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b9db5d4fd921476ade2b801b0dd04fbc7d31ed6e027e092104d76e17f5178897
|
|
BLAKE2b-256 checksum How to use checksums |
94f301577fe9a1db4668b5f93d3b01798d7469baf8a81d970a5795233fc122bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 19.4 MB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
f58d08458cd3076ed0e4098ed8763727a9ac696d7d690f14759c001323f9347d
|
|
BLAKE2b-256 checksum How to use checksums |
d61606b8aecf45256c67a707eab43c6e1c5b72b6acf73528bd99dca51d4a6f7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp311-cp311-win_amd64.whl
| Download URL | vehicle_lang-0.28.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 14.1 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f5896fbd29a8308ad2c85f85230d5ab1f05e98b59bf63e05165f25761a43eb65
|
|
BLAKE2b-256 checksum How to use checksums |
8e8fd33dd5873de974a3e5add8a2414ba9c1ef35a71a59083e1287c7b1014be6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp311-cp311-musllinux_1_1_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp311-cp311-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 23.8 MB |
| Tags | CPython 3.11 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
e3ab66a188977dd6233d3f7efc53cec61a96d82fb912d12fc947968ee33ff752
|
|
BLAKE2b-256 checksum How to use checksums |
e981e9e076e998ce6e26fc39164b2ad01cb1377258cd945283d978a823f91519
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 23.1 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
4490d83bae0878a3ec717f988686f1c6a6feab421f9d18c6c3f5b287e2daa2b8
|
|
BLAKE2b-256 checksum How to use checksums |
f440686779f8408efadce2ad9e268a2c353d0ede266ee79c4279ca2ee7cee095
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | vehicle_lang-0.28.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e7b6d655f9c801ff72b9ffa49cef85a7f287d23f378a4c5935d4d7aa9e83c23e
|
|
BLAKE2b-256 checksum How to use checksums |
24816db3d0ed86a3c6a78592b532caa47f4abaeb2d62283fb781f47fdbc9cc9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp311-cp311-macosx_10_10_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp311-cp311-macosx_10_10_x86_64.whl |
|---|---|
| Size | 19.4 MB |
| Tags | CPython 3.11 macOS 10.10+ x86-64 |
|
SHA-256 checksum How to use checksums |
bcf6e53f0cff56a25394bfcebc5671aa7afcdd51841abc1ca34339cd8d14f17f
|
|
BLAKE2b-256 checksum How to use checksums |
65cf6e6eb354e3e40e40bdefbceb6493afc695453218e0c345be23f99314f9b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp310-cp310-win_amd64.whl
| Download URL | vehicle_lang-0.28.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 14.1 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c5f898acb1659b904e8cdbc448e2e3d154371d6da59d5d12f958ccad884a8440
|
|
BLAKE2b-256 checksum How to use checksums |
bb68e240508e740cccb0f4e48823c0ae679d86fa8db642099c6d169c4d553891
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp310-cp310-musllinux_1_1_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp310-cp310-musllinux_1_1_x86_64.whl |
|---|---|
| Size | 23.8 MB |
| Tags | CPython 3.10 Linux musl 1.1+ x86-64 |
|
SHA-256 checksum How to use checksums |
9b8334f133eaee9c3b07c8ccfb758bf885f549b1746f7a26042c18fabad546cd
|
|
BLAKE2b-256 checksum How to use checksums |
36513698e28ea4943c1e0ca834cd6362fe342f48813232b6be019d38a7a9a15f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 23.1 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e68d62896f2b5a1f3aff4ef21cc353ef5d4eb988e2fd3afcc36002fdc43c8810
|
|
BLAKE2b-256 checksum How to use checksums |
d43a3d095b46f805ecbe38610f063b7d40698b53ce1bbf1b1c33b9b9d1ca59eb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | vehicle_lang-0.28.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 18.8 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
aca74bda2c95cad940cf84a6803d09c2201516c67ba8e2e054c0ceab99542d52
|
|
BLAKE2b-256 checksum How to use checksums |
00c6b7a3d59fd25f757d4c15eb2f9e1cea9c731d2820d485ecb2625686df05e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency logRelease files / vehicle_lang-0.28.0-cp310-cp310-macosx_10_10_x86_64.whl
| Download URL | vehicle_lang-0.28.0-cp310-cp310-macosx_10_10_x86_64.whl |
|---|---|
| Size | 19.4 MB |
| Tags | CPython 3.10 macOS 10.10+ x86-64 |
|
SHA-256 checksum How to use checksums |
747e91b2a80b0b219b05c4c17b95ad59ea1c4d4f54d743e4712d798be1571fd0
|
|
BLAKE2b-256 checksum How to use checksums |
a5dadac46f121d4f074c1126d1137effe9bebacbd3e40447e4b9fbe3f697d3ed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 10, 2026.
Transparency log