Fast NeighbourNet (Rust) with Python bindings
Project description
fast-nnt
fast-nnt (read Fast Ent) is a simple Rust implementation of the Neighbour Net algorithm with both R and Python bindings.
Introduction
Neighbour networks are a flexible, model-free method for visualising pairwise distance data. Because they operate directly on any distance matrix, the same approach applies across biological scales and data types, from SNP-based population genomics and whole-genome ANI distances, to discrete morphological characters. A single network can simultaneously reveal population structure, admixture, clonal relationships, and relative diversity, often capturing information that would otherwise require multiple complementary analyses.
The figure above shows three examples: (a) population structure in the critically endangered conifer Pherosphaera fitzgeraldii inferred from SNP distances; (b) morphological relationships among pachycephalosaur dinosaurs from discrete character distances; and (d) phylogroup-level relationships among E. coli genomes from inverse ANI distances.
Fast-NNT is a Rust implementation of the NeighbourNet algorithm (Bryant & Moulton, 2004), designed for efficient phylogenetic analysis. From a distance matrix it constructs a split network and computes a planar 2-D layout for it using the equal-angle algorithm, providing a fast and reliable tool for researchers in evolutionary biology. R and Python bindings are provided so that users can easily integrate Fast-NNT into their existing workflows.
Note that NeighbourNet produces an implicit (split) network: a planar diagram that summarises conflicting signal in the data for exploratory analysis. Unlike explicit networks, the parallelogram "boxes" do not model specific reticulation events such as hybridisation or introgression (see Kong et al. 2025).
Why does this exist when SplitsTree is available?
Well, SplitsTree4/6 are GUI-based applications, while Fast-NNT is a command-line tool that can be easily integrated into automated workflows and pipelines. It's meant to be lightweight and simple to use, you provide a simple input and it generates the nexus file. You can then use this file in R or Python to generate your own plots. This is perfect for people who love to manually beautify their visualizations.
Additionally, we provide R and Python bindings that allow you pass in memory data matrices directly with a single command and get results without having to write intermediate files. For installation instructions, please refer to the respective documentation for R and Python.
How do the results compare to SplitsTree?
Fast-NNT aims to produce results that are consistent with those generated by SplitsTree, but there may be differences due to the underlying implementations and algorithms used. Users are encouraged to compare the output from Fast-NNT with that of SplitsTree to assess any discrepancies and determine the best tool for their specific needs.
Comparison of network outputs between SplitsTree4 GUI, SplitsTree6 GUI, and fastnnt CLI using multi-way ordering with conjugate-gradient and active-set inference.
Performance benchmarks comparing fast-nnt, phangorn, splitspy, and splitstree6 across panmictic and three-island population models. Panels show PCA of input data (a–d), elapsed time (e–f), and peak RAM usage (g–h).
Installation
Install Rust via rustup.
Python
You can install the Python package via pip:
pip install fastnntpy
R
You can install the R package via:
install.packages("fastnntr")
# Or if CRAN is unavailable and you have Rust on your machine, i think this will work
devtools::install_github("rhysnewell/fast-nnt", subdir = "fastnntr")
If you are developing locally and have changed the R bindings:
rextendr::document()
devtools::load_all()
CLI
cargo install fast-nnt
fast_nnt --help # or fastnnt --help
Alternatively, you can build from source. Clone and install this repo via:
git clone https://github.com/rhysnewell/fast-nnt.git
cd fast-nnt
cargo install --path .
fast_nnt --help # or fastnnt --help
Usage
For Python and R, complete usage examples can be found in test/python and test/R. But a brief summary is as follows.
Ordering and inference methods
Fast-NNT exposes two knobs that match the algorithmic choices in SplitsTree:
- Ordering (
ordering_method/-O): the cycle construction step.multiway(default) — multi-way agglomerative ordering (alias:splitstree4)closest-pair— closest-pair agglomeration from Bryant & Huson 2023 (alias:huson2023)
- Inference (
inference_method/--inference): the split-weight solver.active-set(default) — active-set NNLS with CGNR inner solvercg— conjugate-gradient NNLS solver (alias:splitstree4)
- For SplitsTree6-style defaults, use
ordering_method="multiway"withinference_method="active-set"(or-O multiway --inference active-setin the CLI). - For SplitsTree4-style defaults, use
ordering_method="multiway"withinference_method="cg"(or-O multiway --inference cgin the CLI).
Note: When using cg inference on large matrices (N > 2000), we recommend using closest-pair ordering (-O closest-pair). The multiway ordering can produce cycles that cause highly variable convergence times in the CG weight solver depending on input row/column order, while closest-pair ordering produces more consistently performant cycles.
Elapsed time variance across ordering and inference method combinations on n=3333 taxa, showing that closest-pair + active-set is the most consistent.
Python
Set the thread count once per session:
import fastnntpy as fn
fn.set_fastnnt_threads(4)
Read data in via numpy, pandas, or polars:
import fastnntpy as fn
import pandas as pd
data = pd.read_csv("test/data/large/large_dist_matrix.csv")
n = fn.run_neighbour_net(
data,
ordering_method="closest-pair",
inference_method="active-set",
)
print("Labels")
print(len(n.get_labels()))
print("Splits Records")
print(len(n.get_splits_records()))
print("Node Translations")
print(len(n.get_node_translations()))
print("Node Positions")
print(len(n.get_node_positions()))
print("Graph Edges")
print(len(n.get_graph_edges()))
R
Set the thread count once per session:
library(fastnntr)
fastnntr::set_fastnnt_threads(4)
Read your distance matrix in using your preferred method (e.g., data.table):
library(fastnntr)
library(data.table)
data <- fread("test/data/large/large_dist_matrix.csv", header=TRUE)
# Load network
Nnet <- fastnntr::run_neighbournet_networkx(
data,
ordering_method="closest-pair",
inference_method="active-set"
)
The run_neighbournet_networkx function will return an object almost identical to that produced by phangorn, so should be compatible with existing workflows.
CLI
Required input is a symmetrical distance matrix, ideally with a header row indicating the taxa labels. Can be separated by any delimiter.
To generate a split nexus file (mostly) identical to SplitsTree4 and SplitsTree6:
fastnnt neighbour_net -t 4 -i test/data/large_dist_matrix.csv -d output_dir -o prefix -O multiway
Use the closest-pair ordering algorithm:
fastnnt neighbour_net -t 4 -i test/data/large_dist_matrix.csv -d output_dir -o prefix -O closest-pair
Select the split-weight inference method:
fastnnt neighbour_net -t 4 -i test/data/large_dist_matrix.csv -d output_dir -o prefix --inference active-set
fastnnt neighbour_net -t 4 -i test/data/large_dist_matrix.csv -d output_dir -o prefix --inference cg
Output
The output will include a nexus file containing the split network and network layout.
Citations
If you use this tool in your work, please cite the original authors work:
- Bryant & Huson 2023: D. Bryant and DH Huson, NeighborNet- improved algorithms and implementation. Front. Bioinform. 3, 2023.
- Bryant & Moulton 2004: D. Bryant and V. Moulton. Neighbor-net: An agglomerative method for the construction of phylogenetic networks. Molecular Biology and Evolution, 21(2):255– 265, 2004.
You can also cite this repository directly:
- Newell, R. J. P., & McMaster, E. S. (2025). Fast-NNT: Fast NeighbourNet Split Trees For Unrooted Phylogenetic Analysis (v0.2.5). Zenodo. https://doi.org/10.5281/zenodo.16907379
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fastnntpy-0.3.0-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 421.5 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e874691bc0b591da63076effed5d40a1a0803fe10ae3f6ac4cdbf6f1b4f5bde9
|
|
| MD5 |
d9904719830fc35a1cc05bae7e2908ad
|
|
| BLAKE2b-256 |
fa95a9d3e3b6ac02b1f68a533f5d0b5370fb3baf3ebd348b3d38340bb0771bad
|
File details
Details for the file fastnntpy-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 676.3 kB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d57813d5628e3bb3d82232bac8f95556516066ccc832a2aaa2f412cbb41eb06c
|
|
| MD5 |
03baf1437658e89960b88647d68098a6
|
|
| BLAKE2b-256 |
216f0980241dfd35b7527b6e5004d4b157f5acaf747b29fc87f8ef9ead77ad41
|
File details
Details for the file fastnntpy-0.3.0-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 536.9 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ba51701b8e5df56b83bc2802a608a0aed647f5f3d9d859bded1674599e58e62
|
|
| MD5 |
424b123530999a9d2a88f3e4aafa1631
|
|
| BLAKE2b-256 |
1bbb48a2530bf4b8a04d89c2cc2c37742c0e0111842a0734da1d280192dc11eb
|
File details
Details for the file fastnntpy-0.3.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 420.3 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8246baa8188568eb546080abf924779edddd990e23b82923dc28e7cd67ec72b1
|
|
| MD5 |
81d9b8708691a550554bdb09e46e5c53
|
|
| BLAKE2b-256 |
d8d86d77fac082ee4381fbb345528faf6c9c682dea0cd2ca86e9dd733c2955c0
|
File details
Details for the file fastnntpy-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 675.7 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae573f9112ec92a5c212fddb1931420d8ecbed810cbb07b665fb8db67dae0c9b
|
|
| MD5 |
7d1868ff93bf8350e3c03a65a9b14ea8
|
|
| BLAKE2b-256 |
38308ff1b070794b01b73e6f65903a5974cfa274993351ae05f942633fa6f405
|
File details
Details for the file fastnntpy-0.3.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 536.7 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4466aecc8ec36826676f310569fe993e0d97d73c3f275283b5eac5781183a450
|
|
| MD5 |
6eb93c94880253fdc6a42dc60842ffa7
|
|
| BLAKE2b-256 |
c135f742b57c703f763756fb61b3a8047aa884629efc5ddb24fdacc39ee950b2
|
File details
Details for the file fastnntpy-0.3.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 420.2 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45199ec0c588cdcfb1be4ee523306d7ec6610753ab48a39ecf0d1332cd746fe4
|
|
| MD5 |
8c847a5f43b9211896ad50f7862b9dd8
|
|
| BLAKE2b-256 |
dfbb4094db570e9ea37e050bce61f16820c56412117a702765dcf01d7ace0e7d
|
File details
Details for the file fastnntpy-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 675.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52d892e691b7a22aa758a3a8ed33b1da4258a25681dcfa4d7784b077fa253a92
|
|
| MD5 |
950e8ca66643b74cf88518fea58e6dfa
|
|
| BLAKE2b-256 |
f8a15283553349bc11e10e8c33b949ff84a2c85e2921398aaa1ae5ae8a37ffbf
|
File details
Details for the file fastnntpy-0.3.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 536.4 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fdfc65a06e4b74d57f689e436b1d16e8b33a962f51b7498c93b28ca3a7843c3
|
|
| MD5 |
54c5b0dbb64466bd52254349270c6923
|
|
| BLAKE2b-256 |
ec16e07c0f082ab75a5f829d2490e7f9c73383a9c2187504f0d38bbca2cf40cb
|
File details
Details for the file fastnntpy-0.3.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 420.6 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9952127fe5a26656f92c486c82b518d2f91ac89b25522df302c07d5de250943e
|
|
| MD5 |
39f176818a6b42bff7703b31890e04f8
|
|
| BLAKE2b-256 |
8c61d8784a2d7654f1c6285e7ba99f14d0e2a36fa41c8841401081dcd4fcdec8
|
File details
Details for the file fastnntpy-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 677.6 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edc2dd170bae5134611b7e70427a2c6553d2798642250d57001ded2df48daa55
|
|
| MD5 |
99c3c042d308a7b3a55431735780cb27
|
|
| BLAKE2b-256 |
905186f2d837dcc7c4532c86c2ea56bd594e1a63623026efae786eb292520fcb
|
File details
Details for the file fastnntpy-0.3.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 540.0 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69fc403af32051555c48d29e6a04d7426410a92c88317c6e27c47639fe1080fb
|
|
| MD5 |
92a902ae8ad8ea536da0ffd34da09e79
|
|
| BLAKE2b-256 |
33c6dd7e724cb25c6ccd27737551e1c7c25c0d1333a2cfdfeb0be40e5b2205b7
|
File details
Details for the file fastnntpy-0.3.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 420.6 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
daca8b59f6914698a9c88d21bff40511be8a39bb6fe459b1a986a9ca53c825ff
|
|
| MD5 |
44e834c25b60f4abb24fc2fc180bd17c
|
|
| BLAKE2b-256 |
13fe8b51bb3473f98c4708fcfc9c4020e6f644aaef3182fd289444528ace40c0
|
File details
Details for the file fastnntpy-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 676.9 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6053379dfc05fac30507d09945ae904fde045f3e295de74df12718c8126e8beb
|
|
| MD5 |
dd11c32e5b1ce0f62318c245c17ad10f
|
|
| BLAKE2b-256 |
936ab20dbc83af6d066f1b9de3e63f3fd08c615a11b4789f2bbe4d45a539e873
|
File details
Details for the file fastnntpy-0.3.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 540.4 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2165b0ce6eac5d086236da0a5b09e285f6d91b3d5c4439239d08be9dc375e025
|
|
| MD5 |
a21ccac38ad79fef86236e14b19b4aca
|
|
| BLAKE2b-256 |
25daf6370fa79b6d621f6414ba1531dbcd5183c61a25dcdeeee2956de0c5d945
|
File details
Details for the file fastnntpy-0.3.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 421.7 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67937078b86f5d41df22b621960eae7137e7acc99f561c1ed42fe3245bbbae3b
|
|
| MD5 |
d211147e3ce5d1d29f338f24fa07f389
|
|
| BLAKE2b-256 |
59509765f0c340107cf34c1a7bd83d3832163105ad53f225eb8f94655b5fa2dc
|
File details
Details for the file fastnntpy-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 677.6 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f9f3e390c4b20c7311aa83cf76b5b0ae5e9c4d2d78d13a8a55996ed86b1026b
|
|
| MD5 |
a1c588e85a77402e736a8317ab0de149
|
|
| BLAKE2b-256 |
4a5cb2e47f005bd245b03ff8cd384b4a7b31faf208c29936ac828f25988dd9b6
|
File details
Details for the file fastnntpy-0.3.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 540.4 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b118a05a35d51a44723d332f315933e0c9a5f6ed8718f4bcd0ce210209694cef
|
|
| MD5 |
1c7007531d882282d687de02ddb9c26b
|
|
| BLAKE2b-256 |
f8a984fd1c22503e1a7d065cf5f3e26ff8ad8969361686b2795decc268a5b4ae
|
File details
Details for the file fastnntpy-0.3.0-cp38-cp38-win_amd64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 421.4 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0732bc50ad6a1987c94c7cab3603f1f75b524dcf968daeb8184ac0ee6ce818cb
|
|
| MD5 |
a486509a61b9ba6c53782501aaa93966
|
|
| BLAKE2b-256 |
598a7b5e3b3cc9f4e7183114145886f41385209352b5a69f1cf96a0715713ca7
|
File details
Details for the file fastnntpy-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 676.9 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
183489b137fba9df29fdc6f1b07a9145933c9ef688c5415a7605e8598ab6ddf1
|
|
| MD5 |
326637223624cb75079561b930d31e01
|
|
| BLAKE2b-256 |
e7076fa72846bc4038f581c9534bfb4ef05fe413e9bfae489781085f7731f726
|
File details
Details for the file fastnntpy-0.3.0-cp38-cp38-macosx_11_0_arm64.whl.
File metadata
- Download URL: fastnntpy-0.3.0-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 540.1 kB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22942dbee1bf3cddd6cddc9b2823b27381ac76e109465cdf11d62ddd87831c6f
|
|
| MD5 |
5bef8bbdfc67b3f2a48e8170698d28b9
|
|
| BLAKE2b-256 |
e19438fbc4daed5e22702b8eda4a2380f54fbade7e17d50eb4dad719ae68bca3
|