Skip to main content

🌲⚡ rapidtrees

Blazingly fast pairwise phylogenetic tree distance calculations — Robinson–Foulds, Weighted RF, and Kuhner–Felsenstein — powered by Rust

Crates.io PyPI CI Coverage License: MIT

OverviewInstallingUsagePython APISnap FormatBenchmarks


🗺️ Overview

rapidtrees computes pairwise tree distances from BEAST/NEXUS .trees files, plain multi-tree Newick files, or precomputed .snap 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 — zero-overhead bitset operations with a cache-friendly memory 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.gz without 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

🛠️ 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> | --snap-input <path/to/file.snap>) \
  --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)
--snap-input <SNAP_INPUT> Path to .snap file (currently supports only --metric rf)
-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
Compute RF matrix directly from a snapshot file
rapidtrees \
  --snap-input out/hiv1.snap \
  -o out/hiv1_rf_from_snap.tsv.gz \
  --metric rf

# Read snap with 21 trees and 2193 bipartitions in 0.001s
# Determined distances using RF in 0.000s
# Writing to out/hiv1_rf_from_snap.tsv.gz in 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.


📦 Snap Format

rapidtrees can export tree snapshots to a compressed binary .snap file for downstream analyses (ESS computation, ASDSF, convergence diagnostics) on HPC clusters without re-parsing the original .trees files. The CLI can also compute RF distance matrices directly from .snap files via --snap-input.

What is a snapshot?

A tree snapshot is a compact bitset representation of a phylogenetic tree. Each bipartition (split) is encoded as a bitset over leaf indices. The full set of snapshots for a tree collection captures everything needed for RF-family distance computations and convergence diagnostics — without storing the original Newick strings.

Note: Snapshots are not human-readable and are not intended for general interchange. They are an internal format optimized for fast distance calculations and cannot be convert to it's original newick-style format.

File layout

A .snap file is a gzip-compressed binary stream with the following sections in order:

┌─────────────────────────────────────────────────────┐
│  HEADER                                              │
│  4 bytes  magic        "SNAP" (0x534E4150)          │
│  1 byte   version      format version (currently 2) │
│  8 bytes  n_trees      u64 LE — number of trees     │
│  8 bytes  n_taxa       u64 LE — number of leaf taxa │
│  8 bytes  n_bip        u64 LE — number of unique    │
│                         bipartitions across all trees│
├─────────────────────────────────────────────────────┤
│  TAXA NAMES                                          │
│  For each of n_taxa:                                 │
│    4 bytes  length     u32 LE — byte length of name │
│    N bytes  name       UTF-8 string                  │
├─────────────────────────────────────────────────────┤
│  TREE NAMES                                          │
│  For each of n_trees:                                │
│    4 bytes  length     u32 LE — byte length of name │
│    N bytes  name       UTF-8 string                  │
├─────────────────────────────────────────────────────┤
│  PRESENCE MATRIX                                     │
│  n_trees × n_bip bytes, row-major uint8             │
│  presence[i][j] = 1 if bipartition j is in tree i  │
│                   0 otherwise                        │
└─────────────────────────────────────────────────────┘

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

Snap files are written and read by the CLI only. From Python, use pairwise_rf_with_snapshots_from_newick_iter to obtain the same presence matrix in memory without writing a file — 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 bitset snapshots 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 .trees or Newick file and adjust --burnin-* settings.
  • Piping to other tools? Use -q to suppress timing messages on stdout.
  • Gzipped output not working? Ensure the output filename ends with .gz.

⚖️ License

rapidtrees is provided under the MIT License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rapidtrees-0.8.3.tar.gz (158.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rapidtrees-0.8.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.7 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

rapidtrees-0.8.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (480.0 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rapidtrees-0.8.3-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (539.1 kB view details)

Uploaded CPython 3.15tmanylinux: glibc 2.17+ x86-64

rapidtrees-0.8.3-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (538.3 kB view details)

Uploaded CPython 3.15manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (539.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

rapidtrees-0.8.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (476.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

rapidtrees-0.8.3-cp314-cp314-win_amd64.whl (300.9 kB view details)

Uploaded CPython 3.14Windows x86-64

rapidtrees-0.8.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (537.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (474.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.3-cp314-cp314-macosx_11_0_arm64.whl (422.9 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rapidtrees-0.8.3-cp314-cp314-macosx_10_12_x86_64.whl (431.5 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rapidtrees-0.8.3-cp313-cp313-win_amd64.whl (300.3 kB view details)

Uploaded CPython 3.13Windows x86-64

rapidtrees-0.8.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (537.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (474.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.3-cp313-cp313-macosx_11_0_arm64.whl (421.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rapidtrees-0.8.3-cp313-cp313-macosx_10_12_x86_64.whl (430.9 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rapidtrees-0.8.3-cp312-cp312-win_amd64.whl (301.2 kB view details)

Uploaded CPython 3.12Windows x86-64

rapidtrees-0.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (537.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (475.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.3-cp312-cp312-macosx_11_0_arm64.whl (421.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rapidtrees-0.8.3-cp312-cp312-macosx_10_12_x86_64.whl (431.1 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rapidtrees-0.8.3-cp311-cp311-win_amd64.whl (304.0 kB view details)

Uploaded CPython 3.11Windows x86-64

rapidtrees-0.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (541.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (476.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.3-cp311-cp311-macosx_11_0_arm64.whl (426.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rapidtrees-0.8.3-cp311-cp311-macosx_10_12_x86_64.whl (430.6 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rapidtrees-0.8.3-cp310-cp310-win_amd64.whl (303.9 kB view details)

Uploaded CPython 3.10Windows x86-64

rapidtrees-0.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (541.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (478.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file rapidtrees-0.8.3.tar.gz.

File metadata

  • Download URL: rapidtrees-0.8.3.tar.gz
  • Upload date:
  • Size: 158.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rapidtrees-0.8.3.tar.gz
Algorithm Hash digest
SHA256 15defb8f408fe1079f1e0dd63c336184d4be4c0dff3ec9fc9476dc5c6ac335cd
MD5 d6a41d4895ef88a33660802a128bea62
BLAKE2b-256 e294f451888f740833d071a3332aa6acd8943829832544c3ca6c1d87e4a0671d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3.tar.gz:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 986f5dfe70f55e50c7a8a3b8dc990565490c9a2d8d68818ae5b6023c2d6cd6b9
MD5 665d00d33ffb2e2d969259fda20a980a
BLAKE2b-256 ea7ec7c2c95cf5a75154177b1229fceb92135ad8fec94d34f3728590452b0ce9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a89e644996da5390ebe5472648090281c544d0ab30fd1410859a6e5d2c77aa0a
MD5 d9be066dca685c25d2bec7b04cdbbc5a
BLAKE2b-256 c8d66fa95b0f909bf95066a33148183fe8b4937e3ef795caef1fb6607fe34502

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 89649b79115183a3b09df8fffeefa2f04e5ccaa1248f1fa2c90a7d0d3bae0281
MD5 dd321e5760ce89c2671dc16b1610b6e5
BLAKE2b-256 87193dfed0556bc844c9577f531748c22834577c30ebd853948e32a45662513b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a946a5a7434e8aa224cec1f68acbcb2e2f1788ae8aa93dfbc2b47f22dbfc3d0f
MD5 3d4cdaf838c4d89670b31cf517e21d66
BLAKE2b-256 dd2a70b670d7352eccc7057c7986f53f173ff372266ce10c9cfc1388087507e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0aff912cc9c33bcd1733b2a3cdde5d736b2a2eccf44bb43081e85ffc20eb899a
MD5 2663597e16f84f416fd6d649db4248a2
BLAKE2b-256 f2da92658fd7be1bbee084288661d71d0f5f1ab37a4f452aa14cb08ca3d2101b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ecfd24cb0608ce5e92a54921c6cbe6847df8f371ffbab24a4d72532b9dfc07c3
MD5 2004cecd4ba97b365dbe72b5a317581d
BLAKE2b-256 a048d67f3fb811ae0dab78555092172b1876e90a08bca3e736f1e7d8fddf6d5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: rapidtrees-0.8.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 300.9 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rapidtrees-0.8.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 f868846d8bb29309b6334f027959ebd663d0c68215458167737dc52d158d8041
MD5 2b387350223acc322bea6dcdeb6aa2ef
BLAKE2b-256 b7ab251934d93c781bd49816a65831e2c395b06c4185ceefc39e022b60601371

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp314-cp314-win_amd64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3131d51bdfd4168a266fc1aaaeef2e29bd36e5be52f9d46f3e21f7d2639726e
MD5 b868eeb7406cba04f9315f468e0c63fa
BLAKE2b-256 fd6f7604e9a8c21b9b33762511a944d393efaa19ac41e74221781d75d26261bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d023040b9c03441d78964bea7140c215e4008aa1b67f62e73d6e7c41eeb21dea
MD5 c986a363b67155536c70643608aa4293
BLAKE2b-256 ccdd86a5b5ca23c796ad7b604ce5148046fecc66694ae96385a17bea764d6a11

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0eafa0163c357ba542936d5fbe082439ca5b50340d5d2a2f9e6bfa67d69f35a4
MD5 feec1eae2a58f97bd0b479f2adbec480
BLAKE2b-256 9dd0208f239b3fee06966919c22d82e064c4a334d6714d9b3790266568dfb082

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5c72311c659f21d4c436bdf7de5f466750255a32b71e12c17cdbcd2b8e2d4d5c
MD5 8ae4a841c13a4d4b13f57fd8a552efcc
BLAKE2b-256 c4b62466305cb7a416b0affac53a9dde675ebb21cb5811a042bb4867bb4fd72b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rapidtrees-0.8.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 300.3 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rapidtrees-0.8.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 18a8e85c5cfbe244337263e854d996195a3ea7b3232c2fd499657f5aeec1e5bc
MD5 d76ef2b430f3911cafea44b2714cac77
BLAKE2b-256 7cb9ea8427151e4fb4a68ab11472af1c67bb655aff685c250fde130799daa150

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp313-cp313-win_amd64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 79b2b2a7ced4b1605fe3766489d1a2d68237488a49371c8d63c91e0de3737c9e
MD5 359c29021074dc24805d089775940542
BLAKE2b-256 48ce20bb132e9eb838e4fd64336781b268a72fd48109ece0643a9b01209ef413

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a4c3ad9e0e814ba662f0497022ea5af4c55cd119ada49ca6c583084862195c4
MD5 92a39b77175e68ede8fb62a7f4d843b1
BLAKE2b-256 126bf2d341b5ee88fb83d126a89713850fabe40601ea18d9f903c305176ac2f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ec6a035d0ee1aadec5556af7a957cf56e06b09ee86a5a4434a62f66a342466ca
MD5 7f1ce805993eb97d8a978a0ae1c3bc72
BLAKE2b-256 3a158580a8d5654a95fe143bff8ee3872e027665b1802925fbed3562fcfdc88e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 39b1348b958bf59e5b98f28a77ffcc845dbe57d082fb0a2f5570c09a15aef55c
MD5 208122a27a7c5f4bff11d1abbad2ed32
BLAKE2b-256 161daa3c249e8157fecb717bd0a0d77886be615be6c3d49cfb527b2c1b66f685

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rapidtrees-0.8.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 301.2 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rapidtrees-0.8.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1115b2bb4b546f062382665d4d4216ec7caec561f516b37ae26cce6980834051
MD5 315395fbbb84f863607fa5088fc5f9f7
BLAKE2b-256 15f0b7bb7745dac0d934ae4b000df77294fe3cbc13f0f4063ca0147a84395352

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp312-cp312-win_amd64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cf5dbebc6bff9a97dda3dc644cbc40b4d150c34ff5f1b03dde16e418337da642
MD5 b4dd8b245ea1302509416e03f7be670c
BLAKE2b-256 6ba6adfd112b3dcf4f463ccfb996827b6f98a3c53e1814ef992eeea62ec5c530

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1a61528384ad2e61158691481e9cb4d51a7a6db05e9d95fbde13d2884cd02ae
MD5 257a21d21fe4e0ded8c99c1fde3ea0a3
BLAKE2b-256 dc1a659c12bc99c8ce54c9c500bc5771b4627b076a5bef8e9ca8a89f5568dde3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b9e31edfded26fdc25b66d4305da79cb1435d40dec4cca1e0db41e4db5c6c392
MD5 3ddd50b96f5004670be133fcba9d47e2
BLAKE2b-256 6677e06c9b410f67489f055fe662267198d206600a3d65df07b7a000d7ddde57

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a80db2be6c677f17a74c68ee71e275ff86c3e69309bd7b068490d422ec585c57
MD5 7d2dfd5b4108f19d737d50a16730a76f
BLAKE2b-256 7fce8270ba97bbf9da4ab3c6c10a86fefb289dd4d69a41dc7f87dd7df7ab3195

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rapidtrees-0.8.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 304.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rapidtrees-0.8.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e99beb18969139a7dc510b91d12ddef532839111d06420956c4687a135ed7a8d
MD5 0907679915d484b8e24a232cdadbc922
BLAKE2b-256 5fcc342dce4da6fd44b95b5ae22e40f983c28129d11c7d515b1f6ab91d75348e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp311-cp311-win_amd64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8b22dcc9d5fd2aa2398b71295efed8ec080ad2af24f730b56da897a0a82b155c
MD5 c82b086bd5d3b0b236c0582fa48055dd
BLAKE2b-256 fa5768a5ebf8c8c99a6ca5e95fe9684a4a1ef01f444ba1393cecba50760ac0b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 823683d75601c7697f3459e3f56c5a1cb37c8d90e3c3cf7d2c4569809e30c202
MD5 9525b5a9fe6a29bdc23bcef94170aa13
BLAKE2b-256 e1c1e44b9ed52d49f498108ad3927f98fa39246c389fc59f06bf242fc7427eab

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 70a294b888d56efa1fb91e445f6c5fd5e3666b3816a22f31979fa162305f1194
MD5 f90e2a36d46e00d5dae4b53dd192e5d0
BLAKE2b-256 78dca36e82b12369b45a5603be24763d85a165928bc14d516b36618273034df2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 770fbcf5b8e3c1f023c5664df0ab389b912adddcff05247ed931138433037e73
MD5 192f97218f44d4db11fdd475d0bc163c
BLAKE2b-256 46b978614c3c64233a899dd32c1d6a23c40395acaa8c99be4975e28779265b74

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rapidtrees-0.8.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 303.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rapidtrees-0.8.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a49a7031731dc00c86ef4231b2942d05035cf8a697fe4413d33a89c2c5e5d367
MD5 d98aa1781fad80ebea1bdfd3b4717799
BLAKE2b-256 6bc6300400ac230cdbdfbbd0dc3217353e6c96d0cb450012ccc7112edb6de7a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp310-cp310-win_amd64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 233e714c02b1ffa5869d4b1a4bd3b6e51bfa7988bf7d6e2fa95043ffd62fce6e
MD5 128dac8e28a08113fa83d753ceee4279
BLAKE2b-256 8598e848f3fdba1c6b88a0982e210fcf89de3c0d0251d94cee9467141091fb7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rapidtrees-0.8.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a81511fe643f5da330b5933c6c5d6f971cec3900895d75791a67f19fea0d0854
MD5 ac16e640674f1300f79ac4a8fb8de4d1
BLAKE2b-256 7a629d6f7d21a08de74fbff6981b69ed56f6161c7161a2758a33f0f3a7f607d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-pypi.yml on Joon-Klaps/rapidtrees

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.9.0

30 files

This release

0.8.3 This release

30 files

0.8.2

30 files

0.8.1

28 files

0.8.0

28 files

0.7.1

28 files

0.7.0

28 files

0.6.0

28 files

0.5.1

28 files

0.5.0

28 files

0.4.0

28 files

0.3.0

30 files

0.2.3

30 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page