mirror of
https://github.com/RichieCahill/dotfiles.git
synced 2026-04-15 04:28:18 -04:00
115 lines
2.8 KiB
TOML
115 lines
2.8 KiB
TOML
[project]
|
|
name = "system_tools"
|
|
version = "0.1.0"
|
|
description = ""
|
|
authors = [{ name = "Richie Cahill", email = "richie@tmmworkshop.com" }]
|
|
requires-python = "~=3.13.0"
|
|
readme = "README.md"
|
|
license = "MIT"
|
|
# these dependencies are a best effort and aren't guaranteed to work
|
|
# for up-to-date dependencies, see overlays/default.nix
|
|
dependencies = [
|
|
"alembic",
|
|
"apprise",
|
|
"apscheduler",
|
|
"httpx",
|
|
"python-multipart",
|
|
"polars",
|
|
"psycopg[binary]",
|
|
"pydantic",
|
|
"pyyaml",
|
|
"sqlalchemy",
|
|
"typer",
|
|
"websockets",
|
|
]
|
|
|
|
[project.scripts]
|
|
database = "python.database_cli:app"
|
|
van-inventory = "python.van_inventory.main:serve"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"mypy",
|
|
"pyfakefs",
|
|
"pytest-cov",
|
|
"pytest-mock",
|
|
"pytest-xdist",
|
|
"pytest",
|
|
"ruff",
|
|
]
|
|
|
|
[tool.ruff]
|
|
|
|
target-version = "py313"
|
|
|
|
line-length = 120
|
|
|
|
lint.select = ["ALL"]
|
|
lint.ignore = [
|
|
"G004", # (PERM) This is a performers nit
|
|
"COM812", # (TEMP) conflicts when used with the formatter
|
|
"ISC001", # (TEMP) conflicts when used with the formatter
|
|
"S603", # (PERM) This is known to cause a false positive
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
|
|
"tests/**" = [
|
|
"ANN", # (perm) type annotations not needed in tests
|
|
"D", # (perm) docstrings not needed in tests
|
|
"PLR2004", # (perm) magic values are fine in test assertions
|
|
"S101", # (perm) pytest needs asserts
|
|
]
|
|
"python/stuff/**" = [
|
|
"T201", # (perm) I don't care about print statements dir
|
|
]
|
|
"python/testing/**" = [
|
|
"T201", # (perm) I don't care about print statements dir
|
|
"ERA001", # (perm) I don't care about print statements dir
|
|
]
|
|
"python/splendor/**" = [
|
|
"S311", # (perm) there is no security issue here
|
|
"T201", # (perm) I don't care about print statements dir
|
|
"PLR2004", # (temps) need to think about this
|
|
]
|
|
"python/orm/**" = [
|
|
"TC003", # (perm) this creates issues because sqlalchemy uses these at runtime
|
|
]
|
|
"python/congress_tracker/**" = [
|
|
"TC003", # (perm) this creates issues because sqlalchemy uses these at runtime
|
|
]
|
|
"python/eval_warnings/**" = [
|
|
"S607", # (perm) gh and git are expected on PATH in the runner environment
|
|
]
|
|
"python/alembic/**" = [
|
|
"INP001", # (perm) this creates LSP issues for alembic
|
|
]
|
|
"python/signal_bot/**" = [
|
|
"D107", # (perm) class docstrings cover __init__
|
|
]
|
|
|
|
[tool.ruff.lint.pydocstyle]
|
|
convention = "google"
|
|
|
|
[tool.ruff.lint.flake8-builtins]
|
|
builtins-ignorelist = ["id"]
|
|
|
|
[tool.ruff.lint.pylint]
|
|
max-args = 9
|
|
|
|
[tool.coverage.run]
|
|
source = ["system_tools"]
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
"pragma: no cover",
|
|
"if TYPE_CHECKING:",
|
|
"raise NotImplementedError",
|
|
"if __name__ == \"__main__\":",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "-n auto -ra"
|
|
testpaths = ["tests"]
|
|
# --cov=system_tools --cov-report=term-missing --cov-report=xml --cov-report=html --cov-branch
|