Skip to main content

Fast tree distance calculations (Robinson-Foulds, Weighted RF, Kuhner-Felsenstein) for phylogenetic trees

Project description

๐ŸŒฒโšก 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

Overview โ€ข Installing โ€ข Usage โ€ข Python API โ€ข Snap Format โ€ข Benchmarks


๐Ÿ—บ๏ธ 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) โ€” RF + bipartition presence matrix
pairwise_wrf_from_newick_iter (names, list[float]) โ€” Weighted RF, flat row-major
pairwise_kf_from_newick_iter (names, list[float]) โ€” Kuhner-Felsenstein, flat row-major
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 (future section)

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

tree_names, rf_bytes, leaf_names, n_bip, pres_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())

โฑ๏ธ 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.

Project details


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.4.0.tar.gz (127.6 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.4.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (504.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

rapidtrees-0.4.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (439.2 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

rapidtrees-0.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (434.9 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

rapidtrees-0.4.0-cp314-cp314-win_amd64.whl (268.7 kB view details)

Uploaded CPython 3.14Windows x86-64

rapidtrees-0.4.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (499.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

rapidtrees-0.4.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (434.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

rapidtrees-0.4.0-cp314-cp314-macosx_11_0_arm64.whl (385.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rapidtrees-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl (394.5 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rapidtrees-0.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (434.9 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

rapidtrees-0.4.0-cp313-cp313-win_amd64.whl (268.2 kB view details)

Uploaded CPython 3.13Windows x86-64

rapidtrees-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (498.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rapidtrees-0.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (435.2 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rapidtrees-0.4.0-cp313-cp313-macosx_11_0_arm64.whl (384.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rapidtrees-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl (394.0 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rapidtrees-0.4.0-cp312-cp312-win_amd64.whl (268.6 kB view details)

Uploaded CPython 3.12Windows x86-64

rapidtrees-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (499.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rapidtrees-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (435.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rapidtrees-0.4.0-cp312-cp312-macosx_11_0_arm64.whl (384.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rapidtrees-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl (394.4 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rapidtrees-0.4.0-cp311-cp311-win_amd64.whl (270.7 kB view details)

Uploaded CPython 3.11Windows x86-64

rapidtrees-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (502.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rapidtrees-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (437.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rapidtrees-0.4.0-cp311-cp311-macosx_11_0_arm64.whl (387.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rapidtrees-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl (395.8 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rapidtrees-0.4.0-cp310-cp310-win_amd64.whl (270.6 kB view details)

Uploaded CPython 3.10Windows x86-64

rapidtrees-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (502.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rapidtrees-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (437.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

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

File metadata

  • Download URL: rapidtrees-0.4.0.tar.gz
  • Upload date:
  • Size: 127.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rapidtrees-0.4.0.tar.gz
Algorithm Hash digest
SHA256 8399a8afb7aaac8efbcc772256d17a1830384995d6e606a44ec06cc99dcf1add
MD5 61f49f71996c1243bce8d530024de151
BLAKE2b-256 c8f043354183e3a3afb0c3dfb9ce88e5f760d6a86fd4de5ae471ff104d4ad27b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 32059609ede47e3cfed45c0693e3a5aa1507c2cd06d09db826d90c1ffbc4d06c
MD5 2f718c324401a73566ef00a73c132b75
BLAKE2b-256 089bc75f6f38909f44802dc97293ef6f33ded71d21f3d811d4119950776bcb2e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 64316aa1944ed4cd0617e134784b16d50b03a3021ebe8de4c4f57c727447ae2a
MD5 e0d86e40041f5b10fb46ee04e84c49cf
BLAKE2b-256 e014426d5f36515ed13f2c900b27fe56aef18ec159ca9ad46ea119df36061df6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f4c9aa35b666e659da056165627e7dbc47a03b7f37280b7b341ba76d69d4b2ad
MD5 425a7448c68d0080250668ff61a94d6b
BLAKE2b-256 2e961f49888971fcb3bb3397a4f34b647671fd826982a3b98da065c51b0afc57

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rapidtrees-0.4.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 268.7 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rapidtrees-0.4.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 4dbd84591fb6575e3c3ad9600b7aec4caa4a705cae7ee0763652e4d3ae29e4e4
MD5 dd7c66f715d97572f516ed782d770be6
BLAKE2b-256 dbd1cfcceb0249f7e643f3d5fd30a684eb265c4cde87ec80d1c1f5090751fe6a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33481d6fb3c1802da849c0dde51db49845fb9ed7ddb6d03d8aad7e880fdd6042
MD5 b9223e39e979cb416c8f73a348c0c955
BLAKE2b-256 28acf0f750407b9e57e273a4b8b37e8672d63b8e460b34ac8263112b70f89e10

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4eae89b13650a10959d8fb43c1d798e714340fc0da83349b82fde87b553ad324
MD5 ebd09185f1e26188c3d02d9abba8a3d3
BLAKE2b-256 17c8d7d8b499073ab91c9e65c85cc01995f737b68be62f1b000c5ed521efa665

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1c3f307422de7208a05a4a59b6525382255ff43529363fd93c2fdfeb86e4657d
MD5 cdb42d24cd829f9b1f15e620c3d274c2
BLAKE2b-256 bf33d9fb69b3a7aa5e225b156eec06fa8305d171361051f60df93ce5fb400a47

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f10b6786e642ef5683386f2fcafb9e2131c94ec01ef643ff0e48f1edd511fb17
MD5 4d29db3cb2883584d811fb5adc5338af
BLAKE2b-256 2a96cf2cd7b3e73b5257f9af60d5a451392fb489d2445ff76ba83a2b66e689c2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 73c8790e70981c774bd3d5e859d19fa7921ce4cdd63bfb7b396f00661e6a69a2
MD5 8e6fd1ea7123682d5c59ed595743e017
BLAKE2b-256 682ce113d327d2ead548c18e8c82b9aae6d9cc4b0d1c78c3dee4ab263988407a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rapidtrees-0.4.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 268.2 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rapidtrees-0.4.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 abc0989683ab57acb374707885b9d2204aac48cb3a3325317c150c5634d7f522
MD5 909be4ab005d095f2782fa6cfc7c3074
BLAKE2b-256 b3007363fac7e0ba887dd0e7c8031fe6616f45afa17fc4f2411019755c20df6e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 696d46eae2a0dc500f9286a921c80a347212755903c9f5346eb8a855e66051ae
MD5 93fa12c5fc6e95d8ec293aab4ca6ac7b
BLAKE2b-256 9368501f50c72e55d4f3b974e095a5e6c51a14e1135953b5498f28dd78b6dac3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1fc78508273a4bba81dcf27703490da9c8f1d165405948ff687c250bb53907cb
MD5 2fd3cea2788db24d95d4cf0392197855
BLAKE2b-256 2ac592f917096e9204e94ed3ca5ff5a010fefb438d6932285a92bc0c3c2c0d37

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ae0d6a1e55db9c560288127ca959787e4a921832c95f059ecedebcb8bb74fb3
MD5 0f5d0e1a0544b5832bd194fdf8cfc88e
BLAKE2b-256 04477fdeaf0219c76745db1ecfaca77736e2cd2e46c7a8feee71712c89a151cb

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 80486d436eee29ba69bacf123c983db1667d980d95e47872270d067ceb7d6236
MD5 77dae0c3b472021fbe5e3e3ad680ac78
BLAKE2b-256 865f8622ead9f69cbb5705ef5d8aa71f52c9d2e2a28ab96dc45ba4c2bfcd530c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rapidtrees-0.4.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 268.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rapidtrees-0.4.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c69b73e6fd034f08deb179378a26d0675d7cc759fa1a5d3910f56dcaf39db4fa
MD5 d3a652282dc73e7cf2c70c5ac18aee3f
BLAKE2b-256 455341d977883738795c263f36cdf3acc14a7de4628bc023a1d0578280cfdd23

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 73a0e48d2b457aa166b63e9d085eb1d735ec017df458ac20a4d22a68e44da68e
MD5 eacf634d6bb72bb16212e79ad3faf13e
BLAKE2b-256 4b6238b92776b61e37c12b31ad51bc188702c7e1bbf277cbc287a7e9d4331e7f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b204013d92e9d53bffcd6b480180dd4141bea4667e7b377ac19be5b844444463
MD5 f06bbee41371672634cf996652d78cbb
BLAKE2b-256 79282895ee714d3a00e9c9c9adf49cd5fc7bf3d69eaebdbedfb35ec071142dd4

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a9c8c3caf5ff95ffe1b4de5ecc2d0fbf9be0d33ee132ee9596ea63ebed638763
MD5 6b927fec9bae0f81645058548ab8d264
BLAKE2b-256 ad43d87737c5e3be98b743d20011a46ac4bf291909d4d098d21e30bb262e09a3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e01d387e6e7187aed1da71e4b48a1a0cffe06ac421806e76f62bb2af2021e965
MD5 8c777c35787ae2428d354343520007c6
BLAKE2b-256 811e381b0241f4e43c6715ebfa3d2bc63e2e109f04e5910cc8b46ee3e8bd024c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rapidtrees-0.4.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 270.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rapidtrees-0.4.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ea3bfa8bc44a87b2e2d0920563c6cc6b37a78771d04910943f4c666d41b8c622
MD5 190e9d97cb93ed358ae609491abd6993
BLAKE2b-256 95fa5c933eae6f01f7a452949504f13e0e40db6e4ba7928982d3a2df5e2d5586

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69bca8ee9ebd946e506bfec86d128a8fbc2053c27fd3c232b2ac385ab5487625
MD5 2fe3bf02a79d88ffac3fef5d1f146d2b
BLAKE2b-256 73acc46a2b16ff041af38b1178f4c4970d7ad37380771038892c2962bdb8fbec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5e4c6a8597940aa70336aba18b23e01c121d4065f01120866f382ce5c4e5daca
MD5 be7628717000a7b8643ac3128b5d0c23
BLAKE2b-256 3525ebec5d2307e2f294104de030a910d587522d5bd9c55fae54a5a4f16217df

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 515000c098d629724c04cf4814d55fb824634e3163c951821543293382fdfe6a
MD5 c190aa8c1e73c0a451caaee154b90350
BLAKE2b-256 6c0f4d05d49e87f6e1bed70abc30e978b4cd4b9410a9b4e95a1114db539f6b3b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8f23300b09520f3fd0288e6f46fdc79d32ed07d9cf99edfb7acea54b0216b9a7
MD5 0ae044d093aff38aa16c91bc20c33421
BLAKE2b-256 4d6f54ba562ccf9b2bf24e0c96ec2b994dc28b51ce7d9b73a0b169ad3ff55b3c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: rapidtrees-0.4.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 270.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rapidtrees-0.4.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8ad000c5bf5e31b711ede813a8f093ab718d207f9282fb23e85a8ebac8dce7c8
MD5 5047af784e70abd5bfe203fba4c3cb7b
BLAKE2b-256 0713f6fb2c58c8a30ef27e2cef60e383c55c0aaadb2a607a035e54c741b3b176

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 97b22b08d54310ca9cb56f1663cfbd31c7d58a6fd4ccdb3d5e4f52ed497cb162
MD5 e7d7e7746bf88d136c045bac79d9c90a
BLAKE2b-256 daf2e5ce34ef0699016e5a7636aba807adb504d86d6a60daed05aff72dd46e35

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for rapidtrees-0.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b71e521fd695e5e1668d77882c09ac731de5b54ffea2f6e24d42ca2a446a6d5f
MD5 42001a262f2a4a88010977ae4d9f1e99
BLAKE2b-256 061ea87c50629df40fdd459aa754cc347e5c6f9af9efbedbdd553e0b51a37b40

See more details on using hashes here.

Provenance

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page