[project] name = "levineuwirth-tools" version = "0.1.0" description = "Build-time tooling for levineuwirth.org" requires-python = ">=3.12" dependencies = [ # Visualization "matplotlib>=3.9,<4", "altair>=5.4,<6", # Embedding pipeline # Upper bounds are intentionally generous (next major) but always # present so that an unrelated `uv sync` upgrade can't silently pull # an API-breaking 4.x release. Bump deliberately when validating. "sentence-transformers>=3.4,<4", "faiss-cpu>=1.9,<2", "numpy>=2.0,<3", "beautifulsoup4>=4.12,<5", # CPU-only torch — avoids pulling ~3 GB of CUDA libraries "torch>=2.5,<3", # Photography pipeline # Pillow handles EXIF reading when exiftool is not installed (the # preferred path); colorthief computes the 5-color palette strip. # PyYAML is used to write the sidecar files alongside each photo. "pillow>=10.0,<12", "colorthief>=0.2,<1", "pyyaml>=6.0,<7", ] [[tool.uv.index]] name = "pytorch-cpu" url = "https://download.pytorch.org/whl/cpu" explicit = true [tool.uv.sources] torch = [{ index = "pytorch-cpu" }] [tool.uv]