-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
Diffusers does not appear to adhere to PEP 561 – Distributing and Packaging Type Information. As a result, static type checkers, such as mypy or pyright, report incorrect errors.
According to the docs, this can be remedied by
- Creating a blank
py.typedin the package; note, that it applies recursively - Add the line
package_data = {'diffusers': ['py.typed']}to setup.py
In searching for a related issue I found #5249, which indicates to me that type hints are highly desired in this project.
Reproduction
Anything that imports diffusers will cause the problem with a static type checker. I used this file:
from diffusers import AutoPipelineForText2Image
# https://huggingface.co/runwayml/stable-diffusion-v1-5
diffusion_model: str = "runwayml/stable-diffusion-v1-5"
# The auto pipeline automatically detects and loads the model
pipeline = AutoPipelineForText2Image.from_pretrained(
diffusion_model, use_safetensors=True
).to("cpu")
# Generate the image based on the prompt
prompt: str = "A python is sitting on a desk, and the snake is wearing glasses."
image = pipeline(prompt, num_inference_steps=25).images[0]
image.show()mypy
error: Skipping analyzing "diffusers": module is installed, but missing library stubs or py.typed marker [import]
note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
pyright
--verifytypes diffusers
error: No py.typed file found
Logs
No response
System Info
diffusersversion: 0.21.4- Platform: Linux-6.2.0-32-generic-x86_64-with-glibc2.35
- Python version: 3.10.12
- PyTorch version (GPU?): 2.1.0+cu121 (False)
- Huggingface_hub version: 0.17.3
- Transformers version: 4.34.0
- Accelerate version: 0.23.0
- xFormers version: not installed
- Using GPU in script?: No
- Using distributed or parallel set-up in script?: No
- mypy 1.5.1 (compiled: yes)
- pyright 1.1.329
Who can help?
No response
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working