Skip to main content

chameleon-rs: Chameleon templates, Rust speed

chameleon-rs

Chameleon templates, modernized. Several times faster.

chameleon-rs is Chameleon's template language on a new engine written in Rust. Your existing templates and code run unchanged, with byte-identical output, several times faster. It also adds what a modern Python web app expects: async rendering that never blocks the event loop, built-in integrations for Flask/Quart, FastAPI, Starlette, Robyn and Litestar, partials, Markdown, and support for free-threaded Python. No runtime dependencies.

Documentation: https://mkennedy.codes/docs/chameleon-rs/ · Changelog · Compatibility · Performance

Install

pip install chameleon-rs        # or: uv pip install chameleon-rs

CPython 3.12 to 3.15, including the free-threaded builds (3.14t, 3.15t). Wheels for Linux (glibc and musl), macOS and Windows contain the compiled engine, so no Rust toolchain is needed. Stock Chameleon need not be installed.

Already on Chameleon?

Switching an application is one line at startup, before anything imports Chameleon:

import chameleon_rs.compat

chameleon_rs.compat.install()

From then on import chameleon gives chameleon-rs, and so do chameleon_partials, chameleon_flask, fastapi_chameleon and chameleon_robyn. Your templates and the code around them stay as they are.

  • Same output. Chameleon's own test suite, vendored unmodified, passes: 227 of the 227 tests that pass on Chameleon. All 122 of its fixture renders are byte-identical, and every page of two production Flask/Quart sites renders byte-identical HTML. Known differences.
  • Check your own app first. Shadow mode (chameleon_rs.shadow.install()) renders a sample of real traffic with both engines and reports any difference, while Chameleon keeps serving. Switching from Chameleon.

Starting fresh?

Templates are Chameleon's: HTML with tal: attributes and ${...} expressions, so a template is still valid HTML that an editor or browser can open.

from chameleon_rs import PageTemplate

page = PageTemplate('<p tal:repeat="name names">Hello, ${name}!</p>')
print(page(names=['World', 'Rust']))

In a web app, point chameleon-rs at a template folder and decorate your views. With FastAPI:

import fastapi
import chameleon_rs.fastapi as fastapi_chameleon

app = fastapi.FastAPI()
fastapi_chameleon.configure(template_folder='templates', app=app)

@app.get('/episodes/{number}')                      # the route decorator first...
@fastapi_chameleon.template('episodes/detail.pt')   # ...then @template
async def detail(number: int):
    episode = await db.episode(number)
    if episode is None:
        fastapi_chameleon.not_found()
    return {'episode': episode}

The view keeps its signature, so path and query parameters, Depends, validation and the OpenAPI docs work as without @template. Getting started.

What's new compared with Chameleon

  • Async rendering. await template.render_async(**model) awaits awaitable model values where the template uses them, without blocking the event loop. Macros, slots, partials and tal:on-error work across the wait, and with no awaitables the output is exactly render()'s. Opt-in concurrency: @chameleon_rs.concurrent helpers and concurrent=True partials run at the same time as the rest of the page. Async rendering.
  • Framework integrations. Built in, with nothing extra to install (table below), and Pyramid's pyramid_chameleon runs unchanged. Async views render with render_async, and a @template written above its route decorator raises an error naming the fix instead of quietly returning JSON.
  • Partials. Any template can call ${render_partial('shared/card.pt', item=item)}; the partial renders natively inside the page, 10.9x faster than chameleon_partials. Partials.
  • Markdown. ${markdown: episode.notes} converts Markdown to HTML while the page renders: CommonMark plus the GitHub extensions (tables, task lists, footnotes, ...), converted in Rust, with raw HTML escaped by default. It's about 26x faster than mistune, a pure-Python converter, on a 5 KB document, and repeat conversions come from a cache in well under a microsecond. Opt-in with chameleon_rs.configure(markdown=True); named profiles (md-comment:) give different settings to different content. Markdown.
  • One place for settings. chameleon_rs.configure(...) sets the template folder, auto_reload, partial lookup and Markdown for the whole process, thread-safely. Configuration.
  • Free-threaded Python. Wheels for 3.14t and 3.15t that keep the GIL off. render_async(..., offload=True) (experimental) renders in a worker thread, in parallel with the event loop on a free-threaded build.
  • Typed. PEP 561 type information for the whole API, including the native module.
  • No runtime dependencies. The engine, the Markdown converter and the integrations are in the wheel; each integration imports its framework only when you import it.

Frameworks

Framework Module Replaces Docs
Flask, Quart chameleon_rs.flask chameleon-flask Flask and Quart
FastAPI chameleon_rs.fastapi fastapi-chameleon FastAPI
Starlette chameleon_rs.starlette Starlette's Jinja2Templates (Templates is a drop-in) Starlette
Robyn chameleon_rs.robyn chameleon-robyn Robyn
Litestar chameleon_rs.litestar Litestar's TemplateConfig engine (ChameleonEngine); litestar-chameleon Litestar
Pyramid pyramid_chameleon, unchanged, through compat.install() — Pyramid

Web frameworks shows the same page in each one. Each module keeps the API of the library it replaces and adds the same decorator API (configure, @template, render, response, not_found, error, render_async, response_async, check_views).

Template names come from your code. The decorator modules and render_partial() look names up as the original libraries do (.. and absolute paths work), so never build one from request data. Starlette's Templates and Litestar's ChameleonEngine refuse names that reach outside their folder, as Jinja does.

Performance

In synthetic benchmarks (release build, same process, interleaved with Chameleon): listings 6.6x faster per item, macro calls 6.9x, an app-shaped page 4.3x, native partials 10.9x, and templates compile about 70x faster. On a production Quart site, template rendering was 2.2x faster in total and whole requests 1.3x faster; under load, throughput rose 34%. The released wheels are profile-guided, about 10% faster again. How it's measured.

Development

make dev     # set up venv with the reference Chameleon and build the extension
make test    # Rust tests, Python tests, Chameleon's own suite on both engines

Licensed under Chameleon's license (see LICENSE.txt and COPYRIGHT.txt); this project ports Chameleon's behavior and reuses its test suite.

Metadata

Release files for chameleon-rs 0.1.48

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

Source distribution (sdist)

Source distribution for chameleon-rs 0.1.48
File Size Uploaded Provenance
chameleon_rs-0.1.48.tar.gz 372.1 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for chameleon-rs 0.1.48
File
chameleon_rs-0.1.48-cp315-cp315t-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64 Details
chameleon_rs-0.1.48-cp315-cp315t-manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64 Details
chameleon_rs-0.1.48-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details
chameleon_rs-0.1.48-cp315-cp315-manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ x86-64 Details
chameleon_rs-0.1.48-cp315-cp315-manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ ARM64 Details
chameleon_rs-0.1.48-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details
chameleon_rs-0.1.48-cp314-cp314t-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 Details
chameleon_rs-0.1.48-cp314-cp314t-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 Details
chameleon_rs-0.1.48-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
chameleon_rs-0.1.48-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
chameleon_rs-0.1.48-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
chameleon_rs-0.1.48-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
chameleon_rs-0.1.48-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
chameleon_rs-0.1.48-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
chameleon_rs-0.1.48-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
chameleon_rs-0.1.48-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
chameleon_rs-0.1.48-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
chameleon_rs-0.1.48-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details

Total release size: 33.1 MB

Release files / chameleon_rs-0.1.48.tar.gz

Download URL chameleon_rs-0.1.48.tar.gz
Size 372.1 kB
Tags Source
SHA-256 checksum
How to use checksums
e74a73174c8a5078b7cbfaf8b01ef0430267b189d7a407706ea0eba1c6bc1bb8
BLAKE2b-256 checksum
How to use checksums
f4c49c43a3ccb494a764944d61ce616a572a78e37f7ea1bd47040dd204de31f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp315-cp315t-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.48-cp315-cp315t-manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0da75f9d0ac4aa99f9253f251bc2e52080a728fe2d6fb7be3353083d766bf1ca
BLAKE2b-256 checksum
How to use checksums
8f9386c1afdc23bda3c96d877f34ef3799d835e3579870be31ffde7f4afd2a8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp315-cp315t-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.48-cp315-cp315t-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9dc64d20d451435a0c4575d96ba107296be3bf93ff93a4493d4267d8be570a02
BLAKE2b-256 checksum
How to use checksums
a95221e0b025e54b72674997bf7b30732cd17b36f35d8de1d2734b037b8456c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp315-cp315t-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.48-cp315-cp315t-macosx_11_0_arm64.whl
Size 1.7 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6847580462f5685814b6caba535afd3b62572cb75f85cf827547f04c7327c7bd
BLAKE2b-256 checksum
How to use checksums
1523f11369da8e09e0d5a5dd750fa4b695fb27f7f61859c25f553519795510cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp315-cp315-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.48-cp315-cp315-manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags CPython 3.15 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
428a7f798b5272cff898b476568f3c24bd50bfddf004ffcff8e9de891133aed5
BLAKE2b-256 checksum
How to use checksums
90486d8cbcfbbf860305f644809299f3c32090cbefeb29f19f5c50df6ad4a618
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp315-cp315-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.48-cp315-cp315-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.15 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
398cc7e10b61e3e3727144fcf2363766157eecd0d414f33586c529a54b0b9509
BLAKE2b-256 checksum
How to use checksums
a20b938e380930c360cb2bc5794a3aefd1b21e7d5e983427fcc471610d952356
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp315-cp315-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.48-cp315-cp315-macosx_11_0_arm64.whl
Size 1.7 MB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5646e5821a5e0303c2831943e27761b4ff73b6d84bafa1d0d150daca446eb993
BLAKE2b-256 checksum
How to use checksums
070e1869cbd71bb4dec028c3c7a204a718ce011dcd809f5a32e57ba188b35d05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.48-cp314-cp314t-manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4372ae33a50b8bb5b40d5e4becf16f2c19d5e1047ed0a0bba77fdba4f176d59e
BLAKE2b-256 checksum
How to use checksums
d65b4c172d9c5b75a993743679d466cea8c0aa3f086502126d4397549187b246
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.48-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
095533b325bb831e953a63935244dc651bd75a055a85b32102793707ad7f3e9a
BLAKE2b-256 checksum
How to use checksums
58781ad07ff8ce78ada8bba39d98712802ec0312a2e2986c63947b722f6eeb66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp314-cp314t-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.48-cp314-cp314t-macosx_11_0_arm64.whl
Size 1.7 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d016a9b8233e712b50e661f8af7497bff17f74ca13886e16030c9708ff124962
BLAKE2b-256 checksum
How to use checksums
05f7840411429cd162b61a12492cb24b1cf03ba7f68820f7e67eadb6f8e48024
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.48-cp314-cp314-manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
55ad4bc159b4d4ea0c2a1e96dd5f056a302f1b3b1ae76c68dcd199a66222d46d
BLAKE2b-256 checksum
How to use checksums
c4bfdd172f349115f5a4b80815fc861634707b6f8ab37d4eac69d60fabb1ed2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.48-cp314-cp314-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
eff0a4cb48ef8cf81f24b8f7086150ef9c58ba9d413b029a885efefa7da4a3d6
BLAKE2b-256 checksum
How to use checksums
47ab8ef8f46b34b13acd6e798b97cadeba31191b53c2915e6b245b4857003b83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp314-cp314-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.48-cp314-cp314-macosx_11_0_arm64.whl
Size 1.7 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b73cccdf3fea0499669001bfab6d073710c693ac90483cc9953bd37efab746aa
BLAKE2b-256 checksum
How to use checksums
3550c7aa6b593a333ed69449790822c69b07f5874218c6ab108abdeb65efbe34
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.48-cp313-cp313-manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fc09fa59f2717592f15736b3573a65a1950e44cf59b8fd4d38207fe263e6efe2
BLAKE2b-256 checksum
How to use checksums
e599a1eb1ceb4b0c879cca1c1a617a5346cc6ca47802377f6f0461ef470c04a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.48-cp313-cp313-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6b2afbf1599d68b62aed2bb6ba4a5df0f415fcf709daa0e081ef68cba959068b
BLAKE2b-256 checksum
How to use checksums
fcda5c9ec381b31c9fe9f0a02baa8c5abaf85af43264eca080b7d487529748ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp313-cp313-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.48-cp313-cp313-macosx_11_0_arm64.whl
Size 1.7 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
127910203e4f990fb7ca5947a45393f731477e26a4c4785642ec4ea7a3b32258
BLAKE2b-256 checksum
How to use checksums
3c62a0fe673e16dfbcdff64009e65ab62d4965f510fc6dd495097f324a9a0c6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.48-cp312-cp312-manylinux_2_28_x86_64.whl
Size 1.9 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9fccdf181ea4950c71b8e1783704c34ecbdcda351622f9e1a45b77f6ebd85410
BLAKE2b-256 checksum
How to use checksums
ecbbabde3c23c36c51722b9c73c9575a45bbbdf3f6d88baaf54189539978ca0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.48-cp312-cp312-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c0ef0f3cfb830445369ab613c9471a93cbf57ad4046fc4013c22ac1d21971f08
BLAKE2b-256 checksum
How to use checksums
e9e9e6f9c1099d6c8cc75b52d898a2c0cf876740012ddfd91af29fa2d5a32e0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / chameleon_rs-0.1.48-cp312-cp312-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.48-cp312-cp312-macosx_11_0_arm64.whl
Size 1.7 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0e4f420118f38f434172e5c4d72309f21e3536dd75266e3319c9d5231820babc
BLAKE2b-256 checksum
How to use checksums
5185b473b77796a79f167b21e01e667ee7fa899a49798a0bee0a5e4343e12db9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for chameleon-rs 0.1.48

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

Release history Release notifications | RSS feed

This release

0.1.48 This release

19 release files No 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