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.1.tar.gz (154.2 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.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (548.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

rapidtrees-0.8.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (485.6 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rapidtrees-0.8.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.6 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

rapidtrees-0.8.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (481.4 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.14Windows x86-64

rapidtrees-0.8.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (481.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.1-cp314-cp314-macosx_11_0_arm64.whl (427.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rapidtrees-0.8.1-cp314-cp314-macosx_10_12_x86_64.whl (435.4 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rapidtrees-0.8.1-cp313-cp313-win_amd64.whl (305.1 kB view details)

Uploaded CPython 3.13Windows x86-64

rapidtrees-0.8.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (542.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (481.4 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.1-cp313-cp313-macosx_11_0_arm64.whl (427.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rapidtrees-0.8.1-cp313-cp313-macosx_10_12_x86_64.whl (435.3 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rapidtrees-0.8.1-cp312-cp312-win_amd64.whl (305.6 kB view details)

Uploaded CPython 3.12Windows x86-64

rapidtrees-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (544.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (481.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.1-cp312-cp312-macosx_11_0_arm64.whl (427.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rapidtrees-0.8.1-cp312-cp312-macosx_10_12_x86_64.whl (435.4 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rapidtrees-0.8.1-cp311-cp311-win_amd64.whl (307.2 kB view details)

Uploaded CPython 3.11Windows x86-64

rapidtrees-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (545.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (482.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rapidtrees-0.8.1-cp311-cp311-macosx_11_0_arm64.whl (430.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rapidtrees-0.8.1-cp311-cp311-macosx_10_12_x86_64.whl (436.9 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rapidtrees-0.8.1-cp310-cp310-win_amd64.whl (307.0 kB view details)

Uploaded CPython 3.10Windows x86-64

rapidtrees-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (544.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rapidtrees-0.8.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (483.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

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

File metadata

  • Download URL: rapidtrees-0.8.1.tar.gz
  • Upload date:
  • Size: 154.2 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.1.tar.gz
Algorithm Hash digest
SHA256 174009bd2fa8b7e935e4a73d603ecbf08e5094213308b567553db0307b792f01
MD5 ee62b163e94c0dd0b277d1768a721ec4
BLAKE2b-256 80a286efcf889bf2c969312e463b00b03f89dbca45a5424feee8947b6f2c1f95

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 55e8a3c8eaf269942176719cae29553c48259984004749bb16d5745d6ead2f8c
MD5 8cac56ac9481de7359254275d489955b
BLAKE2b-256 9cd99d602ee430184a32074b5efc96467926eda96875965af0c839ec1ea20324

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c870d0e01de09b74481cd6d8ee0da4274c1d274deb494f33d0834ef51692a54e
MD5 5b2a91c33e0ceeb5def32ddb891e8103
BLAKE2b-256 d0fceaa9bd9631f73bb469d92661357173bdf4594a6e6528e00f93c6bd1bc902

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9600f32fad6d71fe2a203f2a4e63126d52c5a6413bc45b094f8f90f48921018b
MD5 afa7bbe8be57dd2d074d984581b35ae2
BLAKE2b-256 a40268654ba77423cc5adae462cfa6f1120b3ed91675f71f4d03ca3aa8defb94

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c88b3309c066085502f15633045165a040266e583910ba459a050656fb07103d
MD5 9ef7b2f8a8a2046f3ed640e2cd64e4d5
BLAKE2b-256 5ce39910824f42e22d10e821cfc6f7b9482d89aa181ed30dabe7ec29fb30471f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rapidtrees-0.8.1-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.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 96cca34c2bd9072e03c5ae089e5302ca3e489682ee26e3247dda9fdc9d013f9d
MD5 52e51a11ddd7e0655aec7054767c1594
BLAKE2b-256 435e446cae6c37a21cf4ce8d8eb62b8cd8de496fb02edbf11ecda15115fc41be

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f7a5bd67eee8d2c0b75e74dd1d5d516d5768c1a20abf6dde4968dee0b2a24123
MD5 7435f12d22ff20f0d55de48ef151fb99
BLAKE2b-256 22972c487222afb1588dcb4a0582bab85f6af77aa403239364ffbf0df3c39a57

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fefb5966e9d380b4f0debadc2bb6ac23b62273aefb5c9cab34865b217445c7a6
MD5 00495db05b7095b50454d63de61def3f
BLAKE2b-256 b2f8b6582fe92cbdc44fc64fe5644c8d3d264c3dc01c36e7ae3d73040680307a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3b0da63c536123251e3b19cc5b7cc3f79aeb0349db567152212c65e33c22f53
MD5 aa11ccfba0a34dd06205c7fc3ca49818
BLAKE2b-256 17f8a3599ace89a47903a7c1ac5404f1e7f90e7b423da679729266dbb21b05ae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 07ea8757ad296e3427499c659b9ec7f6e64eaad2bfacb2f2805a9e3aac33425d
MD5 ea27ddaef1cfc03c9e9b5f15fa954dab
BLAKE2b-256 79531dc688178b850c9f6d19c29e2c927e35ccfe7d00b6e4cf4d616ad7bcee38

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rapidtrees-0.8.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 305.1 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.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8a77c5ca0c4997ac27c73819d79ab46eeb37839290bf5caab533bcb680d4b1e4
MD5 c46e54c862ca375ea9b27fe85fb8c1fc
BLAKE2b-256 bfe2b56710d4043e8eac8c737f4536772492491970328293c73e305e7811b00d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78e14e05a5d6a8c54dc860dc821ed5c501c756629b9182352e3757fb7046e1c0
MD5 15d1a302f0cf7e832556557d149759d7
BLAKE2b-256 cfc6b93efc8b33d61d3e77d2a016875e91dd6d7f011dbe71e105e46a3e9c7707

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5e586b3ad83a0439c888114bb262f67e8cbb1b18d1752873d2c67aee15da2120
MD5 7c22caad59b48bebcafc7257b6a50ff2
BLAKE2b-256 cda728ede83c6896b4f859c3b521f066fb40435754643f93c2fd404c8d5092da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42dcad7800fa125a12ba2c8f966d636b0b11b56a518794e4da6fe31dbbad4cfb
MD5 2ac8ac3752ba17813bb6e9adb063476c
BLAKE2b-256 4d1af85f047cdd775b709f17be2f7f303fc13c944b924eb745f4131fdc6193e7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cc8644396967e6cfaa19d2e7d10107820c53e11c637f5eb74e4050122f9b2989
MD5 c688866c6d14933d0640f6d001323813
BLAKE2b-256 41ea5434ac818993af1de0fd6e6457e7537efaf794ecfa3b4d1206f640326bcb

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rapidtrees-0.8.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 305.6 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.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7eb389add2d9d385dbff3be653533f65902d0bce7c9c65f24bd370927cde09d6
MD5 30005aaded3b3dd9804c7545c7b77ac1
BLAKE2b-256 26d1165a7e956316e2afc62069e716464359959edd3fa593db33f042f615ae53

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1503983d404157bee65c692a4472e30ef750fff8040378540a370893393fac66
MD5 dc602da1d5d128f67deb75386e71f53c
BLAKE2b-256 63c2fb849013969e314fc2d1638f443e9e1627c95f2e9138b5dea70f67078cc2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e8fb2f2e7902449cee35b6c745fb9d220ebdc0463ad2652cd57caea4aba1c07f
MD5 c468fe4816a3e88d578ce1e160bf2e58
BLAKE2b-256 6b4788fefb7cb99da2144915ff850b323cf0a4e4513551f3156cf0f7efcd3e2f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 608b7ae369377deb163416afee12aa7d38d2da2b3fddc1aefca21834daf3edd0
MD5 31048f83bfe1ce3ba8fc10ac2620172d
BLAKE2b-256 16f3a36aa4347feb1ca47b5adfb007ee1060056e0e6daa85fd27447a6b393504

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e2ee900ee1770463826711398f657929dc8e7c64a365cb2cb0e0e35420d13f97
MD5 4bfe2763f08c303c85c6020f14f4c5db
BLAKE2b-256 608f1fc6e5bc6a07c69cfd52fc6c0ba3d0464ddc7d482ae4f3c1463933fd7f1b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rapidtrees-0.8.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 307.2 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.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 027a0c2fcca34049626d1705e68b3359328774f74e0c692bb34df33624bd1b00
MD5 09e224d354ed2e5a9a55aaa566c34320
BLAKE2b-256 6c077c4b90b1968fa5d8eab0450582d6f50e2d1ec5167ecdaeae9cf30b116024

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d967d11926ede5ba5875e0e839dc721f0fb6957c85a3cece020e293ca20b836e
MD5 c7938c8f093e6ac01670728249396c10
BLAKE2b-256 80e8b3cd696595b3bb8ef11e97f4fe7034d92bca0ba7b76b56c641de370e69d7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 901234a2429da92dd4b61513e30dba193583f6588cd2668adbbd57ce6e650eed
MD5 16b83a2c361966a9b3883009eec37326
BLAKE2b-256 081c214c3a17a4cfc0b660350b0312d9a1169c5bd8dea86836084f7d6098204f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f14379a395eca47a3fb5d4569976166e457c2075a64b7228128b8f8b6a1a088b
MD5 c074bf857ec32a5e1863ed48d6ecc90b
BLAKE2b-256 01ef8a0b3709347357233c64f9191596cb275157db227b4f5567c89d8e725238

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 340e686b9d55afcb50c7affebeb3cee3464738ce7a2e8681cc8b07141ddfcae1
MD5 b4bfb09f6fe1162f7f9e4dc08153c529
BLAKE2b-256 286deff4091001dad3667f84e7b2044658a3bfcde196a096f3a9ba6d706057d0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rapidtrees-0.8.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 307.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.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 12049d4f481f90515f0cf1133f24a910ddf2bd0f6295952251271a74afa85630
MD5 1178ef39208086d3f6cb41fe15b9cf3b
BLAKE2b-256 259a74462595d626ab680d124536ddc8bce40be721e3ff153b09a4f860470de8

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 980bfa8bb84a244687e0c22a437935e7ad503ae207b7e890f6da6e5720aeb8eb
MD5 6f9fafa3b8b9d2824cfcb4c53446c7e7
BLAKE2b-256 f3791f67ee15f9d3adc070f63e737ac93a20dbdd901ddd41f7b8ae016b1d4549

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.8.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 618f69a998ea71df191a3ead80b20075476a41948eae662e9eeb0e6952814bc3
MD5 1e180c3dd12ebbfe366fec40fc95adc6
BLAKE2b-256 bee3fa6c1dcf19814a160330af9e304aa3210c3632248d6275590ed46e5a9276

See more details on using hashes here.

Provenance

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

This release

0.8.1 This release

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