Rainbear
Python + Rust experiment for lazy Zarr scanning into Polars, with an API inspired by xarray’s coordinate-based selection.
This repo currently contains:
- A first-pass
scan_zarr(...)that streams a Zarr store using Rustzarrsand yields PolarsLazyFrames. - A test suite that compares rainbear against xarray for various Zarr datasets and filter conditions.
Status / caveats
- Zarr v3: the Rust backend uses
zarrs. Note that zarrs-v2 is not likely to work for this reason. - Tidy table output:
scan_zarrcurrently emits a “tidy”DataFramewith one row per element and columns:- dimension/coord columns (e.g.
time,lat) - variable columns (e.g.
temp)
- dimension/coord columns (e.g.
- Predicate pushdown:
- Rust attempts to compile a limited subset of predicates (simple comparisons on coord columns combined with
&) for chunk pruning. - If Polars
Exprdeserialization fails (typically because Python Polars and the Rust-side Polars ABI/serde don’t match),scan_zarrautomatically falls back to Python-side filtering (correct but slower).
- Rust attempts to compile a limited subset of predicates (simple comparisons on coord columns combined with
Quickstart (uv)
The project is configured as a maturin extension module.
- Run a quick import check:
uv run --with polars python -c "import rainbear; print(rainbear.print_extension_info())"
Using scan_zarr
import polars as pl
import rainbear
lf = rainbear.scan_zarr("/path/to/data.zarr")
# Filter the LazyFrame (predicate's are pushed down and used for chunk pruning)
lf = lf.filter((pl.col("lat") >= 32.0) & (pl.col("lat") <= 52.0))
df = lf.collect()
print(df)
Caching Backends
Rainbear provides three backend classes that own the store connection and cache metadata and coordinate chunks across multiple scans. This dramatically improves performance for repeated queries on the same dataset.
ZarrBackend (Async)
The async caching backend for standard Zarr stores. Best for cloud storage (S3, GCS, Azure) where async I/O provides significant performance benefits.
Features:
- Persistent caching of coordinate array chunks and metadata across scans
- Async I/O with configurable concurrency for parallel chunk reads
- Compatible with any ObjectStore (S3, GCS, Azure, HTTP, local filesystem)
- Cache statistics and management (clear cache, view stats)
When to use:
- Cloud-based Zarr stores where network latency dominates
- Applications already using async/await patterns
- High-concurrency workloads with many simultaneous chunk reads
import polars as pl
from datetime import datetime
import rainbear
# Create backend from URL
backend = rainbear.ZarrBackend.from_url("s3://bucket/dataset.zarr")
# First scan - reads and caches coordinates
df1 = await backend.scan_zarr_async(pl.col("time") > datetime(2024, 1, 1))
# Second scan - reuses cached coordinates (much faster!)
df2 = await backend.scan_zarr_async(pl.col("time") > datetime(2024, 6, 1))
# Check what's cached
stats = await backend.cache_stats()
print(f"Cached {stats['coord_entries']} coordinate chunks")
# Clear cache if needed
await backend.clear_coord_cache()
ZarrBackendSync (Sync)
The synchronous caching backend for standard Zarr stores. Best for local filesystem access or simpler synchronous codebases.
Features:
- Same persistent caching as
ZarrBackend(coordinates and metadata) - Synchronous API - no async/await required
- Blocking I/O suitable for local or low-latency stores
- Additional options: column selection, row limits, batch size control
When to use:
- Local filesystem Zarr stores
- Synchronous applications or scripts
- Interactive data exploration (notebooks, REPL)
- When you don't need async concurrency
import polars as pl
from datetime import datetime
import rainbear
# Create backend from URL
backend = rainbear.ZarrBackendSync.from_url("/path/to/local/dataset.zarr")
# Scan with column selection and row limit
df1 = backend.scan_zarr_sync(
predicate=pl.col("time") > datetime(2024, 1, 1),
with_columns=["temp", "pressure"],
n_rows=1000
)
# Second scan reuses cached coordinates
df2 = backend.scan_zarr_sync(pl.col("time") > datetime(2024, 6, 1))
# No await needed for cache operations in sync backend
stats = backend.cache_stats()
backend.clear_coord_cache()
IcechunkBackend (Async, Version Control)
The async-only caching backend for Icechunk-backed Zarr stores. Icechunk adds Git-like version control to Zarr datasets, enabling branches, commits, and time-travel queries.
Features:
- Same persistent caching as
ZarrBackend(coordinates and metadata) - Access to versioned Zarr data with branch/snapshot support
- Direct integration with icechunk-python Session objects
- Async-only (Icechunk operations are inherently async)
When to use:
- Working with version-controlled Zarr datasets
- Need to query specific branches or historical snapshots
- Collaborative workflows with multiple dataset versions
- Reproducible analysis requiring exact dataset versions
import polars as pl
from datetime import datetime
import rainbear
# Create backend from Icechunk filesystem repository
backend = await rainbear.IcechunkBackend.from_filesystem(
path="/path/to/icechunk/repo",
branch="main" # or specific branch name
)
# Scan like normal - caching works the same
df1 = await backend.scan_zarr_async(pl.col("time") > datetime(2024, 1, 1))
df2 = await backend.scan_zarr_async(pl.col("time") > datetime(2024, 6, 1))
# Or use existing Icechunk session directly
from icechunk import Repository, local_filesystem_storage
storage = local_filesystem_storage("/path/to/repo")
repo = Repository.open(storage)
session = repo.readonly_session("experimental-branch")
# No manual serialization needed!
backend = await rainbear.IcechunkBackend.from_session(session)
df = await backend.scan_zarr_async(pl.col("lat") < 45.0)
Backend Comparison
| Feature | ZarrBackend | ZarrBackendSync | IcechunkBackend |
|---|---|---|---|
| API Style | Async | Sync | Async |
| Caching | ✓ Coordinates & metadata | ✓ Coordinates & metadata | ✓ Coordinates & metadata |
| Best For | Cloud storage (S3, GCS, Azure) | Local filesystem | Version-controlled datasets |
| Concurrency | High (configurable) | Single-threaded | High (configurable) |
| Version Control | ✗ | ✗ | ✓ (branches, snapshots) |
| Column Selection | ✗ | ✓ | ✗ |
| Row Limits | ✗ | ✓ | ✗ |
Running the smoke tests
The Python tests create some local Zarr stores and then scan them.
From the workspace root:
cd rainbear-tests
uv run pytest
Development
To run the Rust tests:
cargo test
To run the Python tests:
uv run pytest
Profiling:
samply record -- uv run python -m pytest tests/test_benchmark_novel_queries.py -m 'benchmark' --no-header -rN
Roadmap
Near Term
- Geospatial support via ewkb and polars-st
- Interpolation support
- Tests against cloud storage backends
- Benchmarks
- Documentation
Longer Term
- Improved manner of application to take full advantage of Polars' lazy engine
- Caching Support?
- Writing to zarr?
- Capability to work with datatrees
- Allow output to arrow/pandas/etc.
- Icechunk support
- Zarr V2 support (backwards compatibility)
Code map
- Rust extension module:
rainbear/src/lib.rsexports_core - Zarr store opener (multi-backend URLs):
rainbear/src/zarr_store.rs - Metadata loader (dims/coords/vars + schema):
rainbear/src/zarr_meta.rs - Streaming IO source:
rainbear/src/zarr_source.rs(exposed to Python asZarrBackendSync) - Python API:
rainbear/src/rainbear/__init__.py(scan_random,scan_zarr,ZarrBackendSync) - Tests:
rainbear-tests/tests/(separate workspace package)
Metadata
Release files for rainbear 3.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rainbear-3.0.0.tar.gz | 436.0 kB | Without provenance | Details for rainbear-3.0.0.tar.gz |
Built distributions (wheels)
Total release size: 956.8 MB
Release files / rainbear-3.0.0.tar.gz
| Download URL | rainbear-3.0.0.tar.gz |
|---|---|
| Size | 436.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2eef64c77f14ac776ca31df517f76fcaeaf65b366785714167f3e97ce9e2e650
|
|
BLAKE2b-256 checksum How to use checksums |
9416707a3470614d95c274eabf37d03caf2a689dc840d2b8373fcb67fa9ccfd2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp314-cp314t-win_arm64.whl
| Download URL | rainbear-3.0.0-cp314-cp314t-win_arm64.whl |
|---|---|
| Size | 28.8 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows ARM64 |
|
SHA-256 checksum How to use checksums |
d11ba2c22485dca564ab23a11031fa1c37c7b48144ce480b80794a76ac51395d
|
|
BLAKE2b-256 checksum How to use checksums |
15f65f6f5c3fb454b2d10bc6ddfb08503e7466ff0389451659a7198b141f576e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp314-cp314t-win_amd64.whl
| Download URL | rainbear-3.0.0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 31.5 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fdf224730228622910a3d269841612c902e345540425f07fab200d87c26dac51
|
|
BLAKE2b-256 checksum How to use checksums |
8c31cba614c38ce476ed66e53c213640fe424cfbba7536ec649629c1263a722f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp314-cp314t-win32.whl
| Download URL | rainbear-3.0.0-cp314-cp314t-win32.whl |
|---|---|
| Size | 26.4 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-32 |
|
SHA-256 checksum How to use checksums |
fca351f78c907d52f0e22a44a1e1b021805c218c0010ffbf722067b70f40e9c1
|
|
BLAKE2b-256 checksum How to use checksums |
63a941bd0d17262ed2602dde3191082e55224de8edf842176d84df7ec8c10119
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | rainbear-3.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 58.8 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
1ed545c6ef1763acabc5524f137b57aecb1338984eb9c09e12f40b561d99025d
|
|
BLAKE2b-256 checksum How to use checksums |
72944a7d73150c55815ff657ff4e6163cff2732755e419afe0ebfb3860e8afe5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp314-cp314t-musllinux_1_2_i686.whl
| Download URL | rainbear-3.0.0-cp314-cp314t-musllinux_1_2_i686.whl |
|---|---|
| Size | 58.0 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-32 |
|
SHA-256 checksum How to use checksums |
ac9752b3a5bdebafc7025fe0af326c6a23180c88e93537faa2fbf6536b170d20
|
|
BLAKE2b-256 checksum How to use checksums |
90b0f52f077016a2ff2115d9b0fd91c77ae2ebc24c46b853e32d2bc80764011f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl
| Download URL | rainbear-3.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 56.7 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
0ed6c98d4fcf71eba807d933ba94016f85ef96bc8a7a81cd211c17f92130d014
|
|
BLAKE2b-256 checksum How to use checksums |
68b5ff7777df0661d8edfaf95a9e8226f094d42b661d74a7e80b61268507ccd4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl
| Download URL | rainbear-3.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 39.8 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
fa9dfc5d16658aa850a3a4fb17a14bcbfb0f42270aeadb5116962433132082ba
|
|
BLAKE2b-256 checksum How to use checksums |
fba0aaf1d9d676253aff4c05b51ce0e3673b08462c6c84d0af3399145421e0dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp314-cp314t-manylinux_2_28_i686.whl
| Download URL | rainbear-3.0.0-cp314-cp314t-manylinux_2_28_i686.whl |
|---|---|
| Size | 53.4 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-32 |
|
SHA-256 checksum How to use checksums |
0dc24c3a770094f050b29e63f40deeab2f5758627dbc7235a7762bc6496d7b59
|
|
BLAKE2b-256 checksum How to use checksums |
3261440698e9837322de5580c94554800b10d455f89f6936d866c1d3ea6c3fd3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl
| Download URL | rainbear-3.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 50.3 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
abe285670ac111442ba82683551057115f1925960f19c38f7cad824cbfe21726
|
|
BLAKE2b-256 checksum How to use checksums |
26d9c8cacd7ad821941a8cfb01d13caae43c1cc4916768f987a0340f09b5c467
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | rainbear-3.0.0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 36.5 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
04dbf8d5612614cc7f26d1eb281050b702d70c6ba78f7971cc098d8051dacef7
|
|
BLAKE2b-256 checksum How to use checksums |
8338072f0ef80508767942c669a3a8e24415f88f36e0386a07d65ce0487a6bde
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp314-cp314t-macosx_10_12_x86_64.whl
| Download URL | rainbear-3.0.0-cp314-cp314t-macosx_10_12_x86_64.whl |
|---|---|
| Size | 37.9 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
3f3468edfb923089c0e71ceeb1e9d7d8d34bc7842c05f47493823ac3b5b593aa
|
|
BLAKE2b-256 checksum How to use checksums |
f197ca4beac663d2919aa48a4bf7bbb00b6be3aafb3a7e8b553c33325c600fc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp312-abi3-win_arm64.whl
| Download URL | rainbear-3.0.0-cp312-abi3-win_arm64.whl |
|---|---|
| Size | 28.8 MB |
| Tags | CPython 3.12 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
b1c1c0dfee930e366d1c70340d86c47d8f72ce8aab9c1d95ab1b24623c86956c
|
|
BLAKE2b-256 checksum How to use checksums |
cd955656e3980e9a5ebd223c28b642e9c53173a1fb262bd8d19ef53d8228958f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp312-abi3-win_amd64.whl
| Download URL | rainbear-3.0.0-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 31.5 MB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
d2f4fd8cdf9476f7b090872a3cbb51708794d7400b51068fd75d8f351b7803a7
|
|
BLAKE2b-256 checksum How to use checksums |
a4e92769ab0b37ef52aba43236986166170ebc0a372eb664381985146a1a9e02
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp312-abi3-win32.whl
| Download URL | rainbear-3.0.0-cp312-abi3-win32.whl |
|---|---|
| Size | 26.5 MB |
| Tags | CPython 3.12 Windows x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
e7322518f4f56f14afb82aaee5d1f91d595f2275c81198d800b3b7225afc7f8a
|
|
BLAKE2b-256 checksum How to use checksums |
7686cc9ea0db0151de4d9426f9fb8184940b8cb191399caddae87c8cc185e049
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp312-abi3-musllinux_1_2_x86_64.whl
| Download URL | rainbear-3.0.0-cp312-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 58.8 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
6d18f733d7edd8d64b276113a757b1ffff90da55bd919194b7f6d9d0a7a44d43
|
|
BLAKE2b-256 checksum How to use checksums |
b33c6e37cf1e796a7d6175f61489fd9217ce89bc8636366da36cfee20e7a2b07
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp312-abi3-musllinux_1_2_i686.whl
| Download URL | rainbear-3.0.0-cp312-abi3-musllinux_1_2_i686.whl |
|---|---|
| Size | 58.0 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
7254114c24b1d94729c7303a70c45c62ce7c4ab4c4d44baeed0ce335b6421012
|
|
BLAKE2b-256 checksum How to use checksums |
1fc6af4ce40c5f241d0ab4b19007fe09fb54e54922b8235c4b8482c519e98635
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp312-abi3-musllinux_1_2_aarch64.whl
| Download URL | rainbear-3.0.0-cp312-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 56.7 MB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
b61f35beac885778cf3992bf63c90a7b12d6fc64ee926e9a3f222a05f4e39f07
|
|
BLAKE2b-256 checksum How to use checksums |
cce9b40af48a6eeedadcf8cbddb20b5fb7794a61ad6b55853921f11dc3ba5f07
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp312-abi3-manylinux_2_28_x86_64.whl
| Download URL | rainbear-3.0.0-cp312-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 39.8 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
274a555abb15e277a2d6d16efa79ce3ebb2116192c8031e704de96f592653fbe
|
|
BLAKE2b-256 checksum How to use checksums |
7ae1c23da201ff664adfa9bd52147206d8942c9e35944b80e1f5d68beb139327
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp312-abi3-manylinux_2_28_i686.whl
| Download URL | rainbear-3.0.0-cp312-abi3-manylinux_2_28_i686.whl |
|---|---|
| Size | 53.4 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-32 abi3 |
|
SHA-256 checksum How to use checksums |
92d7034d453fa4174d593709b968d1b16d5d92cb6b26b679973a636996d6750e
|
|
BLAKE2b-256 checksum How to use checksums |
74c22d57ff16392e67b25f50fd76e2345e5e50fcb2dfd9495234eb6d073fc12e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp312-abi3-manylinux_2_28_aarch64.whl
| Download URL | rainbear-3.0.0-cp312-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 50.3 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
0b9c26de0d409386ce5e615bf45bfb9d1aa5ad97adba8f7b1b95442a891c55e0
|
|
BLAKE2b-256 checksum How to use checksums |
c3c247a6a6c07eb70118333db831a38af7b2cbb3780af433dd0f8db62eefd3fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp312-abi3-macosx_11_0_arm64.whl
| Download URL | rainbear-3.0.0-cp312-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 36.5 MB |
| Tags | CPython 3.12 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f13a1b03b692af6985a9941eb1f007a25360e6ab777a44d0a97cdec300d39b81
|
|
BLAKE2b-256 checksum How to use checksums |
35610c3cc33b84c8c71d4f356b2393f70d34f21be66b6d3597b22d2da4d54b42
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / rainbear-3.0.0-cp312-abi3-macosx_10_12_x86_64.whl
| Download URL | rainbear-3.0.0-cp312-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 37.9 MB |
| Tags | CPython 3.12 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
0b3afa90b5c3f8a1a8bdcd6ff308643d65d81986fa001b5e6fc272a15b70e238
|
|
BLAKE2b-256 checksum How to use checksums |
e42073efb57f0a68bc7bddd9bccf3db2ca4b0c56eb697b7808200542640cb608
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for rainbear 3.0.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.
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.