Closed HugoJP1 closed 1 year ago
Thanks @HugoJP1 for bringing this to attention. Fixed it with version 1.1.3.
Thanks @sysid ! I retested with 1.1.3 and I'm still getting the same issue with mypy, even though I can now see the py.typed
file in the directory.
Did a bit of digging, and found that it was actually not appearing in the installed package in my virtual environment.
With 0.10.3
With 1.1.3
Not too sure how it was working before, but looking at PEP 561 (https://peps.python.org/pep-0561/)
Package maintainers who wish to support type checking of their code MUST add a marker file named py.typed to their package supporting typing. This marker applies recursively: if a top-level package includes it, all its sub-packages MUST support type checking as well. To have this file installed with the package, maintainers can use existing packaging options such as package_data in distutils, shown below.
Distutils option example:
setup( ..., package_data = { 'foopkg': ['py.typed'], }, ..., )
So I think that setup.py needs to be updated too, similarly to how starlette is set up (https://github.com/encode/starlette/blob/master/setup.py#L37), potentially both with package_data
and include_package_data
.
This is annoying. I have no idea why the file does not get installed.
It is included in both packages in https://pypi.org/project/sse-starlette/#files, but does not get installed. Any ideas are welcome.
I will let you know if I get any ideas.
It looks like you have solved it, because this is now working again in 1.1.4:
Thanks!!
Hello, have attempted to bump sse-starlette in my repository to 1.1.1 (upgrading from 0.10.3), and I have got the following error:
I tried downgrading to 1.1.0 and then 1.0.0, and they all have the same issue. Looking into the bundle as downloaded from pypi, the
py.typed
file is no longer being included.See downloaded bundle for 0.10.3:
Compared to 1.1.1:
I had a look at the code to see if there was anything obvious which had changed from the previous version which could cause this behaviour, and the
setup.py
andManifest.in
files seem correct to me. The only thing is that maybeMANIFEST.in
should be uppercase, but I don't see how that could really cause a problem.