feat: split heavy GPU deps into optional [gpu] extra

Move torch, diffusers, transformers, accelerate, controlnet-aux,
ultralytics, and safetensors into [project.optional-dependencies.gpu].

Core install now only includes lightweight deps (~20 MB vs ~1 GB):
pillow, piexif, numpy, opencv-python-headless, click, rich.

This allows web apps using fal.ai cloud GPU to skip installing
1+ GB of ML packages, reducing Docker images from 3 GB to ~300 MB
and deploy times from 14 minutes to ~3-4 minutes.

Usage:
  pip install remove-ai-watermarks        # core only (visible + metadata)
  pip install remove-ai-watermarks[gpu]   # full local GPU support
  pip install remove-ai-watermarks[all]   # gpu + dev tools
This commit is contained in:
test-user
2026-03-26 09:29:57 -07:00
parent 2bdc4bceff
commit 49b2b43f8d
+10 -7
View File
@@ -9,28 +9,31 @@ dependencies = [
"pillow>=10.0.0",
"piexif>=1.1.3",
"numpy>=1.24.0",
"opencv-python>=4.8.0",
"opencv-python-headless>=4.8.0",
"click>=8.0.0",
"rich>=13.0.0",
"color-matcher",
"python-dotenv>=1.0.0",
"requests>=2.33.0",
]
[project.optional-dependencies]
gpu = [
"torch>=2.0.0",
"diffusers>=0.25.0",
"transformers>=4.35.0",
"accelerate>=0.25.0",
"controlnet-aux>=0.0.9",
"color-matcher",
"safetensors",
"python-dotenv>=1.0.0",
"ultralytics>=8.0.0",
"requests>=2.33.0",
"opencv-python>=4.8.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-cov>=4.1.0",
"ruff>=0.4.0",
]
all = ["remove-ai-watermarks[dev]"]
all = ["remove-ai-watermarks[gpu,dev]"]
[project.scripts]
remove-ai-watermarks = "remove_ai_watermarks.cli:main"