Skip to main content

Rust-accelerated Needleman-Wunsch global sequence alignment for precomputed score matrices.

Project description

pynw

Check Build PyPI License: MIT

Rust-accelerated Needleman-Wunsch global sequence alignment for precomputed similarity matrices. Python bindings are built with PyO3.

Align two ordered sequences, allowing for gaps (insertions/deletions), given any precomputed pairwise similarity matrix. Useful for strings, time series, token sequences, or any domain where element order matters.

Features

  • Fast: Alignment runs in $O(nm)$ time; a 1000×1000 matrix takes <10 ms on modern CPUs.
  • NumPy-first: Accepts NumPy arrays directly — no intermediate Python objects.
  • Domain-agnostic: Operates on a precomputed similarity matrix, so any scoring function (distance metrics, semantic similarity, etc.) works out of the box.
  • Asymmetric gaps: Optionally set separate insert and delete penalties.

Installation

Requires Python 3.10+ and NumPy 1.21+. Prebuilt wheels for Linux, macOS, and Windows are published on PyPI.

pip install pynw

On platforms without a prebuilt wheel, pip will build from the source distribution. This requires a Rust toolchain (1.85+).

Quick start

Align two DNA sequences using a simple match/mismatch scoring scheme:

import numpy as np
from pynw import needleman_wunsch, alignment_indices

seq1 = np.array(list("GATTACA"))
seq2 = np.array(list("GCATGCA"))

# Build an (n, m) similarity matrix: +1 for match, -1 for mismatch
similarity_matrix = np.where(seq1[:, None] == seq2[None, :], 1.0, -1.0)

score, ops = needleman_wunsch(similarity_matrix, gap_penalty=-1.0)

# alignment_indices returns masked index arrays; gaps are masked out
src_idx, tgt_idx = alignment_indices(ops)

# Reconstruct aligned sequences with numpy fancy indexing
aligned1 = np.where(src_idx.mask, "-", seq1[src_idx.data])
aligned2 = np.where(tgt_idx.mask, "-", seq2[tgt_idx.data])

print(f"Score: {score}\n{''.join(aligned1)}\n{''.join(aligned2)}")
# Score: 2.0
# G-ATTACA
# GCA-TGCA

Details

Precomputed similarity matrix

pynw takes a precomputed (n, m) similarity matrix rather than a scoring function. This means the entire alignment runs in compiled Rust code with no Python callbacks, and you can build scores with vectorized NumPy operations rather than element-wise Python loops.

The trade-off is that you must allocate the full matrix up front, which uses $O(nm)$ memory even when the scoring rule could be expressed more compactly.

Scoring

The total alignment score is the sum of similarity-matrix entries for matched positions and gap penalties for insertions/deletions. Gap penalties are typically negative. By default a single gap_penalty applies to both directions; set insert_penalty and/or delete_penalty to penalise them independently.

When multiple alignments achieve the same optimal score, pynw breaks ties deterministically: Diagonal > Up > Left.

Edit-distance parameterizations

Needleman-Wunsch can reproduce common metrics with the right similarity-matrix values and gap penalty:

Metric S[i,j] match S[i,j] mismatch gap_penalty NW score equals
Levenshtein distance 0 -1 -1 -distance
Indel distance 0 -2 -1 -distance
LCS length 1 0 0 lcs_length
Hamming distance 0 -1 -(n+1) -distance

For Hamming distance, strings must have equal length.

API

Full API documentation is available at chrisdeutsch.github.io/pynw. To browse locally:

pixi run docs          # generate static HTML in site/
pixi run docs-serve    # serve live docs in the browser

Development

This repository uses pixi for development:

pixi install
pixi run build            # build the Rust extension
pixi run test             # run deterministic tests
pixi run lint             # run all pre-commit checks (ruff, cargo fmt, markdownlint, actionlint)
pixi run check            # run all pre-push checks (cargo clippy, mypy)
pixi run docs             # generate API docs in site/
pixi run docs-serve       # serve API docs in the browser

Linting and formatting are managed by lefthook and run automatically as git hooks.

Related projects

  • rapidfuzz: Highly optimized string distances (Levenshtein, Jaro-Winkler, etc.) with scoring, edit operations, and alignment. The better choice when you only need standard string metrics.
  • sequence-align: Rust-accelerated Needleman-Wunsch and Hirschberg for token sequences with built-in match/mismatch scoring.
  • scipy.optimize.linear_sum_assignment: Solves unconstrained bipartite matching ($O(N^3)$) where order does not matter.
  • BioPython Bio.Align.PairwiseAligner: Needleman-Wunsch/Smith-Waterman for biological sequences with alphabet-based substitution matrices (built-in and custom).

License

MIT

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

pynw-0.3.0.tar.gz (69.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pynw-0.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (465.6 kB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

pynw-0.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (428.8 kB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

pynw-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (254.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pynw-0.3.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (251.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

pynw-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl (463.1 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

pynw-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl (426.5 kB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

pynw-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (249.2 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

pynw-0.3.0-cp314-cp314-win_amd64.whl (133.6 kB view details)

Uploaded CPython 3.14Windows x86-64

pynw-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl (464.7 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

pynw-0.3.0-cp314-cp314-musllinux_1_2_aarch64.whl (428.4 kB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

pynw-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pynw-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (250.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

pynw-0.3.0-cp314-cp314-macosx_11_0_arm64.whl (228.4 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pynw-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl (237.5 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

pynw-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl (463.2 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

pynw-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl (426.6 kB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

pynw-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (249.3 kB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

pynw-0.3.0-cp313-cp313-win_amd64.whl (133.6 kB view details)

Uploaded CPython 3.13Windows x86-64

pynw-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl (464.8 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

pynw-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl (428.5 kB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

pynw-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pynw-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (250.9 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

pynw-0.3.0-cp313-cp313-macosx_11_0_arm64.whl (228.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pynw-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl (237.5 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

pynw-0.3.0-cp312-cp312-win_amd64.whl (133.6 kB view details)

Uploaded CPython 3.12Windows x86-64

pynw-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl (464.8 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

pynw-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl (428.4 kB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

pynw-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pynw-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (250.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

pynw-0.3.0-cp312-cp312-macosx_11_0_arm64.whl (228.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pynw-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl (237.5 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

pynw-0.3.0-cp311-cp311-win_amd64.whl (135.5 kB view details)

Uploaded CPython 3.11Windows x86-64

pynw-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl (465.3 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pynw-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl (428.8 kB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

pynw-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (253.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pynw-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (251.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

pynw-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (228.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pynw-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl (238.2 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

pynw-0.3.0-cp310-cp310-win_amd64.whl (135.8 kB view details)

Uploaded CPython 3.10Windows x86-64

pynw-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl (465.6 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

pynw-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl (429.0 kB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

pynw-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (254.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pynw-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (252.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file pynw-0.3.0.tar.gz.

File metadata

  • Download URL: pynw-0.3.0.tar.gz
  • Upload date:
  • Size: 69.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.12.6

File hashes

Hashes for pynw-0.3.0.tar.gz
Algorithm Hash digest
SHA256 921c0404ec780c9e93409556b19d6ed0d71a1e7ddb00ab554c81983c29caea99
MD5 ba14e7c23d2d63802831a6cf717adb97
BLAKE2b-256 601fc9eb1575e90bedf229a837db8e62217fa9e7510b7a28dfb40e9f2d6ad9f3

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3be1b5eceeebe4d3fa5a1eb7868c720b179919425eef9162661aa1c8ae525057
MD5 6b1704f36e9ae2a675525565484bce95
BLAKE2b-256 ce3ef57e383d557af0e0ab782b33f00b51d2f125a556fa838ecc60bb10902e2d

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 05faa4fcbcfcbae15ba7f87f28267e14e0fd9a14c408c00ece68941b89198cb7
MD5 ee4743bdf7c6be21d02467579d64a546
BLAKE2b-256 1f3c1ad62a49f5e8c9d24f372a5586879b5222e5e6b9f689dd23b7f912bb1a23

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b8b9ddc2e87f2b442ca036b553fde8eb162bf2e4661090a3194393345d53a24d
MD5 15d062c2bdf921b3dd612e07d5a8f5aa
BLAKE2b-256 0d67c19269004311ec7645d7e9c6434b98094458b769ebfc610114f0e3157982

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 56121b0a23eb8e5fce8e73dd302e6f8219e7d1759d83f74fc686a21a25a47e59
MD5 67cce55e6c49c59142c37f16db8613f3
BLAKE2b-256 73d07cc1083f425343c6f47aba5b3a2b32ccc4accf5c979095ae5183431da26a

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 2930d8810ec512e8d39709e6cf4dd4267cfc1d6ea5b981692140f4696b17cf94
MD5 45e3a5443f84ac927c13c7cf3e6c7f5f
BLAKE2b-256 0867cafd16a2818a7efa3ff4866c7bced32af8a135036459998886f7c1d976b4

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6bcb97f855d69f3c44d8cab75ee527f97285c7cf0e6c388e17ec757c2c7a62ba
MD5 741f8a41654965b5bc23e8098bc2d50e
BLAKE2b-256 b32489089573e9cdd12e674513b0774d35e023419e269dd3f814c87e1be9fde5

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5d38c6e4129a84c00ddb6690fe73526758b56695cbb46ac258d4df5a0a792668
MD5 0d72a1d4680bc77b1d6364c9f32a1bc3
BLAKE2b-256 6babb275381e1aa6a71c088115cb4a0dab4382470fbda1bd5af21553b2e47e58

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: pynw-0.3.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 133.6 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.12.6

File hashes

Hashes for pynw-0.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 ef625dc22d2dcc5b69060732cbb4c4e1a3e03c30f504f36c6ddb1295f5795729
MD5 4ddb3427e6135f285697bbaa2998819c
BLAKE2b-256 8fe47c6b289915d54532019b8f5c0b0514c6e208ca71f212dfabf19f239c3560

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4705e2f293270ea54f26e2f2a16e0e1cbe8e341b60186b3f7f5a3ac1b28bf59f
MD5 6d0f5ad9f58fbdff54ef3db55825ff93
BLAKE2b-256 d43a5561d6aacca655035fa9b081c316972933b84c18ab8176c41e46bcd28841

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 5a2932f95fa357f867f1c3dfc9e199d32c69001e5b5dd7fa641cd6a55616c0a6
MD5 8b57a985cfc64b93ec1775950b809a08
BLAKE2b-256 583d0ccdd31356f01a85e67654175a198ad27e4d9c6cfbe27ac5b448ac6b9767

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c99f8eb27e16c8c309c08d76ce77cc651444bc74aa51422ac58064a8b0fbab5
MD5 1476d91e829ac39f3623b6d104b2d9a7
BLAKE2b-256 24faf31ad005669071d3931f1b07f889bf8b734936e2e2e78bbf1acda90aa587

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 0457f7452035d1d129928b676a9942c83c916080f86b84945bbc3c697a0f7cbb
MD5 97de670360f9c9efa0b76676ea4a3470
BLAKE2b-256 51294104c9f04809fd78399568ebe5c3ed4f774fde3267ff0ebaaf0dcf821cc6

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 049fa7d23227398cb343451245fcb1cdce50795690b122e1b9c335d7ae6895a1
MD5 42ef3275a6652e0b6af5a74de7a01979
BLAKE2b-256 521db92845cb6bb81cae284101b7187259b42678d1d1428ba952b744fe95aada

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 15c4fa8341f4b4c92f53c1b00af1ac45347d893ffbfa2c3e5bb47eef7ac6d517
MD5 5301c13c8c5b8e8f73e73c137f388301
BLAKE2b-256 a77eb05d49c092a02d33aa19057de9ef10b62bc76e3f03aeb2abd33bf4bd6b59

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d1b434a8b58066be176b898d1e1e7452958cffa8c476c8b505f1ffc8acb7f46d
MD5 430f2ba29d3b8189ba0c2610908fc326
BLAKE2b-256 0642a6296e1ac6e4c28a7e54a60a9aac7b61cc5aedc535a8a9f6014ebde1ed1b

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 2e0ecd6d38820f6f3152627515949d64bb673350f6d9b0687213902685fa039c
MD5 6cd4f59b23e9e31d870fa88f3bf77ae1
BLAKE2b-256 10d86e7e0f23f513ab9270e250203f2445c62ca983d0dd23eef3dcb53ae6765f

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5933d93c359f70cfd05d3d13a44158b2d8b3c6b8b5f2c6147e1e97bf0f0a765e
MD5 53cac1eeaa7ddbdfcaca3fa73642b3bd
BLAKE2b-256 ca065997dea9968dd21e640c200c9e8f35296e9ef59cbd1a5d6abcfae652883c

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: pynw-0.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 133.6 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.12.6

File hashes

Hashes for pynw-0.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 898baada0ba5b8c24845c98b363afbdf0d0493a059794ca5a3e5a4c4ef80fcd3
MD5 cb02397f31d26d05cf76eb419d1c2382
BLAKE2b-256 90869d6614ca8247d4a9a3a5025cec1e5822bc303aec9b31ae00cfeaeabcad9d

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 624ccdc028bc464be2c19235df6d0fbcc873e258555206cdcb7dfcdec2cec432
MD5 f0c92d053013f46ca9e4ee5f4f801cf1
BLAKE2b-256 79f04da669ace81e2f67d9a34779dfb6be0a72b4c46397aacefa43d54316e60d

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bf5ba97469cf284f00dfc1227a37cc0adcf6b604b58d84d85457b18341316785
MD5 f9c2dc18b4440875c21fa48cf15f21c7
BLAKE2b-256 51dec84d818dca08acc3fc8bbc0777d138a08ee6ec49117340067cf42d7aec17

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c1988645cacbac75d4dbc1def13d8724da7cae77625c601e534f31a3ac8273a
MD5 7d09e7d5467be166db3c91f5abe1eca6
BLAKE2b-256 c5bc3bcd52a35aa7be13a0cced8cc3bcf669b44c0c367a8d70514aea41300f74

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 38de531ea98937d91a747b73c0a6d914b706a11cf885dbbe4424c8be16b9c0af
MD5 8e16cce3719510b6fb6bb4159d2148d1
BLAKE2b-256 94735b8ed0bd3b446aae3f972e40dd9fe00a0af6015648232a5bbc0b60820009

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6d2d7d9278eef3dd1bdf41b336e938d05e3dc08abadddfa2a504dde09eccbfd2
MD5 cf9eb43adc8f5c6a93c110d588f19300
BLAKE2b-256 a43929073a5c4470ce8436a0aafc9de95150c3de78e1c4978e1b7610284d976f

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 44be4d2b1e22e9e6d27b776300bd5a0ea7dd0a31e7b184b87c5fb17a0a040a14
MD5 ea006f819955a7c0102be8238f71bd0c
BLAKE2b-256 01c21975eb4a5202f0f1cd0323fe9fa94d944983cfa6184379751cc4f15def8b

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pynw-0.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 133.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.12.6

File hashes

Hashes for pynw-0.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a7259319f05cefb98deddb5a1cac2f1f0ae87f9d600d77423b92055af9114481
MD5 4d34a4adc17400b0720e4a6e9fad2bcb
BLAKE2b-256 e98867c03d979df4489d3f128a3ba8922c8cda6493b6b2b06471265ae31f8832

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c66537add99e1a13129d8ddc89a7729b36c8ad95144b267f3171f0f04767a393
MD5 b0e61f9d68f939c0a7a7b655b20dbd2c
BLAKE2b-256 db5bf4fb9bf164aa3c03ba53d7c9b828bd64c1b019a44f2fec4049a62d3b46c8

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d961653f3724035ddb8b97389aa647c4e85715d27d6f16e43690d4539e661e57
MD5 8a172e7d9c53c12f9ef80d4f8e1a03de
BLAKE2b-256 3c0e4225b430d054d9738fdca73d94c74d3ab66959b8826cc3658272a91e4163

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 220513cb20384d485de0959c4cf9f04d4e6ac2979e0c16bfa5c56311a0229f76
MD5 9046941c6d29509e4de65a588da59d43
BLAKE2b-256 8415614755d1b20dffdbdd15d155ec549c1186a24dd86cd04f044b9c4fa405d2

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 18d11ef7cf67a17d1553f34b31b983a3f464113241f51fa8ab383597188152dc
MD5 f656b3403909a7f90e2abefbc45741a4
BLAKE2b-256 906da6734f8bc1cf472ab5f31f393c5d83334fbaef3f5ede212e74f89e3c1a12

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f1f61d3b57fd00ad83e19647772cb9c7cc543859ad3ada930f5b41ce7a30726d
MD5 a25cf23f648c00a1b769397974c6f26a
BLAKE2b-256 1042ce9c58652d2cb807610e65984043b8e56c2075800802af6a17c37ae338ab

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cc04f15c087e5dfe165e117c7970f3383a48413b3dffed3fd73eaa147f63dadb
MD5 917643476f323707e58aca100a4e59f8
BLAKE2b-256 2b35199a49167e5536403833e6c6b31f52ae2f473a7941a3c22ffe0a13f2f459

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pynw-0.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 135.5 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.12.6

File hashes

Hashes for pynw-0.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d21fa654e899ea6896f5b17100f3ee6c9a19978f972663b4f752ef7e8cf779c6
MD5 12a04b36c8afdbe2ca70b2224b48ef87
BLAKE2b-256 f27977fcf1c8403d60f36e1b7b45ecf91536a2a2b360e53b9228c4ee15595617

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6be80c0b08456bba23f870f983fc827a97e0c99b91f8120141fc99b9f9e9b9a1
MD5 e55842e73b70947f3237d1bbbbdbc1e0
BLAKE2b-256 29329df3c88c4092169bb2475c03ae3c7f5520091eddf71f60e539073207b228

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 15ec93b52ef7c962f4c3cabf8108fe58819a3bee7c16414d4dc45521fc0f69ca
MD5 ca0aaea0f85608e213fe61e725674fef
BLAKE2b-256 7c3d48233f26d566bcaeae10f53c7025cf96fcb0a09d80d0c7d71c483f96a774

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5cb2f9789dddbde497cc2b741e6e68722f62984d374d0e1b4a5b881c95673215
MD5 e24692eb8f1e281b2a407b8eae8df2d2
BLAKE2b-256 031b31d40af6e0ca31b6f71b84089cbd6672d358c94973705a05f6dd3e2f0084

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 94096176a5e31c6ef9171043fc8418fb0ca71aa9aecb61fed14d1a4d96a94331
MD5 37fc2452ffe804b5a3e48b8b269229ce
BLAKE2b-256 a50323bc92790fa0bac6fde3953c4aed64df39f6e0b04a676e1b16d36de67773

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 554d5ac05b60860b53863432630b8c7f17a32e96689eebc09339f011e22ef06f
MD5 75c484d65bf3923301a821f78ebe6c71
BLAKE2b-256 7466ac3d68e018ca868aca6d0a35bdb3dff0dfb010a0dd3f06696fa38ebd9e81

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9f6870f732b5b0b642666c0c393098431ddec13a9305fdd76a730607c81a4cfd
MD5 4197eac87fa97561827c7cb9ae14fe8d
BLAKE2b-256 c1cee747c3b537c2945b3921fb31415892869425b06ea72c2bf6e74d251a8686

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pynw-0.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 135.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.12.6

File hashes

Hashes for pynw-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8181127b4476578551a694f4efa0536446167373ad6c73c045a5628aa9bb0095
MD5 c5cee23c29a3db635a4f8781fc25a7cd
BLAKE2b-256 71dc8e401e11000504ebb5ef7768d393c0df3c4d2a6a5d853522926beb36b5a9

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f1b0435a26a403e20036c37f6564348750fe430335a944a8f0236a8916aecc58
MD5 bb0503d9e1539a3686fb106c856fff96
BLAKE2b-256 5567b6c13f44ee64c254fc8bf7b293cac40e411fbb81bc45229b33e760315d3f

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 308d23a0c94a529b7da90fb4059c5227f96d0e1a0d978e8ab79664ef890a265b
MD5 ac1350bb6b52817684f4dd30bfe29f44
BLAKE2b-256 0a030acab6934fcdfa1e79efda423b85c5da6a9053fdb1af01c0bd833f969497

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d75031d32093b73859355a66759f0744688d4e1190de4f69bfcf5432848e04e3
MD5 a343ca1ca29c5f526749acfea570d4ce
BLAKE2b-256 6be6f9d59ed37eea4ccd3870d814d2e48624a9d2921e5b2069a1946f8c1ed038

See more details on using hashes here.

File details

Details for the file pynw-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for pynw-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e0efcc20a1352cf7960b1bcf16835bd01854a2dfb78a1ab89af5ad2962e8591c
MD5 fee425b4a80696e8dad7080313b10823
BLAKE2b-256 e55ebee8ac429a50b4771baff4e203050d5a8dbbcf77171719bac3bc64ea2723

See more details on using hashes here.

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