hdx-python-country 4.1.4__tar.gz → 4.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/PKG-INFO +3 -3
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/documentation/index.md +22 -2
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/pyproject.toml +1 -1
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/src/hdx/location/_version.py +2 -2
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/src/hdx/location/adminlevel.py +32 -4
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/src/hdx/location/country.py +6 -3
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/adminlevelparent.yaml +4 -3
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/hdx/location/test_adminlevel.py +145 -42
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/hdx/location/test_country.py +12 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/uv.lock +216 -4
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/.github/workflows/publish.yaml +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/.github/workflows/run-python-tests.yaml +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/.gitignore +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/.pre-commit-config.yaml +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/LICENSE +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/README.md +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/documentation/.readthedocs.yaml +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/documentation/mkdocs.yaml +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/src/hdx/location/Countries & Territories Taxonomy MVP - C&T Taxonomy.csv +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/src/hdx/location/__init__.py +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/src/hdx/location/currency.py +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/src/hdx/location/int_timestamp.py +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/src/hdx/location/wfp_api.py +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/src/hdx/location/wfp_exchangerates.py +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/adminlevel.yaml +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/fixtures-download-global-pcode-lengths.csv +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/fixtures-download-global-pcodes-adm-1-2.csv +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/secondary_historic_rates.csv +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/secondary_rates.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_List_1.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_List_2.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_UsdIndirectQuotation_1.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_UsdIndirectQuotation_10.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_UsdIndirectQuotation_2.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_UsdIndirectQuotation_3.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_UsdIndirectQuotation_4.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_UsdIndirectQuotation_5.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_UsdIndirectQuotation_6.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_UsdIndirectQuotation_7.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_UsdIndirectQuotation_8.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_UsdIndirectQuotation_9.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Markets_List_AFG_1.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Markets_List_AFG_2.json +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/hdx/location/Countries_UZB_Deleted.csv +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/hdx/location/__init__.py +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/hdx/location/conftest.py +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/hdx/location/test_currency.py +0 -0
- {hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/hdx/location/test_wfp_exchangerates.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: hdx-python-country
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.2.0
|
|
4
4
|
Summary: HDX Python country code and exchange rate (fx) utilities
|
|
5
5
|
Project-URL: Homepage, https://github.com/OCHA-DAP/hdx-python-country
|
|
6
6
|
Project-URL: Repository, https://github.com/OCHA-DAP/hdx-python-country
|
|
@@ -27,7 +27,7 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
27
27
|
Classifier: Programming Language :: Python :: 3.14
|
|
28
28
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
29
29
|
Requires-Python: >=3.10
|
|
30
|
-
Requires-Dist: hdx-python-utilities<5,>=4.
|
|
30
|
+
Requires-Dist: hdx-python-utilities<5,>=4.2.0
|
|
31
31
|
Requires-Dist: tenacity
|
|
32
32
|
Provides-Extra: docs
|
|
33
33
|
Requires-Dist: mkapi; extra == 'docs'
|
|
@@ -27,7 +27,7 @@ fuzzy matching for English look up that can handle abbreviations in country name
|
|
|
27
27
|
Dem. for Democratic and Rep. for Republic.
|
|
28
28
|
|
|
29
29
|
Mapping administration level names from a source to a given base set is also handled
|
|
30
|
-
including
|
|
30
|
+
including fuzzy name matching.
|
|
31
31
|
|
|
32
32
|
It also provides foreign exchange rates and conversion from amounts in local
|
|
33
33
|
currency to USD and vice-versa. The conversion relies on Yahoo Finance, falling
|
|
@@ -42,6 +42,12 @@ The code for the library is [here](https://github.com/OCHA-DAP/hdx-python-countr
|
|
|
42
42
|
The library has detailed API documentation which can be found in the menu at the top.
|
|
43
43
|
|
|
44
44
|
## Breaking Changes
|
|
45
|
+
From 4.2.0, AdminLevel fuzzy matches using RapidFuzzMatcher (with its place_name_scorer)
|
|
46
|
+
from HDX Python Utilities rather than Phonetics by default. Pass matcher=Phonetics() for
|
|
47
|
+
the previous behaviour. Names made of parts are resolved from their parts and lists of
|
|
48
|
+
names are not fuzzy matched (see Administration Level). Fuzzy matching is now tried when
|
|
49
|
+
parent is "" as well as when it is None.
|
|
50
|
+
|
|
45
51
|
From 4.1.1, HXL hashtags no longer used in AdminLevel class. The header names are used
|
|
46
52
|
instead. setup_from_iterable replaces setup_from_admin_info and
|
|
47
53
|
setup_from_libhxl_dataset using keys: "Location", "P-Code", "Name" and "Parent P-Code".
|
|
@@ -158,6 +164,17 @@ A Retrieve object can be passed in the *retriever* parameter that enables
|
|
|
158
164
|
saving data downloaded to a file or loading previously saved data depending
|
|
159
165
|
on how the Retrieve object is configured.
|
|
160
166
|
|
|
167
|
+
The *matcher* parameter sets the fuzzy name matcher. It defaults to
|
|
168
|
+
RapidFuzzMatcher from HDX Python Utilities with its place_name_scorer. Phonetics
|
|
169
|
+
from HDX Python Utilities can be passed instead.
|
|
170
|
+
|
|
171
|
+
Before fuzzy matching, a name made of parts split by separators (",", ";", "/",
|
|
172
|
+
":", "&", newline, "and", "et") or a hyphen is resolved from its parts. A name
|
|
173
|
+
with two parts where one is the parent's name gives the other part's p-code
|
|
174
|
+
(eg. "Falcón, Acosta" with parent Falcón). A list of names (more than two parts,
|
|
175
|
+
or two parts that are different admin units, eg. "Kampot & Kep") is not fuzzy
|
|
176
|
+
matched.
|
|
177
|
+
|
|
161
178
|
Once an AdminLevel object is constructed, either *setup_from_iterable* or
|
|
162
179
|
*setup_from_url* must be called.
|
|
163
180
|
|
|
@@ -185,11 +202,14 @@ Examples of usage:
|
|
|
185
202
|
AdminLevel.looks_like_pcode("Yemen") # returns False
|
|
186
203
|
AdminLevel.looks_like_pcode("YEME123") # returns False
|
|
187
204
|
adminlevel = AdminLevel(config)
|
|
188
|
-
adminlevel.
|
|
205
|
+
adminlevel.setup_from_iterable(admin_info, countryiso3s=("YEM",))
|
|
189
206
|
adminlevel.get_pcode("YEM", "YEM030", logname="test") # returns ("YE30", True)
|
|
190
207
|
adminlevel.get_pcode("YEM", "Al Dhale"e / الضالع") # returns ("YE30", False)
|
|
191
208
|
adminlevel.get_pcode("YEM", "Al Dhale"e / الضالع", fuzzy_match=False) # returns (None, True)
|
|
192
209
|
assert admintwo.get_pcode("AFG", "Kabul", parent="AF01") == ("AF0101", True)
|
|
210
|
+
adminlevel.get_pcode("KHM", "Kampot & Kep") # returns (None, False)
|
|
211
|
+
admintwo.get_pcode("VEN", "Falcón, Acosta", parent="VE11") # returns ("VE1101", False)
|
|
212
|
+
adminlevel = AdminLevel(config, matcher=Phonetics()) # use Phonetics
|
|
193
213
|
|
|
194
214
|
There is basic admin 1 p-code length conversion by default. A more advanced
|
|
195
215
|
p-code length conversion can be activated by calling *load_pcode_formats*
|
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '4.
|
|
22
|
-
__version_tuple__ = version_tuple = (4,
|
|
21
|
+
__version__ = version = '4.2.0'
|
|
22
|
+
__version_tuple__ = version_tuple = (4, 2, 0)
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -5,7 +5,12 @@ from pathlib import Path
|
|
|
5
5
|
from typing import Any
|
|
6
6
|
|
|
7
7
|
from hdx.utilities.dictandlist import dict_of_sets_add
|
|
8
|
-
from hdx.utilities.matching import
|
|
8
|
+
from hdx.utilities.matching import (
|
|
9
|
+
Phonetics,
|
|
10
|
+
RapidFuzzMatcher,
|
|
11
|
+
multiple_replace,
|
|
12
|
+
resolve_name_parts,
|
|
13
|
+
)
|
|
9
14
|
from hdx.utilities.retriever import Retrieve
|
|
10
15
|
from hdx.utilities.text import normalise
|
|
11
16
|
|
|
@@ -38,11 +43,17 @@ class AdminLevel:
|
|
|
38
43
|
to files or to enable already saved files to be used instead of downloading
|
|
39
44
|
from urls.
|
|
40
45
|
|
|
46
|
+
The matcher parameter overrides the fuzzy name matcher that fuzzy_pcode
|
|
47
|
+
tries last. It defaults to hdx.utilities.matching.RapidFuzzMatcher with
|
|
48
|
+
its place_name_scorer. hdx.utilities.matching.Phonetics can be passed
|
|
49
|
+
instead.
|
|
50
|
+
|
|
41
51
|
Args:
|
|
42
52
|
admin_config: Configuration dictionary. Defaults to {}.
|
|
43
53
|
admin_level: Admin level. Defaults to 1.
|
|
44
54
|
admin_level_overrides: Countries at other admin levels.
|
|
45
55
|
retriever: Retriever object to use for loading/saving files.
|
|
56
|
+
matcher: Fuzzy name matcher to use. Defaults to None (RapidFuzzMatcher).
|
|
46
57
|
"""
|
|
47
58
|
|
|
48
59
|
pcode_regex = re.compile(r"^([a-zA-Z]{2,3})(\d+)$")
|
|
@@ -58,6 +69,7 @@ class AdminLevel:
|
|
|
58
69
|
admin_level: int = 1,
|
|
59
70
|
admin_level_overrides: dict | None = None,
|
|
60
71
|
retriever: Retrieve | None = None,
|
|
72
|
+
matcher: Phonetics | RapidFuzzMatcher | None = None,
|
|
61
73
|
) -> None:
|
|
62
74
|
self._admin_level_overrides = admin_level_overrides or {}
|
|
63
75
|
self._retriever: Retrieve | None = retriever
|
|
@@ -69,7 +81,7 @@ class AdminLevel:
|
|
|
69
81
|
self._use_parent = False
|
|
70
82
|
self._zeroes = {}
|
|
71
83
|
self._parent_admins = []
|
|
72
|
-
self.
|
|
84
|
+
self._matcher = matcher or RapidFuzzMatcher(RapidFuzzMatcher.place_name_scorer)
|
|
73
85
|
self.init_matches_errors()
|
|
74
86
|
self.admin_level = admin_level
|
|
75
87
|
self.pcodes = []
|
|
@@ -79,6 +91,7 @@ class AdminLevel:
|
|
|
79
91
|
self.pcode_to_name = {}
|
|
80
92
|
self.pcode_to_iso3 = {}
|
|
81
93
|
self.pcode_to_parent = {}
|
|
94
|
+
self.parent_pcode_to_name = {}
|
|
82
95
|
self.pcode_formats = {}
|
|
83
96
|
|
|
84
97
|
@classmethod
|
|
@@ -136,6 +149,9 @@ class AdminLevel:
|
|
|
136
149
|
def process_row(row):
|
|
137
150
|
admin_level = row.get("Admin Level")
|
|
138
151
|
if admin_level and int(admin_level) != self.admin_level:
|
|
152
|
+
if int(admin_level) == self.admin_level - 1 and row["Name"]:
|
|
153
|
+
pcode = row["P-Code"].upper()
|
|
154
|
+
self.parent_pcode_to_name[pcode] = normalise(row["Name"])
|
|
139
155
|
return
|
|
140
156
|
countryiso3 = row["Location"].upper()
|
|
141
157
|
if countryiso3s and countryiso3 not in countryiso3s:
|
|
@@ -568,7 +584,7 @@ class AdminLevel:
|
|
|
568
584
|
parent = kwargs.get("parent")
|
|
569
585
|
else:
|
|
570
586
|
parent = None
|
|
571
|
-
if parent
|
|
587
|
+
if not parent:
|
|
572
588
|
name_to_pcode = self.name_to_pcode.get(countryiso3)
|
|
573
589
|
if not name_to_pcode:
|
|
574
590
|
if logname:
|
|
@@ -625,6 +641,18 @@ class AdminLevel:
|
|
|
625
641
|
)
|
|
626
642
|
)
|
|
627
643
|
break
|
|
644
|
+
if not pcode:
|
|
645
|
+
pcode, is_list = resolve_name_parts(
|
|
646
|
+
name, name_to_pcode, self.parent_pcode_to_name.get(parent)
|
|
647
|
+
)
|
|
648
|
+
if is_list:
|
|
649
|
+
if logname:
|
|
650
|
+
self._ignored.add((logname, countryiso3, name))
|
|
651
|
+
return None
|
|
652
|
+
if pcode and logname:
|
|
653
|
+
self._matches.add(
|
|
654
|
+
(logname, countryiso3, name, self.pcode_to_name[pcode], "parts")
|
|
655
|
+
)
|
|
628
656
|
if not pcode:
|
|
629
657
|
map_names = list(name_to_pcode.keys())
|
|
630
658
|
|
|
@@ -644,7 +672,7 @@ class AdminLevel:
|
|
|
644
672
|
else:
|
|
645
673
|
return None
|
|
646
674
|
|
|
647
|
-
matching_index = self.
|
|
675
|
+
matching_index = self._matcher.match(
|
|
648
676
|
map_names,
|
|
649
677
|
normalised_name,
|
|
650
678
|
alternative_name=alt_normalised_name,
|
|
@@ -947,9 +947,6 @@ class Country:
|
|
|
947
947
|
"""
|
|
948
948
|
countriesdata = cls.countriesdata(use_live=use_live, downloader=downloader)
|
|
949
949
|
country = country.strip()
|
|
950
|
-
if not country.upper().isupper():
|
|
951
|
-
return None, False
|
|
952
|
-
|
|
953
950
|
iso3 = cls.get_iso3_country_code(
|
|
954
951
|
country, use_live=use_live, downloader=downloader
|
|
955
952
|
)
|
|
@@ -958,6 +955,12 @@ class Country:
|
|
|
958
955
|
if iso3 is not None:
|
|
959
956
|
return iso3, True
|
|
960
957
|
|
|
958
|
+
# Chinese and Arabic have no case so are only exact matched
|
|
959
|
+
if not country.upper().isupper():
|
|
960
|
+
if exception is not None:
|
|
961
|
+
raise exception
|
|
962
|
+
return None, False
|
|
963
|
+
|
|
961
964
|
# regex lookup
|
|
962
965
|
for iso3, regex in countriesdata["aliases"].items():
|
|
963
966
|
index = re.search(regex, country.upper())
|
|
@@ -16,10 +16,11 @@ admin_name_mappings:
|
|
|
16
16
|
"AF05|MyMapping3": "AF0501"
|
|
17
17
|
|
|
18
18
|
admin_name_replacements:
|
|
19
|
-
"
|
|
19
|
+
"qx": ""
|
|
20
20
|
|
|
21
21
|
alt1_admin_name_replacements:
|
|
22
|
-
"COD|
|
|
22
|
+
"COD|qx": ""
|
|
23
23
|
|
|
24
24
|
alt2_admin_name_replacements:
|
|
25
|
-
"CD20|
|
|
25
|
+
"CD20|qx": ""
|
|
26
|
+
"CD31|qx": ""
|
|
@@ -205,6 +205,86 @@ class TestAdminLevel:
|
|
|
205
205
|
"test - YEM: Matching (fuzzy) Al_Dhale'a to Ad Dali on map",
|
|
206
206
|
]
|
|
207
207
|
|
|
208
|
+
def test_adminlevel_custom_matcher(self, config):
|
|
209
|
+
class AlwaysFirstMatcher:
|
|
210
|
+
def match(
|
|
211
|
+
self,
|
|
212
|
+
possible_names,
|
|
213
|
+
name,
|
|
214
|
+
alternative_name=None,
|
|
215
|
+
transform_possible_names=(),
|
|
216
|
+
threshold=None,
|
|
217
|
+
):
|
|
218
|
+
return 0
|
|
219
|
+
|
|
220
|
+
adminone = AdminLevel(config)
|
|
221
|
+
adminone.setup_from_iterable(config["admin_info"])
|
|
222
|
+
assert adminone.get_pcode("YEM", "Zzznotarealplace", logname="test") == (
|
|
223
|
+
None,
|
|
224
|
+
False,
|
|
225
|
+
)
|
|
226
|
+
|
|
227
|
+
adminone = AdminLevel(config, matcher=AlwaysFirstMatcher())
|
|
228
|
+
adminone.setup_from_iterable(config["admin_info"])
|
|
229
|
+
pcode, exact = adminone.get_pcode("YEM", "Zzznotarealplace", logname="test")
|
|
230
|
+
assert exact is False
|
|
231
|
+
assert pcode is not None
|
|
232
|
+
assert adminone.pcode_to_iso3[pcode] == "YEM"
|
|
233
|
+
|
|
234
|
+
def test_adminlevel_list_of_names(self):
|
|
235
|
+
def row(countryiso3, level, pcode, name, parent):
|
|
236
|
+
return {
|
|
237
|
+
"Location": countryiso3,
|
|
238
|
+
"Admin Level": level,
|
|
239
|
+
"P-Code": pcode,
|
|
240
|
+
"Name": name,
|
|
241
|
+
"Parent P-Code": parent,
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
rows = [
|
|
245
|
+
row("KHM", 1, "KH07", "Kampot", "KHM"),
|
|
246
|
+
row("KHM", 1, "KH23", "Kep", "KHM"),
|
|
247
|
+
row("SDN", 1, "SD02", "North Darfur", "SDN"),
|
|
248
|
+
row("SDN", 2, "SD02122", "Kutum", "SD02"),
|
|
249
|
+
row("SDN", 2, "SD02124", "Tawila", "SD02"),
|
|
250
|
+
row("VEN", 1, "VE11", "Falcón", "VEN"),
|
|
251
|
+
row("VEN", 2, "VE1101", "Acosta", "VE11"),
|
|
252
|
+
row("VEN", 2, "VE1109", "Falcón", "VE11"),
|
|
253
|
+
row("HTI", 1, "HT05", "Artibonite", "HTI"),
|
|
254
|
+
row("HTI", 2, "HT0541", "Dessalines", "HT05"),
|
|
255
|
+
]
|
|
256
|
+
adminone = AdminLevel()
|
|
257
|
+
adminone.setup_from_iterable(rows)
|
|
258
|
+
assert adminone.get_pcode("KHM", "Kampot & Kep") == (None, False)
|
|
259
|
+
assert adminone.get_pcode("KHM", "Kampot and Kep") == (None, False)
|
|
260
|
+
assert adminone.get_pcode("KHM", "Kampott") == ("KH07", False)
|
|
261
|
+
|
|
262
|
+
admintwo = AdminLevel(admin_level=2)
|
|
263
|
+
admintwo.setup_from_iterable(rows)
|
|
264
|
+
assert admintwo.parent_pcode_to_name["VE11"] == "falcon"
|
|
265
|
+
assert admintwo.get_pcode("SDN", "Kutum, Tawila", parent="SD02") == (
|
|
266
|
+
None,
|
|
267
|
+
False,
|
|
268
|
+
)
|
|
269
|
+
assert admintwo.get_pcode("SDN", "Kutum, Tawila, Kornoi", parent="SD02") == (
|
|
270
|
+
None,
|
|
271
|
+
False,
|
|
272
|
+
)
|
|
273
|
+
# One part is the parent's name
|
|
274
|
+
assert admintwo.get_pcode("VEN", "Falcón, Acosta", parent="VE11") == (
|
|
275
|
+
"VE1101",
|
|
276
|
+
False,
|
|
277
|
+
)
|
|
278
|
+
assert admintwo.get_pcode("VEN", "Falcón, Acosta") == (None, False)
|
|
279
|
+
# Only one part is an admin name, so the whole name is fuzzy matched
|
|
280
|
+
assert admintwo.get_pcode(
|
|
281
|
+
"HTI", "Dessalines/Marchandes", parent="HT05", logname="test"
|
|
282
|
+
) == ("HT0541", False)
|
|
283
|
+
assert admintwo.output_ignored() == []
|
|
284
|
+
assert admintwo.output_matches() == [
|
|
285
|
+
"test - HTI: Matching (fuzzy) Dessalines/Marchandes to Dessalines on map"
|
|
286
|
+
]
|
|
287
|
+
|
|
208
288
|
def test_adminlevel_parent(self, config_parent):
|
|
209
289
|
admintwo = AdminLevel(config_parent)
|
|
210
290
|
admintwo.countries_fuzzy_try = None
|
|
@@ -250,6 +330,10 @@ class TestAdminLevel:
|
|
|
250
330
|
None,
|
|
251
331
|
False,
|
|
252
332
|
)
|
|
333
|
+
assert admintwo.get_pcode("AFG", "Kabull", parent="", logname="test") == (
|
|
334
|
+
"AF0201",
|
|
335
|
+
False,
|
|
336
|
+
)
|
|
253
337
|
|
|
254
338
|
output = admintwo.output_admin_name_mappings()
|
|
255
339
|
assert output == [
|
|
@@ -290,23 +374,36 @@ class TestAdminLevel:
|
|
|
290
374
|
"AFG", "MyMapping3", parent="AF04", logname="test"
|
|
291
375
|
) == (None, False)
|
|
292
376
|
|
|
377
|
+
# Names are garbled so that only the "qx" replacement, not fuzzy
|
|
378
|
+
# matching, can resolve them. That tests replacement scoping whatever
|
|
379
|
+
# the matcher.
|
|
380
|
+
mbanza = "Mqxbqxaqxnqxzqxa-Nqxgqxuqxnqxgqxu"
|
|
381
|
+
kenge = "Kqxeqxnqxgqxe"
|
|
382
|
+
blantyre = "Bqxlqxaqxnqxtqxyqxrqxe"
|
|
293
383
|
output = admintwo.output_admin_name_replacements()
|
|
294
|
-
assert output == ["
|
|
295
|
-
assert admintwo.get_pcode("COD",
|
|
384
|
+
assert output == ["qx: "]
|
|
385
|
+
assert admintwo.get_pcode("COD", mbanza, logname="test") == ("CD2013", False)
|
|
386
|
+
assert admintwo.get_pcode("COD", mbanza, parent="CD20", logname="test") == (
|
|
296
387
|
"CD2013",
|
|
297
388
|
False,
|
|
298
389
|
)
|
|
299
|
-
assert admintwo.get_pcode(
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
) == (None, False)
|
|
305
|
-
assert admintwo.get_pcode("COD", "Kenge city", logname="test") == (
|
|
390
|
+
assert admintwo.get_pcode("COD", mbanza, parent="CD19", logname="test") == (
|
|
391
|
+
None,
|
|
392
|
+
False,
|
|
393
|
+
)
|
|
394
|
+
assert admintwo.get_pcode("COD", kenge, logname="test") == (
|
|
306
395
|
"CD3102",
|
|
307
396
|
False,
|
|
308
397
|
)
|
|
309
|
-
assert admintwo.get_pcode("
|
|
398
|
+
assert admintwo.get_pcode("COD", kenge, parent="CD31", logname="test") == (
|
|
399
|
+
"CD3102",
|
|
400
|
+
False,
|
|
401
|
+
)
|
|
402
|
+
assert admintwo.get_pcode("MWI", blantyre, logname="test") == (
|
|
403
|
+
"MW305",
|
|
404
|
+
False,
|
|
405
|
+
)
|
|
406
|
+
assert admintwo.get_pcode("MWI", blantyre, parent="MW3", logname="test") == (
|
|
310
407
|
"MW305",
|
|
311
408
|
False,
|
|
312
409
|
)
|
|
@@ -315,61 +412,67 @@ class TestAdminLevel:
|
|
|
315
412
|
"alt1_admin_name_replacements"
|
|
316
413
|
]
|
|
317
414
|
output = admintwo.output_admin_name_replacements()
|
|
318
|
-
assert output == ["COD|
|
|
319
|
-
assert admintwo.get_pcode("COD",
|
|
415
|
+
assert output == ["COD|qx: "]
|
|
416
|
+
assert admintwo.get_pcode("COD", mbanza, logname="test") == ("CD2013", False)
|
|
417
|
+
assert admintwo.get_pcode("COD", mbanza, parent="CD20", logname="test") == (
|
|
320
418
|
"CD2013",
|
|
321
419
|
False,
|
|
322
420
|
)
|
|
323
|
-
assert admintwo.get_pcode(
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
) == (None, False)
|
|
329
|
-
assert admintwo.get_pcode("COD", "Kenge city", logname="test") == (
|
|
421
|
+
assert admintwo.get_pcode("COD", mbanza, parent="CD19", logname="test") == (
|
|
422
|
+
None,
|
|
423
|
+
False,
|
|
424
|
+
)
|
|
425
|
+
assert admintwo.get_pcode("COD", kenge, logname="test") == (
|
|
330
426
|
"CD3102",
|
|
331
427
|
False,
|
|
332
428
|
)
|
|
333
|
-
assert admintwo.get_pcode(
|
|
334
|
-
"
|
|
335
|
-
|
|
336
|
-
|
|
429
|
+
assert admintwo.get_pcode("COD", kenge, parent="CD31", logname="test") == (
|
|
430
|
+
"CD3102",
|
|
431
|
+
False,
|
|
432
|
+
)
|
|
433
|
+
assert admintwo.get_pcode("MWI", blantyre, logname="test") == (
|
|
434
|
+
None,
|
|
435
|
+
False,
|
|
436
|
+
)
|
|
437
|
+
assert admintwo.get_pcode("MWI", blantyre, parent="MW3", logname="test") == (
|
|
337
438
|
None,
|
|
338
439
|
False,
|
|
339
440
|
)
|
|
340
|
-
assert admintwo.get_pcode(
|
|
341
|
-
"MWI", "Blantyre city", parent="MW3", logname="test"
|
|
342
|
-
) == (None, False)
|
|
343
441
|
|
|
344
442
|
admintwo._admin_name_replacements = config_parent[
|
|
345
443
|
"alt2_admin_name_replacements"
|
|
346
444
|
]
|
|
347
445
|
output = admintwo.output_admin_name_replacements()
|
|
348
|
-
assert output == ["CD20|
|
|
349
|
-
assert admintwo.get_pcode("COD",
|
|
446
|
+
assert output == ["CD20|qx: ", "CD31|qx: "]
|
|
447
|
+
assert admintwo.get_pcode("COD", mbanza, logname="test") == (None, False)
|
|
448
|
+
assert admintwo.get_pcode("COD", mbanza, parent="CD20", logname="test") == (
|
|
449
|
+
"CD2013",
|
|
450
|
+
False,
|
|
451
|
+
)
|
|
452
|
+
assert admintwo.get_pcode("COD", mbanza, parent="CD19", logname="test") == (
|
|
350
453
|
None,
|
|
351
454
|
False,
|
|
352
455
|
)
|
|
353
|
-
assert admintwo.get_pcode(
|
|
354
|
-
"COD", "Mbanza-Ngungu city", parent="CD20", logname="test"
|
|
355
|
-
) == ("CD2013", False)
|
|
356
|
-
assert admintwo.get_pcode(
|
|
357
|
-
"COD", "Mbanza-Ngungu city", parent="CD19", logname="test"
|
|
358
|
-
) == (None, False)
|
|
359
|
-
assert admintwo.get_pcode("COD", "Kenge city", logname="test") == (
|
|
456
|
+
assert admintwo.get_pcode("COD", kenge, logname="test") == (
|
|
360
457
|
None,
|
|
361
458
|
False,
|
|
362
459
|
)
|
|
363
|
-
assert admintwo.get_pcode(
|
|
364
|
-
"
|
|
365
|
-
|
|
366
|
-
|
|
460
|
+
assert admintwo.get_pcode("COD", kenge, parent="CD31", logname="test") == (
|
|
461
|
+
"CD3102",
|
|
462
|
+
False,
|
|
463
|
+
)
|
|
464
|
+
assert admintwo.get_pcode("COD", kenge, parent="CD20", logname="test") == (
|
|
465
|
+
None,
|
|
466
|
+
False,
|
|
467
|
+
)
|
|
468
|
+
assert admintwo.get_pcode("MWI", blantyre, logname="test") == (
|
|
469
|
+
None,
|
|
470
|
+
False,
|
|
471
|
+
)
|
|
472
|
+
assert admintwo.get_pcode("MWI", blantyre, parent="MW3", logname="test") == (
|
|
367
473
|
None,
|
|
368
474
|
False,
|
|
369
475
|
)
|
|
370
|
-
assert admintwo.get_pcode(
|
|
371
|
-
"MWI", "Blantyre city", parent="MW3", logname="test"
|
|
372
|
-
) == (None, False)
|
|
373
476
|
|
|
374
477
|
def test_adminlevel_with_url(self, config, url, fixtures_dir):
|
|
375
478
|
with temp_dir(
|
|
@@ -848,6 +848,18 @@ class TestCountry:
|
|
|
848
848
|
assert Country.get_iso3_country_code_fuzzy("-") == (None, False)
|
|
849
849
|
with pytest.raises(LocationError):
|
|
850
850
|
Country.get_iso3_country_code_fuzzy("abcde", exception=LocationError)
|
|
851
|
+
with pytest.raises(LocationError):
|
|
852
|
+
Country.get_iso3_country_code_fuzzy("123", exception=LocationError)
|
|
853
|
+
assert Country.get_iso3_country_code_fuzzy("日本") == ("JPN", True)
|
|
854
|
+
assert Country.get_iso3_country_code_fuzzy("阿拉伯叙利亚共和国") == (
|
|
855
|
+
"SYR",
|
|
856
|
+
True,
|
|
857
|
+
)
|
|
858
|
+
assert Country.get_iso3_country_code_fuzzy("اليابان") == ("JPN", True)
|
|
859
|
+
assert Country.get_iso3_country_code_fuzzy("الجمهورية العربية السورية") == (
|
|
860
|
+
"SYR",
|
|
861
|
+
True,
|
|
862
|
+
)
|
|
851
863
|
assert Country.get_iso3_country_code_fuzzy("United Kingdom") == (
|
|
852
864
|
"GBR",
|
|
853
865
|
True,
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
version = 1
|
|
2
2
|
revision = 3
|
|
3
3
|
requires-python = ">=3.10"
|
|
4
|
+
resolution-markers = [
|
|
5
|
+
"python_full_version >= '3.11'",
|
|
6
|
+
"python_full_version < '3.11'",
|
|
7
|
+
]
|
|
4
8
|
|
|
5
9
|
[[package]]
|
|
6
10
|
name = "annotated-types"
|
|
@@ -475,7 +479,7 @@ dev = [
|
|
|
475
479
|
[package.metadata]
|
|
476
480
|
requires-dist = [
|
|
477
481
|
{ name = "data-bridges-client", marker = "extra == 'wfp'", specifier = ">=9.0.0,<10" },
|
|
478
|
-
{ name = "hdx-python-utilities", specifier = ">=4.
|
|
482
|
+
{ name = "hdx-python-utilities", specifier = ">=4.2.0,<5" },
|
|
479
483
|
{ name = "mkapi", marker = "extra == 'docs'" },
|
|
480
484
|
{ name = "tenacity" },
|
|
481
485
|
]
|
|
@@ -492,7 +496,7 @@ dev = [
|
|
|
492
496
|
|
|
493
497
|
[[package]]
|
|
494
498
|
name = "hdx-python-utilities"
|
|
495
|
-
version = "4.
|
|
499
|
+
version = "4.2.0"
|
|
496
500
|
source = { registry = "https://pypi.org/simple" }
|
|
497
501
|
dependencies = [
|
|
498
502
|
{ name = "frictionless" },
|
|
@@ -502,6 +506,8 @@ dependencies = [
|
|
|
502
506
|
{ name = "openpyxl" },
|
|
503
507
|
{ name = "pyphonetics" },
|
|
504
508
|
{ name = "python-dateutil" },
|
|
509
|
+
{ name = "rapidfuzz", version = "3.14.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
|
|
510
|
+
{ name = "rapidfuzz", version = "3.14.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
|
|
505
511
|
{ name = "ratelimit" },
|
|
506
512
|
{ name = "requests-file" },
|
|
507
513
|
{ name = "ruamel-yaml" },
|
|
@@ -511,9 +517,9 @@ dependencies = [
|
|
|
511
517
|
{ name = "xlsx2csv" },
|
|
512
518
|
{ name = "xlwt" },
|
|
513
519
|
]
|
|
514
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
520
|
+
sdist = { url = "https://files.pythonhosted.org/packages/8f/b1/75977d4aabe5b64a66c760c243b3c57f2c80adc06fdd8f0c6bc67d2eb9da/hdx_python_utilities-4.2.0.tar.gz", hash = "sha256:83287c9ae3435b7d920f8c528c0a0ea68a04974e774a8ce1970ed8cc2e9fa0ab", size = 2135761, upload-time = "2026-09-29T02:02:38.053Z" }
|
|
515
521
|
wheels = [
|
|
516
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
522
|
+
{ url = "https://files.pythonhosted.org/packages/c6/dd/16479fc69ee6271d1b44d93aecb7d4115e3629cd62ff6e0344f6d4360cc6/hdx_python_utilities-4.2.0-py3-none-any.whl", hash = "sha256:601a32fe00f405c1d4c62b7782e2372b1e86c4ed4cda645f374048a74bd5336b", size = 67404, upload-time = "2026-09-29T02:02:36.678Z" },
|
|
517
523
|
]
|
|
518
524
|
|
|
519
525
|
[[package]]
|
|
@@ -1347,6 +1353,212 @@ wheels = [
|
|
|
1347
1353
|
{ url = "https://files.pythonhosted.org/packages/04/11/432f32f8097b03e3cd5fe57e88efb685d964e2e5178a48ed61e841f7fdce/pyyaml_env_tag-1.1-py3-none-any.whl", hash = "sha256:17109e1a528561e32f026364712fee1264bc2ea6715120891174ed1b980d2e04", size = 4722, upload-time = "2025-05-13T15:23:59.629Z" },
|
|
1348
1354
|
]
|
|
1349
1355
|
|
|
1356
|
+
[[package]]
|
|
1357
|
+
name = "rapidfuzz"
|
|
1358
|
+
version = "3.14.5"
|
|
1359
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1360
|
+
resolution-markers = [
|
|
1361
|
+
"python_full_version < '3.11'",
|
|
1362
|
+
]
|
|
1363
|
+
sdist = { url = "https://files.pythonhosted.org/packages/2c/21/ef6157213316e85790041254259907eb722e00b03480256c0545d98acd33/rapidfuzz-3.14.5.tar.gz", hash = "sha256:ba10ac57884ce82112f7ed910b67e7fb6072d8ef2c06e30dc63c0f604a112e0e", size = 57901753, upload-time = "2026-04-07T11:16:31.931Z" }
|
|
1364
|
+
wheels = [
|
|
1365
|
+
{ url = "https://files.pythonhosted.org/packages/4f/b1/d6d6e7737fe3d0eb2ac2ac337686420d538f83f28495acc3cc32201c0dbf/rapidfuzz-3.14.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:071d96b957a33b9296b9284b6350a0fb6d030b154a04efd7c15e56b98b79a517", size = 1953508, upload-time = "2026-04-07T11:13:37.733Z" },
|
|
1366
|
+
{ url = "https://files.pythonhosted.org/packages/2b/7b/94c1c953ac818bdd88b43213a9d38e4a41e953b786af3c3b2444d4a8f96d/rapidfuzz-3.14.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:667f40fe9c81ad129b198d236881b00dd9e8314d9cc72d03c3e16bdfe5879051", size = 1160895, upload-time = "2026-04-07T11:13:39.278Z" },
|
|
1367
|
+
{ url = "https://files.pythonhosted.org/packages/7f/60/a67a7ca7c2532c6c1a4b5cd797917780eed43798b82c98b6df734a086c95/rapidfuzz-3.14.5-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f9fff308486bbd2c8c24f25e8e152c7594d3fe8db265a2d6a1ce24d58671127f", size = 1382245, upload-time = "2026-04-07T11:13:41.054Z" },
|
|
1368
|
+
{ url = "https://files.pythonhosted.org/packages/95/ff/a42c9ce9f9e90ceb5b51136e0b8e8e6e5113ba0b45d986effbd671e7dddf/rapidfuzz-3.14.5-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dfa552338f51aec280f17b02d28bace1e162d1a84ccd80e3339a57f98aedb56b", size = 3163974, upload-time = "2026-04-07T11:13:42.662Z" },
|
|
1369
|
+
{ url = "https://files.pythonhosted.org/packages/e3/3c/11e2d41075e6e48b7dad373631b379b7e40491f71d5412c5a98d3c58f60f/rapidfuzz-3.14.5-cp310-cp310-manylinux_2_39_riscv64.whl", hash = "sha256:068b3e965ca9d9ee4debe40001ae7c3938ba646308afd33cf0c66618147db65c", size = 1475540, upload-time = "2026-04-07T11:13:44.687Z" },
|
|
1370
|
+
{ url = "https://files.pythonhosted.org/packages/29/fa/09be143dcc22c79f09cf90168a574725dbda49f02cbbd55d0447da8bec86/rapidfuzz-3.14.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:88b7d31ff1cc5e9bc0e4406e6b1fa00b6d37163d50bb58091e9b976ff1129faa", size = 2404128, upload-time = "2026-04-07T11:13:46.641Z" },
|
|
1371
|
+
{ url = "https://files.pythonhosted.org/packages/32/f9/1aeb504cdcfde42881825e9c86f48238d4e01ba8a1530491e82eb17e5689/rapidfuzz-3.14.5-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:eacb434410b8d9ca99a8d42352ef085cf423e3c76c1f0b86be2fcba3bff2952c", size = 2508455, upload-time = "2026-04-07T11:13:48.726Z" },
|
|
1372
|
+
{ url = "https://files.pythonhosted.org/packages/10/8e/b1b5eed8d887a29b0e18fd3222c46ca60fddfb528e7e1c41267ce42d5522/rapidfuzz-3.14.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:649712823f3abcdc48427147a5384fac15623ba435d0013959b52e6462521397", size = 4274060, upload-time = "2026-04-07T11:13:50.805Z" },
|
|
1373
|
+
{ url = "https://files.pythonhosted.org/packages/e3/c4/7e5b0353693d4f47b8b0f96e941efc377cfb2034b67ef92d082ac4441a0f/rapidfuzz-3.14.5-cp310-cp310-win32.whl", hash = "sha256:13cb79c23ef5516e4c4e3830877be8b19aa75203636be1163d690d37803f6504", size = 1727457, upload-time = "2026-04-07T11:13:52.45Z" },
|
|
1374
|
+
{ url = "https://files.pythonhosted.org/packages/d9/6e/f530a39b946fa71c009bc9c81fdb6b48a77bbc57ee8572ac0302b3bf6308/rapidfuzz-3.14.5-cp310-cp310-win_amd64.whl", hash = "sha256:f2073495a7f9b75e57e600747ac09510d67683fd64d3228e009740b7ef88f9fe", size = 1544657, upload-time = "2026-04-07T11:13:54.952Z" },
|
|
1375
|
+
{ url = "https://files.pythonhosted.org/packages/bc/01/02fa075f9f59ff766d374fecbd042b3ac9782dcd5abc52d909a54f587eeb/rapidfuzz-3.14.5-cp310-cp310-win_arm64.whl", hash = "sha256:8166efddea49fdbc61185559f47593239e4794fd7c9044dd5a789d1a90af852d", size = 816587, upload-time = "2026-04-07T11:13:56.418Z" },
|
|
1376
|
+
{ url = "https://files.pythonhosted.org/packages/e1/f9/3c41a7be8855803f4f6c713b472226a98d31d41869d98f64f4ca790510d6/rapidfuzz-3.14.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e251126d48615e1f02b4a178f2cd0cd4f0332b8a019c01a2e10480f7552554b4", size = 1952372, upload-time = "2026-04-07T11:13:58.32Z" },
|
|
1377
|
+
{ url = "https://files.pythonhosted.org/packages/9e/89/c2557e37531d03465193bff0ab9de70b468420a807d71a26a65100635459/rapidfuzz-3.14.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ab449c9abd0d4e1f8145dce0798a4c822a1a1933d613c764a641bea88b8bdab", size = 1159782, upload-time = "2026-04-07T11:14:00.127Z" },
|
|
1378
|
+
{ url = "https://files.pythonhosted.org/packages/1a/b2/ffeeb7eca1a897d51b998f4c0ef0281696c3b06abcca4f88f9def708ffe1/rapidfuzz-3.14.5-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cb2829fedd672dd7107267189dabe2bbe07972801d636014417c6861eb89e358", size = 1383677, upload-time = "2026-04-07T11:14:01.696Z" },
|
|
1379
|
+
{ url = "https://files.pythonhosted.org/packages/6b/d0/4539e42a2d596e068f7738f279638a4a74edd1fbb6f8594e2458058979c6/rapidfuzz-3.14.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3d50e5861872935fece391351cbb5ba21d1bced277cf5e1143d207a0a35f1925", size = 3168906, upload-time = "2026-04-07T11:14:03.29Z" },
|
|
1380
|
+
{ url = "https://files.pythonhosted.org/packages/5e/1c/3ec897eb9d8b05308aa8ef6ae4ed64b088ad521a3f9d8ff469e7e97bc2b0/rapidfuzz-3.14.5-cp311-cp311-manylinux_2_39_riscv64.whl", hash = "sha256:7092a216728f80c960bd6b3807275d1ee318b168986bd5dc523349581d4890b8", size = 1478176, upload-time = "2026-04-07T11:14:04.94Z" },
|
|
1381
|
+
{ url = "https://files.pythonhosted.org/packages/ab/ba/970c03a12ce20a5399e22afe9f8932fd4cd1265b8a8461d0e63b00eb4eae/rapidfuzz-3.14.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9669753caef7fdc6529f6adcc5883ed98d65976445d9322e7dbdb6b697feee13", size = 2402441, upload-time = "2026-04-07T11:14:07.228Z" },
|
|
1382
|
+
{ url = "https://files.pythonhosted.org/packages/81/93/61d351cae60c1d0e21ba5ff1a1015ad045539ed215da9d6e302204ed887a/rapidfuzz-3.14.5-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:823b1b9d9230809d8edcc18872770764bfe8ef4357995e16744047c8ccf0e489", size = 2511628, upload-time = "2026-04-07T11:14:09.234Z" },
|
|
1383
|
+
{ url = "https://files.pythonhosted.org/packages/87/52/374d2d4f60fd98155142a869323aa221e30868cfa1f15171a0f64070c247/rapidfuzz-3.14.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f0b2af76b7e7060c09e1a0dfa9410eb19369cbe6164509bff2ef94094b54d2b6", size = 4275480, upload-time = "2026-04-07T11:14:11.332Z" },
|
|
1384
|
+
{ url = "https://files.pythonhosted.org/packages/d8/04/82e7989bc9ec20a15b720a335c5cb6b0724bf6582013898f90a3280cfccd/rapidfuzz-3.14.5-cp311-cp311-win32.whl", hash = "sha256:c5801a89604c65ab4cc9e91b23bc4076d0ca80efd8c976fb63843d7879a85d7f", size = 1725627, upload-time = "2026-04-07T11:14:13.217Z" },
|
|
1385
|
+
{ url = "https://files.pythonhosted.org/packages/b9/b5/eca8ac5609bc9bcb02bb6ff87fa5983cc92b8772d66a431556ab8a8c178f/rapidfuzz-3.14.5-cp311-cp311-win_amd64.whl", hash = "sha256:d7ca16637c0ede8243f84074044bd0b2335a0341421f8227c85756de2d18c819", size = 1545977, upload-time = "2026-04-07T11:14:14.766Z" },
|
|
1386
|
+
{ url = "https://files.pythonhosted.org/packages/ca/e1/dbf318de28f65fa2cdd0a9dfbdee380f8199eb83b19259bc4f8592551b4e/rapidfuzz-3.14.5-cp311-cp311-win_arm64.whl", hash = "sha256:8c90cdf8516d9057e502aa6003cea71cf5ec27cc44699ca52412b502a04761bb", size = 816827, upload-time = "2026-04-07T11:14:16.788Z" },
|
|
1387
|
+
{ url = "https://files.pythonhosted.org/packages/d3/e3/574435c6aafb80254c191ef40d7aca2cb2bb97a095ec9395e9fa59ac307a/rapidfuzz-3.14.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0d3378f471ef440473a396ce2f8e97ee12f89a78b495540e0a5617bbfe895638", size = 1944601, upload-time = "2026-04-07T11:14:18.771Z" },
|
|
1388
|
+
{ url = "https://files.pythonhosted.org/packages/d0/1f/fbad3102a255ecc112ce9a7e779bacab7fd14398217be8868dc9082ba363/rapidfuzz-3.14.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1e910eebca9fd0eba245c0555e764597e8a0cccb673a92da2dc2397050725f48", size = 1164293, upload-time = "2026-04-07T11:14:20.534Z" },
|
|
1389
|
+
{ url = "https://files.pythonhosted.org/packages/88/37/a3eb7ff6121ed3a5f199a8c38cc86c8e481816f879cb0e0b738b078c9a7e/rapidfuzz-3.14.5-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:01550fe5f60fd176aa66b7611289d46dc4aa4b1b904874c7b6d1d54e581c5ec1", size = 1371999, upload-time = "2026-04-07T11:14:22.63Z" },
|
|
1390
|
+
{ url = "https://files.pythonhosted.org/packages/79/72/97a9728c711c7c1b06e107d3f0623880fb4ef90e147ed13c551a1730e7cc/rapidfuzz-3.14.5-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:48bee0b91bebfaec41e1081e351000659ab7570cc4598d617aa04d5bf827f9e6", size = 3145715, upload-time = "2026-04-07T11:14:24.508Z" },
|
|
1391
|
+
{ url = "https://files.pythonhosted.org/packages/ed/54/d5caabbea233ac90c286c87c260e49d7641467e87438a18d858e41c82e91/rapidfuzz-3.14.5-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:7e580cb04ad849ae9b786fa21383c6b994b6e6c1444ad1cb9f22392759d72741", size = 1456304, upload-time = "2026-04-07T11:14:26.515Z" },
|
|
1392
|
+
{ url = "https://files.pythonhosted.org/packages/fc/a7/2d1a81250ac8c01a0100c026018e76f0e7a097ff63e4c553e02a6938c6fb/rapidfuzz-3.14.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:09d6c9ba091854f07817055d795d604179c12a8f308ba4c7d56f3719dfea1646", size = 2389089, upload-time = "2026-04-07T11:14:28.635Z" },
|
|
1393
|
+
{ url = "https://files.pythonhosted.org/packages/65/0d/c47c3872203ae88e6506997c0b576ad731f5261daa25d559be09c9756658/rapidfuzz-3.14.5-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:1e989f86113be66574113b9c7bdf4793f3f863d248e47d911b355e05ca6b6b10", size = 2493404, upload-time = "2026-04-07T11:14:30.577Z" },
|
|
1394
|
+
{ url = "https://files.pythonhosted.org/packages/8f/2f/71e0a5a3130792146c8a200a2dd1e52aa16f7c1074012e17f2601eea9a90/rapidfuzz-3.14.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ebd1a18e2e47bc0b292a07e6ed9c3642f8aaa672d12253885f599b50807a4f9", size = 4251709, upload-time = "2026-04-07T11:14:32.451Z" },
|
|
1395
|
+
{ url = "https://files.pythonhosted.org/packages/86/45/d39874901abacef325adb5b34ae416817c8486dfb4fb87c7a9b74ec5b072/rapidfuzz-3.14.5-cp312-cp312-win32.whl", hash = "sha256:9981d38a703b86f0e315a3cd229fd1906fe1d91c989ed121fb975b3c849f89f5", size = 1710069, upload-time = "2026-04-07T11:14:34.37Z" },
|
|
1396
|
+
{ url = "https://files.pythonhosted.org/packages/85/0b/f65572c53de8a1c704bda707f63a447b67bdbe95d7cdc70d18885e191df5/rapidfuzz-3.14.5-cp312-cp312-win_amd64.whl", hash = "sha256:d8375e3da319593389727c3187ccaf3e0e84199accc530866b8e0f2b79af05e9", size = 1540630, upload-time = "2026-04-07T11:14:36.287Z" },
|
|
1397
|
+
{ url = "https://files.pythonhosted.org/packages/5e/c3/143be3a578f989758cae516f3270d5cbb49783a7bfdf57cc27a670e00456/rapidfuzz-3.14.5-cp312-cp312-win_arm64.whl", hash = "sha256:478b59bb018a6780d73f33e38d0b3ec5e968a6c1ed42876b993dd456b7aa20e8", size = 813137, upload-time = "2026-04-07T11:14:38.289Z" },
|
|
1398
|
+
{ url = "https://files.pythonhosted.org/packages/11/66/252803f2010ba699618cdc048b6e1f7cc1f433c08b4a9a17579b92ab0142/rapidfuzz-3.14.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ebd8fd343bf8492a1e60bcb6dc99f90f74f65d98d8241a6b3e1fed225b76ecd6", size = 1940205, upload-time = "2026-04-07T11:14:40.319Z" },
|
|
1399
|
+
{ url = "https://files.pythonhosted.org/packages/ea/59/b2afd98e41af9cd54554a4c1c423d84cdd60e6b1c0a09496f033b55f60ec/rapidfuzz-3.14.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6737b35d5af7479c5bf9710f7b17edd9d2c43128d974d25fb4ea653e42c64609", size = 1159639, upload-time = "2026-04-07T11:14:42.52Z" },
|
|
1400
|
+
{ url = "https://files.pythonhosted.org/packages/a3/31/7aa7e62c4c516a7af322ed0c4f0774208b72d457d0cfec808bad0df12f4a/rapidfuzz-3.14.5-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b002c7994cc9f2bc9d9856f0fbaee6e8072c983873846c92f25cefba5b2a925f", size = 1367194, upload-time = "2026-04-07T11:14:44.25Z" },
|
|
1401
|
+
{ url = "https://files.pythonhosted.org/packages/90/79/2fc252a63bc91d3c3b234d0a3a6ad4ebc460037a23cdcdaf9285f986e6c9/rapidfuzz-3.14.5-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:17a34330cd2a538c1ce5d400b61ba358c5b72c654b928ff87b362e88f8b864c7", size = 3151805, upload-time = "2026-04-07T11:14:46.21Z" },
|
|
1402
|
+
{ url = "https://files.pythonhosted.org/packages/17/54/0c83508f2683ea70e2d05f8527eb07328acf7bb1e9d97a3bece5702378e7/rapidfuzz-3.14.5-cp313-cp313-manylinux_2_39_riscv64.whl", hash = "sha256:95d937e74c1a7a1287dfb03b62a827be08ede10a155cf1af73bbf47f2b73ee6e", size = 1455667, upload-time = "2026-04-07T11:14:47.991Z" },
|
|
1403
|
+
{ url = "https://files.pythonhosted.org/packages/71/1b/070175e873177814d58850a01ebe80e20ae11e93eb4da894d563988660fa/rapidfuzz-3.14.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:46b92a9970dcc34f0096901c792644094cab49554ac3547f35e3aebbdf0a3610", size = 2388246, upload-time = "2026-04-07T11:14:50.098Z" },
|
|
1404
|
+
{ url = "https://files.pythonhosted.org/packages/c9/dd/77caf7aaf9c2be050ad1f128d7c24ff0f59079aa62c5f62f9df41c0af45e/rapidfuzz-3.14.5-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:e012177c8e8a8a0754ae0d6027d63042aa5ff036d9f40f07cb3466a6082e21b8", size = 2494333, upload-time = "2026-04-07T11:14:52.303Z" },
|
|
1405
|
+
{ url = "https://files.pythonhosted.org/packages/2c/e2/dd7e1f2aa31a8fbbfc16b0610af1d770ffaf1287490f3c8c5b1c52da264f/rapidfuzz-3.14.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a2ae6f53f99c9a0eca7a0afc5b4e45fc73bc1dd4ac74c00509031d76df80ed98", size = 4258579, upload-time = "2026-04-07T11:14:54.538Z" },
|
|
1406
|
+
{ url = "https://files.pythonhosted.org/packages/9c/0a/ac99e1ba347ba0e85e0bb60b74231d55fb93c0eff43f2920ccb413d0be08/rapidfuzz-3.14.5-cp313-cp313-win32.whl", hash = "sha256:4a60f0057231188e3bd30216f7b4e0f279b11fa4ec818bb6c1d9f014d1562fbc", size = 1709231, upload-time = "2026-04-07T11:14:56.524Z" },
|
|
1407
|
+
{ url = "https://files.pythonhosted.org/packages/cf/cb/0e251d731b3166378644238e8f0cf9e89858c024e19f75ca9f7e3ae83fd5/rapidfuzz-3.14.5-cp313-cp313-win_amd64.whl", hash = "sha256:11bfc2ed8fbe4ab86bd516fadefab126f90e6dcadffa761739fcb304707dfd35", size = 1538519, upload-time = "2026-04-07T11:14:58.635Z" },
|
|
1408
|
+
{ url = "https://files.pythonhosted.org/packages/30/6f/4548132acc947db6d5346a248e44a8b3a22d608ef30e770fb578caaf2d00/rapidfuzz-3.14.5-cp313-cp313-win_arm64.whl", hash = "sha256:b486b5218808f6f4dc471b114b1054e63553db69705c97da0271f47bd706aedd", size = 812628, upload-time = "2026-04-07T11:15:00.552Z" },
|
|
1409
|
+
{ url = "https://files.pythonhosted.org/packages/00/60/69b177577290c5eab892c6f75fe89c3aff3f9ae80298a78d9372b1cecb9a/rapidfuzz-3.14.5-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:39ef8658aaf67d51667e7bdaf7096f432333377d8302ac43c70b5df8a4cf89b8", size = 1970231, upload-time = "2026-04-07T11:15:02.603Z" },
|
|
1410
|
+
{ url = "https://files.pythonhosted.org/packages/48/38/2fd790052659cc4e2907b63c25433f0987864b445c1aeec1a302ef5ad948/rapidfuzz-3.14.5-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:9ad37a0be705b544af6296da8edddc260d10a8ae5462530fc9991f66498bb1f9", size = 1194394, upload-time = "2026-04-07T11:15:04.572Z" },
|
|
1411
|
+
{ url = "https://files.pythonhosted.org/packages/80/f4/28430ad8472fc3536e8ebd51a864a226e979cfe924c6e3f83d111373aa74/rapidfuzz-3.14.5-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d45e06f60729e07d9b20c205f7e5cff90b6ef2584e852eecf46e045aea69627d", size = 1377051, upload-time = "2026-04-07T11:15:06.728Z" },
|
|
1412
|
+
{ url = "https://files.pythonhosted.org/packages/77/7e/9aeacabcfd1e77397968362e5b98fe14248b8307011136b17daf99752a8e/rapidfuzz-3.14.5-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e52da10236aa6212de71b9e170bace65b64b129c0dea7fc243d6c9ce976f5074", size = 3160565, upload-time = "2026-04-07T11:15:08.667Z" },
|
|
1413
|
+
{ url = "https://files.pythonhosted.org/packages/56/f4/db4dd7be0cd2f2022117ac5407d905f435d60e48baaea313a567ad27e865/rapidfuzz-3.14.5-cp313-cp313t-manylinux_2_39_riscv64.whl", hash = "sha256:440d30faaf682ca496170a7f0cc5453ec942e3e079f0fd802c9a7f938dfb50a3", size = 1442113, upload-time = "2026-04-07T11:15:11.138Z" },
|
|
1414
|
+
{ url = "https://files.pythonhosted.org/packages/a4/99/0e9f6aa57f3e32a767216f797e56dc96b720fcecfb9d8ee907ecc82f8d66/rapidfuzz-3.14.5-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:56227a61fd3d17b0cd9793132431f3a3d07c8654be96794ba9f89fe0fc8b2d09", size = 2396618, upload-time = "2026-04-07T11:15:13.154Z" },
|
|
1415
|
+
{ url = "https://files.pythonhosted.org/packages/60/94/44a78e39ffce17cbdd3e2b53b696acc751d5d153be0f499d052b07a4d904/rapidfuzz-3.14.5-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:2e83cd2e25bb4edd97b689d9979d9c3acccdaaf26ceac08212ceece202febcfa", size = 2478220, upload-time = "2026-04-07T11:15:15.193Z" },
|
|
1416
|
+
{ url = "https://files.pythonhosted.org/packages/dd/df/454311469a09a507e9d784a35796742bec22e4cebe75551e2da4e0e290fd/rapidfuzz-3.14.5-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:af3b859726cd3374287e405e14b9634563c078c5531a4f62375508addebddad1", size = 4265027, upload-time = "2026-04-07T11:15:17.28Z" },
|
|
1417
|
+
{ url = "https://files.pythonhosted.org/packages/fc/01/175465a9ab3e3b70ba669058372f009d1d49c1746e2dcd56b69df188d3a5/rapidfuzz-3.14.5-cp313-cp313t-win32.whl", hash = "sha256:8ce1d850b3c0178440efde9e884d98421b5e87ff925f364d6d79e23910d7593f", size = 1766814, upload-time = "2026-04-07T11:15:19.687Z" },
|
|
1418
|
+
{ url = "https://files.pythonhosted.org/packages/1b/a0/a9b84a47af06ebed94a1439eb2f02adebfb8628bcd30af1fe3e02f5ef56c/rapidfuzz-3.14.5-cp313-cp313t-win_amd64.whl", hash = "sha256:c84af70bcf34e99aee894e46a0f1ac77f17d0ef828179c387407642e2466d28a", size = 1582448, upload-time = "2026-04-07T11:15:21.98Z" },
|
|
1419
|
+
{ url = "https://files.pythonhosted.org/packages/1e/f1/5937800238b3f8248e70860d79f69ba8f73e764fff47e36bc9e2f26dbcc6/rapidfuzz-3.14.5-cp313-cp313t-win_arm64.whl", hash = "sha256:aac0ad28c686a5e72b81668b906c030ee28050b244544b8af68e12fb32543895", size = 832932, upload-time = "2026-04-07T11:15:24.358Z" },
|
|
1420
|
+
{ url = "https://files.pythonhosted.org/packages/81/41/aa3ffb3355e62e1bf91f6599b3092e866bc88487a07c524004943c7676df/rapidfuzz-3.14.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:1a31cc6d7d03e7318a0974c038959c59e19c752b81115f2e9138b3331cd64d45", size = 1943327, upload-time = "2026-04-07T11:15:26.266Z" },
|
|
1421
|
+
{ url = "https://files.pythonhosted.org/packages/2d/e1/c2141f1840a41e07ad2db6f724945f8f8ff3065463899a22939152dd6e09/rapidfuzz-3.14.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0298d357e2bc59d572da4db0bc631009b6f8f6c9bc8c11e99a12b833f16b6575", size = 1161755, upload-time = "2026-04-07T11:15:28.659Z" },
|
|
1422
|
+
{ url = "https://files.pythonhosted.org/packages/ca/07/66e753eeaa353161d1d331b7dd517bb349b0bacfebe8496d7b26be26f81f/rapidfuzz-3.14.5-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:59b3dba758661a318995655435c6ab20a04ade79fa51e75bc8dc107cac8df280", size = 1376571, upload-time = "2026-04-07T11:15:31.225Z" },
|
|
1423
|
+
{ url = "https://files.pythonhosted.org/packages/c8/85/9535df0b78ba51f478c9ce7eb6d1f85535cc31fe356773b48fd9d3e563ca/rapidfuzz-3.14.5-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4900143d82071bdda533b00300c40b14b963ff826b3642cc463b6dd0f036585e", size = 3156468, upload-time = "2026-04-07T11:15:33.428Z" },
|
|
1424
|
+
{ url = "https://files.pythonhosted.org/packages/81/ee/b667eb93bba6dc4e0de658edd778e1619dc4d6aab68fa5e5c7f075152735/rapidfuzz-3.14.5-cp314-cp314-manylinux_2_39_riscv64.whl", hash = "sha256:feedf219672eef83ea6be6f3bb093bba396a8560fc75be85ba225f082903df0a", size = 1458311, upload-time = "2026-04-07T11:15:35.557Z" },
|
|
1425
|
+
{ url = "https://files.pythonhosted.org/packages/7d/ce/479074f5624364a48df3403c538797ef22d3ac49c19dc76c3f79fcdcc70c/rapidfuzz-3.14.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:419e4397a36e2665ec992d8d64c20ba4b2a42500c76ecadeca78a4f19cb9cc32", size = 2398228, upload-time = "2026-04-07T11:15:37.669Z" },
|
|
1426
|
+
{ url = "https://files.pythonhosted.org/packages/0b/15/a8982f649150fffbdcd6f17565974501f6ab33b2795267bffbd4a7ba905b/rapidfuzz-3.14.5-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:97131ab2be39043054ee28d99e09efe316e6d53449b7e962dfcf3c2de8b2b246", size = 2497226, upload-time = "2026-04-07T11:15:39.857Z" },
|
|
1427
|
+
{ url = "https://files.pythonhosted.org/packages/19/52/5267c03ef6759831b7d4625a0c9c06e87baa2fae084b61ac9c388858317b/rapidfuzz-3.14.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:593c00dac4e30231c35bf3b4f1da8ec0998762e9e94425586a5d636fcd57f9d0", size = 4262283, upload-time = "2026-04-07T11:15:42.279Z" },
|
|
1428
|
+
{ url = "https://files.pythonhosted.org/packages/71/c0/2579f343a97f5254c43bb5853baccc01488357dcb64a27bcb869b7888a4a/rapidfuzz-3.14.5-cp314-cp314-win32.whl", hash = "sha256:0084b687b02b4e569b46d8d6d4ad25659528e6081cd6d067ca453a69035f07e4", size = 1744614, upload-time = "2026-04-07T11:15:44.498Z" },
|
|
1429
|
+
{ url = "https://files.pythonhosted.org/packages/17/eb/8edfed1e80119dc9c35b11df4bc701eea85622ad681fff0263b6961d3224/rapidfuzz-3.14.5-cp314-cp314-win_amd64.whl", hash = "sha256:5dfa89d78f22cd773054caff44827b846161a29f2dcf7e78b8f90d086621e502", size = 1588971, upload-time = "2026-04-07T11:15:46.86Z" },
|
|
1430
|
+
{ url = "https://files.pythonhosted.org/packages/f6/04/5676df93c85cfa57a3045d8047318df9f3cd58c7b8a99340dd95f874795e/rapidfuzz-3.14.5-cp314-cp314-win_arm64.whl", hash = "sha256:67f3f9d2b444268ab53e47d31bab89954888d23c04c6789f2c727e51fe4b1d13", size = 834985, upload-time = "2026-04-07T11:15:49.411Z" },
|
|
1431
|
+
{ url = "https://files.pythonhosted.org/packages/f7/0d/4a8988cea658fe335048ddef8c876addff1b6daa3c9ca8ad65a5a2196e69/rapidfuzz-3.14.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:77eac0526899b3c3ad1454bb2b03cdb491d67358ec8ef0c9c48bd61b632b431d", size = 1972517, upload-time = "2026-04-07T11:15:51.819Z" },
|
|
1432
|
+
{ url = "https://files.pythonhosted.org/packages/1c/a3/f5cfd9965a9d9a9e32249159797c47b5d6299ea6d1629f9126b25f1c10a3/rapidfuzz-3.14.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b9c6bd754d11f6e78ac54e3d86b4b11dc1ba2f13e5fc958899574532897f5a99", size = 1196056, upload-time = "2026-04-07T11:15:54.292Z" },
|
|
1433
|
+
{ url = "https://files.pythonhosted.org/packages/64/07/561c2e40cfd10e6630a7b0ac5a2a813aef50d944bcd1f3d260319d659d5b/rapidfuzz-3.14.5-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:738c96944d076deeaff70e92b65696ab4f7ecb8081d7791c5403a3257dfaf8ff", size = 1374732, upload-time = "2026-04-07T11:15:56.584Z" },
|
|
1434
|
+
{ url = "https://files.pythonhosted.org/packages/c2/39/123bb94fee40e2fb3b7c49b80827c7ef42d838e18def3fc2fef5a3cf817a/rapidfuzz-3.14.5-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f4c1bca487a17fe4226b4ffb2d30e799d2b274d692cffa76bd0746f56235fca3", size = 3166902, upload-time = "2026-04-07T11:15:58.768Z" },
|
|
1435
|
+
{ url = "https://files.pythonhosted.org/packages/75/0a/45716fafc9fd2e028cf20b5ac5bc704887081cd312f84edb0e325599414b/rapidfuzz-3.14.5-cp314-cp314t-manylinux_2_39_riscv64.whl", hash = "sha256:af6a90a4ed2a48fa1a2d17e9d824e6c7c950bea5bad0b707c77fd55751e6bfef", size = 1452130, upload-time = "2026-04-07T11:16:01.453Z" },
|
|
1436
|
+
{ url = "https://files.pythonhosted.org/packages/ca/49/4e96c413114398481c0a5b0086af32c364a18613c9a2ea578d17c4bea4ee/rapidfuzz-3.14.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bf5018938208d4597b2e679a4f8cff9fd252f1df53583130ae56281a21801b64", size = 2396308, upload-time = "2026-04-07T11:16:03.588Z" },
|
|
1437
|
+
{ url = "https://files.pythonhosted.org/packages/89/b7/49fea9fc6878d59bd259d01dd1972d9b86117992b1c66d9b16f0a65273c3/rapidfuzz-3.14.5-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:c0919d1f89ddf91129906705723118ea09754171e4116f5a5dbc667c7bc9b261", size = 2488210, upload-time = "2026-04-07T11:16:05.871Z" },
|
|
1438
|
+
{ url = "https://files.pythonhosted.org/packages/0c/44/a1f732b93ffacbdad077b7c801149549b2938e1bece6addb5ad85ed74df8/rapidfuzz-3.14.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:93d8da883a35116d6813432177f35e570db5b0a5e30ecb0cbd7cb39c815735df", size = 4270621, upload-time = "2026-04-07T11:16:08.483Z" },
|
|
1439
|
+
{ url = "https://files.pythonhosted.org/packages/bb/ce/ff942d19fce5385054650bb71a58495ddda299d94661ccc4e6e7fa44868b/rapidfuzz-3.14.5-cp314-cp314t-win32.whl", hash = "sha256:0f23e37019ec07712d58976b1ab2b889f8649a7f7c2f626a2f34ea9139e79279", size = 1803950, upload-time = "2026-04-07T11:16:10.873Z" },
|
|
1440
|
+
{ url = "https://files.pythonhosted.org/packages/5c/0f/9aafc63f9661222b819b391c187eed29fc90ad5935f9690e5ecc2d2047a4/rapidfuzz-3.14.5-cp314-cp314t-win_amd64.whl", hash = "sha256:7d5ca9c7832e6879a707296d1463685f7c243a27846227044504741640caec66", size = 1632357, upload-time = "2026-04-07T11:16:13.1Z" },
|
|
1441
|
+
{ url = "https://files.pythonhosted.org/packages/70/a6/51fc1b0e61e3326e1c68a61cfd0c6b3c34c843681c4b1eefbf0596f59162/rapidfuzz-3.14.5-cp314-cp314t-win_arm64.whl", hash = "sha256:3e91dcd2549b8f8d843f98ba03a17e01f3d8b72ce942adbbb6761bc58ffce813", size = 855409, upload-time = "2026-04-07T11:16:15.787Z" },
|
|
1442
|
+
{ url = "https://files.pythonhosted.org/packages/d9/ee/e71853bf82846c5c2174b924b71d8e8099fb05ff87c958a720380b434ba3/rapidfuzz-3.14.5-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:578e6051f6d5e6200c259b47a103cf06bb875ab5814d17333fc0b5c290b22f4c", size = 1888603, upload-time = "2026-04-07T11:16:18.223Z" },
|
|
1443
|
+
{ url = "https://files.pythonhosted.org/packages/36/82/40f67b730f32be2ebad9f62add1571c754f52249254b2e88af094b907eee/rapidfuzz-3.14.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:fbf1b8bb2695415b347f3727da1addca2acb82c9b97ac86bebf8b1bead1eb12d", size = 1120599, upload-time = "2026-04-07T11:16:20.682Z" },
|
|
1444
|
+
{ url = "https://files.pythonhosted.org/packages/ef/9f/a3635cc4ec8fc6e14b46e7db1f7f8763d8c4bef33dcc124eea2e6cb2c8f3/rapidfuzz-3.14.5-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8f4a8f5cc84c7ad6bffa0e9947b33eb343ad66e6b53e94fe54378a5508c5ed53", size = 1348524, upload-time = "2026-04-07T11:16:23.451Z" },
|
|
1445
|
+
{ url = "https://files.pythonhosted.org/packages/cc/1b/2b229520f0b48464cfcd7aa758f74551d12c9bc4ab544022a60210aab064/rapidfuzz-3.14.5-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:97c6d85283629646fa87acc22c66b30ea9d4de7f6fdf887daa2e30fa041829b5", size = 3099302, upload-time = "2026-04-07T11:16:25.858Z" },
|
|
1446
|
+
{ url = "https://files.pythonhosted.org/packages/aa/b5/363906b1064fc6fe611783a61764927bbd91919aaaabe8cba82151ca93ef/rapidfuzz-3.14.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:dfef96543ced67d9513a422755db422ae1dc34dade0a1485e0b43e7342ed3ebf", size = 1509889, upload-time = "2026-04-07T11:16:28.487Z" },
|
|
1447
|
+
]
|
|
1448
|
+
|
|
1449
|
+
[[package]]
|
|
1450
|
+
name = "rapidfuzz"
|
|
1451
|
+
version = "3.14.6"
|
|
1452
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1453
|
+
resolution-markers = [
|
|
1454
|
+
"python_full_version >= '3.11'",
|
|
1455
|
+
]
|
|
1456
|
+
sdist = { url = "https://files.pythonhosted.org/packages/18/97/226c43b7b5d957bc3840ed52ea99eed261f99834c4619be7a4742cbaeafa/rapidfuzz-3.14.6.tar.gz", hash = "sha256:e13a8160d017b499ec7a2fa9d0ce1ae2e7377080815785819f966fb235d4eb60", size = 57955060, upload-time = "2026-08-30T21:45:51.097Z" }
|
|
1457
|
+
wheels = [
|
|
1458
|
+
{ url = "https://files.pythonhosted.org/packages/4c/09/144d6fcd84fadb124d282f727d197a92dc48ae279e80d4b7d23795ba164d/rapidfuzz-3.14.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1c0dd0d765184366b6e213a8af3b0b3bb39dad27943bbfb193515d4ff96ac82a", size = 1975267, upload-time = "2026-08-30T21:41:54.195Z" },
|
|
1459
|
+
{ url = "https://files.pythonhosted.org/packages/b9/8f/17985248f0f651a518b543f802fa706b7810cbe96a434a5a9dc24f99b7d2/rapidfuzz-3.14.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0c61cade182f130c9903231946bd1074539121721693a918e7b70382ae802bd8", size = 1246874, upload-time = "2026-08-30T21:41:57.063Z" },
|
|
1460
|
+
{ url = "https://files.pythonhosted.org/packages/de/8f/9cf3b552bb84911add3c86e014e8704d20ea4e274295686106dc010356ae/rapidfuzz-3.14.6-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3781cf14f9fc933d7198c2b25a8bbbd1a62b752746d5cd26de14957edc0e802f", size = 1394531, upload-time = "2026-08-30T21:41:58.745Z" },
|
|
1461
|
+
{ url = "https://files.pythonhosted.org/packages/e3/7f/c4824d855cb1f89f8db0802b7ae22705187be55e0ab2f9873b574a0a6713/rapidfuzz-3.14.6-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:71a5bbfd00da1963f27dd1432068929694cf0e00007ae2b9c1ad2a187ec29a16", size = 1702106, upload-time = "2026-08-30T21:42:00.398Z" },
|
|
1462
|
+
{ url = "https://files.pythonhosted.org/packages/9f/ff/556d3aefbd1f115fcda6bdf3ea578405fcaa44c233b525fda583943f3692/rapidfuzz-3.14.6-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:eabaf06ca4896c59cfd9162480f0d37a15a2304ce2efe83ae2bbcfa1cf13534e", size = 2735203, upload-time = "2026-08-30T21:42:02.115Z" },
|
|
1463
|
+
{ url = "https://files.pythonhosted.org/packages/11/ae/a781ec62825990319483c82ef962b509e9ce22a67a9f97d63d70b2b175b9/rapidfuzz-3.14.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3d5d90bae3c6fb7ea34da968c9f23070e8440edb827a28b242580e0108110b14", size = 3180952, upload-time = "2026-08-30T21:42:03.918Z" },
|
|
1464
|
+
{ url = "https://files.pythonhosted.org/packages/d9/cc/a8cdeaa64db2e914f3475551b19ea2a6187b5458b50eac707e10f1bcf9d7/rapidfuzz-3.14.6-cp311-cp311-manylinux_2_39_riscv64.whl", hash = "sha256:d6b58daadbe6974884ec39aee30cfb8bd2e126f8d03503f0069f70d5e84656a3", size = 1485205, upload-time = "2026-08-30T21:42:05.659Z" },
|
|
1465
|
+
{ url = "https://files.pythonhosted.org/packages/09/4e/6394e8d79088124bf39a8103ac2ae166a3f62ffc67b51c4e869dfe38b6d1/rapidfuzz-3.14.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ab4386ef7c2cb3e5eb46e815be49715dfcd301bb9f0a431f18da7aa0007de54f", size = 2415347, upload-time = "2026-08-30T21:42:07.847Z" },
|
|
1466
|
+
{ url = "https://files.pythonhosted.org/packages/f0/2e/92acf13a03c45884aabe9d637c620f5b7806e56bd6f6f8d8016f95614722/rapidfuzz-3.14.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:33a2f7faedaa3608c4876c41b448fc786d54e6cd7c6e732f7de466319b5a73c2", size = 2819438, upload-time = "2026-08-30T21:42:09.788Z" },
|
|
1467
|
+
{ url = "https://files.pythonhosted.org/packages/95/54/3ed4286d9ebf0b623b021970a46d7befa053dd09c85cd213bfb2ad2a0bbc/rapidfuzz-3.14.6-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:adb160a100f6122aa45c78d686e198da3f9e815d4182e0c4fe730608479f7f9c", size = 2521065, upload-time = "2026-08-30T21:42:11.923Z" },
|
|
1468
|
+
{ url = "https://files.pythonhosted.org/packages/6a/ff/ae8ecf60ce25eab3accfe5a0c9ba6499b02c5e2ab03ee9defdf5475eb4e7/rapidfuzz-3.14.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ad60297c001d15af24338440bca85dfee8710e9e3222733c906b33e89d986166", size = 3319384, upload-time = "2026-08-30T21:42:14.191Z" },
|
|
1469
|
+
{ url = "https://files.pythonhosted.org/packages/4a/1d/d39dfc6cdc5c1d0452d4af563c678f2d5821f0df306bc3ab9502f3555690/rapidfuzz-3.14.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3d5b1cfa67bbe6239a643bca1d986f8a07e0a045286c674946e1648c132baa46", size = 4297470, upload-time = "2026-08-30T21:42:16.667Z" },
|
|
1470
|
+
{ url = "https://files.pythonhosted.org/packages/1b/f6/0a64983c5cf5b2ce8cf2ce4fc54ecd6b5ee6cd6a3af8b870657f28e31a07/rapidfuzz-3.14.6-cp311-cp311-win32.whl", hash = "sha256:46ddb42af4cad3ac9d5e0c97ee1e687500c529a1ad5cbf9c949ce35f6edd4537", size = 1902086, upload-time = "2026-08-30T21:42:18.576Z" },
|
|
1471
|
+
{ url = "https://files.pythonhosted.org/packages/41/72/638db21d63041ba17c4ed482a8cd1fe6dc4d90bc84b2a28aaccc2611ff84/rapidfuzz-3.14.6-cp311-cp311-win_amd64.whl", hash = "sha256:737a57cbca3e5c16decac86e205727bcd4b99c52f77c48bb44123078c5cd9a7a", size = 1738042, upload-time = "2026-08-30T21:42:20.427Z" },
|
|
1472
|
+
{ url = "https://files.pythonhosted.org/packages/10/f7/d0fb82451c1f0c701a742939120b32a092ac64bbacf8bf8fa21d61fc89e7/rapidfuzz-3.14.6-cp311-cp311-win_arm64.whl", hash = "sha256:19c1cda8198cc57ffd4ff69a1c02cbe4297e9ca7b506bca03ec584da0a9fe1ff", size = 1190829, upload-time = "2026-08-30T21:42:22.322Z" },
|
|
1473
|
+
{ url = "https://files.pythonhosted.org/packages/03/d2/5a7646b185a61400220e4783d23461c1e864a9ee82ba443b18c218e2364b/rapidfuzz-3.14.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b46cecf27025e7a934332ade033e6a394da8a493f19fa1d835e3b2968a4ff7da", size = 1965178, upload-time = "2026-08-30T21:42:24.164Z" },
|
|
1474
|
+
{ url = "https://files.pythonhosted.org/packages/8b/72/10fc4e414eeed7963e2f1c315c731cb68196f0478cb244c78a21f5ce8662/rapidfuzz-3.14.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1901414b135afb1a7f4b1ef940b95523b49cc5642aecf02af740f37567e98137", size = 1248230, upload-time = "2026-08-30T21:42:26.088Z" },
|
|
1475
|
+
{ url = "https://files.pythonhosted.org/packages/39/e9/0794043c1a0af09cacdbb6a9e8b9b2079cdf73337e7c29b4a9f117415bb9/rapidfuzz-3.14.6-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96a548979cd939b2c69358a0f5088a408524fbf7454f04bf90939fa971e64310", size = 1380396, upload-time = "2026-08-30T21:42:27.97Z" },
|
|
1476
|
+
{ url = "https://files.pythonhosted.org/packages/2f/73/9218cf4424ab86260ee88ebdb612c5ed4d9bfd6b6d1e2f3c3bf4599d13bf/rapidfuzz-3.14.6-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b22ef7e5e2341efc6216b666491022027b984e5aef93446064742f43f3c1d926", size = 1674037, upload-time = "2026-08-30T21:42:29.754Z" },
|
|
1477
|
+
{ url = "https://files.pythonhosted.org/packages/a1/f5/bad528b6dfc608a48838508f270c79332ab05592703c9a46504ba95e9eab/rapidfuzz-3.14.6-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f0d2d95c787d812b9106cfbcb94ad37a49f59df9287e00a75eb61afc246e8759", size = 2722897, upload-time = "2026-08-30T21:42:31.737Z" },
|
|
1478
|
+
{ url = "https://files.pythonhosted.org/packages/13/da/49ab137f788a0e03e872d4c6b3d5c9c6c6bed4e4ccea381f69c4d186341b/rapidfuzz-3.14.6-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0debb5f43662ea84d2f0228a0c7407ff647f9c3d13f3b692efff0cde46eebce0", size = 3168023, upload-time = "2026-08-30T21:42:33.663Z" },
|
|
1479
|
+
{ url = "https://files.pythonhosted.org/packages/59/33/81ca664a15194b8b4a7e863b534e36c057724f9709c7781e9400d0edf024/rapidfuzz-3.14.6-cp312-cp312-manylinux_2_39_riscv64.whl", hash = "sha256:1d253e1fe44648242a0029b42ba23adf238ed2a7eb3d8ed0a03731a23f074ae0", size = 1474666, upload-time = "2026-08-30T21:42:35.5Z" },
|
|
1480
|
+
{ url = "https://files.pythonhosted.org/packages/87/eb/b16f9f8cc255c8dc7c0d7712aa7e7c12a6fd85c8b2b56665f2a24222a941/rapidfuzz-3.14.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e06c6050c9bf6cd72305e3e6a293918b2b92cf2a067007585a53898624902e3c", size = 2402289, upload-time = "2026-08-30T21:42:37.309Z" },
|
|
1481
|
+
{ url = "https://files.pythonhosted.org/packages/4a/73/eaa1ca89f6ab12c0fe7f943226ce4ad1d2c67eb281dfd706279771fcff5a/rapidfuzz-3.14.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d85a6e9180e53cde95c95dfeb05a2ac94ead4d9d803a8fd186d2719a678b8483", size = 2788332, upload-time = "2026-08-30T21:42:39.412Z" },
|
|
1482
|
+
{ url = "https://files.pythonhosted.org/packages/5d/ad/db927fbe23f621dd292a6332a19822703084617c0281a88156a8c138d4e0/rapidfuzz-3.14.6-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:35db2670f69fa3a4eb4741055581477ff92f2cf39e7e06f43ebcb97c2192fe7c", size = 2510540, upload-time = "2026-08-30T21:42:41.629Z" },
|
|
1483
|
+
{ url = "https://files.pythonhosted.org/packages/2d/b2/8e9012968fab837babe1292edcbe1c972605f5b3af19c7fcac2ded731d39/rapidfuzz-3.14.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f9d93e5424d1e4c103b57906b8beba270e680afda3ffdff7ea3bc6173b37083c", size = 3299876, upload-time = "2026-08-30T21:42:43.803Z" },
|
|
1484
|
+
{ url = "https://files.pythonhosted.org/packages/19/99/799ce99328ea97fe5d7510048ffea148b8ad4a838366f908691be52342a5/rapidfuzz-3.14.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9b0a501f37fb852c54469375baa25874246b3bbc8b6e21fb4cd186a32335868", size = 4277032, upload-time = "2026-08-30T21:42:46.08Z" },
|
|
1485
|
+
{ url = "https://files.pythonhosted.org/packages/07/8a/995b4746c5bc1f561e64de1fa546927183fec7a369fe988716ef394a6d0a/rapidfuzz-3.14.6-cp312-cp312-win32.whl", hash = "sha256:9e974251a9833791bc557b46f975676a56c2d58946f795cd2964b095496dfdcc", size = 1887051, upload-time = "2026-08-30T21:42:48.265Z" },
|
|
1486
|
+
{ url = "https://files.pythonhosted.org/packages/84/c4/12f01df5778227c8655fcd9b429fc001d43270f5d8d154edc9066bab1de3/rapidfuzz-3.14.6-cp312-cp312-win_amd64.whl", hash = "sha256:cfca36e4612208875e08611a779164b6cb8900ab8bbd3d82d4cfdfae9efbfac9", size = 1731992, upload-time = "2026-08-30T21:42:50.211Z" },
|
|
1487
|
+
{ url = "https://files.pythonhosted.org/packages/19/8d/92217f0bc81ec458b4134ad53714b1be0cd3be21494227d73510b06467d6/rapidfuzz-3.14.6-cp312-cp312-win_arm64.whl", hash = "sha256:96bbd5a1c67d135334d02fae74f1d933fdda204ea03d544a59dab6b1cbfbf565", size = 1186693, upload-time = "2026-08-30T21:42:52.63Z" },
|
|
1488
|
+
{ url = "https://files.pythonhosted.org/packages/a0/ad/4901a37256bc5027f3873ebd538b851349d7627d8aa2e91743c79b500f48/rapidfuzz-3.14.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:55dc9a55924b4ecfcf4a60a701bcfae7d9daf0129c41dc16139270d75be0996c", size = 1961301, upload-time = "2026-08-30T21:42:54.46Z" },
|
|
1489
|
+
{ url = "https://files.pythonhosted.org/packages/b9/d3/5a56e26db79c00191bc7c5387a04dfa5b6326c2c81c468a976ee2aa8fa15/rapidfuzz-3.14.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bba0e9fad4dbea80227cde9cef3aaa984a934a84aec5f7505532e19838b14769", size = 1244370, upload-time = "2026-08-30T21:42:56.425Z" },
|
|
1490
|
+
{ url = "https://files.pythonhosted.org/packages/2b/12/0958686418e596961642c41e9162906363649e70f6a12cfcff212f77ccb3/rapidfuzz-3.14.6-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b34b7ee4f4f760690d6477163aabbec05705b5dd764cb6c3a6ba95aa1fffc42", size = 1377336, upload-time = "2026-08-30T21:42:58.687Z" },
|
|
1491
|
+
{ url = "https://files.pythonhosted.org/packages/60/09/a0a70c35996fa5225c8cddca38e2e594c82518aeefa08edb5d875ce0d82b/rapidfuzz-3.14.6-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:abe92a70134c8b40790bb5c78b2a0a790686c26e83b6e99a456127ca141fe06a", size = 1670277, upload-time = "2026-08-30T21:43:00.798Z" },
|
|
1492
|
+
{ url = "https://files.pythonhosted.org/packages/9f/d7/b9deea614b32e933e37d77eecf539ffe2b41c0a922a6fd759993865e7ee5/rapidfuzz-3.14.6-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:659b41570fcc6e02631ac361c47cc8db9ad26d740e4be2177df1b63005a49174", size = 2722260, upload-time = "2026-08-30T21:43:02.655Z" },
|
|
1493
|
+
{ url = "https://files.pythonhosted.org/packages/70/42/4bf9dc905df33bb4515895ff87f777d8df25a3617c0bf8f5d4716813d9ea/rapidfuzz-3.14.6-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6bb896f89a387219c671ebc33c4a636b222010cc3c5c83884a7fc8707bf0bbf9", size = 3165730, upload-time = "2026-08-30T21:43:04.632Z" },
|
|
1494
|
+
{ url = "https://files.pythonhosted.org/packages/25/76/454acc3abfa6b958511d6e761f5a95e6c3128936a1eed4f23643c3267d8b/rapidfuzz-3.14.6-cp313-cp313-manylinux_2_39_riscv64.whl", hash = "sha256:11d76bb2b2cd038df708ae18f521fb3a50af477cc5a0dffce812da43a2f1beb3", size = 1469515, upload-time = "2026-08-30T21:43:06.612Z" },
|
|
1495
|
+
{ url = "https://files.pythonhosted.org/packages/2e/f9/29b0f0d7764423573d35db4970dd573b324f4d41abe74d48adca542bcf79/rapidfuzz-3.14.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:28e9ce91bd41a8203185887ef9b1541a891aa61c5c1cb2e46f1689cd4288d372", size = 2401073, upload-time = "2026-08-30T21:43:08.742Z" },
|
|
1496
|
+
{ url = "https://files.pythonhosted.org/packages/7a/f7/86ac824a7dd2b58729187cc31edebfa7805418f66d97d625010b7383d1de/rapidfuzz-3.14.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:864658e5a10d249a2277374e800f944fe990346d70eea6f3a51b712b6dd01984", size = 2786567, upload-time = "2026-08-30T21:43:11.048Z" },
|
|
1497
|
+
{ url = "https://files.pythonhosted.org/packages/c6/a6/39fc42e45eb8ee70304862523b2e55cfbd2561c560dd8da1071015fa0ff0/rapidfuzz-3.14.6-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:3c2444f5cd757ded2c3ba8b1734253b801b9b2ba9ecb3ee40cd505cebbfa7341", size = 2504907, upload-time = "2026-08-30T21:43:13.281Z" },
|
|
1498
|
+
{ url = "https://files.pythonhosted.org/packages/0a/ea/61f25272239ffef036eb3de1cc63372dfbff27193ca6f9f259d844f41a9c/rapidfuzz-3.14.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2cc9b5dde0ac89f7856f997ef917cac8e18e9dea473e9b3090a84bd600de6a91", size = 3298728, upload-time = "2026-08-30T21:43:15.518Z" },
|
|
1499
|
+
{ url = "https://files.pythonhosted.org/packages/6d/02/f9bfff9e19e852b097afa837a8000592bcd714fe80827a76367b958771b8/rapidfuzz-3.14.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:faebff9b9a287fb673f9a66465a7e03043601c9bfe5e71c3f91b3f2e7b8a37f6", size = 4272030, upload-time = "2026-08-30T21:43:17.785Z" },
|
|
1500
|
+
{ url = "https://files.pythonhosted.org/packages/b3/d4/5845698661cb23bc7935536c28f5b86b2b3606de1f54722c1cfac39f170a/rapidfuzz-3.14.6-cp313-cp313-win32.whl", hash = "sha256:4406b2517b85febcf9419f8fbcdfbd534872ea32608050f9562224933ca49a4c", size = 1886313, upload-time = "2026-08-30T21:43:20.173Z" },
|
|
1501
|
+
{ url = "https://files.pythonhosted.org/packages/67/f1/5b7c56737b9e5af7523ea79e90df732e9e4b2fa66fe2b333ee013ea6e541/rapidfuzz-3.14.6-cp313-cp313-win_amd64.whl", hash = "sha256:c69fb0e064d10c79908dcda76d7ca8ecdf8393a39acbb74dbad3f709f2c60e95", size = 1728638, upload-time = "2026-08-30T21:43:22.169Z" },
|
|
1502
|
+
{ url = "https://files.pythonhosted.org/packages/05/5e/fc1da16b7f5245a7cc61dc08f70391ddaa1c538be1cf92681e7c763b77a4/rapidfuzz-3.14.6-cp313-cp313-win_arm64.whl", hash = "sha256:a0c8bef04f6b1d9fdbb319576350af53151a64692d477db7d4844c220bc8e212", size = 1185777, upload-time = "2026-08-30T21:43:24.27Z" },
|
|
1503
|
+
{ url = "https://files.pythonhosted.org/packages/67/9e/8f862d2c8d80ee02633f1c9ce3e5121ce955e61efae24a61a05dd8a55fef/rapidfuzz-3.14.6-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:0f8d6718e7edacdb16455c0472e7552fd518decb91e91250c58784fd6163f54f", size = 1964420, upload-time = "2026-08-30T21:43:26.328Z" },
|
|
1504
|
+
{ url = "https://files.pythonhosted.org/packages/3e/28/282e8c76b7dcc91e8f5aa1a594168d2136639f29dfda11384c6d36aabca0/rapidfuzz-3.14.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:8fa7d45388dec34a86038f2a38380f4922b74b5dd8991247f629a531178db10f", size = 1246072, upload-time = "2026-08-30T21:43:28.475Z" },
|
|
1505
|
+
{ url = "https://files.pythonhosted.org/packages/4b/ae/8e0f714c55180667d66346e46a3d680dd9809bcee1c5f03557a58b4f2ef6/rapidfuzz-3.14.6-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:760ee152af5e8b4d241a469f933ba2d7215248618ae19770fec7d80d9e149db6", size = 1381829, upload-time = "2026-08-30T21:43:30.67Z" },
|
|
1506
|
+
{ url = "https://files.pythonhosted.org/packages/eb/9a/4a106d68033a81c24ab71129e3016cc6a27a668f30f436e729cae79048e5/rapidfuzz-3.14.6-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dbe3378db3ae0453accf6196e2ed943f43d416cfacdcb8883db105bc14a0130f", size = 1676195, upload-time = "2026-08-30T21:43:32.862Z" },
|
|
1507
|
+
{ url = "https://files.pythonhosted.org/packages/6e/f0/b456a74d8e33051b76b3f156cf4d55f717614d68b44b6312ae1f5d85b31d/rapidfuzz-3.14.6-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9ddb0ddf3ee616fdc066add4ef05639c5cf59b58d83779b6023488e5435f6191", size = 2714364, upload-time = "2026-08-30T21:43:35.003Z" },
|
|
1508
|
+
{ url = "https://files.pythonhosted.org/packages/6d/56/1203b46cedefc3f0c16e10d87123fdd4ec0f2e209f65cd2bf221ec669217/rapidfuzz-3.14.6-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:08bc63b88048376114d1e66cf8fa6926495d03bb873eb87854fa74cf6848a70b", size = 3167618, upload-time = "2026-08-30T21:43:37.625Z" },
|
|
1509
|
+
{ url = "https://files.pythonhosted.org/packages/57/17/fa4a0853979b885ff27488d9b80e7c5c985dfed74c5021ea95a3b54ddfad/rapidfuzz-3.14.6-cp314-cp314-manylinux_2_39_riscv64.whl", hash = "sha256:50cd6718bcda7ec5293635a9d0b3fb5906251013d3b99ca403ba9dfa8965f661", size = 1471360, upload-time = "2026-08-30T21:43:39.852Z" },
|
|
1510
|
+
{ url = "https://files.pythonhosted.org/packages/7d/f2/757615ab88f7922b4477f9c93356c4512d744ea042e3e2b41554aab5ec1e/rapidfuzz-3.14.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:63b0e84faec3c5706cae8ae51246ff103407d54efa32a615a548b7b67392ebcf", size = 2403946, upload-time = "2026-08-30T21:43:42.038Z" },
|
|
1511
|
+
{ url = "https://files.pythonhosted.org/packages/8f/c3/1c2670ff528f7e625d7b552e7ebccd5c4dfdcb84dc08ee85d1bcc0cf1465/rapidfuzz-3.14.6-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:9080a730fdcf3cb8a07464c90f9cf40c1b4ffc73a8375b56a8898aba619dda30", size = 2793123, upload-time = "2026-08-30T21:43:44.438Z" },
|
|
1512
|
+
{ url = "https://files.pythonhosted.org/packages/5d/92/a01444687bb9a5a2679aa71325c227760e9c475cd02054b45fd8b219cb0c/rapidfuzz-3.14.6-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:178557c7a50c8c8d65369ede7f3d845bf23590a951c9a368caf166b105d58cf3", size = 2507361, upload-time = "2026-08-30T21:43:46.568Z" },
|
|
1513
|
+
{ url = "https://files.pythonhosted.org/packages/98/90/43d80ba73fd297c744f7fe0a949af2a610b4b9be96688799c3e73d002b13/rapidfuzz-3.14.6-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:44f1cddbc2010700e2d88063d0ab64183efe2578d9b52770ce1cd283dda230c5", size = 3304287, upload-time = "2026-08-30T21:43:48.966Z" },
|
|
1514
|
+
{ url = "https://files.pythonhosted.org/packages/5d/e9/fd9a160699b72b6857551642fe109a1d0a86b06b7ecc0d2b4bbecbc6b61b/rapidfuzz-3.14.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:17081a0e904c12bb4ed49619a2bbb6528f6af00fe850e7ace22487bfd2aea455", size = 4273338, upload-time = "2026-08-30T21:43:51.574Z" },
|
|
1515
|
+
{ url = "https://files.pythonhosted.org/packages/d0/72/3bc42217fadd07ea0ff9d249cc8001d6f285197c253db95d3a03aac8c254/rapidfuzz-3.14.6-cp314-cp314-win32.whl", hash = "sha256:9e00c8c9500aacbc0c52b66369f54533ecbdcb92e5aa87e160fc8e293000a696", size = 1927357, upload-time = "2026-08-30T21:43:53.851Z" },
|
|
1516
|
+
{ url = "https://files.pythonhosted.org/packages/57/8d/3ea3bf93a2f22858e1b1298126db35cbf58592d05571ca757f2f16071b17/rapidfuzz-3.14.6-cp314-cp314-win_amd64.whl", hash = "sha256:41ee893c4d7d0fb1844f6cad966540a833784b3bad2c239a0d80195d9231cef4", size = 1783090, upload-time = "2026-08-30T21:43:56.202Z" },
|
|
1517
|
+
{ url = "https://files.pythonhosted.org/packages/13/17/4add9d94236b37b6f857a3bf34d696b32304e3debc6830584fda95413ac6/rapidfuzz-3.14.6-cp314-cp314-win_arm64.whl", hash = "sha256:10576c39fe6a49fad0bf1069371a77300ce166a3f36d2900d2d0bae08f297104", size = 1221915, upload-time = "2026-08-30T21:43:58.335Z" },
|
|
1518
|
+
{ url = "https://files.pythonhosted.org/packages/23/a4/af0509bffac37645841e2a6b55a4c6c46f7b2fc0757610b0cba0cbcfa900/rapidfuzz-3.14.6-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:1b0a9546a7328d3cfc2f1385501db7c4c374fb566dc1a3b22ad56092846c0134", size = 1994141, upload-time = "2026-08-30T21:44:00.931Z" },
|
|
1519
|
+
{ url = "https://files.pythonhosted.org/packages/67/da/d46da45e393937509111d4affa4db794fb064341735cfdcffe1f5f13a78a/rapidfuzz-3.14.6-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9989280902b9c4ecf7de95fbb906e94df0d8c047290ed315c7aa1760cec9b3de", size = 1279969, upload-time = "2026-08-30T21:44:03.253Z" },
|
|
1520
|
+
{ url = "https://files.pythonhosted.org/packages/4a/8a/1db5582d5c9684c57b1e292dc88d70177233b570e684fe30736140697658/rapidfuzz-3.14.6-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fc166efa4ca2fc9cc52e43784a54cbea95fc0e03e533f8266ef66b1c04c7cb76", size = 1381099, upload-time = "2026-08-30T21:44:05.402Z" },
|
|
1521
|
+
{ url = "https://files.pythonhosted.org/packages/06/9b/a9dba69d174b4436c115fcd877a67745d355a859109e0f59955c14577519/rapidfuzz-3.14.6-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:32352a3ed1aad9c097d31fd4f2eece3030169e2de3dedde7a2fadc2652b768ad", size = 1638869, upload-time = "2026-08-30T21:44:07.51Z" },
|
|
1522
|
+
{ url = "https://files.pythonhosted.org/packages/61/34/67915218f5f84ec2cda57560d81425929b8ea97956eb31283bf95768fefc/rapidfuzz-3.14.6-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ecb45d616002751b58914d5b7c2e66acd39e12242be12717a1258148a1b36526", size = 2687831, upload-time = "2026-08-30T21:44:09.709Z" },
|
|
1523
|
+
{ url = "https://files.pythonhosted.org/packages/5e/80/07985e10b534dbdd48df0ddf2e42f9d27cf98dc44e09fe047fc4b38471f5/rapidfuzz-3.14.6-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f9ad513e3a3e045b60b421d5cd3887ae0a33b38fc6c6db3ea5e27c0a2e0412c", size = 3185373, upload-time = "2026-08-30T21:44:12.162Z" },
|
|
1524
|
+
{ url = "https://files.pythonhosted.org/packages/91/09/db64291ce5f11c0f79486b435b49f5dc66680f605077cb011d282bf767b4/rapidfuzz-3.14.6-cp314-cp314t-manylinux_2_39_riscv64.whl", hash = "sha256:f35723caef8cc31b6f34209708fb172fc88bab0077c12e9b36bbb829baaf1b16", size = 1459628, upload-time = "2026-08-30T21:44:14.427Z" },
|
|
1525
|
+
{ url = "https://files.pythonhosted.org/packages/d0/99/7eeaf6f7f42d4ec8b90db54c73f7c2a727e208b4db6fd5ea807e87133b9c/rapidfuzz-3.14.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:408b2e8e8c1ac71b57f0923cf964d6932539725e07b69e70ec66f22c4a403891", size = 2407348, upload-time = "2026-08-30T21:44:16.832Z" },
|
|
1526
|
+
{ url = "https://files.pythonhosted.org/packages/19/bb/db04caff7bf26718e97592f8cc007988ef18eb088ebb0742addcb25f0819/rapidfuzz-3.14.6-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:5667c56fdc902fa1e12449b5c042e8b1c7e9b30040db20c396fbdb3d0a750866", size = 2758630, upload-time = "2026-08-30T21:44:19.196Z" },
|
|
1527
|
+
{ url = "https://files.pythonhosted.org/packages/3f/26/962fc396a56ec37146eb5331e55ae53d19dc564fd921f49a6d524c83ee05/rapidfuzz-3.14.6-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:76a122fc573df603deb5fb827df31bb5efbd0826b50bb7aeca8535a6e8c70cf9", size = 2494519, upload-time = "2026-08-30T21:44:21.687Z" },
|
|
1528
|
+
{ url = "https://files.pythonhosted.org/packages/83/0f/d2067e23d9b7fb2aeb70a6b36173f0b2376635483f670aa5c47f17e55135/rapidfuzz-3.14.6-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:e221366e24709b9d41d5f9cc99053b04cfc575d429e956a82cfbc4c4e9e8860a", size = 3262241, upload-time = "2026-08-30T21:44:24.218Z" },
|
|
1529
|
+
{ url = "https://files.pythonhosted.org/packages/ce/bd/05e48e21b1dd722b41c0cb8ab8867996f6e0c0a1b46e42921ace09799b0c/rapidfuzz-3.14.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:36710ff214b7a8049d26a9c81d99948026593cacb47663742c4119072b651ecd", size = 4296246, upload-time = "2026-08-30T21:44:26.911Z" },
|
|
1530
|
+
{ url = "https://files.pythonhosted.org/packages/12/ce/f4b355f05b17bdb3a56f1c5e9bd864965dbb810f93d1b5d6044ecfcbd42d/rapidfuzz-3.14.6-cp314-cp314t-win32.whl", hash = "sha256:66ece6f5e2586c742fc3e0b8487e06783d27c6c24adcdcfdd7f306afbd8b5737", size = 1977694, upload-time = "2026-08-30T21:44:29.431Z" },
|
|
1531
|
+
{ url = "https://files.pythonhosted.org/packages/4a/15/d2c20c57b357ec4157e74a197b3f622dbda0b2a82d1fc708ed7b262758f9/rapidfuzz-3.14.6-cp314-cp314t-win_amd64.whl", hash = "sha256:cab4a932cec02d09471e2c9f1434049ef5bfe1f6e646ff10939c222dc610ad60", size = 1827262, upload-time = "2026-08-30T21:44:31.683Z" },
|
|
1532
|
+
{ url = "https://files.pythonhosted.org/packages/15/e5/c38c19fbc1de82980e05bd3adbe1dc7f3dd0680e38e868646082317572d6/rapidfuzz-3.14.6-cp314-cp314t-win_arm64.whl", hash = "sha256:b056ce19eaea2ea70c6a6fb387a605ca2af8979de5b9d507597e8012820ddb14", size = 1245604, upload-time = "2026-08-30T21:44:34.066Z" },
|
|
1533
|
+
{ url = "https://files.pythonhosted.org/packages/10/37/b015bf56f88e9b18b81ad462f610e70cc1145a9df39154fcbe7ddf9f8868/rapidfuzz-3.14.6-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:bc3d74d18543ddfbc8babe1faadb19927a7999fd0d01181cce9e721c14c36ab6", size = 1964451, upload-time = "2026-08-30T21:44:36.695Z" },
|
|
1534
|
+
{ url = "https://files.pythonhosted.org/packages/d2/1a/7b88284d85b4f7dfdf3038263e11eb11871472aa32902c7063a5fdd7a7c5/rapidfuzz-3.14.6-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:aaa83b633d877a05d549d2073629134998d1b3b9dbc114873d3ff4277984979f", size = 1245701, upload-time = "2026-08-30T21:44:38.841Z" },
|
|
1535
|
+
{ url = "https://files.pythonhosted.org/packages/a7/f3/444d939f4b6c3c86f67083cb792978f3f42c28f944e66e9152e910cd212a/rapidfuzz-3.14.6-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cbe6a62f71fcbca72acbf5a30e53380600369f257f951d664d81d30c0c598595", size = 1382770, upload-time = "2026-08-30T21:44:40.978Z" },
|
|
1536
|
+
{ url = "https://files.pythonhosted.org/packages/23/a8/1830f07f7d3fcc56508135f130dbd24a917ddedb71107b04b2fbb33d5da9/rapidfuzz-3.14.6-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b82c21c30568e096ef2a9dda7d45c379e6141694e0472dac73bc4372ce13ccee", size = 3163591, upload-time = "2026-08-30T21:44:43.513Z" },
|
|
1537
|
+
{ url = "https://files.pythonhosted.org/packages/10/e8/da76d94af820707dcbfce224b635fb7c389c19525426c31645c97bedd601/rapidfuzz-3.14.6-cp315-cp315-manylinux_2_39_riscv64.whl", hash = "sha256:fc950bb77105a2717d03d9f9c9e21e9ace7df2b8e864dd91edef7e32fa143be2", size = 1467985, upload-time = "2026-08-30T21:44:45.871Z" },
|
|
1538
|
+
{ url = "https://files.pythonhosted.org/packages/30/75/5cfc0d1491e3c60a8669e8e2b78942c4f395cccabfb9c73bc8b209664e29/rapidfuzz-3.14.6-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:c53a269bdbd71ffbc856d3db9e609478251001ee272507578fa838bc2bd421fe", size = 2405269, upload-time = "2026-08-30T21:44:48.376Z" },
|
|
1539
|
+
{ url = "https://files.pythonhosted.org/packages/c3/81/9c522c26cfe1909714eb840856106f1e419a44c4e0de034a3eeb873da00b/rapidfuzz-3.14.6-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:bf4fb0f19c9dfce7a908c3e309753602ce3edb83bb74e9ff997e278765bf89df", size = 2507334, upload-time = "2026-08-30T21:44:50.903Z" },
|
|
1540
|
+
{ url = "https://files.pythonhosted.org/packages/40/29/0bbd158eeddf05e5b581f89bf7c9f0cf330953579309b3806862d360a454/rapidfuzz-3.14.6-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:189ce2bf14938bfa003fbbe7e6da7584ed6ebbc4c560686255dbc20e2829f470", size = 4270388, upload-time = "2026-08-30T21:44:55.271Z" },
|
|
1541
|
+
{ url = "https://files.pythonhosted.org/packages/be/be/2b67b32988cb96b7fa9461ff3436e275716df00f7817212ed0a1c1779062/rapidfuzz-3.14.6-cp315-cp315-win32.whl", hash = "sha256:7ca0f498bf771a87557e6d8b573aa6cf3daded58ae2eaeb6973618ce3e1615ad", size = 1927539, upload-time = "2026-08-30T21:44:57.796Z" },
|
|
1542
|
+
{ url = "https://files.pythonhosted.org/packages/51/42/640e1bd16422392fbb6394def1f7dfd4d05bd13c986016ce4b3f91295430/rapidfuzz-3.14.6-cp315-cp315-win_amd64.whl", hash = "sha256:d4c5adb921b67dd79ffc0a14f92b9f8df3d012e66aab340b154ed87014229d93", size = 1783415, upload-time = "2026-08-30T21:45:00.091Z" },
|
|
1543
|
+
{ url = "https://files.pythonhosted.org/packages/06/ba/c6966904eb7b3d1c6344e6c29245447625d156b11e9757b29adc3cb46037/rapidfuzz-3.14.6-cp315-cp315-win_arm64.whl", hash = "sha256:c9d135fb93709d707577da8a7a8ffc7283525a5b6d0ce55aa3724be5639ed65b", size = 1221931, upload-time = "2026-08-30T21:45:02.531Z" },
|
|
1544
|
+
{ url = "https://files.pythonhosted.org/packages/ae/97/6dd7f10756eb703e11803c5c838191c2151112f632e29f5eacb1ed1cf86c/rapidfuzz-3.14.6-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:dd89abd1c4b3776c3471a817216830bd275441c8344bbda5d51a3bffe1e0fbdf", size = 1985107, upload-time = "2026-08-30T21:45:04.965Z" },
|
|
1545
|
+
{ url = "https://files.pythonhosted.org/packages/75/4a/be587adefd9539a89cc6016bac44d222cda4c8212856759c82501fd89e4a/rapidfuzz-3.14.6-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:eab2d4680d7f438dbb1d484b187d59a943edea9c83f792c764a0c148a417a60a", size = 1272093, upload-time = "2026-08-30T21:45:07.304Z" },
|
|
1546
|
+
{ url = "https://files.pythonhosted.org/packages/de/3f/982b2f1b2a16c46d4598829b6b2d7185921f146d5893630f917cb9d27542/rapidfuzz-3.14.6-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8683fefdd3484d64a191b3efbc8cbe9162c3eac891fd62d0a1b70e117ffcd434", size = 1371112, upload-time = "2026-08-30T21:45:09.699Z" },
|
|
1547
|
+
{ url = "https://files.pythonhosted.org/packages/e6/12/2a1fe61cb9f0ac0dc4166bcb016df695047e75251481a197d47aa5ce8ea5/rapidfuzz-3.14.6-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2bc7af3a699371a941aac86dc8a79ac92adeb3c2add2aab02230e76068a0029e", size = 3175780, upload-time = "2026-08-30T21:45:12.266Z" },
|
|
1548
|
+
{ url = "https://files.pythonhosted.org/packages/8d/01/abd33d0b7595643e598802a07466af388f1560d7b7cb70f442cc292f4067/rapidfuzz-3.14.6-cp315-cp315t-manylinux_2_39_riscv64.whl", hash = "sha256:40c2753e2d4dc96b25f8a25adc23ab0bb6cfd8bc8125a1753ac4b037d6ff6511", size = 1458364, upload-time = "2026-08-30T21:45:14.68Z" },
|
|
1549
|
+
{ url = "https://files.pythonhosted.org/packages/9d/8e/efc98b0cfb540f41661f6a8bf21b67807e221102e5e8fb1585233b39a3bd/rapidfuzz-3.14.6-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:36a37ddc729c33618d89fa221d3333b9b956dc38cf15d31301e6169d962399a3", size = 2398037, upload-time = "2026-08-30T21:45:17.434Z" },
|
|
1550
|
+
{ url = "https://files.pythonhosted.org/packages/7f/c1/4d89214a453215d897cc76cd6e13937c8ea5dc9f8217993fe2b1eeaf39a5/rapidfuzz-3.14.6-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:635f242f4bdf05d1477fa409815bd73e5f78896773ace84997bc472ffeef685f", size = 2497044, upload-time = "2026-08-30T21:45:20.328Z" },
|
|
1551
|
+
{ url = "https://files.pythonhosted.org/packages/a9/2d/70aacf6cb577470bdd6f06890d25ecb7ee8a56baa07b114d5877a93ecedd/rapidfuzz-3.14.6-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:40d0cd9c82083aeb30bae8dee265ae571e6748d0d7b222ddd777f33d95a3b712", size = 4284741, upload-time = "2026-08-30T21:45:22.983Z" },
|
|
1552
|
+
{ url = "https://files.pythonhosted.org/packages/92/7d/943a04a134a5d333c00d3a77169226defef5e081be9219a765afc176dda0/rapidfuzz-3.14.6-cp315-cp315t-win32.whl", hash = "sha256:15da2b258908eb38853c1a6a58a1d09d9aad9c721e03a68c8ba691cd31dff739", size = 1974478, upload-time = "2026-08-30T21:45:25.475Z" },
|
|
1553
|
+
{ url = "https://files.pythonhosted.org/packages/21/0e/8356ca3e190e2bcced9b80e374d95b0925c4716b51e65720a55399983f41/rapidfuzz-3.14.6-cp315-cp315t-win_amd64.whl", hash = "sha256:3d502769263318690d4f6638b08483979d1b88cdc7c6f087482eea935fde4031", size = 1823286, upload-time = "2026-08-30T21:45:28.368Z" },
|
|
1554
|
+
{ url = "https://files.pythonhosted.org/packages/fb/04/a0b0e6324b6384d1ab40feb4d16400af3b3101d38cbd15957edd9d17cbe0/rapidfuzz-3.14.6-cp315-cp315t-win_arm64.whl", hash = "sha256:07c7aa0b1e4b9999a54f9e73317d6743ff85442c8ef7b7fbbe6b190fd37d9e75", size = 1243815, upload-time = "2026-08-30T21:45:31.187Z" },
|
|
1555
|
+
{ url = "https://files.pythonhosted.org/packages/08/9a/7d4949406e2d391e160ead12036bba05e7c90e09bba77a782d33e7e6a1b0/rapidfuzz-3.14.6-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0844066900cdc9909ce4ab4fb5ba1d8e0c021252d770f2ea476f3443df1d22ef", size = 1912210, upload-time = "2026-08-30T21:45:33.653Z" },
|
|
1556
|
+
{ url = "https://files.pythonhosted.org/packages/7c/00/a1a077f5cf90c9fa13b28c721f931529ad02748d418d7750590a388832a9/rapidfuzz-3.14.6-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:1398bd2c197b79bfc40b615999fd3599dc60265fdd5b59edc18156ae048c4cde", size = 1209219, upload-time = "2026-08-30T21:45:36.035Z" },
|
|
1557
|
+
{ url = "https://files.pythonhosted.org/packages/48/69/a573c2e5e1b1a4f19e98a8fb3f6a792a44f5b8a067895a2654890ffd35a4/rapidfuzz-3.14.6-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e2fc748d1fde4109e5d0dab27f1e61f53b3136a235dfee5a4fb579da44808b6a", size = 1361237, upload-time = "2026-08-30T21:45:38.582Z" },
|
|
1558
|
+
{ url = "https://files.pythonhosted.org/packages/ea/0b/375ebdfc4ca149e23793bb6b72461954ec64d0acbb826030787e88b90ff3/rapidfuzz-3.14.6-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b42536675c930cb76b7998bfc4d8e59cb35d8df47f2103020265743b6b2ccd2a", size = 3136631, upload-time = "2026-08-30T21:45:41.426Z" },
|
|
1559
|
+
{ url = "https://files.pythonhosted.org/packages/55/56/799accc99532ecaaa2c1d04c7e594d6bb8f1afdddc327389c61196741cb8/rapidfuzz-3.14.6-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:1e6911e3a14971719ddc35af98f181d2e5369ab273a5a3488ab7685d23c31ad5", size = 1722739, upload-time = "2026-08-30T21:45:44.301Z" },
|
|
1560
|
+
]
|
|
1561
|
+
|
|
1350
1562
|
[[package]]
|
|
1351
1563
|
name = "ratelimit"
|
|
1352
1564
|
version = "2.2.1"
|
|
File without changes
|
{hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/.github/workflows/run-python-tests.yaml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/secondary_historic_rates.csv
RENAMED
|
File without changes
|
|
File without changes
|
{hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_List_1.json
RENAMED
|
File without changes
|
{hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Currency_List_2.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Markets_List_AFG_1.json
RENAMED
|
File without changes
|
{hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/fixtures/wfp/Markets_List_AFG_2.json
RENAMED
|
File without changes
|
{hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/hdx/location/Countries_UZB_Deleted.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{hdx_python_country-4.1.4 → hdx_python_country-4.2.0}/tests/hdx/location/test_wfp_exchangerates.py
RENAMED
|
File without changes
|