Files
emulsion/pyproject.toml
Alexander Wainwright f4aacb9b26 Initial re-write
2026-01-31 10:59:38 +10:00

80 lines
1.8 KiB
TOML

[build-system]
requires = ["setuptools>=40.9.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "emulsion"
version = "0.1.2"
description = "A tool for updating exif tags"
requires-python = ">=3.10"
dependencies = [
"toml",
"types-toml",
"blessed",
]
authors = [
{name = "Alexander Wainwright", email = "code@figtree.dev"},
]
maintainers = [
{name = "Alexander Wainwright", email = "code@figtree.dev"},
]
readme = "README.md"
license = {file = "LICENSE"}
[tool.setuptools.packages.find]
where = ["src"]
[project.scripts]
emulsion = "emulsion.main:main"
[tool.ruff]
line-length = 80
[tool.ruff.lint]
select = [
"B",
"W",
"ANN",
"FIX",
"S",
"F", # Pyflakes rules
"W", # PyCodeStyle warnings
"E", # PyCodeStyle errors
"I", # Sort imports "properly"
"UP", # Warn if certain things can changed due to newer Python versions
"C4", # Catch incorrect use of comprehensions, dict, list, etc
"FA", # Enforce from __future__ import annotations
"ISC", # Good use of string concatenation
"ICN", # Use common import conventions
"RET", # Good return practices
"SIM", # Common simplification rules
"TID", # Some good import practices
"TC", # Enforce importing certain types in a TYPE_CHECKING block
"PTH", # Use pathlib instead of os.path
"NPY", # Some numpy-specific things
]
ignore = [
"W191",
"E101", # allow spaces for alignment
"SIM108",
]
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["E402"]
"**/{tests,docs,tools}/*" = ["E402"]
# Ignore "Use of `assert` detected" (S101) in all test files
"tests/**/*.py" = ["S101"]
"test_*.py" = ["S101"]
[tool.ruff.format]
quote-style = "single"
indent-style = "tab"
[dependency-groups]
dev = [
"pytest>=9.0.2",
]