[project] name = "frame" version = "0.1.0" description = "E-ink photo frame for Raspberry Pi Zero 2W" requires-python = ">=3.11,<3.14" dependencies = [ "numpy>=1.26", "pillow>=10", "numba>=0.60", ] [dependency-groups] notebook = [ "matplotlib>=3.8", "jupyterlab>=4.2", "ipykernel>=6.29", ] dev = [ "ruff>=0.8", ] [tool.uv] default-groups = ["notebook", "dev"] [tool.ruff] target-version = "py311" line-length = 100 extend-exclude = ["src/lib/waveshare_epd", "notebooks/__pycache__"] [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "B", # flake8-bugbear "UP", # pyupgrade "SIM", # flake8-simplify "C4", # flake8-comprehensions "RUF", # ruff-specific ] ignore = [ "E501", # line-too-long — formatter handles it ] [tool.ruff.lint.per-file-ignores] "notebooks/*.ipynb" = ["E402", "F401"] [tool.ruff.format] docstring-code-format = true