The tarball for version 0.22.1 on PyPI includes the typing stub information now:
$ curl -LO https://files.pythonhosted.org/packages/81/4b/d3eb25831590d6d7d38c2f2e3561d3ba41d490dc89cd91d9e65e7c812508/thefuzz-0.22.1.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
$ tar tzvf thefuzz-0.22.1.tar.gz
drwxr-xr-x 0 johndebs staff 0 19 Jan 19:17 thefuzz-0.22.1/
-rw-r--r-- 0 johndebs staff 20810 21 Sep 18:25 thefuzz-0.22.1/CHANGES.rst
-rw-r--r-- 0 johndebs staff 1064 30 Oct 15:13 thefuzz-0.22.1/LICENSE.txt
-rw-r--r-- 0 johndebs staff 52 21 Sep 18:25 thefuzz-0.22.1/MANIFEST.in
-rw-r--r-- 0 johndebs staff 3859 19 Jan 19:17 thefuzz-0.22.1/PKG-INFO
-rw-r--r-- 0 johndebs staff 3086 19 Jan 19:16 thefuzz-0.22.1/README.rst
-rw-r--r-- 0 johndebs staff 186 30 Oct 15:13 thefuzz-0.22.1/requirements.txt
-rw-r--r-- 0 johndebs staff 38 19 Jan 19:17 thefuzz-0.22.1/setup.cfg
-rw-r--r-- 0 johndebs staff 1239 30 Oct 19:39 thefuzz-0.22.1/setup.py
-rw-r--r-- 0 johndebs staff 18483 21 Sep 18:25 thefuzz-0.22.1/test_thefuzz.py
drwxr-xr-x 0 johndebs staff 0 19 Jan 19:17 thefuzz-0.22.1/thefuzz/
-rw-r--r-- 0 johndebs staff 23 30 Oct 19:39 thefuzz-0.22.1/thefuzz/__init__.py
-rw-r--r-- 0 johndebs staff 5058 21 Sep 18:25 thefuzz-0.22.1/thefuzz/fuzz.py
-rw-r--r-- 0 johndebs staff 830 21 Sep 18:25 thefuzz-0.22.1/thefuzz/fuzz.pyi
-rw-r--r-- 0 johndebs staff 11752 21 Sep 18:25 thefuzz-0.22.1/thefuzz/process.py
-rw-r--r-- 0 johndebs staff 705 21 Sep 18:25 thefuzz-0.22.1/thefuzz/process.pyi
-rw-r--r-- 0 johndebs staff 1 21 Sep 18:25 thefuzz-0.22.1/thefuzz/py.typed
-rw-r--r-- 0 johndebs staff 509 21 Sep 18:25 thefuzz-0.22.1/thefuzz/utils.py
-rw-r--r-- 0 johndebs staff 98 21 Sep 18:25 thefuzz-0.22.1/thefuzz/utils.pyi
drwxr-xr-x 0 johndebs staff 0 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/
-rw-r--r-- 0 johndebs staff 3859 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/PKG-INFO
-rw-r--r-- 0 johndebs staff 412 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/SOURCES.txt
-rw-r--r-- 0 johndebs staff 1 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/dependency_links.txt
-rw-r--r-- 0 johndebs staff 35 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/requires.txt
-rw-r--r-- 0 johndebs staff 8 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/top_level.txt
-rw-r--r-- 0 johndebs staff 1 16 Jan 14:17 thefuzz-0.22.1/thefuzz.egg-info/zip-safe
However, the wheel on PyPI does not include these:
$ curl -LO https://files.pythonhosted.org/packages/82/4f/1695e70ceb3604f19eda9908e289c687ea81c4fecef4d90a9d1d0f2f7ae9/thefuzz-0.22.1-py3-none-any.whl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 8245 100 8245 0 0 90604 0 --:--:-- --:--:-- --:--:-- 97000
$ unzip -l thefuzz-0.22.1-py3-none-any.whl
Archive: thefuzz-0.22.1-py3-none-any.whl
Length Date Time Name
--------- ---------- ----- ----
23 10-30-2023 19:39 thefuzz/__init__.py
5058 09-21-2023 17:25 thefuzz/fuzz.py
11752 09-21-2023 17:25 thefuzz/process.py
509 09-21-2023 17:25 thefuzz/utils.py
1064 01-19-2024 19:17 thefuzz-0.22.1.dist-info/LICENSE.txt
3899 01-19-2024 19:17 thefuzz-0.22.1.dist-info/METADATA
92 01-19-2024 19:17 thefuzz-0.22.1.dist-info/WHEEL
8 01-19-2024 19:17 thefuzz-0.22.1.dist-info/top_level.txt
1 01-16-2024 14:17 thefuzz-0.22.1.dist-info/zip-safe
775 01-19-2024 19:17 thefuzz-0.22.1.dist-info/RECORD
--------- -------
23181 10 files
Can this please be fixed?
For now, the work-around is to force PIP to install from the tarball; the following command assumes that the dependencies are already installed correctly, it only re-installs thefuzz from the tarball to build a cached wheel with typing stubs:
pip install --force-reinstall --no-binary thefuzz --no-deps 'thefuzz==0.22.1'
To verify the stubs are now installed you can use:
python -c 'from importlib.resources import files;print(*(f.name for f in files("thefuzz").iterdir() if f.suffix in (".pyi", ".typed")), sep="\n")'
This should print out:
fuzz.pyi
process.pyi
py.typed
utils.pyi
(moved here from #67 for visibility)
The tarball for version 0.22.1 on PyPI includes the typing stub information now:
$ curl -LO https://files.pythonhosted.org/packages/81/4b/d3eb25831590d6d7d38c2f2e3561d3ba41d490dc89cd91d9e65e7c812508/thefuzz-0.22.1.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed $ tar tzvf thefuzz-0.22.1.tar.gz drwxr-xr-x 0 johndebs staff 0 19 Jan 19:17 thefuzz-0.22.1/ -rw-r--r-- 0 johndebs staff 20810 21 Sep 18:25 thefuzz-0.22.1/CHANGES.rst -rw-r--r-- 0 johndebs staff 1064 30 Oct 15:13 thefuzz-0.22.1/LICENSE.txt -rw-r--r-- 0 johndebs staff 52 21 Sep 18:25 thefuzz-0.22.1/MANIFEST.in -rw-r--r-- 0 johndebs staff 3859 19 Jan 19:17 thefuzz-0.22.1/PKG-INFO -rw-r--r-- 0 johndebs staff 3086 19 Jan 19:16 thefuzz-0.22.1/README.rst -rw-r--r-- 0 johndebs staff 186 30 Oct 15:13 thefuzz-0.22.1/requirements.txt -rw-r--r-- 0 johndebs staff 38 19 Jan 19:17 thefuzz-0.22.1/setup.cfg -rw-r--r-- 0 johndebs staff 1239 30 Oct 19:39 thefuzz-0.22.1/setup.py -rw-r--r-- 0 johndebs staff 18483 21 Sep 18:25 thefuzz-0.22.1/test_thefuzz.py drwxr-xr-x 0 johndebs staff 0 19 Jan 19:17 thefuzz-0.22.1/thefuzz/ -rw-r--r-- 0 johndebs staff 23 30 Oct 19:39 thefuzz-0.22.1/thefuzz/__init__.py -rw-r--r-- 0 johndebs staff 5058 21 Sep 18:25 thefuzz-0.22.1/thefuzz/fuzz.py -rw-r--r-- 0 johndebs staff 830 21 Sep 18:25 thefuzz-0.22.1/thefuzz/fuzz.pyi -rw-r--r-- 0 johndebs staff 11752 21 Sep 18:25 thefuzz-0.22.1/thefuzz/process.py -rw-r--r-- 0 johndebs staff 705 21 Sep 18:25 thefuzz-0.22.1/thefuzz/process.pyi -rw-r--r-- 0 johndebs staff 1 21 Sep 18:25 thefuzz-0.22.1/thefuzz/py.typed -rw-r--r-- 0 johndebs staff 509 21 Sep 18:25 thefuzz-0.22.1/thefuzz/utils.py -rw-r--r-- 0 johndebs staff 98 21 Sep 18:25 thefuzz-0.22.1/thefuzz/utils.pyi drwxr-xr-x 0 johndebs staff 0 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/ -rw-r--r-- 0 johndebs staff 3859 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/PKG-INFO -rw-r--r-- 0 johndebs staff 412 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/SOURCES.txt -rw-r--r-- 0 johndebs staff 1 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/dependency_links.txt -rw-r--r-- 0 johndebs staff 35 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/requires.txt -rw-r--r-- 0 johndebs staff 8 19 Jan 19:17 thefuzz-0.22.1/thefuzz.egg-info/top_level.txt -rw-r--r-- 0 johndebs staff 1 16 Jan 14:17 thefuzz-0.22.1/thefuzz.egg-info/zip-safeHowever, the wheel on PyPI does not include these:
$ curl -LO https://files.pythonhosted.org/packages/82/4f/1695e70ceb3604f19eda9908e289c687ea81c4fecef4d90a9d1d0f2f7ae9/thefuzz-0.22.1-py3-none-any.whl % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 8245 100 8245 0 0 90604 0 --:--:-- --:--:-- --:--:-- 97000 $ unzip -l thefuzz-0.22.1-py3-none-any.whl Archive: thefuzz-0.22.1-py3-none-any.whl Length Date Time Name --------- ---------- ----- ---- 23 10-30-2023 19:39 thefuzz/__init__.py 5058 09-21-2023 17:25 thefuzz/fuzz.py 11752 09-21-2023 17:25 thefuzz/process.py 509 09-21-2023 17:25 thefuzz/utils.py 1064 01-19-2024 19:17 thefuzz-0.22.1.dist-info/LICENSE.txt 3899 01-19-2024 19:17 thefuzz-0.22.1.dist-info/METADATA 92 01-19-2024 19:17 thefuzz-0.22.1.dist-info/WHEEL 8 01-19-2024 19:17 thefuzz-0.22.1.dist-info/top_level.txt 1 01-16-2024 14:17 thefuzz-0.22.1.dist-info/zip-safe 775 01-19-2024 19:17 thefuzz-0.22.1.dist-info/RECORD --------- ------- 23181 10 filesCan this please be fixed?
For now, the work-around is to force PIP to install from the tarball; the following command assumes that the dependencies are already installed correctly, it only re-installs thefuzz from the tarball to build a cached wheel with typing stubs:
pip install --force-reinstall --no-binary thefuzz --no-deps 'thefuzz==0.22.1'To verify the stubs are now installed you can use:
python -c 'from importlib.resources import files;print(*(f.name for f in files("thefuzz").iterdir() if f.suffix in (".pyi", ".typed")), sep="\n")'This should print out:
(moved here from #67 for visibility)