Skip to main content

cyxla

cyxla lowers JAX functions to StableHLO, compiles them with a PJRT plugin, and runs them from Cython extension modules without the GIL. It suits native libraries that call JAX functions thousands of times per second, such as the SCIP callbacks of JAX-CIP. The documentation has guides and the API reference.

Installation

The package and a plugin install from wheels, and nothing downloads at run time.

pip install cyxla[cpu]

Each extra installs the plugin of one platform:

Extra Platform Plugin
cpu Linux on x86-64 and arm64, macOS on arm64, Windows on x86-64 cyxla-pjrt-cpu
cuda12, cuda13 NVIDIA GPUs on Linux JAX's jax-cuda12-pjrt or jax-cuda13-pjrt, with the CUDA libraries
rocm7 AMD GPUs on Linux JAX's jax-rocm7-pjrt, with ROCm from the system
tpu Cloud TPUs libtpu

jaxlib links its own CPU client statically and ships no plugin library, which is why the CPU plugin is a separate package.

Example

import jax
import jax.numpy as jnp
import numpy as np

import cyxla as cx

program = cx.lower(lambda x: jnp.sin(x) * 2, [jax.ShapeDtypeStruct((3,), jnp.float32)])
executable, statistics = cx.compile_program(program)
(result,) = executable.run([np.array([0.0, 1.0, 2.0])])

The linear algebra of jnp.linalg works the same way, as the section on custom calls explains:

matrix = np.array([[4.0, 1.0], [1.0, 3.0]])
program = cx.lower(jnp.linalg.cholesky, [jax.ShapeDtypeStruct((2, 2), jnp.float32)])
executable, _ = cx.compile_program(program)
(factor,) = executable.run([matrix])
assert np.allclose(factor, np.linalg.cholesky(matrix))

The first function that needs a plugin loads the default one, so a program needs no setup call. JAX lowers to 32-bit types unless jax.enable_x64 is on, as it does without cyxla. Arguments and results can be bool, 8 to 64-bit integers, float16, bfloat16, float32, float64, complex64 and complex128.

Executable.run returns arrays with the shapes and dtypes of the outputs, and converts arguments to the types that the program takes. It is for tests and interactive checks. Extension modules call execute from cyxla/_runtime.pxd instead, as the next section shows.

Extension modules

An extension module cimports the runtime and runs programs with execute, which takes no GIL. On the CPU, inputs alias host arrays that the module fills in place, and outputs are read from the buffers' memory, so an execution copies nothing beyond the arrays that the caller passes. On other platforms every execution copies its inputs to the device and its outputs back.

import cython
from cython.cimports.cyxla._runtime import ABI_VERSION, Input, ProgramSpec, execute

import cyxla

cyxla.check_abi(ABI_VERSION)

check_abi rejects a module that was compiled against declarations of another cyxla version. Cython checks the signatures of shared functions itself, but not the layout of structs such as ProgramSpec.

Host arrays for inputs come from aligned_memory, which takes a size in bytes, and go back with free_aligned. The pair exists because Windows frees aligned memory with a function other than free. Each Input names the PJRT element type of its array, such as PJRT_Buffer_Type_F32 from cyxla._pjrt, and ProgramSpec.output_bytes holds the size of each output, which Executable.output_bytes returns.

The build needs the PJRT header and the .pxd files, and cyxla.get_include() returns their directories. A Meson build reads them like this, and tests/downstream is a complete example.

cyxla_include = run_command(
  python, '-c', 'import cyxla; print("\\n".join(cyxla.get_include()))', check: true,
).stdout().strip().split('\n')
# Pass cyxla_include[1] to Cython with -I, and cyxla_include[0] to the C compiler.

Downstream packages list cyxla in build-system.requires and pin it to a narrow range, because a new version may change the declarations.

Plugins

A process loads one plugin. cx.lower picks a platform like JAX does, from the device that the arguments are committed to, then jax.default_device, then the loaded plugin, then jax_platforms, and last the CPU plugin if one is installed, then CUDA, ROCm and TPU in that order. The program records the platform, and compiling it loads the plugin for that platform. cx.initialize chooses a plugin or its options instead, and has to come before that first use. cx.initialize(platform="cuda") asks for a platform, and cx.initialize(Path("libpjrt.so"), platform="cpu") loads a library by path. python -m cyxla lists what it finds.

Each plugin comes with the options that PJRT_Client_Create receives, and options adds to or replaces them:

cx.initialize(platform="cuda", options={"memory_fraction": 0.5})

The CPU client runs synchronously on one device, so executions stay in the calling thread. The GPU clients do not preallocate most of the device memory, as JAX does by default. Before it loads JAX's CUDA plugin, cyxla loads the CUDA libraries of the nvidia wheels, the same way JAX does.

Other packages can provide a plugin with an entry point in the cyxla.plugins group. The entry point names a module with PLATFORM, CREATE_OPTIONS and library_path(), as cyxla_pjrt_cpu has.

Custom calls

Some JAX functions lower to custom calls, which are native functions that the program runs. On the CPU, jnp.linalg and jax.scipy.linalg call the LAPACK kernels that jaxlib ships. A PJRT plugin is a separate build of XLA that does not know them, so loading the plugin registers jaxlib's typed FFI handlers with it by name. Programs with cholesky, solve, svd, eigh, qr, lu, eigvals and the other linear algebra functions then compile and run like they do in JAX.

A library with its own primitives registers a typed FFI handler with jax.ffi.register_ffi_target, and cyxla passes it on to the plugin. Importing cyxla mirrors every later registration, and loading the plugin registers the ones that JAX already holds, so the order of the imports does not matter. A library that does not use JAX calls cx.register_ffi_target with the same arguments. jax.export refuses custom calls it has no compatibility promise for, so cx.lower takes the names of the targets that the function may call.

import my_library

program = cx.lower(my_library.function, shapes, custom_calls=["my_target"])

The plugin accepts typed FFI handlers with an execute stage. It does not run the older untyped custom calls (api_version=0) or the Python callbacks of jax.pure_callback and jax.experimental.io_callback, and compiling a program with one raises an error that names the target.

Disk cache

compile_program stores executables in the cache directory under a hash of their StableHLO, the compile options and the plugin. A later run of the same program loads the executable instead of compiling it. store_lowered and load_lowered keep lowered programs under a key from cache_key, which includes the versions of JAX, cyxla and any distributions that the caller names.

Environment variables

Variable Meaning
CYXLA_PJRT_PLUGIN Path of a plugin that replaces the installed ones
CYXLA_PLATFORM Platform to load when initialize gets none
CYXLA_CACHE_DIR Directory of the disk cache, ~/.cache/cyxla if unset
CYXLA_MIRROR_JAX Set to 0 to keep cyxla from mirroring the FFI registrations of JAX

Limitations

  • Buffers hold the dtypes listed above and no others, such as the 8-bit floats, 4-bit integers and PRNG keys. cx.lower refuses a function that uses them. TPUs do not support float64, so programs for them fail to compile.
  • Custom calls need a typed FFI handler. Untyped custom calls and Python callbacks do not work.
  • The GPU and TPU paths are tested up to client creation. CI has no GPU, so execution on one is untested.
  • On Windows only the CPU plugin exists, since JAX publishes no native GPU plugins there.

Development

uv sync
uv run pytest

uv sync builds the CPU plugin package from ../cyxla-pjrt-cpu, which downloads its archive once. Development builds trace lines in the Cython module, so its coverage is measured too. The tests need 100% coverage.

CI has no GPU, so notebooks/colab_gpu_tests.ipynb runs the CUDA plugin on a Colab GPU.

Open In Colab

License

Hippocratic License 3.0. The vendored PJRT header is under XLA's Apache 2.0 license.

Metadata

Release files for cyxla 0.1.0

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

Source distribution (sdist)

Source distribution for cyxla 0.1.0
File Size Uploaded Provenance Actions
cyxla-0.1.0.tar.gz 215.0 kB With provenance Details for cyxla-0.1.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for cyxla 0.1.0
File Actions
cyxla-0.1.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for cyxla-0.1.0-cp314-cp314-win_amd64.whl
cyxla-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for cyxla-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
cyxla-0.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for cyxla-0.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
cyxla-0.1.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for cyxla-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
cyxla-0.1.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for cyxla-0.1.0-cp313-cp313-win_amd64.whl
cyxla-0.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for cyxla-0.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
cyxla-0.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details for cyxla-0.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
cyxla-0.1.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for cyxla-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
cyxla-0.1.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for cyxla-0.1.0-cp312-cp312-win_amd64.whl
cyxla-0.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for cyxla-0.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
cyxla-0.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details for cyxla-0.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
cyxla-0.1.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for cyxla-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
cyxla-0.1.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for cyxla-0.1.0-cp311-cp311-win_amd64.whl
cyxla-0.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details for cyxla-0.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
cyxla-0.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details for cyxla-0.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
cyxla-0.1.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for cyxla-0.1.0-cp311-cp311-macosx_11_0_arm64.whl

Total release size: 2.6 MB

Release files / cyxla-0.1.0.tar.gz

Download URL cyxla-0.1.0.tar.gz
Size 215.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c7b8407d8cd00bf3091003c3ad35f88b056b67b16acb972473a9c1ef6a4fdf85
BLAKE2b-256 checksum
How to use checksums
646c0bb40723e218fbe58824ca6ba39334c4522bab90f1b4390357a2f61622e6
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 log

Release files / cyxla-0.1.0-cp314-cp314-win_amd64.whl

Download URL cyxla-0.1.0-cp314-cp314-win_amd64.whl
Size 140.4 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
e3120b50f5cae0ce8278467c4816e09dbb4509a42f140026b2b77550ea98fe01
BLAKE2b-256 checksum
How to use checksums
eb9aef2ea147510a9f7877aed87970ae4cd1285fb6441b7a85242787f0260cb1
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 log

Release files / cyxla-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cyxla-0.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 162.6 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dfa2a7c562618e023c836941d3bdf8c3b86d5bff3b7e184e3249bbb85d7bca3e
BLAKE2b-256 checksum
How to use checksums
9b205a36f481a014bd9ff24dcc943f7d6a480b7201c2001811413cbe2c79bef6
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 log

Release files / cyxla-0.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL cyxla-0.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 157.7 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
263ebefe18e0718a5c6e68bda147e553b79f22772def7ee3cf6f124117e84a1c
BLAKE2b-256 checksum
How to use checksums
736c24f72a29e1ed3ef17965476e0bc74eb1a0dff041dd78a103c1815bce8855
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 log

Release files / cyxla-0.1.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL cyxla-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Size 146.5 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
06a3b2978fa96df024030286ae9905f0e976305173524ee116f96d6d69728c57
BLAKE2b-256 checksum
How to use checksums
95a790f5813ab8fa2f72dc914d86a21959b2904f0a1771119b719b8a7ce16646
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 log

Release files / cyxla-0.1.0-cp313-cp313-win_amd64.whl

Download URL cyxla-0.1.0-cp313-cp313-win_amd64.whl
Size 138.5 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
a9347089944443303a9748f9273cd8f54db2a90a2082dc60889d3b0f8fb9d6c8
BLAKE2b-256 checksum
How to use checksums
5b26acd3b61326d4755521d8c73fad7ae86dbbf56c60332db3520e00554a56e7
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 log

Release files / cyxla-0.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cyxla-0.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 162.5 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d7aec3f6782bbe4fd12fe8d674252ac5151493d8fe2b24ea2ff26c853800de5b
BLAKE2b-256 checksum
How to use checksums
533dd4c6beed6e754ad153cfc8286b0ec3c3f98e1a84e9f028b3476584b1571c
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 log

Release files / cyxla-0.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL cyxla-0.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 156.5 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
dd1e16c0d82e5ffae1698ea32b78cab28c726e0bc042cb6a2a5de9fddd6fbbf3
BLAKE2b-256 checksum
How to use checksums
e9f0f2a127cc5032eb4d1b825a4597e6daf3f903f65e4e06c61823436999fd9f
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 log

Release files / cyxla-0.1.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL cyxla-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Size 146.1 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2a16d34df3fe71f546d03c36bce892241fb4d9983a1036d57b70a72592d55393
BLAKE2b-256 checksum
How to use checksums
7ee829689d78aa12d1c8a85c97fadaa0c415a3eeefa1adb362ca156f6e67fa1e
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 log

Release files / cyxla-0.1.0-cp312-cp312-win_amd64.whl

Download URL cyxla-0.1.0-cp312-cp312-win_amd64.whl
Size 138.5 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a7a57d8af9aaa7ff6ca99b41a25d8577946feff37c15d22316679600a4c8694f
BLAKE2b-256 checksum
How to use checksums
7e0dac58693e86ea75ab17aaf22f240ba9c1f6eecbce7d0dfe5bdd7e55d3145c
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 log

Release files / cyxla-0.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cyxla-0.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 163.0 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3e886d46a23bf7b9153e64191839b88901a18ad36ff7d1a2ea9de58cf9fc9ba2
BLAKE2b-256 checksum
How to use checksums
d58951bbf762b8acb9cdaed367e6ce96de95445051dd2df5ed31d8ce30516ed8
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 log

Release files / cyxla-0.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL cyxla-0.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 157.4 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
0e0db810bc42f8826c96150147e1549b6af38458d49b663d1962042155b1e263
BLAKE2b-256 checksum
How to use checksums
e7617340e8a521124a0199375baeaa8179e2d3588ddaab4a9739134efe32dd16
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 log

Release files / cyxla-0.1.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL cyxla-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Size 146.4 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
91b601903e9f41f004cfe4134a4af18e36671cfc039de720ca029fdfba925966
BLAKE2b-256 checksum
How to use checksums
3c60e700c810823e6b87e734c63ccb2c9f7e7c9aff6fea62e9d3810fda016108
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 log

Release files / cyxla-0.1.0-cp311-cp311-win_amd64.whl

Download URL cyxla-0.1.0-cp311-cp311-win_amd64.whl
Size 141.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
6bb71835b94b884f66372bbdc31027c408b86b684cbf37fd8d089e86a0fdf3f2
BLAKE2b-256 checksum
How to use checksums
71340c2511c62f12cd5fa5754fc9b26aead2d5b285ceeda297a9b0aa1675d4b3
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 log

Release files / cyxla-0.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL cyxla-0.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 165.2 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
39eb2db5d446578bd20c7163d6d7e7680c87189540e929b45d42a8a3b0ece1d7
BLAKE2b-256 checksum
How to use checksums
aecb3f0d2c28b2f45a14965304711f8cfee727854aa6abc9959d9c5015cd8de5
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 log

Release files / cyxla-0.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL cyxla-0.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 161.2 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
231310e0bf2f3dc11e9567995a05280c429a3f01bbe5704de9747047984da332
BLAKE2b-256 checksum
How to use checksums
fed51619b12cdfc9f01813ee97135c5072b6519e5345f30337316d90ef6f4edc
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 log

Release files / cyxla-0.1.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL cyxla-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Size 145.7 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
061eaf5abab9b2c15591e3dcaf6aee7ad201fdaaa15a535afbaebde11eb31c56
BLAKE2b-256 checksum
How to use checksums
f78acf6703394dbfa3f2eb7b3048eb336902a90875b4945d395dccbc4d21e367
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 log

Security for cyxla 0.1.0

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 17 files in this release have been uploaded with provenance metadata.

Select from 17 files

Attestation for cyxla-0.1.0.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 log

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

17 release files Full provenance

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