cyxla-pjrt-cpu
The XLA PJRT CPU plugin as a wheel, for cyxla. jaxlib links its CPU client statically and ships no plugin library, so cyxla needs this package to run programs on the CPU.
pip install cyxla[cpu]
cyxla finds the plugin through the cyxla.plugins entry point, so nothing needs
configuring and nothing downloads at run time.
Platforms
The wheels cover the platforms of jaxlib. jaxlib no longer builds for macOS on x86-64, so neither does this package.
| Platform | Library |
|---|---|
| Linux x86-64 | libpjrt_cpu.so |
| Linux arm64 | libpjrt_cpu.so |
| macOS arm64 | libpjrt_cpu.dylib |
| Windows x86-64 | pjrt_cpu.dll |
Build
The plugin is built from XLA the way jaxlib is. build_plugin.py checks out JAX at the
release in plugin.toml, and that release's MODULE.bazel pins the XLA commit, with
JAX's patches. JAX's own build/build.py writes the Bazel options that jaxlib uses on
the platform. Bazel then builds the targets in bazel/BUILD.bazel with them.
python build_plugin.py --output library --disk-cache ~/bazel-disk-cache
The targets link the same CPU client as XLA's pjrt_c_api_cpu_plugin.so, but with the
linker options of each system. bazel/entry.cc defines GetPjrtApi with default
visibility, because jaxlib's Bazel options hide XLA's own definition and no linker option
can export a hidden symbol. On Windows, bazel/exports.def lists the function as well.
Bazel comes from bazelisk, which reads the version in JAX's .bazelversion. Without a
cache the build takes hours. The builds read jaxlib's public read-only Bazel cache, and
the disk cache keeps earlier outputs. The cyxla-pjrt-cpu workflow saves the disk cache
of each platform between runs, including runs that fail or time out.
Wheels
The build backend in backend.py packages a library and needs only the standard
library. It reads the platform and the wheel tag from the library itself, using the
newest glibc symbol version on Linux, the minimum system version on macOS, and the
machine type on Windows.
uv build --wheel -C library=library/libpjrt_cpu.so
CYXLA_PJRT_CPU_LIBRARY does the same as the config setting, which helps when another
tool runs the build, such as uv sync in cyxla. Without either, the backend downloads
the library of this machine from the GitHub release of the version and checks it against
the hash in plugin.toml. Building from the sdist works the same way.
Releases
A tag cyxla-pjrt-cpu-v<version> builds the four libraries, attaches them to a GitHub
release, and publishes the wheels and the sdist to PyPI. After a release, record the
printed hashes in plugin.toml, so that builds without a library can check the
downloaded ones.
License
The plugin is part of XLA, and the package is under XLA's Apache 2.0 license.
Metadata
Release files for cyxla-pjrt-cpu 0.12.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cyxla_pjrt_cpu-0.12.0.1.tar.gz | 15.8 kB | With provenance | Details for cyxla_pjrt_cpu-0.12.0.1.tar.gz |
Built distributions (wheels)
| File | Actions Reset | |||
|---|---|---|---|---|
| cyxla_pjrt_cpu-0.12.0.1-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details for cyxla_pjrt_cpu-0.12.0.1-py3-none-win_amd64.whl |
| cyxla_pjrt_cpu-0.12.0.1-py3-none-manylinux_2_27_x86_64.whl | Python 3 | none | Linux glibc 2.27+ x86-64 | Details for cyxla_pjrt_cpu-0.12.0.1-py3-none-manylinux_2_27_x86_64.whl |
| cyxla_pjrt_cpu-0.12.0.1-py3-none-manylinux_2_27_aarch64.whl | Python 3 | none | Linux glibc 2.27+ ARM64 | Details for cyxla_pjrt_cpu-0.12.0.1-py3-none-manylinux_2_27_aarch64.whl |
| cyxla_pjrt_cpu-0.12.0.1-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details for cyxla_pjrt_cpu-0.12.0.1-py3-none-macosx_11_0_arm64.whl |
Total release size: 226.5 MB
Release files / cyxla_pjrt_cpu-0.12.0.1.tar.gz
| Download URL | cyxla_pjrt_cpu-0.12.0.1.tar.gz |
|---|---|
| Size | 15.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8ed398a3082f78aa63f5dd66b457fd03034ed70680ad1b914016da2ec398df4f
|
|
BLAKE2b-256 checksum How to use checksums |
220be201c9cae2d5c82681508966b48e55f35b7f890468292132cefe9e2abed3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 29, 2026.
Transparency logRelease files / cyxla_pjrt_cpu-0.12.0.1-py3-none-win_amd64.whl
| Download URL | cyxla_pjrt_cpu-0.12.0.1-py3-none-win_amd64.whl |
|---|---|
| Size | 56.8 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6f47debf43767d483ab5db603cc4b1c7619fb4f62fd05cbfad534553a76e73c0
|
|
BLAKE2b-256 checksum How to use checksums |
c5a62ae947f993976e3c923d8ecfea4035cc8a9b2ca5c66dcca7c8d0e5918b51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 29, 2026.
Transparency logRelease files / cyxla_pjrt_cpu-0.12.0.1-py3-none-manylinux_2_27_x86_64.whl
| Download URL | cyxla_pjrt_cpu-0.12.0.1-py3-none-manylinux_2_27_x86_64.whl |
|---|---|
| Size | 66.4 MB |
| Tags | Linux glibc 2.27+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
b10b346ea1067613e12e6322e418b7428504309381797806b6ee6a581414fd66
|
|
BLAKE2b-256 checksum How to use checksums |
4835fb78d0ece96e6580476a157a91638570bf24c6660e6e6a3551d05bc91f81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 29, 2026.
Transparency logRelease files / cyxla_pjrt_cpu-0.12.0.1-py3-none-manylinux_2_27_aarch64.whl
| Download URL | cyxla_pjrt_cpu-0.12.0.1-py3-none-manylinux_2_27_aarch64.whl |
|---|---|
| Size | 59.5 MB |
| Tags | Linux glibc 2.27+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
9901446f9b05cbc91f3199a0622e68eb9aa2773e1e2df24c03d7219fa0c5f430
|
|
BLAKE2b-256 checksum How to use checksums |
c3b506a2e5653bb39ee56b47ed7cf238161cd1915cfc06c079468217551b5e2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 29, 2026.
Transparency logRelease files / cyxla_pjrt_cpu-0.12.0.1-py3-none-macosx_11_0_arm64.whl
| Download URL | cyxla_pjrt_cpu-0.12.0.1-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 43.8 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
260d4e33eecbcaae488f31541737bd944b02e7496d775c84bd77d1ee6005103c
|
|
BLAKE2b-256 checksum How to use checksums |
91b1e0c0676914fedc49978122dfffd6d595633cf0414b24cb76df88f60e0154
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 29, 2026.
Transparency logSecurity for cyxla-pjrt-cpu 0.12.0.1
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.
Full provenance
All 5 files in this release have been uploaded with provenance metadata.
Attestation for cyxla_pjrt_cpu-0.12.0.1.tar.gz
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 Oct 29, 2026.
Transparency logA 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.