Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

🚧 This project is in active beta development. This means the API is unstable, features may be added or removed, and breaking changes are likely to occur frequently and without notice as the design is refined.

CI Coverage Release PyPI Docs License

Efficient Renderer for Natural and Interplanetary Environments (Ernie)

Ernie is a physically accurate, real-time, spectral renderer for interplanetary environments.

It is a Vulkan ray tracer for Linux, Windows and macOS (through MoltenVK), with C++ and Python APIs and a Hydra-like scene API. Ernie is designed around physical quantities, efficient batched rendering, and interoperability.

Ernie is built to be extensible, customizable, and to work alongside other tools. You can add your own BRDFs, sensor filters and light patterns. Rendered outputs and scene attributes (transforms, mesh vertices, light parameters and more) are shared zero copy with any DLPack tensor (PyTorch, JAX, Warp, NumPy), which makes Ernie a good fit for real-time physics simulation and reinforcement learning. Support for OpenUSD and glTF scenes, and for MDL and MaterialX materials, is planned.

Its key features are aimed at planetary robotics and sensing:

  • Spectral light
    • Light carried in bands (16 across 380-780 nm by default, up to 64 into the infrared) from the source, through materials and media, to the sensor
    • Sun, sky, lamps, domes and lasers in physical units, with measured spectra such as the TSIS-1 sun
    • Distant lights as limb-darkened discs whose angular size sets every penumbra
  • Planets and space
    • Terrain and whole planets with continuous level of detail from orbit to the ground, their heights and maps streamed from rasters larger than GPU memory
    • Adaptive spheres and ellipsoids, exact from a pebble to a star, in double precision with a floating origin and reverse-Z depth
    • Earth and Mars atmospheres from physical models, with refraction, seen from the ground or from orbit
    • Eclipses cast by real geometry, and star fields from your own catalogues
  • Materials
    • Planetary photometry with Hapke, Lommel-Seeliger and lunar-Lambert, with parameters from texture maps
    • OpenPBR Surface and UsdPreviewSurface, spectral throughout
    • Your own BRDFs written in Slang
  • Cameras and sensors
    • Perspective, fisheye, orthographic and line-scan pushbroom cameras, with CAHVORE and USGS CSM instrument models
    • The EMVA 1288 sensor model: quantum efficiency, shot and read noise, dark current, PRNU, DSNU, full well and ADC
    • Filter chains for optics and detectors (diffraction, lens flare, blooming, smear, TDI, Bayer, companding), with your own in Slang
    • Polarization cameras
  • Thermal infrared
    • Planck emission from surfaces and volumes, with emissivity from Kirchhoff's law or measured spectra
    • Temperatures from your own solver, textures, or models run per pixel: spacecraft energy balance and diurnal tables for airless bodies
    • Microbolometer cameras with NETD, fixed pattern noise and false-colour palettes
  • Volumes
    • Smoke, dust, exhaust plumes and clouds from VDB files or GPU arrays, ray marched spectrally and casting shadows
    • Procedural cloud layers, with Mie droplets for silver linings, fogbows and glories
  • Lasers and structured light
    • Gaussian beams and diffractive patterns (lines, grids, dot fields or your own), pulses, speckle, and beams seen in dust and air
  • Simulation and learning
    • Thousands of worlds and cameras rendered in one batched step for RL and Monte Carlo workloads
    • Inputs and outputs shared without copies with PyTorch, JAX, Warp and NumPy, through CUDA and HIP
    • Columns and incremental sync: thousands of prims' poses written in one call, and an edit redraws only what it reaches
  • Tools and integrations
    • A viewer with your own panels and debug drawing, and C++ and Python APIs on Linux, Windows and macOS
    • OpenUSD import, renderer backends for Newton Viewer, IsaacLab and Chrono::Sensor, and TerrainGen built on the viewer

For a more detailed overview of the features, see our documentation.

Future work:

  • A fully USD- and glTF-compliant renderer, loading OpenUSD, glTF, OBJ, STL and 3D Tiles, with the glTF material system, UsdPreviewSurface shaders and MDL and MaterialX support
  • Differentiable rendering
  • Reflections and global illumination
  • OpenXR integrations
  • WebGPU backend
  • Gaussian splat and particle fields
  • Lidar and radar sensors
  • A real-time ray-tracing renderer alongside the rasterizer
  • Integrations into Newton Viewer, Chrono Sensor, and IsaacLab
  • Benchmark against RTX, Cycles, Newton Warp Raytrace, Madrona both in speed, throughput, and image quality
  • Validation with real-world sensors and scenes.

Quick Start

We recommend starting with the Python package. Install it and open the Ernie Viewer:

pip install ernie-renderer
python -m ernie

Ernie ships with built-in demos covering cameras and sensors, lighting, atmospheres, terrain, lasers and batched rendering. Open the Demos panel in the viewer and explore. Each demo is written in both C++ and Python, and the two versions render the same image.

From the command line, python -m ernie --list names every demo, python -m ernie --demo demo_atmosphere_earth runs one, and --help lists every option.

Installation

Ernie needs a Vulkan 1.3 driver: your GPU vendor's, or Mesa's (mesa-vulkan-drivers), which includes the lavapipe software driver for machines without a GPU.

Python

Python 3.10 or later. pip installs ernie-renderer from PyPI; the package bundles everything else, the viewer included.

pip install ernie-renderer

C++

Each GitHub release has an ernie package for Ubuntu 22.04+, Debian 12+ and RHEL 9+ (and a tarball for other distributions) with the library, the viewer, the headers and the CMake package.

sudo apt install ./ernie_*.deb   # Debian, Ubuntu
sudo dnf install ./ernie-*.rpm   # RHEL, Rocky, Fedora

The viewer is also a Docker image: docker run --rm --gpus all ghcr.io/alexmaietta/ernie --help.

Build from source

CMake 3.24+, a C++20 compiler and Python 3.10+ with its development headers (or -DERNIE_BUILD_PYTHON=OFF). Small dependencies are vendored; Slang and OpenEXR are fetched on first configure.

cmake -S . -B build -DERNIE_BUILD_TESTS=ON
cmake --build build
ctest --test-dir build -j4                # C++, GPU and Python tests
cmake --install build --prefix ~/.local   # libernie, headers and the CMake package

For the Python wheel, uv build --wheel --out-dir dist .; for Linux packages, cmake --preset package-deb (or package-rpm), then cmake --build --preset package-deb and cpack --preset package-deb.

Your First Render

Python

from PIL import Image

import ernie
from ernie import tokens

scene = ernie.Scene()
scene.define("/World/Ground", ernie.GroundPlane)
scene.define("/World/Rock", ernie.Sphere, translate=(0, 0, 1))  # 1 m up
scene.define("/World/Sun", ernie.DistantLight).set(
    tokens.TRANSFORM, ernie.distant_light_transform((0.4, -0.6, 0.7))
)
scene.define("/World/Camera", ernie.Camera).set(
    tokens.TRANSFORM, ernie.look_at_transform((0, -8, 3), (0, 0, 1))
)
scene.define(
    "/Render/Settings", ernie.RenderSettings, camera="/World/Camera", resolution=(640, 480)
)

renderer = ernie.Renderer()
image = renderer.render(scene)  # a (480, 640, 4) uint8 NumPy array
Image.fromarray(image).save("ernie.png")

C++

With the ernie package or your own build installed, find it with CMake:

find_package(Ernie REQUIRED)
target_link_libraries(my_app PRIVATE Ernie::ernie)
#include <ernie/render/renderer.h>
#include <ernie/scene/schema/camera.h>
#include <ernie/scene/schema/geom.h>
#include <ernie/scene/schema/lux.h>
#include <ernie/scene/schema/planet.h>
#include <ernie/scene/schema/render.h>
#include <ernie/scene/tokens.h>
#include <ernie/scene/xform.h>

int main() {
    using namespace ernie;
    Scene scene;
    GroundPlane::Define(scene, "/World/Ground");
    Sphere::Define(scene, "/World/Rock");
    SetXform(scene, "/World/Rock", {.translate = glm::dvec3(0.0, 0.0, 1.0)});  // 1 m up
    DistantLight::Define(scene, "/World/Sun");
    scene.Set("/World/Sun", tokens::kTransform, DistantLightTransform({0.4, -0.6, 0.7}));
    Camera::Define(scene, "/World/Camera");
    scene.Set("/World/Camera", tokens::kTransform,
              LookAtTransform({0.0, -8.0, 3.0}, {0.0, 0.0, 1.0}, {0.0, 0.0, 1.0}));
    RenderSettings::Define(scene, "/Render/Settings")
        .SetCamera("/World/Camera")
        .SetResolution({640, 480});

    Renderer renderer;
    Tensor image = renderer.Render(scene);  // 480 x 640 x 4 bytes of LdrColor on the CPU
}

Citation

If you use Ernie in your research, please cite it. GitHub's "Cite this repository" button gives the same citation from CITATION.cff.

@software{maietta2026ernie,
  author  = {Maietta, Alex},
  title   = {Ernie: Efficient Renderer for Natural and Interplanetary Environments},
  year    = {2026},
  version = {0.1.0},
  url     = {https://github.com/alexmaietta/ernie},
  license = {BSD-3-Clause}
}

License

Ernie is licensed under the BSD 3-Clause License. The third-party libraries it bundles keep their own licenses, listed in third_party/README.md.

Acknowledgements

Ernie is built on these open-source projects. Versions and licenses are in third_party/README.md.

Ernie also leverages ideas from these renderers and projects:

  • Madrona for batch rendering across many worlds
  • Chrono::Sensor for sensor simulation inside Chrono
  • Cycles, Mitsuba 3 and PBRT for physically based and spectral rendering
  • Unreal Engine's Render Dependency Graph and Frostbite's FrameGraph for the frame graph
  • OpenUSD and Omniverse Fabric for the schema-based, columnar scene
  • nvpro-samples for Vulkan ray tracing and cluster LOD
  • PANGU for planetary and asteroid surface simulation
  • IRIS for real-time, closed-loop rendering of space sensors
  • CosmoScout VR for planet-scale scenes and solar-system visualization
  • three-geospatial for atmospheres and clouds
  • Isaac Lab and Newton for tiled cameras in robot learning

Metadata

Release files for ernie-renderer 0.2.0.dev165

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 ernie-renderer 0.2.0.dev165
File
ernie_renderer-0.2.0.dev165-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
ernie_renderer-0.2.0.dev165-cp312-abi3-manylinux_2_34_x86_64.whl CPython 3.12 abi3 Linux glibc 2.34+ x86-64 Details
ernie_renderer-0.2.0.dev165-cp312-abi3-manylinux_2_34_aarch64.whl CPython 3.12 abi3 Linux glibc 2.34+ ARM64 Details
ernie_renderer-0.2.0.dev165-cp312-abi3-macosx_26_0_arm64.whl CPython 3.12 abi3 macOS 26.0+ ARM64 Details
ernie_renderer-0.2.0.dev165-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
ernie_renderer-0.2.0.dev165-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details
ernie_renderer-0.2.0.dev165-cp311-cp311-manylinux_2_34_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ ARM64 Details
ernie_renderer-0.2.0.dev165-cp311-cp311-macosx_26_0_arm64.whl CPython 3.11 CPython 3.11 macOS 26.0+ ARM64 Details
ernie_renderer-0.2.0.dev165-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
ernie_renderer-0.2.0.dev165-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details
ernie_renderer-0.2.0.dev165-cp310-cp310-manylinux_2_34_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ ARM64 Details
ernie_renderer-0.2.0.dev165-cp310-cp310-macosx_26_0_arm64.whl CPython 3.10 CPython 3.10 macOS 26.0+ ARM64 Details

Total release size: 243.0 MB

Release files / ernie_renderer-0.2.0.dev165-cp312-abi3-win_amd64.whl

Download URL ernie_renderer-0.2.0.dev165-cp312-abi3-win_amd64.whl
Size 15.2 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
40752ab91008eda8b14543098f11a8a0a2c810e2d119b0e9808c4637d9c307b8
BLAKE2b-256 checksum
How to use checksums
c017037416af9f2b5a6233bb703415439b3a836dcabd0ec7e455bd0763c95c10
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 Oct 19, 2026.

Transparency log

Release files / ernie_renderer-0.2.0.dev165-cp312-abi3-manylinux_2_34_x86_64.whl

Download URL ernie_renderer-0.2.0.dev165-cp312-abi3-manylinux_2_34_x86_64.whl
Size 19.3 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
6d194978b36bd43c9ab0d675b9a5f57d171c8ba14ae4faa4e0b1e2be67a22c60
BLAKE2b-256 checksum
How to use checksums
715d4a8b5de7ca84d3a03cbb21a96aacdf5101a310f20a6322627bf7d5297ba2
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 Oct 19, 2026.

Transparency log

Release files / ernie_renderer-0.2.0.dev165-cp312-abi3-manylinux_2_34_aarch64.whl

Download URL ernie_renderer-0.2.0.dev165-cp312-abi3-manylinux_2_34_aarch64.whl
Size 18.7 MB
Tags CPython 3.12 Linux glibc 2.34+ ARM64 abi3
SHA-256 checksum
How to use checksums
7f2d2f9e5e1b4c44be2b38a892df81329812f24632088a4814b9ec720a331f54
BLAKE2b-256 checksum
How to use checksums
54f5fb745dfd66c7b0476975335b28e30e8e071015c6134a875b71547101c5f4
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 Oct 19, 2026.

Transparency log

Release files / ernie_renderer-0.2.0.dev165-cp312-abi3-macosx_26_0_arm64.whl

Download URL ernie_renderer-0.2.0.dev165-cp312-abi3-macosx_26_0_arm64.whl
Size 27.8 MB
Tags CPython 3.12 abi3 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
455401235bfca25f40d61747769f8e73743ab1cfa03046ff60d3d73a6efeebe0
BLAKE2b-256 checksum
How to use checksums
4d44e335fe7649241fae0db51cb4b8e05d6792ba2e89ef0f571b36bd20cd1c7a
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 Oct 19, 2026.

Transparency log

Release files / ernie_renderer-0.2.0.dev165-cp311-cp311-win_amd64.whl

Download URL ernie_renderer-0.2.0.dev165-cp311-cp311-win_amd64.whl
Size 15.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a1615080880d1dcc78fb90c4ec6a57d5b07b62dc0af72e1351917b9a26e9f0c7
BLAKE2b-256 checksum
How to use checksums
57f573001d494ce0a060f9d4e8a70f5ff351a12bd408d50f82a4cdbc303ca6d8
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 Oct 19, 2026.

Transparency log

Release files / ernie_renderer-0.2.0.dev165-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL ernie_renderer-0.2.0.dev165-cp311-cp311-manylinux_2_34_x86_64.whl
Size 19.3 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
36f84d26c6f9153e5bb732aaf0376fa2ad61a4738ca4e0643c4cc23f4d36d30a
BLAKE2b-256 checksum
How to use checksums
91bf25fd02e1643cba28471e86a1fa641c65612150aeea55d162bba479772b82
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 Oct 19, 2026.

Transparency log

Release files / ernie_renderer-0.2.0.dev165-cp311-cp311-manylinux_2_34_aarch64.whl

Download URL ernie_renderer-0.2.0.dev165-cp311-cp311-manylinux_2_34_aarch64.whl
Size 18.7 MB
Tags CPython 3.11 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
d59fbc61f15966e6e286df91066b9cd4b4d4f76a4e54a12e94d57ea598b4f37d
BLAKE2b-256 checksum
How to use checksums
5fb454e5c86775adfb2a1de3b8a59ef9228dd6fc96aabc83d6dab2efbb6d5d73
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 Oct 19, 2026.

Transparency log

Release files / ernie_renderer-0.2.0.dev165-cp311-cp311-macosx_26_0_arm64.whl

Download URL ernie_renderer-0.2.0.dev165-cp311-cp311-macosx_26_0_arm64.whl
Size 27.8 MB
Tags CPython 3.11 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
970685ee8d207db4a501fae5432ca9bc09d9bda52382c4531959ef05a6f71806
BLAKE2b-256 checksum
How to use checksums
011b15d2bf852afb1efd24c81d16335856821bf4952fe01a261411ad67c68a2f
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 Oct 19, 2026.

Transparency log

Release files / ernie_renderer-0.2.0.dev165-cp310-cp310-win_amd64.whl

Download URL ernie_renderer-0.2.0.dev165-cp310-cp310-win_amd64.whl
Size 15.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
6847bb6b80da22f76414cc0e349f1e2e269d0cb603802e1798c363ce6b1d9db9
BLAKE2b-256 checksum
How to use checksums
9a8a9de3b09ff53fb336998b417ce93f9733fdd106b5628d7105404bfbd9c27d
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 Oct 19, 2026.

Transparency log

Release files / ernie_renderer-0.2.0.dev165-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL ernie_renderer-0.2.0.dev165-cp310-cp310-manylinux_2_34_x86_64.whl
Size 19.3 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
eca1a7e898cc5f2b1dcbc7098bd194096862f320b2a7fd958718dc9073b34564
BLAKE2b-256 checksum
How to use checksums
aafc514e44c713e2e9f77adeb126c0907f47ab6b3d56c62fda0d86acf684c38b
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 Oct 19, 2026.

Transparency log

Release files / ernie_renderer-0.2.0.dev165-cp310-cp310-manylinux_2_34_aarch64.whl

Download URL ernie_renderer-0.2.0.dev165-cp310-cp310-manylinux_2_34_aarch64.whl
Size 18.7 MB
Tags CPython 3.10 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
0a250db27b4612dda1198acf30a4bde5ee319b2a5965c192d3522967121914f5
BLAKE2b-256 checksum
How to use checksums
9a59126055ee5aab79e6845fc8a0ab4633e4af53c99367998e177765e63816b1
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 Oct 19, 2026.

Transparency log

Release files / ernie_renderer-0.2.0.dev165-cp310-cp310-macosx_26_0_arm64.whl

Download URL ernie_renderer-0.2.0.dev165-cp310-cp310-macosx_26_0_arm64.whl
Size 27.8 MB
Tags CPython 3.10 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
cdbff40f650213d1881ad32f79d068edc692ccd24a1cf6365866a8f031e035d6
BLAKE2b-256 checksum
How to use checksums
4a45eb7bab1b3655cc556142cac54df13b07614f6539634e428953d884439210
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 Oct 19, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0.dev165 This release

12 release files

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