Skip to main content

Finds close numerical matches across two arrays.

Project description

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) (if it can be assumed there will be relatively few matches and d is relatively low). Returns the indices of the matches.

Installation

You can install close-numerical-matches from PyPI:

$ pip install close-numerical-matches

The package is supported on Python 3.8 and above and requires Numpy.

How to use

Import find_matches from close_numerical_matches and supply two arrays of shape (n, d) and (m, d) and a given tolerance level. Optionally provide your desired distance metric and a bucket tolerance multiplier. The arguments in more detail:

  • arr0 : np.ndarray First array to find matches against. Should be of size (n, d).
  • arr1 : np.ndarray Second array to find matches against. Should be of size (m, d).
  • dist : {'norm', 'max', 'cos'} or Callable[[np.ndarray, np.ndarray], np.ndarray], default='norm' Distance metric to calculate distance. 'norm', 'max' and 'cos' are currently supported. If you want some other distance function, you can supply your own function. It should take two arrays: One array of size (n, d) of entries and another array of size (d,) of a particular entry. Should return an (n,) array of distances.
  • tol : float, default=0.1 The tolerance where values are considered the similar enough to count as a match. Should be > 0.
  • bucket_tol_mult : int, default=2 The tolerance multiplier to use for assigning buckets. By setting this lower, there are fewer potential close points that need to be checked (faster runtime), but you risk missing some match pairs. By setting it higher, you need to compare more potential matches, but the risk of missing any close pair is lower. For cosine distance, you might need to set this high. If you supply your own distance function, do take this parameter into consideration. Should never be less than 1.

Example

>>> 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([], 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]])
>>> manhatten_dist = lambda arr, row: np.sum(np.abs(arr - row), axis=1)
>>> matches = find_matches(arr0, arr1, tol=1.0001, dist=manhatten_dist)
>>> matches
array([[0, 0], [0, 1], [2, 1]])
>>> indices0, indices1 = matches.T
>>> arr0[indices0]
array([[25, 24], [25, 24], [25, 26]])

More examples can be found in the test cases.

How fast is it?

Here is an unscientific example:

from timeit import default_timer as timer
import numpy as np
from close_numerical_matches import naive_find_matches, find_matches

arr0 = np.random.rand(320_000, 2)
arr1 = np.random.rand(44_000, 2)

start = timer()
naive_find_matches(arr0, arr1, tol=0.001)
end = timer()
print(end - start)  # 255.335 s

start = timer()
find_matches(arr0, arr1, tol=0.001)
end = timer()
print(end - start)  # 5.821 s

How it works

Instead of comparing every element in the first array against every element in the second array, resulting in an O(nmd) runtime, all elements are at first assigned to buckets so only elements that are relatively close are compared. In the case of relatively few matches and a low dimensionality d, this cuts the runtime down to almost linear O((n + m)d).

In general, the algorithm runtime of the bucket approach is O((n + m)d + Bd³ + ∑_{b ∈ B} n_b m_b) where B is the number of buckets and n_b and m_b are the number of items assigned to bucket b. As can be seen, it scales bad with dimensionality and also does not improve from the naive approach if all elements are assigned to the same bucket. In case the bucket approach is likely to be slower than the naive approach, this library will fall back to the naive approach.

When NOT to use this library

  • If you are working with arrays with very high dimensionalities, the algorithm employed here does not scale well. As mentioned above, the naive algorithm will be used in such cases. See if another library exists for your particular problem.
  • If you are expecting that a lot of pairs will match, this is not suitable. This algorithm is targeted for the case where there are extremely many data points and only a fraction of those are expected to match.
  • If you need to use a distance function that does not map well to being assigned to buckets.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

close_numerical_matches-0.2.3-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

close_numerical_matches-0.2.3-cp312-cp312-win_arm64.whl (45.6 kB view details)

Uploaded CPython 3.12 Windows ARM64

close_numerical_matches-0.2.3-cp312-cp312-win_amd64.whl (53.2 kB view details)

Uploaded CPython 3.12 Windows x86-64

close_numerical_matches-0.2.3-cp312-cp312-win32.whl (47.8 kB view details)

Uploaded CPython 3.12 Windows x86

close_numerical_matches-0.2.3-cp312-cp312-musllinux_1_1_x86_64.whl (140.1 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

close_numerical_matches-0.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (144.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

close_numerical_matches-0.2.3-cp312-cp312-macosx_11_0_arm64.whl (76.3 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

close_numerical_matches-0.2.3-cp312-cp312-macosx_10_9_x86_64.whl (79.5 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

close_numerical_matches-0.2.3-cp312-cp312-macosx_10_9_universal2.whl (146.2 kB view details)

Uploaded CPython 3.12 macOS 10.9+ universal2 (ARM64, x86-64)

close_numerical_matches-0.2.3-cp311-cp311-win_arm64.whl (45.4 kB view details)

Uploaded CPython 3.11 Windows ARM64

close_numerical_matches-0.2.3-cp311-cp311-win_amd64.whl (52.6 kB view details)

Uploaded CPython 3.11 Windows x86-64

close_numerical_matches-0.2.3-cp311-cp311-win32.whl (47.1 kB view details)

Uploaded CPython 3.11 Windows x86

close_numerical_matches-0.2.3-cp311-cp311-musllinux_1_1_x86_64.whl (134.9 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

close_numerical_matches-0.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (140.2 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

close_numerical_matches-0.2.3-cp311-cp311-macosx_11_0_arm64.whl (76.3 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

close_numerical_matches-0.2.3-cp311-cp311-macosx_10_9_x86_64.whl (78.7 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

close_numerical_matches-0.2.3-cp311-cp311-macosx_10_9_universal2.whl (145.3 kB view details)

Uploaded CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)

close_numerical_matches-0.2.3-cp310-cp310-win_arm64.whl (45.7 kB view details)

Uploaded CPython 3.10 Windows ARM64

close_numerical_matches-0.2.3-cp310-cp310-win_amd64.whl (53.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

close_numerical_matches-0.2.3-cp310-cp310-win32.whl (47.3 kB view details)

Uploaded CPython 3.10 Windows x86

close_numerical_matches-0.2.3-cp310-cp310-musllinux_1_1_x86_64.whl (137.3 kB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

close_numerical_matches-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (142.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

close_numerical_matches-0.2.3-cp310-cp310-macosx_11_0_arm64.whl (77.7 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

close_numerical_matches-0.2.3-cp310-cp310-macosx_10_9_x86_64.whl (80.2 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

close_numerical_matches-0.2.3-cp310-cp310-macosx_10_9_universal2.whl (148.2 kB view details)

Uploaded CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)

close_numerical_matches-0.2.3-cp39-cp39-win_arm64.whl (45.7 kB view details)

Uploaded CPython 3.9 Windows ARM64

close_numerical_matches-0.2.3-cp39-cp39-win_amd64.whl (53.0 kB view details)

Uploaded CPython 3.9 Windows x86-64

close_numerical_matches-0.2.3-cp39-cp39-win32.whl (47.2 kB view details)

Uploaded CPython 3.9 Windows x86

close_numerical_matches-0.2.3-cp39-cp39-musllinux_1_1_x86_64.whl (137.0 kB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

close_numerical_matches-0.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (141.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

close_numerical_matches-0.2.3-cp39-cp39-macosx_11_0_arm64.whl (77.7 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

close_numerical_matches-0.2.3-cp39-cp39-macosx_10_9_x86_64.whl (80.1 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

close_numerical_matches-0.2.3-cp39-cp39-macosx_10_9_universal2.whl (148.1 kB view details)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

close_numerical_matches-0.2.3-cp38-cp38-win_amd64.whl (52.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

close_numerical_matches-0.2.3-cp38-cp38-win32.whl (47.1 kB view details)

Uploaded CPython 3.8 Windows x86

close_numerical_matches-0.2.3-cp38-cp38-musllinux_1_1_x86_64.whl (136.0 kB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

close_numerical_matches-0.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (139.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

close_numerical_matches-0.2.3-cp38-cp38-macosx_11_0_arm64.whl (76.8 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

close_numerical_matches-0.2.3-cp38-cp38-macosx_10_9_x86_64.whl (79.3 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

close_numerical_matches-0.2.3-cp38-cp38-macosx_10_9_universal2.whl (146.4 kB view details)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

File details

Details for the file close_numerical_matches-0.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a2152f45b1729c7c423f05d9862397a23cf1e4f8c4bd04250cd18fc76533bad2
MD5 ea915e345b2ebe48d0cbc305f110daf6
BLAKE2b-256 034af3369c8fe22b39db07ba5e3c3474963e290a130545550962c4cac392aedf

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 321801ca3b27bcac2797739a0ff9e260a30214be6b336345b9294c1e248bd59b
MD5 c42b4b3679468f70eb3e236c5f680449
BLAKE2b-256 0911c9ba7ba993c6aed81665485c5367a66132655e2341a66da1d4d95e050a2b

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 43c5cf754e66df90905f767d1c02f4c81dd9755ab0662171632badc65256e08c
MD5 bd751ce5f0b7e05487c8ef4b2ea92a52
BLAKE2b-256 e8a2ec2198b6ca9271d793a770928a26e19569ee1d93a2f180439e6ed6b9ac21

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 53eacb45f211c4e236c5c59d09433de12243c6f3b4c8539b824feccf10c995d5
MD5 9f5a1cceba3b754964141a87262229f9
BLAKE2b-256 51c65cdac13b5f5515fcd493168f8278c91f66ea24802b9a15192030eeef50f0

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7b8273d3872edd4a17e9df55b8cbb159f4679ec2be7f89b2de775e9b480e1b33
MD5 078eb2b8ce2d512d7dfac7b09968fb71
BLAKE2b-256 4abc49a8c8bca398d7178072b05bf407aed99df75165bfcfe3dd88e856ff6433

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d3534c717de9f9ff0d78492c12b56807ec25bcdeb33bff78b2134d3f9943a13f
MD5 87d48fe9a19126956cb22ce74b4fcae8
BLAKE2b-256 9e2fc5a8412fdd473cb147c7d22d46acead8582621295dd46d68fa49f8d85d91

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cf9b52e03024d937fe8d5cdbefb10ed5d6f09ef5cb0010a210f5963d8f02cd8d
MD5 6a66f25a1111dc3b8d35cca649e1b246
BLAKE2b-256 1f7565ee415eadb9a24d339783c444ad1683822dc4ad4cc28fdc1b5e6087967c

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c6ce826b332603441518e0a804c98f42759875410610f149150c1db13ac03227
MD5 054f0b5db66553b6471c2ba7ec734f50
BLAKE2b-256 698d98072e29e346140d6266bf3c9b029109db80a8c6e6fd08ebe305bef20d09

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp312-cp312-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp312-cp312-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 93786efc80e80df999be1cc7587a5a6e720a06914f4cbd0b4ed6d7af94d95d0d
MD5 a4a16c0ff6ecc9312333c6a98bf52608
BLAKE2b-256 fc4b89245d99fb34cb3d20410889e6f592a849ff06203485443285d129812c76

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 3775bb326415cae681f9cc27f0ca5b15eb0586dfaefe6b041a8c57e06d4c2ae8
MD5 5873ec2754319b17490db7447adb26bc
BLAKE2b-256 1b6dc6595b861b79edd90b97a3161fbea8b21b83b999424786ac25755b2f264b

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 90d34d7e9ddeb9a11a7260165e00cfd74940046af83b90f79c4c69853acf90ea
MD5 9e5d9886d647f2e65915fc46cac20172
BLAKE2b-256 c9bd6c7a95e580fcc16ded258d2a15801f100125080f6e7718f608ece16f8291

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 b924aeabdbd7c43744da313a1e828df9c395ebf25ccea5cad81b39e70c1c971b
MD5 d23d9aaa579903348466b7847e8a2f83
BLAKE2b-256 150295826020764b5988e03291cbb79c5aaef2da577faf9aff419b78bc4bc7b3

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 cd0f23a179439cbfc4e7796aedc4d53d0ac7ce6516b54587099580da60fa4786
MD5 ff36cd9fc8b6a21f6692ee90f0fb995a
BLAKE2b-256 027a238248989079ff42b8911ff2389b5c479b08a4e50d0478a7965fc51baa30

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2f1c9f70177eaea98bc32e8a5d775c310bf293cf1dee88b9cdee597567bb5a9a
MD5 8fef9dab90a578800e9939bbe4ae7bdf
BLAKE2b-256 0eb278fd307ec7c4a3f157c8d95217931359e1d511b3c0c35bf0e07a1a122b4f

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 db8185ce6cd1a163a3b83c40c81c5d9dc321462ad5ecca2b3401787e681fd7c4
MD5 47e252987c379fc1af49474fe321d9db
BLAKE2b-256 cfdd79b3ff63edafec770e2130da8411fd93087a424e42234d1d8cfd1c661444

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6ebe3b206463d302d947de95a51a3d8acfe99c0085dbc1670848a668856203af
MD5 4f2f2e407e9796511d393b9b24977446
BLAKE2b-256 1300a332dea3d0ab0d889b8bd91b6919616684ec6cac26881f20e48345a4bb1a

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 df6feb560040e0ddc47c04560a99c0622563863cb13bcd1a14045fa99a150e10
MD5 700f631bf9eac0acd41f9409a348c35f
BLAKE2b-256 a5e11c44a9f5034cf6ccefe5252eaead3aa9f8d585fb6d84390173ceb66f3d80

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp310-cp310-win_arm64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp310-cp310-win_arm64.whl
Algorithm Hash digest
SHA256 82dbb93afe51bf3e78769d33e316deeccae8d89660160fe2d2bad6d935a769a0
MD5 3c8d261feeab66b61ac33ec56de9035c
BLAKE2b-256 c745b9757ebfd1fc888f45aaa3928742a1d58282d6390a6a5bdb6e372e8fdfc1

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0050c125951b656d0e371eefe484a9cf1f1e866d34177aaafc870f0ea6dbc542
MD5 7eda078b11fa90fb230e12e5addfc5b3
BLAKE2b-256 db8026deb7cf84cf1fefbb25c525ff9ebfc0192ef8ba02ba7e9aad8224d71a86

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 1aa79b4a2465e5fb1108b821a58d24c6090ad18e8232b04937711e305ff5c080
MD5 512b685ce977f3f72f91c42af86f5930
BLAKE2b-256 53e53a5b11a8e0d97fbaed8748060229ab25e138b17d86706b13cddd9a618499

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b2b937717780a7c0cefa60dc55f0bbf1b19c5210b0bed81636f8b867732162a9
MD5 b53bbcc5a697384e3f60fc6b4ed3c1a0
BLAKE2b-256 a19f5983be399f538d3498667e50b4839e8076ef340afe367d134dcaa18240d3

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee6ae3589b247da9949ee9a76dfe5c7b8dd48fcbc59fdca63dc0c0f2ab71104d
MD5 03a2dbebfb41a08469d7e58bb7ec37e8
BLAKE2b-256 b6314a79b3fccc3c073420dd97c6342ec8dc46ed7d0f54d82b4e0b01270b1bf5

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eee32900d2d8f2bc810d0cbab154292ecc711e404506bf2e44e2e9a760e2fcf2
MD5 5ebc6cd642521d350481312a6f9f1f64
BLAKE2b-256 d57dbee4e73f839975724a54cb67419e789762e0974025c07de8190ebf1c1627

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4db71b86d1db7e0cf74c3482b51b96bdde8ea3707094996c23b7f5a1ce75cdf2
MD5 be928fba23ab67dc7351c913898fdd60
BLAKE2b-256 d0623428b05a5c828ccafea238e54d8c0dac814da2c71a74865e994769ff9061

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 70e23f8ca61865034c5c8813c5340527d2e03bf76ab4dc4026515c1162b98fbe
MD5 63a405a046aae6d5f2d08d0857f8fd80
BLAKE2b-256 eaef15c49f514cb8cdf6ecfb769bfabd81a616fa8364ef2f81981ba13f53150a

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp39-cp39-win_arm64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp39-cp39-win_arm64.whl
Algorithm Hash digest
SHA256 832f5f676ec4fb05aec3c308d6a15cfa2c9f979e2a6f9424e35311d9aff79f6d
MD5 8e88fa511ad7d0789253a9f82ee093db
BLAKE2b-256 5ff60fa4e686e51b383e286bc3a79cf750c065f5f1bc9b2986dc1d93ad530547

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 570a0788ff7440e097931340ce2e17e24e687e27ff6afc5fe3cd0fc5f237cb82
MD5 f2f70c5d4a787777d90b8628aa9ae043
BLAKE2b-256 e99fe6bafb1aa55c4e190b82359103eb42c7a65f435064d64c3ab42724d95c26

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 12b4f701cce4bb3aae09ed71c0814ad15577a70b374b0e24860aa30ca0a61746
MD5 e4aa30d51588a39d76b572f7e663f12f
BLAKE2b-256 b33bbf40e00609d6c352a22394aacb205a7d32fea4017f82f09d236491d8942d

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a1c7032897ced21ad48090e30aeb53d00076b851e5b2e4ef891977ed5a80e924
MD5 541fe037feecfa19e46e892d131a6888
BLAKE2b-256 0b4371cd232352d50a1e2df3574b1fce796d7c0298af8db196dfe899de1eb017

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0df8263e00cef874aad4aa944683995210e5a1da673711a0ddb1de4f5c4f662
MD5 75acbaf312d2b52716d0644896851845
BLAKE2b-256 7ede34b5c3f8870d77a98fb84d4ceaa35a8abb7556b786ca818d9ee227ce9c65

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca54602bfddb9d4c3965a8b048c11d70b808ed5078391f3b18e96a9e04ace0ab
MD5 2172bcc50e2a1215559d7ba4b3ceb32a
BLAKE2b-256 e5df7f0a6f16cd179edbe9406d7b5bba523642f0b9a462aa0123536c2d163ef5

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 927055a2df8cb913753d1b3cb0c08c5a3e2e44477243d51d98df865e28744332
MD5 f396fa4f1f413d070c10ae5674dc1506
BLAKE2b-256 534a688f899cff121b3fd794ecdc867e385637a5d93cd7435445eee0f08b0cea

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e988b5066846ea5fbd689f9f84492281394ea4acc0798b32487c992d0fc65c05
MD5 72ccb91e2773fa6cd7080a5b725d54b7
BLAKE2b-256 d1b792d1fbf19ec6eee90045b551207eb15aa5209ad6207344b93ba4596df888

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 21d77f2993e80988c35b371b06c3277f85dc7f9279eacc07b09d04726ec367d6
MD5 56120781c1f8978e006cf84ec1fbcb07
BLAKE2b-256 e650dc5237995f84bc934481afb78b33d574057cab5e35c73bd66978ae9e880a

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp38-cp38-win32.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 27e45dc0947d4114e2e74dff5a4e2e635029d9e2b9e358d1e134f7b6cf61804f
MD5 43eee3e5e900c9c7938c15a723e85581
BLAKE2b-256 4a579bb3c385ac5d6519ca4026f554e6257ab4dd7968eee387fc7e23737f2144

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 97a1c1791d1eda6f3286209b065df5d6b9be1b762e3228d25aefe3ffecfb471b
MD5 607515d4abd493e73434ee2ec489b902
BLAKE2b-256 3b46fb60c400b3e342783574832966e01a6a1950216bf54eaea46c282edf3a9b

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f383a3f4eac0a08704025c8c3d2f984d76d2a134992623f223732b0ce73ce8ad
MD5 5899a7384aaabfb1fc72bce0dc2904d9
BLAKE2b-256 ce7c0ea178a27b30f02c44e77e152e00c5cfaa79c37fe2b808f1b3b016726a5c

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 348d341fc520a6c3721807e25fecb7696f2e8de97bd03ed752f4b974e0e05667
MD5 8124e97460e2690e12431d96139bb078
BLAKE2b-256 48dd30db056879abc4bd5a1e1e8934bb1d17a144ee675f86c6aec8d8da7f1305

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8f3c31b9af7f3ff3f22efea149a8fbd36ec2c00246cb198fe1e4c7c732a541fb
MD5 4063809ff0114297576e55715a6c09d8
BLAKE2b-256 fa7cdf155776ab209bd50b41bc1e590aff7c22e8128cdcc3e46121dac9c6fc2a

See more details on using hashes here.

File details

Details for the file close_numerical_matches-0.2.3-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for close_numerical_matches-0.2.3-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 04bbc62086ba6c1ae016341c730be0de66e2a34124c0b0bcf9d0d1cdd9c48844
MD5 bc00417076769782f049219b7ab618bd
BLAKE2b-256 b652aae9242284ce840a22f77fe17b1baad8570ce97820e81c464f124538b2cd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page