[project] name = "firered-image-edit" version = "1.0.0" requires-python = ">=3.10" dependencies = [ "transformers>=5.0.0", "huggingface_hub", "sentencepiece", "torchvision", "kernels", "spaces", "hf_xet", "gradio==6.14.0", "torch", "numpy", "av", # git deps — pinned to exact commits by uv lock "accelerate", "diffusers", "peft", ] [dependency-groups] dev = [ "mypy>=1.13", "pytest", ] [tool.uv] package = false [tool.uv.sources] accelerate = { git = "https://github.com/huggingface/accelerate.git" } diffusers = { git = "https://github.com/huggingface/diffusers.git" } peft = { git = "https://github.com/huggingface/peft.git" } # CPU-only wheels for local dev / CI type-checking (this pyproject.toml/uv.lock is not used by # the actual HF Space deploy, which installs the CUDA build from requirements.txt directly — # see typecheck.yml). Avoids pulling ~2GB of nvidia-* CUDA runtime wheels just for mypy. torch = [{ index = "pytorch-cpu" }] torchvision = [{ index = "pytorch-cpu" }] [[tool.uv.index]] name = "pytorch-cpu" url = "https://download.pytorch.org/whl/cpu" explicit = true [tool.mypy] python_version = "3.10" strict = true warn_unused_ignores = true files = [ "app.py", "inference.py", "model_loading.py", "logging_utils.py", "dimensions.py", "mode.py", "image_codec.py", "examples_ui.py", "tests", ] exclude = ["^qwenimage/"] [[tool.mypy.overrides]] module = "qwenimage.*" ignore_errors = true [[tool.mypy.overrides]] # Optional/lazily-imported deps not in pyproject's dependency list (present at # runtime via requirements.txt), and libs that ship no type stubs. module = ["pyarrow", "pyarrow.*", "spaces", "spaces.*"] ignore_missing_imports = true