pyproject.toml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. [build-system]
  2. requires = ["setuptools>=61.0"]
  3. build-backend = "setuptools.build_meta"
  4. [project]
  5. name = "databank"
  6. version = "0.0.1"
  7. description = "Databank - abstract-only initialization"
  8. readme = "README.md"
  9. requires-python = ">=3.9"
  10. license = { file = "LICENSE" }
  11. [tool.setuptools]
  12. package-dir = {"" = "src"}
  13. [tool.setuptools.packages.find]
  14. where = ["src"]
  15. include = ["databank*"]
  16. [tool.pytest.ini_options]
  17. addopts = "-q"
  18. pythonpath = ["src"]
  19. # Optional: Lint settings (no dependency changes here; for reference only)
  20. [tool.pylint.main]
  21. py-version = "3.9"
  22. jobs = 0
  23. recursive = true
  24. [tool.pylint.messages_control]
  25. disable = [
  26. "too-few-public-methods", # common for ABCs/interfaces
  27. "too-many-arguments", # allowed in abstract signatures
  28. "too-many-instance-attributes",
  29. ]
  30. enable = [
  31. "C0116", # missing-function-docstring (kept enabled, already addressed)
  32. ]
  33. [tool.pylint.format]
  34. max-line-length = 100
  35. [tool.pylint.basic]
  36. good-names = [
  37. "db", "id", "url", "raw", "exc", "tb"
  38. ]
  39. # Optional: Ruff configuration (only active if ruff is installed in your env)
  40. [tool.ruff]
  41. line-length = 100
  42. target-version = "py39"
  43. extend-select = [
  44. "E", # pycodestyle errors
  45. "F", # pyflakes
  46. "N", # pep8-naming
  47. ]
  48. extend-ignore = [
  49. # E203: whitespace before ':' (PEP 8 recommendation conflicts with some formatters)
  50. "E203",
  51. # Allow short names in specific contexts (already handled via pylint good-names)
  52. ]
  53. # Optional: mypy configuration (only active if mypy is installed in your env)
  54. [tool.mypy]
  55. python_version = "3.9"
  56. warn_return_any = true
  57. warn_unused_ignores = true
  58. ignore_missing_imports = true
  59. no_implicit_optional = false
  60. strict_optional = false
  61. disallow_untyped_defs = false