|
|
|
|
|
|
|
|
|
|
|
[build-system]
|
|
|
|
requires = ["flit"]
|
|
|
|
build-backend = "flit.buildapi"
|
|
|
|
|
|
|
|
[project]
|
|
|
|
name = "superx_budget"
|
|
|
|
readme = "README.md"
|
|
|
|
description = "Creating a budget overview from a SuperX export."
|
|
|
|
license = { file = "LICENSE" }
|
|
|
|
requires-python = ">=3.10"
|
|
|
|
dynamic = ["version"]
|
|
|
|
|
|
|
|
authors = [
|
|
|
|
{name = "Holger Frey", email = "frey@imtek.de"},
|
|
|
|
]
|
|
|
|
|
|
|
|
# see https://pypi.org/classifiers/
|
|
|
|
classifiers = [
|
|
|
|
"Development Status :: 2 - Pre-Alpha",
|
|
|
|
"Intended Audience :: Developers",
|
|
|
|
"Programming Language :: Python :: 3.10",
|
|
|
|
"Programming Language :: Python :: 3.11",
|
|
|
|
"Programming Language :: Python :: 3 :: Only",
|
|
|
|
"License :: Freely Distributable",
|
|
|
|
]
|
|
|
|
|
|
|
|
dependencies = [
|
|
|
|
"openpyxl >= 3.0.0",
|
|
|
|
"pyramid >= 2.0",
|
|
|
|
"pyramid_jinja2",
|
|
|
|
"pyramid_mailer",
|
|
|
|
"waitress",
|
|
|
|
"passlib[argon2]",
|
|
|
|
]
|
|
|
|
|
|
|
|
[project.entry-points."paste.app_factory"]
|
|
|
|
main = "superx_budget:main"
|
|
|
|
|
|
|
|
[project.urls]
|
|
|
|
Source = "https://git.cpi.imtek.uni-freiburg.de/CPI/superx-budget-overview.git"
|
|
|
|
|
|
|
|
[project.optional-dependencies]
|
|
|
|
test = [
|
|
|
|
"pytest >=4.0.0",
|
|
|
|
"pytest-cov",
|
|
|
|
"pytest-icdiff",
|
|
|
|
"pytest-mock",
|
|
|
|
"pytest-randomly",
|
|
|
|
"tox",
|
|
|
|
]
|
|
|
|
dev = [
|
|
|
|
"flit",
|
|
|
|
"keyring",
|
|
|
|
"pre-commit",
|
|
|
|
"ruff",
|
|
|
|
]
|
|
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
|
|
markers = [
|
|
|
|
"fun: marks tests as functional (deselect with '-m \"not fun\"')",
|
|
|
|
]
|
|
|
|
addopts = [
|
|
|
|
"--strict-markers",
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
[tool.ruff]
|
|
|
|
# see https://docs.astral.sh/ruff/configuration/
|
|
|
|
|
|
|
|
line-length = 80
|
|
|
|
indent-width = 4
|
|
|
|
|
|
|
|
fix = true
|
|
|
|
|
|
|
|
[tool.ruff.lint]
|
|
|
|
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
|
|
|
|
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
|
|
|
|
# McCabe complexity (`C901`) by default.
|
|
|
|
fixable = ["ALL"]
|
|
|
|
select = ["ALL"]
|
|
|
|
ignore = [
|
|
|
|
# ignored for now, should be activated in the future
|
|
|
|
# docstrings
|
|
|
|
"D",
|
|
|
|
|
|
|
|
# don't complain about not annotating self or cls
|
|
|
|
"ANN101",
|
|
|
|
"ANN102",
|
|
|
|
|
|
|
|
# ignored, "ruff format" will handle this
|
|
|
|
"COM812",
|
|
|
|
"ISC001",
|
|
|
|
|
|
|
|
# ignored, due to Windows / WSL2 setup
|
|
|
|
# flake8-executable
|
|
|
|
"EXE",
|
|
|
|
|
|
|
|
# ignored, not really working with datetimes
|
|
|
|
# just retrieving the year
|
|
|
|
"DTZ",
|
|
|
|
|
|
|
|
# TODO
|
|
|
|
# checkis for moving project to rust
|
|
|
|
"ANN",
|
|
|
|
"TID252",
|
|
|
|
"PYI024",
|
|
|
|
]
|
|
|
|
|
|
|
|
[tool.ruff.lint.pydocstyle]
|
|
|
|
convention = "pep257" # Accepts: "google", "numpy", or "pep257".
|
|
|
|
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
|
|
# see https://github.com/charliermarsh/ruff
|
|
|
|
"tests/*" = ["FBT003", "INP001", "PLR2004", "S101", "SLF001", "ANN"]
|
|
|
|
"noxfile.py" = ["ANN"]
|
|
|
|
|
|
|
|
|
|
|
|
[tool.ruff.format]
|
|
|
|
indent-style = "space"
|