I'm writing a Python project which is published as a package to a pypi-like repository (using setuptools
and twine
). I use type hints in my code.
The issue is, when importing the package from a different project and running mypy
, I get the following error:
error: Skipping analyzing 'XXX': found module but no type hints or library stubs
As I understand, I got this error because my package was not compliant with https://www.python.org/dev/peps/pep-0561/ .
After some searching online, I didn't find a way that was not manual to add the required files to the package.
I resorted to writing my own code to:
- Run
stubgen
to create stub files. - Create
py.typed
files in every directory. - Collect all the created files in a
dict
inpackage_data
field in thesetup.py
file.
This code solved the issue and mypy
runs without errors. But this feels very wrong to me. Is there a standard tool for making a package PEP-561 compliant? Am I missing something else?
所有评论(0)