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

chameleon-rs speedup over Chameleon: native partials 10.9x, macro calls 6.9x, listings 6.6x, app-shaped page 4.3x, template compilation about 70x; on a production Quart site, template rendering 2.2x, throughput 1.34x, whole requests 1.3x

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.49

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.49
File Size Uploaded Provenance
chameleon_rs-0.1.49.tar.gz 374.3 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for chameleon-rs 0.1.49
File
chameleon_rs-0.1.49-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.49-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.49-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details
chameleon_rs-0.1.49-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.49-cp315-cp315-manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.28+ ARM64 Details
chameleon_rs-0.1.49-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details
chameleon_rs-0.1.49-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.49-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.49-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
chameleon_rs-0.1.49-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.49-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
chameleon_rs-0.1.49-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
chameleon_rs-0.1.49-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.49-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
chameleon_rs-0.1.49-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
chameleon_rs-0.1.49-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.49-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
chameleon_rs-0.1.49-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details

Total release size: 33.2 MB

Release files / chameleon_rs-0.1.49.tar.gz

Download URL chameleon_rs-0.1.49.tar.gz
Size 374.3 kB
Tags Source
SHA-256 checksum
How to use checksums
139a4013955ba3bbdd95097ec9449cd56c29cb70b17b41fcf9ec06b5e135d93c
BLAKE2b-256 checksum
How to use checksums
bfa31310d4563640f49d2a26bb40a7ed775269802669821cc5cca35321cb9690
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.49-cp315-cp315t-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.49-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
31423bf3b76088caab093f745ff04abfe1414bfcd11fe89e60bccbcb875a876d
BLAKE2b-256 checksum
How to use checksums
6c62ab814ebc2d3326b3c4a11e7cb3fef098987a37acaaaa4bc6d7d0eaf2447d
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.49-cp315-cp315t-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.49-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
a79ec505fada8d67ac80bf9f8d242ca16dc07dd4e440a878a6fba8b5b6c27306
BLAKE2b-256 checksum
How to use checksums
d85fae7f7790bdaf0276775e454cbbf39f0fd896322d4e5b380bf18569f5c3da
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.49-cp315-cp315t-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.49-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
8dd0ca972671753bd61f7d519c1e5d9925cc4a65768492faaeea60c3c28c7c45
BLAKE2b-256 checksum
How to use checksums
9b06a0cfa308266798cdc19c62874346fe8dda621f08672f323ba59845de690f
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.49-cp315-cp315-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.49-cp315-cp315-manylinux_2_28_x86_64.whl
Size 2.0 MB
Tags CPython 3.15 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
579815c8ceb17a0ae12a8f5df5f40f30e854bbb183286a1a980d859d1de09907
BLAKE2b-256 checksum
How to use checksums
86f8b2a159884c972be7a5f2fef72a16e7c2ca2b4f8d2d8a5b1f4f512da1b9bd
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.49-cp315-cp315-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.49-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
2956ae82458fc85fe17fc6facb021ba68ef9588fddfcc39d1389b03b4839259f
BLAKE2b-256 checksum
How to use checksums
00e6dbc7ca50084dc9326fa36619286058ccaa22e925482e05107bae618b24e4
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.49-cp315-cp315-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.49-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
4d3dbe8625d076ed939d7a9b3fa45eec3be6ca87101c9e1fd5dd0566e0b8b7b1
BLAKE2b-256 checksum
How to use checksums
682ed0737d2ea5cecd1261f077d5c844d8abe5dd02a340762365a419a4fa4ee8
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.49-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.49-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
438cd49bce0cbf600e9be7084cddc8316167b20b4ed0aa3a42d36eb84c2386d2
BLAKE2b-256 checksum
How to use checksums
0e09c06399950a6d118ccf110e50752c9cde56dceeac68ba8af25230ba4aaa2e
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.49-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.49-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
5b9e47f3e7f07618a5fd76b31e4fe82d3e34866f5e45567eb50f40ff726bf9c4
BLAKE2b-256 checksum
How to use checksums
2a87335be840558ce1ea0ab65b71ace9d4f7c147c54ac3733eed1d41ed52db88
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.49-cp314-cp314t-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.49-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
9dcc008a138df412fbb4441e7ba50d8424a7b41c759522da3746382dcacf878f
BLAKE2b-256 checksum
How to use checksums
b77e9d746596236e1d83ef5fac796e7b48a73290f6e5df5d639910964f4c9f68
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.49-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.49-cp314-cp314-manylinux_2_28_x86_64.whl
Size 2.0 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d16aeb4d09108b8dbfe41dcae9b93b11273d492e49eff30140c73b16e0446831
BLAKE2b-256 checksum
How to use checksums
51d3ceb5aaade05a006633c9dd67fa9f1f8a5d305bf55c02a957084a52188370
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.49-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.49-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
65fc515dbdbca408fe1ba1a5b5313feab087935c76e73319580c451050ec3af3
BLAKE2b-256 checksum
How to use checksums
f86ba748bd3296f8d58c44926e6be21b9f1e2ef251992bb7a9900c43540a63da
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.49-cp314-cp314-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.49-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
23f6e10e2ac6c41519074a01ccb64637c5cf61eedb64bea547e46fdf4cace2c9
BLAKE2b-256 checksum
How to use checksums
7aa088d9e6b876e9c76cd169a725073ab46f221de55996436b4c21dbaa2bb59f
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.49-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.49-cp313-cp313-manylinux_2_28_x86_64.whl
Size 2.0 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
59c5e28b7868201c54404a4e126a0c8954658bcba14e8433e13b9297029706e4
BLAKE2b-256 checksum
How to use checksums
2a5d16a07a22272b077474bb4110efe016368a553baf1284b9a00c87c1079bcb
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.49-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.49-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
c92cf4955510c0d23f8df923f27d69f38bd6792b92fd73c8320d5bd1b0a7ac2c
BLAKE2b-256 checksum
How to use checksums
915a0d24b2be5dc183880fe5cac1859b2562a6cc151c3ec5bc8d92cac3c65a09
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.49-cp313-cp313-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.49-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
d3fc0893ba7e24a0ff3bf68aa152a583acca02d4b989b42a0854b44b101d4638
BLAKE2b-256 checksum
How to use checksums
e4c3de44f890a3fa50081bbd74cb0c3481d79cecd94b5a1fcace457fbb2f4899
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.49-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL chameleon_rs-0.1.49-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
60413b3e15c89724f7a777bd5cef9d0837e08f0103a18bc0f7be6e9649f3cc04
BLAKE2b-256 checksum
How to use checksums
4f2dbdb42f63cf5a22a269911a7359e8b00d7cbca87bff0f5ad2d478c5235ce7
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.49-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL chameleon_rs-0.1.49-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
99360f74c1e14e03f3bdc97c2d694af83b3bff08d5370713b4f3510dbab5b9b7
BLAKE2b-256 checksum
How to use checksums
80d30165213448cf37183a3f20b7699c559d0bc27375f864058b61efc802678f
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.49-cp312-cp312-macosx_11_0_arm64.whl

Download URL chameleon_rs-0.1.49-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
ae1b04835d1a8a79c468c0a468d8d3cf2b23dbb1b21ecf975043d53b00855576
BLAKE2b-256 checksum
How to use checksums
548bca098b854de0dc47f22c8ab3b47c0a7f02bc0b0ebe82e293ca5b22f04820
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.49

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.49 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