Skip to main content

DOI

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.

Applications of neighbour networks across data types 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 to SplitsTree4/6 Comparison of network outputs between SplitsTree4 GUI, SplitsTree6 GUI, and fastnnt CLI using multi-way ordering with conjugate-gradient and active-set inference.

Benchmarks 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

The R package is distributed via r-universe. Installing from there ships a prebuilt binary (no Rust toolchain required):

install.packages("fastnntr", repos = "https://rhysnewell.r-universe.dev")

Alternatively, install from source directly from GitHub with remotes (requires a Rust toolchain via rustup):

remotes::install_git(
  repo = "rhysnewell/fast-nnt",
  subdir = "fastnntr",
  url = "https://github.com/rhysnewell/fast-nnt",
  build_vignettes = TRUE,
  force = TRUE
)

library(fastnntr)
browseVignettes(package = "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 solver
    • cg — conjugate-gradient NNLS solver (alias: splitstree4)
  • For SplitsTree6-style defaults, use ordering_method="multiway" with inference_method="active-set" (or -O multiway --inference active-set in the CLI).
  • For SplitsTree4-style defaults, use ordering_method="multiway" with inference_method="cg" (or -O multiway --inference cg in 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.

Ordering variance 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:

Metadata

Release files for fastnntpy 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for fastnntpy 0.4.0
File
fastnntpy-0.4.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
fastnntpy-0.4.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
fastnntpy-0.4.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
fastnntpy-0.4.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
fastnntpy-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
fastnntpy-0.4.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
fastnntpy-0.4.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
fastnntpy-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
fastnntpy-0.4.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
fastnntpy-0.4.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
fastnntpy-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
fastnntpy-0.4.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
fastnntpy-0.4.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
fastnntpy-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
fastnntpy-0.4.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
fastnntpy-0.4.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
fastnntpy-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
fastnntpy-0.4.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
fastnntpy-0.4.0-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
fastnntpy-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
fastnntpy-0.4.0-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details

Total release size: 11.2 MB

Release files / fastnntpy-0.4.0-cp314-cp314-win_amd64.whl

Download URL fastnntpy-0.4.0-cp314-cp314-win_amd64.whl
Size 411.7 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
23fe7cd4db89f03c68111e6f14cd156449ff41453c0a4d6e9ab403ecf40e9004
BLAKE2b-256 checksum
How to use checksums
130c0c70aaeb91249d276d2ef8878186bf10018ff673ca97cdceedcd824cf55a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastnntpy-0.4.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 655.1 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
049a567ce2f2c5c0f39b13cc3064b583821ed6def873be5a2cc5e5d9c76c6476
BLAKE2b-256 checksum
How to use checksums
32c11a9948c9a18b720cac299377b58bcda0d918634482b5d1ff506efce1678b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL fastnntpy-0.4.0-cp314-cp314-macosx_11_0_arm64.whl
Size 525.0 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
afa7c9ccaf20e92884de5e5825ee4e33958a420520f5774cd3962817acdf013e
BLAKE2b-256 checksum
How to use checksums
0ce1f7d8ba506fbd77c41f79f1971b7a6a2d6371572a3aa83567647d09647666
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp313-cp313-win_amd64.whl

Download URL fastnntpy-0.4.0-cp313-cp313-win_amd64.whl
Size 411.1 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
62dbb613fc2319ba7fa64244c56aa69397816646b5e5cc5a512c3197a527d5e1
BLAKE2b-256 checksum
How to use checksums
3693ba8234dd046f101c4d4840b5f6527439007c05433dc8000ebe02bda64bbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastnntpy-0.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 655.4 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6b0cca309368cda76471a9b5a486b887d94e7b7d0206854912fca3dccaacbe26
BLAKE2b-256 checksum
How to use checksums
73ab162f522fdbf92c85c99a03d6b2b50cdadfa324e015d1725aaaf6c7b1b896
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL fastnntpy-0.4.0-cp313-cp313-macosx_11_0_arm64.whl
Size 525.2 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
04a2a234add02901641ebed83278a0c0ea30084d7ad9b6a69d1892449aec3c21
BLAKE2b-256 checksum
How to use checksums
1381e5498d375cf9b37c993dc558859c6fe58feae95784c985a513b6e1a7df60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp312-cp312-win_amd64.whl

Download URL fastnntpy-0.4.0-cp312-cp312-win_amd64.whl
Size 411.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
cf22b3f49661457418cc0b2e61fffa2c8f453b3ff44bf74dbd69f4877bee9892
BLAKE2b-256 checksum
How to use checksums
9e6cc639f67c8c93c26ca2c76fd3dcd2e9c28c1f80dde5bebaee198a2d529069
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastnntpy-0.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 655.4 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b0f003f5f9bbd2b115738f4a8bac5a2d01f16d93147ebb78447da1c08070451a
BLAKE2b-256 checksum
How to use checksums
a59fd355273d0c92bd05163d8eb39fd83a588bb058f8e36037d88ce68fce7bc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL fastnntpy-0.4.0-cp312-cp312-macosx_11_0_arm64.whl
Size 525.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5bd5f18d985ce100b25783574b40855a69f7e7687b524b9837c65d11d7ea91f4
BLAKE2b-256 checksum
How to use checksums
2ca1f75afade05bc4a09b6d6e3f351a6415d7258ae1694f8a58bde90135adea6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp311-cp311-win_amd64.whl

Download URL fastnntpy-0.4.0-cp311-cp311-win_amd64.whl
Size 411.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
9ebe93d0dc75099a8c19af55f6003dc3084e11e3e0cbe8c0a060aa2a336018cb
BLAKE2b-256 checksum
How to use checksums
4b400d695ba031417e6fd99242e054bf0d0b2d5d3e311a125d7312516996f1b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastnntpy-0.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 655.3 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
896b876d400ce60229dbd81cc86f0a068675d4fe9d132a8456100e0f0773f218
BLAKE2b-256 checksum
How to use checksums
c7eeaa8eba885f6f3d7c29e586ca79539d7231fe79d24b17c6cd44f9f748e725
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL fastnntpy-0.4.0-cp311-cp311-macosx_11_0_arm64.whl
Size 529.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
41bcac48edaeff2ca84f700a5d0acd1b177b970d18612032b76a45694d3b853d
BLAKE2b-256 checksum
How to use checksums
451b490dbee716ba3e8f4316471769bc7b49578807537c49fde4124f814d7eb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp310-cp310-win_amd64.whl

Download URL fastnntpy-0.4.0-cp310-cp310-win_amd64.whl
Size 411.9 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
327f650d09322d81933caa7a684458619c00cc009963c7eee94ab721cd5480f6
BLAKE2b-256 checksum
How to use checksums
8d2c67bf6a78d13ee69ac689756619a4b98249f90fae2f277b216ae94d730f75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastnntpy-0.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 655.6 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c748450deb4b85e2d223d31dbc8db93cd61a04af9eb22fe194a67466fb9f8c24
BLAKE2b-256 checksum
How to use checksums
10c90b1117922a0d23ff82e6aaa6d9e69e5ee75d51d963e61508af2a2a38f21b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL fastnntpy-0.4.0-cp310-cp310-macosx_11_0_arm64.whl
Size 529.3 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
287b381eec6a3066cb089b4b6744678dea7d7cbe0fc23b59acff22d4b1fac2c4
BLAKE2b-256 checksum
How to use checksums
fce36e4b11aefcce60ab41bf32aa8e7c4cc75e03793baab9c0b569bba89ff88f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp39-cp39-win_amd64.whl

Download URL fastnntpy-0.4.0-cp39-cp39-win_amd64.whl
Size 412.4 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
ffbdac17d3aebf9c0e245eee8690128a86904fd6e42a06ecaa80e12f6ab6f6ae
BLAKE2b-256 checksum
How to use checksums
440059537fca12ec4e43b0840889bbfa32012e1abd5fd3e7ae482d7f4f88cc90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastnntpy-0.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 656.4 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
8d1be38cb489122b8e7b62f1afe593d925ef25f975d7e6fac5bb625996b7d11c
BLAKE2b-256 checksum
How to use checksums
ea9ab27170a57ef9a864c412e5fcf6df074946df72a97c61c6de86ba2367536c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL fastnntpy-0.4.0-cp39-cp39-macosx_11_0_arm64.whl
Size 529.7 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d033d5599122b7c60ebeda866b39595b149fe2edde491a41f150ce837cd54da2
BLAKE2b-256 checksum
How to use checksums
652297a949807e748e3301c167140d19134517b80a78fca96b172d54d53c3f31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp38-cp38-win_amd64.whl

Download URL fastnntpy-0.4.0-cp38-cp38-win_amd64.whl
Size 411.9 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
02f7b1338987ce005f48e40e9775645728a5d7394a4dbef23bc16c5aa445f8b0
BLAKE2b-256 checksum
How to use checksums
0d61e1e502f93431324d654ed1d23b919a222b8de8edf3b119916fa9be0467f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastnntpy-0.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 656.9 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f50eeb3b8352813f940e81fda007d33689aedd313b738c4dc131f6ceff73a63e
BLAKE2b-256 checksum
How to use checksums
bd15cdff3070a5ddd89b8a89bf66a14129261f011e248a9606c846500353bc20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release files / fastnntpy-0.4.0-cp38-cp38-macosx_11_0_arm64.whl

Download URL fastnntpy-0.4.0-cp38-cp38-macosx_11_0_arm64.whl
Size 529.8 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e4ea91458b1c25be258e405149b56350a6b43b2740018b63d63cb66c73ff54a1
BLAKE2b-256 checksum
How to use checksums
3e6893ab6cae5e6ed0c6cb57ea12d5f672ffdc7341091c902ff8a87f48fd96ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.4.0 This release

21 release files

0.3.0

21 release files

0.2.5

18 release files

0.2.4

18 release files

0.2.3

18 release files

0.2.0

18 release 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