Close Numerical Matches
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, default0.1. Pairs with a distance of at mosttolmatch. Must be >= 0;tol=0finds exact duplicates.p:float, optional. The order of the Minkowski distance (>= 1, default 2,infallowed). Only allowed withdist='minkowski'.n_threads:int | None, default1. The number of threads to use;Noneor0uses one per CPU core. Small inputs use fewer threads.return_distances:bool, defaultFalse. 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 (
distmust be one of the built-in metrics). The old example of a custom Manhattan distance is nowdist='manhattan'. bucket_tol_multis 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
ValueErrororTypeErrorinstead ofAssertionError. - 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)
| 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)
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.