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 or from 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 BEAST .trees (NEXUS) file
--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)

The output is a square TSV matrix where both the header row and first column contain tree names formatted as <file_basename>_tree_STATE<state>. 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 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.0.tar.gz (153.9 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.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (543.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

rapidtrees-0.8.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (482.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rapidtrees-0.8.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (539.7 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

rapidtrees-0.8.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (476.5 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

rapidtrees-0.8.0-cp314-cp314-win_amd64.whl (305.3 kB view details)

Uploaded CPython 3.14Windows x86-64

rapidtrees-0.8.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (541.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (478.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.0-cp314-cp314-macosx_11_0_arm64.whl (426.4 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rapidtrees-0.8.0-cp314-cp314-macosx_10_12_x86_64.whl (435.9 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rapidtrees-0.8.0-cp313-cp313-win_amd64.whl (304.9 kB view details)

Uploaded CPython 3.13Windows x86-64

rapidtrees-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (540.8 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (478.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.0-cp313-cp313-macosx_11_0_arm64.whl (426.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rapidtrees-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl (435.6 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rapidtrees-0.8.0-cp312-cp312-win_amd64.whl (305.1 kB view details)

Uploaded CPython 3.12Windows x86-64

rapidtrees-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (541.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (478.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.0-cp312-cp312-macosx_11_0_arm64.whl (427.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rapidtrees-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl (436.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rapidtrees-0.8.0-cp311-cp311-win_amd64.whl (306.0 kB view details)

Uploaded CPython 3.11Windows x86-64

rapidtrees-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (544.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (479.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.0-cp311-cp311-macosx_11_0_arm64.whl (429.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rapidtrees-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl (437.3 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rapidtrees-0.8.0-cp310-cp310-win_amd64.whl (306.0 kB view details)

Uploaded CPython 3.10Windows x86-64

rapidtrees-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (544.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (479.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

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

File metadata

  • Download URL: rapidtrees-0.8.0.tar.gz
  • Upload date:
  • Size: 153.9 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.0.tar.gz
Algorithm Hash digest
SHA256 2cb665928db775c8c7b60bf498ac120aa04220c4545e72c92d7f6dfb30ec8f1d
MD5 50fb1e50c192030f514cdab6b025184d
BLAKE2b-256 02f561706a02ac3995892334a1929b431140c48ace5bd45a664f1779173a3144

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0.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.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62e966e403231fb1cd839f912b68b9d02a39071cc0e567dc447675c5c98edee1
MD5 297b4f42b9963697d39c91d419ca434d
BLAKE2b-256 0c5e889afb5cddef44d864e98aa1bcd701a4fb7916507f110d5cf2d3745f205f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7f8c458aaf5239a91c08e66d11995d54ae1b7f89900141d97cf914a1fa044e66
MD5 031107db632f445507f01bd5ef6cc667
BLAKE2b-256 2755a9e4b1c5357fd42c8fa5bbe3cc59000bedfd224cb0c16650629e4de155dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f691ea433b2c99130ebb648fc088e9e4bcd7095bb6b068f95634cf71a9c5b77
MD5 950d1158c928432c0c07c0f1136f70eb
BLAKE2b-256 81783f6df4e3878dbc77e065849d6ba3b2dd841f3f12762c124165e8921101d4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 63716f266a22e4ab454a132d7db5fdb472cdef5a2e1c6043fc9bb3f9293fad1d
MD5 55316f3492045922d2113e56a3e520c9
BLAKE2b-256 51e449d77c989658118a4e905bd31d647a01617c5f6529c9abd74b0a43e56fde

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: rapidtrees-0.8.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 305.3 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.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b5bad23a8487f284a3ba9073a1054b97d961cac650bfc65340d803652c11cb23
MD5 ff27f870a6ca264ccfb1ada44cfe33e1
BLAKE2b-256 09bf43fa74047dc80439fcab90ac058aa4d89616ad0342c6cd46e193ba0bec14

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5cf1156a1ab30cc025b9042e2b67923b32e97b722dc2d19a71cd034691e912d7
MD5 86018521c6a3429987b2774ac5a439d7
BLAKE2b-256 fa0a411016197376ccbf678fdd33556a9c28e8c0f0f0dcd3814c1586d6ea1015

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 99c24e3add2dd3c22a02e8e48eadfad1acb6190b7370f16e9a158e237fd4179a
MD5 0d4588ce40c71bb69910fe7ec1bb5a21
BLAKE2b-256 025f107a7422168a04576455810bc05d48d6544833429540278c60551ab1dc2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3f818e1412f01353f49c0628d041c2633fc4cbca877007639a2079353bcc1106
MD5 6a9a0a7a5e0a653c1cce4754852dff1f
BLAKE2b-256 45e115558732d26b60732898cc84c4f4aa6a7582e34b90beb01b517c3c81b36b

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f0f42dd656fed9ff99bcf544315589442e2cc1365aee6279f7f91fdad276536f
MD5 6b0a6a7980cd90a7f11319b5fd5ff2c4
BLAKE2b-256 4887ba881c114396b04d3ef50b00eabb4819a84c4c55cdd772c09f9c985ec291

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: rapidtrees-0.8.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 304.9 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.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 0759bf28bb571cdb35c093f3ab50cd442d737ce4bf8f6a4fd0d64f02ee28b8b0
MD5 525f917782ca71569bb3b36bd2491286
BLAKE2b-256 f6629a9e6d0c8512c780f106d2caa720158ecdf4335d2cf2c4d2b3afa07a4756

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c99068bcfa456df95b1ab8664f9810556da8bf4b4584f57d5c28491c6b0bfb4
MD5 9ce40dbac7e9d3e22a94cb8d80126f8e
BLAKE2b-256 734bba9fb035217544e5874756f5589aac8f824425be0fe265cfad0d07a2b6de

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b7a8a0812420de3aef70e9e3a5d06484527f1eb6a236bedbef7c204b0e2525f8
MD5 11726f2acf3b53670bfeab5be8797890
BLAKE2b-256 963c23da02f34288417b10e096159868ad61f581ae89044ddd825ea07395b783

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e961797ebd6df86b661a30ee4d75b2687666f7efed8b0c85a6353b8e49c221b7
MD5 b1f1c7e126fe742093698c7c74297b0c
BLAKE2b-256 7ed4bfb739d5fc7dfc92b8e1b605f767e423fdc08731d1bf956db570dadc22bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dc83c4609008f23517b193242cb1ac69e71ce7e3fd5ef8b96933abedf646e464
MD5 dd57e1679208ca7aad2db74ed4d88347
BLAKE2b-256 a21ab6a9cd2961397508315bb868303a059838553e6c676013f74ebf67780be0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: rapidtrees-0.8.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 305.1 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.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 75a47245b07e6ed32d80a04ec699312904e98cb75c607bd6513dd48acb7fe208
MD5 3e0f331a7dbbbe45cad680a835b9d305
BLAKE2b-256 0eaf6c1f8a7ecd75636459029c623ec4adca26f98d0fab686d60fb833b4cc325

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be238e30cbc7498b7a6f4e08b674fe5412fc1462dc88aa5f92f3e0ddbc04fd55
MD5 c67b5876bb889d4c6cd3fdb88adc72ab
BLAKE2b-256 3f4e496021be3b2ba0f800237eb3b38c67243e7a754b24a7c3df15cb0d304cef

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ce1c47c57e613ce8dbdbfafddb6f8cc3e0db059e63bbf1302c51b7565b50c802
MD5 8a11ad6ce5ec094b0f703ef9d9116919
BLAKE2b-256 876da4ceb61e0db293b42245eca584f3eac31c01a3e0a2afed84b0b252c5f189

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 02427fa04b29426700672eb75c53f67c678d69005f57cfa6747486539e76a52b
MD5 0d6250d64c842a5c651b1b69c6ec35f3
BLAKE2b-256 96a02d8fff47d5e5e1e4734166042db0637b4ee7d826215dfd35e943df3ed7b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c45b6c41a8bf6c05b28c70eac53a7cd31e7984917402be96482e42f16fe22b96
MD5 f82349780d5b2101aff4a403dbb16bdb
BLAKE2b-256 b023a705b0ba5498e457848d78bb37ef9d9965088ff17fbcbbaf0355cb61667a

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: rapidtrees-0.8.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 306.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.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 038b2bb4e3325ccf460721c55b0e4062d7048d407c039792125264e2899fd49e
MD5 091c5fbbd375c7a01aecff6d7897c034
BLAKE2b-256 9584c3b017882cc14c343fb9e07ac615312b6c7cba7006feadf10bb5b6ed68e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e78a71577e0c8f591b53085d01a67eec813138526c60c2857252992ac119c71f
MD5 3382af9e42df9efdd60aed662c1f8558
BLAKE2b-256 c26d13609b534346f2fd166c2ae85dd8378bcd8c7280609c7e5298cdb48bcc93

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a944058b8d8c3030c0680ebeaa661d8ef38f542c9d0ccb52f05befd9a0e5a4b9
MD5 cd20b0b390027dc19d42bc863c5fd43d
BLAKE2b-256 498784eac0a192e949f45d3fecda50f072e625bd064c0b39631362683df276fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc6db4a481ff22303b3f9ff2eb17ad9039345f952e7abf70695453dd1d791e7e
MD5 74c0c54564888dca25065e59bc99b0bf
BLAKE2b-256 edcc4165378ead6ba9472c9b3c8f20b86520e67a6c12a207ac53108d2cc0d818

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fa7d42559182d0a3c338b04bcc149c56cb641c6e78f7901ba450855800164879
MD5 63e4d791ac28ebe9eb0ae11456b865e4
BLAKE2b-256 7e747902d39565bb08f79d714bc87c1a8927c912cccb70f102dc6eacb9b380d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: rapidtrees-0.8.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 306.0 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.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8e9d8ba1ca5d12da32b10d16b12f25dcea4982cea699aaf68f9118ac10f88c34
MD5 04c4f3f34ce0580317acbd95761ec5bd
BLAKE2b-256 f260e8fff80607c4cdfa43a8f4774d93a9009f7e201669462462fdf1bd3ca15e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78853fcefc9941171f3d990f5d0c924fc325f1a96de7fb30c97790696010126a
MD5 8c9ac9a98aa2a804f13f156e693e2291
BLAKE2b-256 671d97dbaf851cb145dd995d0ba0183b1ff316af6fad3a2ef7021d3fdbcd69d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rapidtrees-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a0d928eabd7d446bb33fb64c83db12d9dc082e9c687683a38f98ab3be67567fb
MD5 f11e05b278e1ce478a5ee6ff741fbebf
BLAKE2b-256 82099f8c080c26b3c041051bfa8fc9f4f3f1682f69e55f4f7674ddb813378dc3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rapidtrees-0.8.0-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

0.8.3

30 files

0.8.2

30 files

0.8.1

28 files

This release

0.8.0 This release

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