pyproject.toml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. [project]
  2. name = "rural-dict"
  3. description = "Privacy-respecting, NoJS-supporting Urban Dictionary frontend."
  4. license = "AGPL-3.0-or-later"
  5. readme = "README.md"
  6. requires-python = ">=3.12"
  7. authors = [
  8. { name = "Zubarev Grigoriy", email = "thirtysix@thirtysix.pw" },
  9. { name = "vlnst", email = "vlnst@bloat.cat" },
  10. { name = "Skylar Widulski", email = "cobra@vern.cc" },
  11. { name = "zortazert", email = "zortazert@matthewevan.xyz" },
  12. ]
  13. dependencies = [
  14. "aiohttp~=3.10.3",
  15. "selectolax~=0.3.21",
  16. "fastapi~=0.112.1",
  17. "uvicorn[standard]~=0.30.6",
  18. "jinja2~=3.1.4",
  19. ]
  20. dynamic = ["version"]
  21. [project.urls]
  22. "Source Code" = "https://git.vern.cc/cobra/rural-dict"
  23. "Issue Tracker" = "https://git.vern.cc/cobra/rural-dict/issues"
  24. [build-system]
  25. requires = ["hatchling"]
  26. build-backend = "hatchling.build"
  27. [tool.rye]
  28. managed = true
  29. universal = true
  30. dev-dependencies = [
  31. "basedpyright>=1.16.0",
  32. ]
  33. [tool.rye.scripts]
  34. dev = "uvicorn src.rural_dict.__main__:app --port 8080 --reload --reload-dir src/rural_dict"
  35. [tool.hatch.version]
  36. path = "src/rural_dict/__init__.py"
  37. [tool.hatch.metadata]
  38. allow-direct-references = true
  39. [tool.hatch.build.targets.wheel]
  40. packages = ["src/rural_dict"]
  41. [tool.hatch.build.targets.sdist]
  42. exclude = ["*.xcf"]
  43. [tool.ruff]
  44. target-version = "py312"
  45. line-length = 99
  46. exclude = [
  47. ".git",
  48. ".venv",
  49. ".idea",
  50. ".tests",
  51. "build",
  52. "dist",
  53. ]
  54. [tool.ruff.lint]
  55. select = [
  56. "E", # pycodestyle errors
  57. "W", # pycodestyle warnings
  58. "F", # pyflakes
  59. "I", # isort
  60. "N", # pep8-naming
  61. "S", # flake8-bandit
  62. "B", # flake8-bugbear
  63. "G", # flake8-logging-format
  64. "C4", # flake8-comprehensions
  65. "UP", # pyupgrade
  66. "PLC", # pylint conventions
  67. "PLE", # pylint errors
  68. "SIM", # flake8-simplify
  69. "RET", # flake8-return
  70. "YTT", # flake8-2020
  71. "DTZ", # flake8-datetimez
  72. "RUF", # ruff-specific rules
  73. "TCH", # flake8-type-checking
  74. "PTH", # flake8-use-pathlib
  75. "ASYNC", # flake8-async
  76. ]
  77. [tool.basedpyright]
  78. exclude = [
  79. ".git",
  80. ".venv",
  81. ".idea",
  82. ".tests",
  83. "build",
  84. "dist",
  85. ]
  86. typeCheckingMode = "standard"
  87. pythonPlatform = "All"
  88. pythonVersion = "3.12"
  89. reportMissingImports = true
  90. reportMissingTypeStubs = false