- New filesystem.py: make_fs() factory (returns s3fs.S3FileSystem or None),
plus fsjoin/fsstem/fsname path helpers
- config.py: storage field is now required ('local' or 's3'); load_config
raises a clear ValueError when it is missing
- video_loader, clip_selector, annotator: thread fs through all file I/O;
local paths unchanged, S3 paths use fs.open/fs.exists/fs.pipe
- annotation_script: load .env via python-dotenv at startup, create fs from
config and pass to Annotator
- Add .env.example with SwitchEngines endpoint and AWS checksum env vars
- pyproject.toml: add s3fs and python-dotenv dependencies
- Reduce default mask alpha from 40% to 15%
- Update example clip names to colon-separated timestamps
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
50 lines
1.0 KiB
TOML
50 lines
1.0 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=61.0.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "river_annotation_tool"
|
|
authors = [
|
|
# TODO configure authors
|
|
# { name = "Jane Smith", email = "jane.smith@example.com" },
|
|
# { name = "John Doe", email = "john.doe@example.com" },
|
|
]
|
|
description = ""
|
|
readme = "README.md"
|
|
requires-python = "~=3.12.0"
|
|
dependencies = [
|
|
"opencv-contrib-python-headless==4.12.0.88",
|
|
"pandas>=2.3.3",
|
|
"matplotlib>=3.10.8",
|
|
"matplotlib-inline>=0.2.1",
|
|
"pillow>=12.2.0",
|
|
"pyside6>=6.11.0",
|
|
"python-dotenv>=1.0",
|
|
"pyyaml>=6.0",
|
|
"s3fs>=2024.0",
|
|
]
|
|
dynamic = ["version"]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"notebook~=7.5",
|
|
"pre-commit~=4.5",
|
|
"ruff==0.15.0",
|
|
]
|
|
|
|
[tool.setuptools.dynamic]
|
|
version = {attr = "river_annotation_tool.__version__"}
|
|
|
|
[tool.ruff]
|
|
target-version = "py312"
|
|
line-length = 88
|
|
|
|
[tool.ruff.lint]
|
|
extend-select = ["B", "I", "RUF1", "UP", "W"]
|
|
|
|
[tool.ruff.lint.isort]
|
|
lines-after-imports = 2
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"__init__.py" = ["F401"]
|