[project] name = "winnow" version = "0.2.13" description = "Immich to Frigate training sets" license = "AGPL-3.0-or-later" requires-python = ">=3.13" authors = [{ name = "Holden Salomon", email = "holden@arch.fyi" }] keywords = ["immich", "frigate", "face-recognition", "training-data", "arcface", "insightface"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Programming Language :: Python :: 3.13", "Topic :: Scientific/Engineering :: Image Recognition", ] dependencies = [ "croniter>=5.0.2", "insightface>=0.7.3", "numpy>=2.2.6", "onnxruntime>=1.23.2", "opencv-python-headless>=4.12.0.88", "pillow>=12.1.0", "python-dotenv>=1.2.1", "requests>=2.32.5", "rich>=14.2.0", "torch>=2.12.0", "torchvision>=0.27.0", "transformers>=5.12.0", "ultralytics>=8.4.66", ] [project.scripts] winnow = "winnow.cli:main" [project.urls] Repository = "https://github.com/sudolulo/winnow" [tool.uv] required-environments = [ "sys_platform == 'linux' and platform_machine == 'x86_64'", ] [tool.uv.sources] torch = [ { index = "pytorch-cpu", marker = "sys_platform == 'linux' and platform_machine == 'x86_64'" }, ] torchvision = [ { index = "pytorch-cpu", marker = "sys_platform == 'linux' and platform_machine == 'x86_64'" }, ] [[tool.uv.index]] name = "pytorch-cpu" url = "https://download.pytorch.org/whl/cpu" explicit = true [dependency-groups] dev = [ "pytest>=8.0", "ruff>=0.15.17", ] [tool.hatch.build.targets.wheel] packages = ["winnow"] [tool.ruff] line-length = 120 target-version = "py313" [tool.ruff.lint] select = ["E", "F", "I"] [tool.deptry] pep621_dev_dependency_groups = ["dev"] [tool.deptry.package_module_name_map] pillow = "PIL" opencv-python-headless = "cv2" python-dotenv = "dotenv" insightface = "insightface" numpy = "numpy" onnxruntime = "onnxruntime" requests = "requests" rich = "rich" torch = "torch" transformers = "transformers" ultralytics = "ultralytics" [tool.pytest.ini_options] testpaths = ["tests"] [build-system] requires = ["hatchling"] build-backend = "hatchling.build"