mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-08-11 00:30:12 -04:00
pip-audit flagged four advisories against 2.12.1, all fixed in 2.13.0. Audited the five behavioural changes in 2.13.0 against our usage; none apply (HMAC empty-key reject can't trigger, OIDC decode uses raw-key path not PyJWK, jwks_uri is HTTPS from discovery, no b64=false usage, enforce_minimum_key_length not opted into). 229 auth/MFA/OIDC integration tests + 78 auth unit tests green on 2.13.0; runtime encode/decode roundtrip verified with the real SECRET_KEY; pip-audit --strict now clean.
87 lines
2.3 KiB
TOML
87 lines
2.3 KiB
TOML
[project]
|
|
name = "bambuddy"
|
|
version = "0.1.5"
|
|
description = "Archive and manage Bambu Lab 3MF files"
|
|
requires-python = ">=3.10"
|
|
|
|
[tool.ruff]
|
|
target-version = "py310"
|
|
line-length = 120
|
|
exclude = [
|
|
".git",
|
|
".venv",
|
|
"venv",
|
|
"__pycache__",
|
|
"static",
|
|
"frontend",
|
|
"*.pyc",
|
|
]
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E", # pycodestyle errors
|
|
"W", # pycodestyle warnings
|
|
"F", # Pyflakes
|
|
"I", # isort
|
|
"B", # flake8-bugbear
|
|
"C4", # flake8-comprehensions
|
|
"UP", # pyupgrade
|
|
"ARG", # flake8-unused-arguments
|
|
"SIM", # flake8-simplify
|
|
]
|
|
ignore = [
|
|
"E501", # line too long (handled by formatter)
|
|
"B008", # do not perform function calls in argument defaults (FastAPI Depends)
|
|
"B904", # raise from (too noisy)
|
|
"ARG001", # unused function argument (common in FastAPI)
|
|
"ARG002", # unused method argument
|
|
"SIM108", # ternary operator (readability preference)
|
|
"SIM102", # nested if (readability preference)
|
|
"SIM105", # contextlib.suppress (readability preference)
|
|
"UP017", # datetime.UTC alias (Python 3.11+ only, we support 3.10)
|
|
]
|
|
|
|
# Allow autofix for all enabled rules
|
|
fixable = ["ALL"]
|
|
unfixable = []
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
# Tests can have unused imports and assertions
|
|
"**/tests/**" = ["F401", "F811", "ARG"]
|
|
# Init files often have unused imports for re-export
|
|
"**/__init__.py" = ["F401"]
|
|
# main.py needs early logging setup before other imports
|
|
"backend/app/main.py" = ["E402"]
|
|
# MQTT client has some unused variables for debugging
|
|
"backend/app/services/bambu_mqtt.py" = ["F841"]
|
|
# compat module intentionally uses version checks for Python 3.10 support
|
|
"backend/app/core/compat.py" = ["UP036"]
|
|
|
|
[tool.ruff.lint.isort]
|
|
known-first-party = ["backend"]
|
|
force-single-line = false
|
|
combine-as-imports = true
|
|
|
|
[tool.ruff.format]
|
|
quote-style = "double"
|
|
indent-style = "space"
|
|
skip-magic-trailing-comma = false
|
|
line-ending = "auto"
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["backend/tests"]
|
|
python_files = ["test_*.py"]
|
|
python_functions = ["test_*"]
|
|
asyncio_mode = "auto"
|
|
filterwarnings = [
|
|
"ignore::DeprecationWarning",
|
|
]
|
|
markers = [
|
|
"docker: marks tests that run in Docker integration environment",
|
|
]
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"cryptography>=46.0.7",
|
|
"pyjwt>=2.13.0",
|
|
]
|