🌲⚡ rapidtrees
Blazingly fast pairwise phylogenetic tree distance calculations — Robinson–Foulds, Weighted RF, and Kuhner–Felsenstein — powered by Rust
Overview • Installing • Usage • Python API • Presence Matrix • Benchmarks
🗺️ Overview
rapidtrees computes pairwise tree distances from BEAST/NEXUS .trees files or plain multi-tree Newick files, and writes a labeled distance matrix. Three metrics are supported:
| Metric | Flag | Output | Description |
|---|---|---|---|
| Robinson–Foulds | --metric rf |
integer | Symmetric difference of bipartitions |
| Weighted RF | --metric weighted |
float | Branch-length-weighted bipartition difference |
| Kuhner–Felsenstein | --metric kf |
float | Euclidean distance on branch lengths |
✨ Why rapidtrees?
- 🦀 Rust core — splits as 128-bit fingerprints, compared as
u32IDs in a cache-friendly layout - 🔀 Parallel by default — powered by
rayon, automatically scales across all cores - 🐍 Python bindings — drop into any Python/NumPy workflow via
PyO3 - 📦 No Rust toolchain required — pre-built wheels on PyPI for Linux, macOS, and Windows
- 🗜️ Gzip output — stream directly to
.tsv.gzwithout a separate compression step
🚀 Performance
Benchmarked on a ZIKA dataset (283 taxa · 4 000 trees · ~8 M comparisons) (non-gzipped output):
| Metric | Total time | Throughput |
|---|---|---|
| Robinson-Foulds | ~2.7 s | ~3.0 M comparisons/sec |
| Weighted RF | ~3.4 s | ~2.3 M comparisons/sec |
| Kuhner-Felsenstein | ~3.3 s | ~2.3 M comparisons/sec |
🔧 Installing
🐍 Python (PyPI) — recommended
Pre-built wheels for Linux, macOS, and Windows. No Rust toolchain needed.
pip install rapidtrees
🦀 CLI (crates.io)
Install the standalone command-line binary. Requires the Rust toolchain.
cargo install rapidtrees
🎛️ Tuning the kernels
Every metric keeps a dense column only for splits held by a large enough share of the trees, and gives the rarer ones posting lists. The defaults were tuned on simulated posteriors. RAPIDTREES_RF_DENSE_SHARE (default 0.03) and RAPIDTREES_WEIGHTED_DENSE_SHARE (default 0.25) override them, for re-tuning on other data or hardware. They change the speed only, never a distance.
🛠️ From source
Prerequisites
- Rust toolchain — for building the Rust core
- pixi — for managing Python and R dependencies
Setup
git clone https://github.com/Joon-Klaps/rapidtrees.git
cd rapidtrees
# Set up environment — installs Python, R (with phangorn), and builds the package
pixi install
Development tasks
# Run Python API tests (includes R/phangorn cross-validation)
pixi run test-python
# Run Rust unit tests
pixi run test-rust
💻 Usage
rapidtrees \
--input <path/to/file.trees> \
--output <path/to/output.tsv[.gz]> \
[--burnin-trees <N>] \
[--burnin-states <STATE>] \
[--use-real-taxa] \
[--metric rf|weighted|kf] \
[-q|--quiet]
| Flag | Description |
|---|---|
-i, --input <INPUT> |
Path to a NEXUS .trees or plain Newick file (auto-detected) |
-o, --output <OUTPUT> |
Output path. Use .gz suffix for gzip compression; - for stdout |
-t, --burnin-trees <N> |
Drop the first N trees (default: 0) |
-s, --burnin-states <STATE> |
Keep only trees with STATE > STATE (default: 0) |
--use-real-taxa |
Map numeric taxon IDs via the TRANSLATE block |
--metric <rf|weighted|kf> |
Distance metric (default: rf) |
-q, --quiet |
Suppress progress messages (errors still go to stderr) |
Input formats. --input takes either a NEXUS/BEAST trees file or a plain Newick file with one tree per line; the format is sniffed from the contents, not the extension. Newick files name nothing, carry no TRANSLATE block and no STATE_ labels, so their trees are named after the line they start on, and --burnin-states / --use-real-taxa have nothing to act on (--burnin-trees still works).
The output is a square TSV matrix where both the header row and first column contain tree names: <file_basename>_<tree_name> for NEXUS (e.g. hiv1_STATE_10000) and <file_basename>_line<n> for Newick (e.g. hiv1_line3). Use -o - to write to stdout for easy piping.
💡 Examples
Compute RF matrix → gzipped file
rapidtrees \
-i tests/data/hiv1.trees \
-o out/hiv1_rf.tsv.gz \
--metric rf
# Reading in beast 0.003s
# Read in 162 taxons for 21 trees
# Creating tree bit snapshots 0.002s
# Determining distances using RF for 210 combinations
# Determining distances using RF 0.000s
# Writing to output 0.000s
Apply burn-in by tree count
rapidtrees \
-i tests/data/hiv1.trees \
-o out/hiv1_rf.tsv \
-t 2
# Reading in beast 0.003s
# Read in 162 taxons for 19 trees
# Creating tree bit snapshots 0.001s
# Determining distances using RF for 171 combinations
# Determining distances using RF 0.000s
# Writing to output 0.000s
🐍 Python API
rapidtrees exposes four functions from its Rust core. All accept a Python iterator of newick strings, keeping memory constant regardless of tree count.
| Function | Returns |
|---|---|
pairwise_rf_from_newick_iter |
(names, bytes) — RF matrix as flat uint32 bytes, row-major |
pairwise_rf_with_snapshots_from_newick_iter |
(names, bytes, leaf_names, n_bip, bytes, bytes) — RF matrix + presence matrix + clade bitmasks |
pairwise_wrf_from_newick_iter |
(names, list[float]) — Weighted RF, flat row-major |
pairwise_wrf_with_snapshots_from_newick_iter |
(names, bytes, leaf_names, n_bip, bytes, bytes) — wRF matrix + branch-length matrix + clade bitmasks |
pairwise_kf_from_newick_iter |
(names, list[float]) — Kuhner-Felsenstein, flat row-major |
pairwise_kf_with_snapshots_from_newick_iter |
(names, bytes, leaf_names, n_bip, bytes, bytes) — KF matrix + branch-length matrix + clade bitmasks |
import rapidtrees as rtd
import numpy as np
trees = [
"(A:0.1,(B:0.1,C:0.1):0.1);",
"(A:0.1,(C:0.1,B:0.1):0.1);",
"((A:0.1,B:0.1):0.1,C:0.1);",
]
names = ["t1", "t2", "t3"]
tree_names, rf_bytes = rtd.pairwise_rf_from_newick_iter(
names, iter(trees), [{}], [0, 0, 0]
)
rf = np.frombuffer(rf_bytes, dtype=np.uint32).reshape(len(tree_names), -1)
For BEAST .trees files, translate maps, the snapshot API, and multi-file usage see docs/python-api.md.
📦 Presence Matrix
Alongside a distance matrix, rapidtrees can hand back the presence matrix: which bipartition appears in which tree. That is everything the convergence diagnostics need (ESS, ASDSF, split frequencies), and it comes out of the same single parse as the distances.
Splits are identified by a 128-bit fingerprint, not by comparing leaf sets — that is what keeps building a tree linear in its taxon count rather than quadratic. Two distinct splits are merged if their fingerprints collide, with probability about
e²/2¹²⁹foredistinct splits in the run:1.5 × 10⁻²³at a hundred million splits, some nineteen orders of magnitude below the rate at which the machine's own RAM flips a bit unnoticed. Every run prints its owneand bound.
Bipartition column order is deterministic: columns are sorted in ascending Bitset order (lexicographic over u64 words, i.e. by leaf-index bit pattern), so the same tree set always produces the same column indices regardless of parse order.
What the presence matrix gives you
The presence matrix is sufficient for all major convergence diagnostics:
| Diagnostic | What you need |
|---|---|
| Pseudo ESS | presence.mean(axis=0) per chain |
| ASDSF | Per-chain split frequencies |
| Fréchet ESS | RF distances via XOR of rows |
| WRF / KF distances | Branch lengths — use pairwise_wrf_with_snapshots_from_newick_iter or pairwise_kf_with_snapshots_from_newick_iter |
Note: sum(presence[i] XOR presence[j]) == RF(tree_i, tree_j) exactly.
Presence matrix from Python
Use pairwise_rf_with_snapshots_from_newick_iter to get the presence matrix
alongside the RF distances, from one parse — see the
Python API section above.
import rapidtrees as rtd
import numpy as np
import math
tree_names, rf_bytes, leaf_names, n_bip, pres_bytes, bip_clade_bytes = (
rtd.pairwise_rf_with_snapshots_from_newick_iter(
names, iter(newicks), translate_maps, map_indices
)
)
n = len(tree_names)
presence = np.frombuffer(pres_bytes, dtype=np.uint8).reshape(n, n_bip).copy()
# Global split frequencies (for Pseudo ESS / ASDSF)
global_freq = presence.mean(axis=0)
# RF distance between any two trees — no recomputation needed
rf_01 = int((presence[0].astype(int) ^ presence[1].astype(int)).sum())
# Named presence matrix — decode clade bitmasks for column labels
bytes_per_bip = math.ceil(len(leaf_names) / 8)
bip_arr = np.frombuffer(bip_clade_bytes, dtype=np.uint8).reshape(n_bip, bytes_per_bip)
bip_bool = np.unpackbits(bip_arr, axis=1, bitorder="little")[:, :len(leaf_names)]
col_labels = ["|".join(leaf_names[i] for i in np.where(bip_bool[j])[0]) for j in range(n_bip)]
import pandas as pd
df = pd.DataFrame(presence, index=tree_names, columns=col_labels)
⏱️ Benchmarks
Benchmarks were run on a MacBook Pro M1. Trees are parsed once and their interned split IDs are reused across all pairwise comparisons. Parallelism is provided by rayon — no manual thread management needed.
Show full benchmark table
Output of
cargo bench --bench memory_time_benchmark
| Taxa (N) | Trees (T) | Combinations | Est. Memory | Actual Memory | Wall Time | CPU Time |
|---|---|---|---|---|---|---|
| 10 | 100 | 5.0K | 13.96 KB | 17.87 KB | 172.29 µs | 733.00 µs |
| 10 | 1000 | 500.0K | 139.65 KB | 168.95 KB | 5.94 ms | 12.99 ms |
| 10 | 10000 | 50.0M | 1.36 MB | 1.64 MB | 717.43 ms | 1.36 s |
| 10 | 100000 | 5.0B | 13.64 MB | 16.40 MB | 3.53 min | 4.04 min |
| 100 | 100 | 5.0K | 133.59 KB | 136.09 KB | 244.42 µs | 1.75 ms |
| 100 | 1000 | 500.0K | 1.30 MB | 1.21 MB | 17.49 ms | 50.99 ms |
| 100 | 10000 | 50.0M | 13.05 MB | 11.95 MB | 1.08 s | 4.81 s |
| 100 | 100000 | 5.0B | 130.46 MB | 119.41 MB | 4.29 min | 9.86 min |
| 500 | 100 | 5.0K | 706.84 KB | 713.93 KB | 2.02 ms | 3.08 ms |
| 500 | 1000 | 500.0K | 6.90 MB | 5.89 MB | 27.77 ms | 216.87 ms |
| 500 | 10000 | 50.0M | 69.03 MB | 57.84 MB | 2.82 s | 21.30 s |
| 500 | 100000 | 5.0B | 690.27 MB | 577.28 MB | 7.44 min | 37.13 min |
| 1000 | 100 | 5.0K | 1.50 MB | 1.51 MB | 873.75 µs | 5.63 ms |
| 1000 | 1000 | 500.0K | 15.03 MB | 11.86 MB | 51.22 ms | 420.94 ms |
| 1000 | 10000 | 50.0M | 150.32 MB | 115.30 MB | 5.12 s | 42.92 s |
| 1000 | 100000 | 5.0B | 1.47 GB | 1.12 GB | 11.26 min | 74.74 min |
| 2000 | 100 | 5.0K | 3.50 MB | 3.51 MB | 1.14 ms | 9.92 ms |
| 2000 | 1000 | 500.0K | 35.01 MB | 24.15 MB | 93.73 ms | 838.01 ms |
| 2000 | 10000 | 50.0M | 350.06 MB | 230.59 MB | 9.42 s | 1.38 min |
| 2000 | 100000 | 5.0B | 3.42 GB | 2.24 GB | 18.57 min | 141.11 min |
| 5000 | 100 | 5.0K | 14.30 MB | 12.43 MB | 61.36 ms | 83.85 ms |
| 5000 | 1000 | 500.0K | 143.02 MB | 63.97 MB | 224.40 ms | 2.09 s |
| 5000 | 10000 | 50.0M | 1.40 GB | 579.40 MB | 22.45 s | 3.44 min |
Note: Weighted RF and KF produce floating-point matrices; RF produces integer matrices.
🔍 Troubleshooting
- No trees parsed? Verify the input is a valid NEXUS
.treesor Newick file and adjust--burnin-*settings. - Piping to other tools? Use
-qto suppress timing messages on stdout. - Gzipped output not working? Ensure the output filename ends with
.gz.
⚖️ License
rapidtrees is provided under the MIT License.
Release files for rapidtrees 0.10.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 | |
|---|---|---|---|
| rapidtrees-0.10.0.tar.gz | 177.4 kB | Details |
Built distributions (wheels)
Total release size: 12.3 MB
Release files / rapidtrees-0.10.0.tar.gz
| Download URL | rapidtrees-0.10.0.tar.gz |
|---|---|
| Size | 177.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d93a2f8a573016f9fddb389c1cbe9552dddb958016b2dad6adb93fd65c308115
|
|
BLAKE2b-256 checksum How to use checksums |
f2d4375109ddda5e7c00d29e9db7e8a0fc2dbc469ed62dc7825ffeb9424ba2af
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rapidtrees-0.10.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 466.4 kB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
fab0f48b7faffa50870357b5d3283a6be5ffad2bf6fed8210fd6929a3a8eee7e
|
|
BLAKE2b-256 checksum How to use checksums |
7fc460f1720fcacc4009bb43c746dce87f5965c44fb2f5f0d0a4854b217ef8f6
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rapidtrees-0.10.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 462.1 kB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
2b2c4adc1e78687aeaf5654d26f9e172bd85af56bbac9c7fffb37e165639e3b6
|
|
BLAKE2b-256 checksum How to use checksums |
bf774156b3d28f12d6a52377fa43172f41bb5bfebbc70ab312328bc59ea9e47f
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 462.9 kB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
8618d7bf577ab2b44b07fdf3945709aeb9074b72a6539cf9084a3531a1340fad
|
|
BLAKE2b-256 checksum How to use checksums |
d6c76fe20550ea3d62c5f93cd1278dd57d774f8bf28f4d34fcc682c27de0757f
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 461.7 kB |
| Tags | CPython 3.15 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
8bca2e87002ddb33581db4777a5fd92133150722060c7db735962b61f0024eb4
|
|
BLAKE2b-256 checksum How to use checksums |
463b974f72ee511c67b5a2677ce092915e7ac04b6758657afc9b2dab02906da7
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 462.5 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
314a7f13f118e75ce3dd80ab8f5d0e1b68cd56bb1f4001e906064761ba97fd37
|
|
BLAKE2b-256 checksum How to use checksums |
058f7c5b9dabc421bd971de225b7057e979cb2f7dc0a4f9d9df7899a7717f560
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rapidtrees-0.10.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 455.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
a9c754a3a161a973eebf4a4f9c7a524f3698656bdc3a1eaccd2310ec369a30c5
|
|
BLAKE2b-256 checksum How to use checksums |
48eac65df8e5338a653fa8773da691304132114d1f64f9e02de50820752df388
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp314-cp314-win_amd64.whl
| Download URL | rapidtrees-0.10.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 290.0 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
874360f3c16e9583b61937cae1d9e20e89bf3530289f78082ececf56fb363687
|
|
BLAKE2b-256 checksum How to use checksums |
23c82453a19d25000cdcce63302c840f15e949b0f41008740fd84e26c598576e
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 461.3 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ad990651a30eeb43ce7378208baeddfe445d3c26110ace54884ef21462f2a52e
|
|
BLAKE2b-256 checksum How to use checksums |
52d1067a084686e9856e29dbdad70db06561a28e1599b25a4a4b55df727516f5
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rapidtrees-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 455.7 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
8938b95703a05493a416647410fbd2949d5051d0838b240e41e27360f3328213
|
|
BLAKE2b-256 checksum How to use checksums |
b4daaf73485ae580841c5db2e0845e09c77acc060c0f1c314aff75271200e1b6
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | rapidtrees-0.10.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 406.2 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
27107f10afe9cb991c4cba8105c6b2dc1a0d85531c9b19508a7e56d1560d2e6b
|
|
BLAKE2b-256 checksum How to use checksums |
51d4cde040542172f7aafb569e29802fade75b2870dc1b8a1796f5eeb6f56acf
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp314-cp314-macosx_10_12_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp314-cp314-macosx_10_12_x86_64.whl |
|---|---|
| Size | 413.9 kB |
| Tags | CPython 3.14 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
d9503aee7b6edd1507f0197cc3ff470c3eb5249c915479bc5743fbd04f061800
|
|
BLAKE2b-256 checksum How to use checksums |
211264b20684cd8b4f4062a2914a1d13474f5a4383166c5b441c6194e6941a00
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp313-cp313-win_amd64.whl
| Download URL | rapidtrees-0.10.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 289.6 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4aeb330e7c8e15672b3837d3ada66f75618863be2574e6876e1d2071fc051a8f
|
|
BLAKE2b-256 checksum How to use checksums |
ec14ae7994e9fb2d383a9d0041135a19de9df8fda1f32e13182cb3f792835964
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 460.8 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
8b11ea43ced5b5a3145242494f50e38378e31796750edbd5eb0de77f30458775
|
|
BLAKE2b-256 checksum How to use checksums |
6658d87795620f1abfbf3b45bfaf91f32798a0764770c31c1fb3c8f80f1e8b56
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rapidtrees-0.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 455.4 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
6890069f52b33a25ec52d0252b7acdef8d9b06cb79a78c0c4814e91796f72ef0
|
|
BLAKE2b-256 checksum How to use checksums |
5e434d21955bbc9de56a74226262aec1a771981825068ec9922ec338e2c8f40e
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | rapidtrees-0.10.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 404.3 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6e7f225239245cf22b1ef252b1ea47c0093b47839692a0063563e7b036c5f20c
|
|
BLAKE2b-256 checksum How to use checksums |
4c5077089666e5eee44b002a7b209fc9748175d573265dcd28ad1316bf4297be
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp313-cp313-macosx_10_12_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp313-cp313-macosx_10_12_x86_64.whl |
|---|---|
| Size | 411.9 kB |
| Tags | CPython 3.13 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
104f567f9183151904f3614929a3fbfbfbc64ca17d509544a5180475c56743db
|
|
BLAKE2b-256 checksum How to use checksums |
e8dd26a6afabfd4d02a7b8818ec91ce7a76cf7566f27c27da5388ad768692939
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp312-cp312-win_amd64.whl
| Download URL | rapidtrees-0.10.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 290.4 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
beb951a95f8eba48d4441e1e59d2a7fadd1a4b52ccb59afd8519bc8d84048b9b
|
|
BLAKE2b-256 checksum How to use checksums |
e572c102426f0bcb1a5e721550753bdeafb66890c1cc9976dc7413ba20acf503
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 460.9 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
59917de800927be662f867914425e8fd178fc3d72d078a72b61575f3aea7f6d0
|
|
BLAKE2b-256 checksum How to use checksums |
43f1931344723727d78fb9bfd1f121116adb988e6ce6cdb412a30c7807ec4bf3
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rapidtrees-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 455.3 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
bbcc83508b386df76c4cedeab6f973ae527a2e075f685975d224dc0c12eb4359
|
|
BLAKE2b-256 checksum How to use checksums |
2d204a0ec5161f83834395b620233144af7dc99894d9738ed26084f28c804f43
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | rapidtrees-0.10.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 405.6 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c88eec8798161f3bea0ac818590f57cb586fed75dc8bfd59f34bb89c707affbe
|
|
BLAKE2b-256 checksum How to use checksums |
016192d03df8a37f13cbdf626532fab1d7d864612a6d54bf9ce4b5726bef3c68
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 412.9 kB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
2ab4a05e0b21151443c07d16114db85cc9d5ce9b6c72cdc06d9299b1ef2a3849
|
|
BLAKE2b-256 checksum How to use checksums |
aedb66f4ac66acf998678aea1a36d15d591084616086b3e16e435fd642fc874c
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp311-cp311-win_amd64.whl
| Download URL | rapidtrees-0.10.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 293.8 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6a74d96e3dfe0ea2fdd1ea683af7bc6a546555f7827b7ac976d70c4d5fc4514e
|
|
BLAKE2b-256 checksum How to use checksums |
5645e33275a87b83b64dd0b85d0626f28e118f5a9e282b7612f7117b009963d0
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 466.0 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
134650e37af6ef61cef3dcc7965d35e204fd31dfbbb23df22e2cecbf4c129fc2
|
|
BLAKE2b-256 checksum How to use checksums |
4421b3803217f94802d898ae46a3e6e2dc8cfb099d8559e1bd4b9110722c7225
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rapidtrees-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 460.8 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
008a689cd6a11324477627727c2fc5badf025ce0650d06ac4d9b73c100e530b0
|
|
BLAKE2b-256 checksum How to use checksums |
f475c116515f89cb16cc1e6ebc06ec01945fba98759fb933897c38dc0c51e677
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | rapidtrees-0.10.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 410.4 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e37ebbd63cd94a03a71b71e8918b3c3bf0017fcfb445ceda4e542ce9e6e26e54
|
|
BLAKE2b-256 checksum How to use checksums |
557d8303217b6e81fd06c12b502c4aca3ed4cd92943b26a4f4298930c9f5e0c1
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 412.7 kB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
4b57a1bdd008a2e2cf311856bb600cea4d72480f348bfa5b493c91f56236f9a1
|
|
BLAKE2b-256 checksum How to use checksums |
651f68c1cf3749f4f9498767053b51741b76947a19e0682f0d4b9b880ddf6ffb
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp310-cp310-win_amd64.whl
| Download URL | rapidtrees-0.10.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 293.7 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
15a58e06e7063e36dbf63bf94712437dad76da7e6544f5498d699eda4b531c8a
|
|
BLAKE2b-256 checksum How to use checksums |
5ad46b0eca6fdf42d3c81bb694272f72ff8c0ba640fde90d0f366a3766f33fc0
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | rapidtrees-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 465.8 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
d084a76a563873b53778abb89a95f8ef6e765375a0d1daa5fcf361f4125742dc
|
|
BLAKE2b-256 checksum How to use checksums |
e6591660121eb33bfbb343ba014e2bbf943d007e4eaf3e5a4da3c7c3f537a7f8
|
| 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 Sep 24, 2026.
Transparency logRelease files / rapidtrees-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | rapidtrees-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 460.6 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
3e9d226802326563c346cb0e70a690f34c209e1760c6eba201381348865e7d01
|
|
BLAKE2b-256 checksum How to use checksums |
cc646a6325febf87c000df200c4aec90c75da0a2a3d5d288f9b877cbf844d053
|
| 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 Sep 24, 2026.
Transparency log