Skip to main content

Close Numerical Matches

PyPI - Downloads PyPI - Version GitHub Workflow Status (branch) CodeFactor Grade GitHub issues GitHub license PyPI - Python Version PRs welcome

This package finds close numerical matches fast across two 2D arrays of shape (n, d) and (m, d): every pair of rows that lie within a given tolerance of each other under a chosen distance metric. It returns the indices of the matches.

The engine is written in Rust and uses a KD-tree, so it stays fast for large arrays, clustered data and higher dimensions. It releases the GIL, can use several threads, and supports free-threaded Python.

Installation

You can install close-numerical-matches from PyPI:

$ pip install close-numerical-matches

The package supports CPython 3.11 to 3.15, including the free-threaded builds (3.14t, 3.15t), and requires numpy. Pre-built wheels are published for Linux (x86_64, aarch64), macOS (x86_64, arm64) and Windows (x86_64). Installing from the source distribution requires a Rust toolchain.

How to use

Import find_matches from close_numerical_matches and supply two arrays of shape (n, d) and (m, d) and a tolerance. The result is a (k, 2) array of index pairs [i, j] where arr0[i] and arr1[j] match, sorted lexicographically:

>>> import numpy as np
>>> from close_numerical_matches import find_matches
>>> arr0 = np.array([[25, 24], [50, 50], [25, 26]])
>>> arr1 = np.array([[25, 23], [25, 25], [50.6, 50.6], [60, 60]])
>>> find_matches(arr0, arr1, tol=1.0001)
array([[0, 0], [0, 1], [1, 2], [2, 1]])
>>> find_matches(arr0, arr1, tol=0.9999)
array([[1, 2]])
>>> find_matches(arr0, arr1, tol=0.60001)
array([], shape=(0, 2), dtype=int64)
>>> find_matches(arr0, arr1, tol=0.60001, dist='max')
array([[1, 2]])
>>> find_matches([[0, 0.05]], [[0, 5], [0, -0.01]], tol=0.1, dist='cos')
array([[0, 0]])
>>> matches = find_matches(arr0, arr1, tol=1.0001, dist='manhattan')
>>> matches
array([[0, 0], [0, 1], [2, 1]])
>>> indices0, indices1 = matches.T
>>> arr0[indices0]
array([[25, 24], [25, 24], [25, 26]])

The arguments in more detail:

  • arr0, arr1 : array-like of shape (n, d) and (m, d). A 1-D array is treated as a single column.
  • dist : str, default 'euclidean'. The distance metric, see the table below.
  • tol : float, default 0.1. Pairs with a distance of at most tol match. Must be >= 0; tol=0 finds exact duplicates.
  • p : float, optional. The order of the Minkowski distance (>= 1, default 2, inf allowed). Only allowed with dist='minkowski'.
  • n_threads : int | None, default 1. The number of threads to use; None or 0 uses one per CPU core. Small inputs use fewer threads.
  • return_distances : bool, default False. Also return a (k,) array with the distance of each match.

Rows containing NaN or infinity never match, and nor do zero vectors with the cosine distance.

Distance metrics

dist Aliases Distance
'euclidean' 'norm', 'l2' √Σ(xᵢ − yᵢ)²
'sqeuclidean' Σ(xᵢ − yᵢ)²
'manhattan' 'cityblock', 'l1' Σ|xᵢ − yᵢ|
'chebyshev' 'max', 'linf' maxᵢ |xᵢ − yᵢ|
'minkowski' (Σ|xᵢ − yᵢ|ᵖ)^(1/p), with p=...
'cosine' 'cos' 1 − x·y / (‖x‖ ‖y‖), in [0, 2]

All metrics are exact: every pair within the tolerance is found.

Distances

>>> matches, distances = find_matches(arr0, arr1, tol=1.0001, return_distances=True)
>>> distances.round(3)
array([1.   , 1.   , 0.849, 1.   ])

Searching the same array many times

If you search one array again and again, build a MatchIndex over it once. MatchIndex(arr1).query(arr0, tol) returns the same as find_matches(arr0, arr1, tol=tol) when both arrays have the same dtype (the index computes in its own dtype, so a float32 index converts float64 queries to float32). The index is immutable, so threads can share it.

>>> from close_numerical_matches import MatchIndex
>>> index = MatchIndex(arr1)
>>> index
MatchIndex(n_points=4, n_dims=2, dist='euclidean', dtype=float64)
>>> index.query(arr0, tol=1.0001)
array([[0, 0], [0, 1], [1, 2], [2, 1]])
>>> index.query([[60, 60.5]], tol=1)
array([[0, 3]])

float32

If both arrays are float32, the search runs in float32 and returns float32 distances, which halves the memory for large arrays. Everything else is computed in float64.

>>> _, distances = find_matches(
...     arr0.astype(np.float32), arr1.astype(np.float32), tol=1, return_distances=True
... )
>>> distances.dtype
dtype('float32')

Threads and free-threaded Python

The search does not hold the GIL, so other Python threads keep running, and with n_threads it runs on several cores itself, on a thread pool shared by all calls. The inputs are copied before the GIL is released, so other threads may change them during a search. On free-threaded Python (3.14t, 3.15t) the module does not re-enable the GIL, and find_matches and MatchIndex.query can be called from many threads at once. As with any numpy function, do not write to an input array from another thread while a call is reading it.

How fast is it?

Benchmarked on an Apple M5 Pro (18 cores) with Python 3.15, with SciPy's KDTree.sparse_distance_matrix as a reference point (SciPy returns the same matches). Run uv run --group bench python benchmarks/bench.py to reproduce.

Scenario Matches 1 thread All cores SciPy KDTree
2-D: 320k x 44k 44,453 20.8 ms 3.8 ms 66.7 ms
1-D: 1M x 1M 199,474 35.3 ms 17.5 ms 260.1 ms
3-D: 200k x 200k 4,416 27.6 ms 6.0 ms 109.5 ms
3-D chebyshev: 200k x 200k 2,580 24.7 ms 5.8 ms 111.9 ms
8-D clustered: 50k x 50k 47,588 12.3 ms 3.1 ms 149.9 ms
32-D cosine, clustered: 20k x 20k 666,344 40.8 ms 8.7 ms 1.46 s
Many matches: 3k x 3k, 2-D 1,928,484 11.0 ms 5.8 ms 9.4 ms
Tiny: 100 x 100, 2-D 59 7 µs 7 µs 21 µs

How it works

A KD-tree is built over the smaller of the two arrays: the points are split recursively at the median of their widest dimension, and every node stores the bounding box of its points. Each row of the other array then walks down to its own leaf by the split values alone. At every level the other side is checked with a one-dimensional bound and only searched, box by box, when it can hold a match, so most of the tree is never touched. If a whole box lies within tol, all its points match without computing distances. Otherwise only the points in the leaves that are left are compared.

In one dimension no tree is needed: both arrays are sorted and swept together in one pass.

Some details that make it fast:

  • Every metric is compiled into its own specialised search loop. Euclidean-like metrics compare squared distances while pruning, and cosine searches on unit vectors (where the cosine distance is half the squared Euclidean distance), so it is exact too.
  • The queries are processed in tree order, so consecutive queries visit the same nodes while those are in the CPU cache.
  • With n_threads, the tree is built and the queries are searched in parallel on a thread pool that all calls share, and the result is still the same, sorted array.

For low dimensions the runtime is close to O((n + m) log(min(n, m)) + k) for k matches. In high dimensions or with very many matches no search structure can avoid comparing most pairs, but the tree never costs much more than comparing all pairs, which naive_find_matches does.

Migrating from 0.2.x

  • Custom distance functions are no longer supported (dist must be one of the built-in metrics). The old example of a custom Manhattan distance is now dist='manhattan'.
  • bucket_tol_mult is gone: the search is exact for every metric, so there is nothing to tune.
  • An empty result has shape (0, 2) instead of (0,), and the matches are always sorted.
  • Invalid arguments raise ValueError or TypeError instead of AssertionError.
  • Python 3.11 or newer is required.

When NOT to use this library

  • If you expect a large fraction of all pairs to match, the output itself is huge, so this library cannot be much faster than comparing every pair.
  • For very high-dimensional data (hundreds of dimensions), trees cannot prune much; look into approximate nearest-neighbour libraries.

Development

You need uv and a Rust toolchain. All Python tools (ruff, pyright, pytest, prek) are pinned in uv.lock, and CI uses the same versions.

$ uv sync                     # create .venv, install the tools and build the extension
$ uv run pytest               # Python tests, incl. differential tests against numpy
$ uv run pyright              # type checking
$ cargo test                  # Rust unit tests (set PYO3_PYTHON to a Python interpreter)
$ uv run prek install         # run ruff, pyright, cargo fmt and more on every commit

After changing Rust code, uv sync rebuilds the extension (or run uv run maturin develop --release).

Metadata

Release files for close-numerical-matches 0.3.0

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

Source distribution (sdist)

Source distribution for close-numerical-matches 0.3.0
File Size Uploaded Provenance Actions
close_numerical_matches-0.3.0.tar.gz 83.3 kB Without provenance Details for close_numerical_matches-0.3.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for close-numerical-matches 0.3.0
File Actions
close_numerical_matches-0.3.0-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details for close_numerical_matches-0.3.0-cp315-cp315t-win_amd64.whl
close_numerical_matches-0.3.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Details for close_numerical_matches-0.3.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
close_numerical_matches-0.3.0-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64 Details for close_numerical_matches-0.3.0-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
close_numerical_matches-0.3.0-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details for close_numerical_matches-0.3.0-cp315-cp315t-macosx_11_0_arm64.whl
close_numerical_matches-0.3.0-cp315-cp315t-macosx_10_12_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 10.12+ x86-64 Details for close_numerical_matches-0.3.0-cp315-cp315t-macosx_10_12_x86_64.whl
close_numerical_matches-0.3.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details for close_numerical_matches-0.3.0-cp315-cp315-win_amd64.whl
close_numerical_matches-0.3.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64 Details for close_numerical_matches-0.3.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
close_numerical_matches-0.3.0-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ ARM64 Details for close_numerical_matches-0.3.0-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
close_numerical_matches-0.3.0-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details for close_numerical_matches-0.3.0-cp315-cp315-macosx_11_0_arm64.whl
close_numerical_matches-0.3.0-cp315-cp315-macosx_10_12_x86_64.whl CPython 3.15 CPython 3.15 macOS 10.12+ x86-64 Details for close_numerical_matches-0.3.0-cp315-cp315-macosx_10_12_x86_64.whl
close_numerical_matches-0.3.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for close_numerical_matches-0.3.0-cp314-cp314t-win_amd64.whl
close_numerical_matches-0.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details for close_numerical_matches-0.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
close_numerical_matches-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details for close_numerical_matches-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
close_numerical_matches-0.3.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details for close_numerical_matches-0.3.0-cp314-cp314t-macosx_11_0_arm64.whl
close_numerical_matches-0.3.0-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details for close_numerical_matches-0.3.0-cp314-cp314t-macosx_10_12_x86_64.whl
close_numerical_matches-0.3.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for close_numerical_matches-0.3.0-cp314-cp314-win_amd64.whl
close_numerical_matches-0.3.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 for close_numerical_matches-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
close_numerical_matches-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details for close_numerical_matches-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
close_numerical_matches-0.3.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for close_numerical_matches-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
close_numerical_matches-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details for close_numerical_matches-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl
close_numerical_matches-0.3.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for close_numerical_matches-0.3.0-cp313-cp313-win_amd64.whl
close_numerical_matches-0.3.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 for close_numerical_matches-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
close_numerical_matches-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details for close_numerical_matches-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
close_numerical_matches-0.3.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for close_numerical_matches-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
close_numerical_matches-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details for close_numerical_matches-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl
close_numerical_matches-0.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for close_numerical_matches-0.3.0-cp312-cp312-win_amd64.whl
close_numerical_matches-0.3.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 for close_numerical_matches-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
close_numerical_matches-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details for close_numerical_matches-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
close_numerical_matches-0.3.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for close_numerical_matches-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
close_numerical_matches-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details for close_numerical_matches-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl
close_numerical_matches-0.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for close_numerical_matches-0.3.0-cp311-cp311-win_amd64.whl
close_numerical_matches-0.3.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 for close_numerical_matches-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
close_numerical_matches-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details for close_numerical_matches-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
close_numerical_matches-0.3.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for close_numerical_matches-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
close_numerical_matches-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details for close_numerical_matches-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl

Total release size: 13.2 MB

Release files / close_numerical_matches-0.3.0.tar.gz

Download URL close_numerical_matches-0.3.0.tar.gz
Size 83.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0edd2b701e5caaa1dbdec11a9b22a59f49b7580b424e61aa1a75b5e850893760
BLAKE2b-256 checksum
How to use checksums
8f4a83a590089f45c37112179f5e7fba7631b9ab0e3fd7f1857010e46310b0ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp315-cp315t-win_amd64.whl

Download URL close_numerical_matches-0.3.0-cp315-cp315t-win_amd64.whl
Size 282.9 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
2b4f40136f35e947c1002b87a4c8e6908f4f4fb4bbba8bf3c03f69007ff74d53
BLAKE2b-256 checksum
How to use checksums
c9b176d82a06ff5baee924c67a811085e9f9fe910d6932b7d16ba49eff59ef06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 422.6 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1916743ce5503e39223912775ebdc0074da11f6b4e8c9f4469e3b9aee28aada0
BLAKE2b-256 checksum
How to use checksums
591c6443995f33b6c55dbd300228587c468b06c2f9e82ee3ff77c119d739e7b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL close_numerical_matches-0.3.0-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 403.3 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
731272bae9b1d4f75d29438ed90156e6b07d4ca3cd205b934caba7479b5dc1e1
BLAKE2b-256 checksum
How to use checksums
cbb85fbd9e70494fddad502b6c6b45d582a52cfb715f8cb72773a777b2aa1282
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp315-cp315t-macosx_11_0_arm64.whl

Download URL close_numerical_matches-0.3.0-cp315-cp315t-macosx_11_0_arm64.whl
Size 363.7 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ce2361082392cf0edab10e1e2562cf4b9794e79b9ed425509a147c63b30acbc8
BLAKE2b-256 checksum
How to use checksums
e32abb8af679700ebd57a7fa353fbff540dad7232c80702d0bd0267b945359d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp315-cp315t-macosx_10_12_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp315-cp315t-macosx_10_12_x86_64.whl
Size 388.4 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
0852b8f3051a515c95777f4615435bf26ad4d4e79d6acd0a3238c2bd07e9c524
BLAKE2b-256 checksum
How to use checksums
449b7db3ad4851c491babd13071ce77948a04b82ca0629a825a3e74dd7888e36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp315-cp315-win_amd64.whl

Download URL close_numerical_matches-0.3.0-cp315-cp315-win_amd64.whl
Size 284.1 kB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
992bb9299d2f2092af0289551f17d37412980a852ab126ee22c3d3e7fbcf9ea1
BLAKE2b-256 checksum
How to use checksums
9d698de32c966128b13c217651672fff0b24e5f11f4edff9a261d48e2da163db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 424.6 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5acebd7b24b6cb49e71f1e1d6414d334cb46f71cfe086b0cf67629eb7b25880f
BLAKE2b-256 checksum
How to use checksums
40ca46c4860ec5bd1b06e9108551f7f7ef89527e8273b5d4ed38d37b0a34e0c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL close_numerical_matches-0.3.0-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 405.5 kB
Tags CPython 3.15 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
bd4880cc14a9e9d9f992134da089be77d7c5703541d2aa9f6c6cf276ff9d966e
BLAKE2b-256 checksum
How to use checksums
cb239a84d65831424fb4e655a1b73df09160ea52ed38b1bdf6edd454cdae2ca9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp315-cp315-macosx_11_0_arm64.whl

Download URL close_numerical_matches-0.3.0-cp315-cp315-macosx_11_0_arm64.whl
Size 365.0 kB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
378584e548d69295bf24ac1d1644b998969c818a8d3e05e7276a896e03eba84e
BLAKE2b-256 checksum
How to use checksums
e1a7a43068e3e14e14ea0b01192da02a3b9fa0e63efc6ddeedace33c389b2745
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp315-cp315-macosx_10_12_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp315-cp315-macosx_10_12_x86_64.whl
Size 390.6 kB
Tags CPython 3.15 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
dd8236835949be194a139653de23e160916ef90635959dd6b92e08bc87f19f1c
BLAKE2b-256 checksum
How to use checksums
2834e0d8b763c36fdbb1de9067519cd81b4e7f3effc5794fa74d06a4f7bd1e8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp314-cp314t-win_amd64.whl

Download URL close_numerical_matches-0.3.0-cp314-cp314t-win_amd64.whl
Size 282.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
6a7c249899c14d1cd15942419be3aeb1a969ad4d7edac3f9f8540192cbc202ff
BLAKE2b-256 checksum
How to use checksums
ea6ac4454600329c6c4e69c42832027739972c8fe55e29dee120fcd5261ab017
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 422.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
980aab782d49d6dba3cdae4b491086d1248ef097d30a54571790917f421e7b77
BLAKE2b-256 checksum
How to use checksums
e16bc53e443d11a4aef3f739d4bfc1dbacfe5fc46b11badbb8a39c101c733b42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL close_numerical_matches-0.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 403.4 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
e9548330437c9aa2c4ee61692badecac8782c4bd1ad1615aca3f7ca268a07c6a
BLAKE2b-256 checksum
How to use checksums
60e9af4712b9663e95df166d519ad20888811523d485e0367fb03806ecf2c589
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL close_numerical_matches-0.3.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 363.7 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
221af2da5ca28ce11b84b0324c2a58c5992b578a9241ea40cd6acdbe3416cd60
BLAKE2b-256 checksum
How to use checksums
babcdbd176da332b721fa4559123094beb955b5bf248fa3fe74b8d84ece88e37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp314-cp314t-macosx_10_12_x86_64.whl
Size 388.5 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e2ef34a1de7307e94e37f88d6cc4fab9ad9d5f39a7ed2eeec983b019dbbaeaff
BLAKE2b-256 checksum
How to use checksums
4ac1b3dba3b22eb72d7720bc6269a7b40f0e425f97ef37826447a77dc092ebe6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp314-cp314-win_amd64.whl

Download URL close_numerical_matches-0.3.0-cp314-cp314-win_amd64.whl
Size 284.0 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
2995198c09fa408a5df69654982e526ae0bbff956d88f9acd3cc6f5e4cf276c6
BLAKE2b-256 checksum
How to use checksums
ec6cc76c5c68b7cbad872ddf7d3ddf6e245bd0ac16de4769f9694bb8f127d8f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 424.8 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d59701b7c41851f779a61187022d18634834424222ecd215868a208f9e183dfc
BLAKE2b-256 checksum
How to use checksums
d0e5dcce502b8cd5117c2c56eee51316fcc23fa23f25919d2678fe22593b4784
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL close_numerical_matches-0.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 405.9 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
0a669ae2e9e5e9510cfa97286f465dc6dc840107ccddfa28c3d6b89a1808409c
BLAKE2b-256 checksum
How to use checksums
941b3b506aafeeb8c346e3ca528e692e71d684099e8a2ad7dd9f92747dfa0c78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL close_numerical_matches-0.3.0-cp314-cp314-macosx_11_0_arm64.whl
Size 365.1 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1b5a6291b0dba73514434552b58caebafef5720840d0a3143078b608ca87ea41
BLAKE2b-256 checksum
How to use checksums
3f2ade77c520c77d9dcdfd829b57cee790b4be873e78a8bafe025f26755621d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp314-cp314-macosx_10_12_x86_64.whl
Size 390.6 kB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
4fc28bfc41940e290f6f677000091895da1738612edf132954de28ae1f88e187
BLAKE2b-256 checksum
How to use checksums
3ff8adb23e3d1d9d123304c9248cb6cda7ece5aeade8a14bea3ec3b4c2b49dad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp313-cp313-win_amd64.whl

Download URL close_numerical_matches-0.3.0-cp313-cp313-win_amd64.whl
Size 285.1 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4b443f31d1cfe8dbf7e22fd37d8d5c023a6e38fcbda433472df77488d6dfa64a
BLAKE2b-256 checksum
How to use checksums
9fad808efaf0ce8899a9a8442099d27a321e4ae815a446ce9d5abf3b1f7a6dff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 424.4 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
bfada9b7554b600d0b0d440990fc124fe50f52584b3940d18acc440331f8ff17
BLAKE2b-256 checksum
How to use checksums
ffe7bc084c2bd047e82096cbcf153476de18fad8309c89d4b2ecbd35329153df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL close_numerical_matches-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 405.5 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
84ed3a8f9b2ee86ace45bbdc5658abeb0477476d2c49534ceb79c22a5466cc1d
BLAKE2b-256 checksum
How to use checksums
2d19ffd01c6f465a437455cb1bfe40b9207864a6755692dcae93881c731e49d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL close_numerical_matches-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Size 365.4 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
342b74f642ac14fc4c28a61cda68e32adc62cccb1e09506e0d65cd5f35972c93
BLAKE2b-256 checksum
How to use checksums
c26eae610095585c4e329a9951562d38d3f6a73e20d55a02bbe89445e4bbff0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 391.2 kB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
924fa87be345719dbe238ffa86c62a49b17242ba9c45d29a90155dced5efab4f
BLAKE2b-256 checksum
How to use checksums
25fb7731c7054ad671aa5a2a39cde480859c8742a72786956682d984ce6ff8e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp312-cp312-win_amd64.whl

Download URL close_numerical_matches-0.3.0-cp312-cp312-win_amd64.whl
Size 284.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
5b6194f1586a11b0b98bf2640ceb0b7d873923777e5051bc26b5eb1d6990b021
BLAKE2b-256 checksum
How to use checksums
ef687df2681e87a97ea9fa20e8142e85235a53a79587a138a84b549b368f9c6f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 424.2 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a0c6e82047b5b04bdd5e58da0d2c10eabde98548bede7d5085255e4f9a934961
BLAKE2b-256 checksum
How to use checksums
43c30554832561ce0a1635d00b743af00bf3ea78734fc30e56ff03e21e00ce08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL close_numerical_matches-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 405.2 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
ba4181e8543924d9c7d4ccf08c0c9f460bb7ebfdcd43382ba2329eaaa2288dde
BLAKE2b-256 checksum
How to use checksums
43f73d379808d1729901d86b433984c58900109464e5f420068de9a15d0a889e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL close_numerical_matches-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Size 365.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c9ccc4e1b5f5f6ae6abaff6f41bd06eb8bca9b27b1fc7d3e64b801ea7cc5b4c4
BLAKE2b-256 checksum
How to use checksums
f0eefbea1fa830f0da4db6176ac985e6f290df8b06cbd7c0a704cc1eec8b97f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 391.2 kB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
3bb994701b38bc5aa5abff1c09bf86cd84a865bd59bc1868733d07b27992a3a0
BLAKE2b-256 checksum
How to use checksums
c2f481a2df014b22ac1cf88b69477d51d8cf2d9709a95229c27c7501dec36eef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp311-cp311-win_amd64.whl

Download URL close_numerical_matches-0.3.0-cp311-cp311-win_amd64.whl
Size 282.0 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
6d1f53f6eafc1fadd0b4ee5ba7ab419bd8667272a324e0de54152771196e4565
BLAKE2b-256 checksum
How to use checksums
ef06174376bdb625dab29f64bb41fa09a004e7fdabe71114789cc54ea96f76a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 420.7 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
263df0a55fa99bdc1c81a7536db8953784e459faa4c45e0a93080fe7051ba32d
BLAKE2b-256 checksum
How to use checksums
ab3d6cffa8816d0a6c463d44b9dc697b514200d7c350f6573ff52c73e9f773e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL close_numerical_matches-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 402.7 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
9d5ea8cd018c7be6c7b40f3db4b3094b8800258bc6a897b8e6a4d90a7696ba60
BLAKE2b-256 checksum
How to use checksums
8a19ea52ac186c29f59293d16d49b286f9124859cb136ffc5cfc14b37d2ed23d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL close_numerical_matches-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Size 367.4 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7b26c551195160f31a18618e2a37059c74af4ec9c295000da0503373297caa68
BLAKE2b-256 checksum
How to use checksums
86f8cde87a3be0fdb3aba250e0c9111a6816121f62c832f05f2f7cada493c101
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / close_numerical_matches-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl

Download URL close_numerical_matches-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 390.9 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
98a222797e801c1199da3454128cf4ec0098f2448705a35645334fd48eeb0457
BLAKE2b-256 checksum
How to use checksums
694894772793fdbdabee6906f1abac67a8bc1222f1e7b5a50b87e0ff5476a628
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for close-numerical-matches 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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