pyproject.toml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. [project]
  2. name = "rural-dict"
  3. description = "Privacy-respecting, NoJS-supporting Urban Dictionary frontend."
  4. license = "AGPL-3.0-or-later"
  5. readme = { file = "README.org", content-type = "text/plain" }
  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. "requests~=2.32.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. [tool.rye.scripts]
  32. dev = "uvicorn src.rural_dict.__main__:app --port 8080 --reload --reload-dir src/rural_dict"
  33. [tool.hatch.version]
  34. path = "src/rural_dict/__init__.py"
  35. [tool.hatch.metadata]
  36. allow-direct-references = true
  37. [tool.hatch.build.targets.wheel]
  38. packages = ["src/rural_dict"]
  39. [tool.hatch.build.targets.sdist]
  40. exclude = ["*.xcf"]
  41. [tool.ruff]
  42. target-version = "py312"
  43. line-length = 99
  44. exclude = [
  45. ".git",
  46. ".venv",
  47. ".idea",
  48. ".tests",
  49. "build",
  50. "dist",
  51. ]
  52. [tool.ruff.lint]
  53. select = [
  54. "E", # pycodestyle errors
  55. "W", # pycodestyle warnings
  56. "F", # pyflakes
  57. "I", # isort
  58. "N", # pep8-naming
  59. "S", # flake8-bandit
  60. "B", # flake8-bugbear
  61. "G", # flake8-logging-format
  62. "C4", # flake8-comprehensions
  63. "UP", # pyupgrade
  64. "PLC", # pylint conventions
  65. "PLE", # pylint errors
  66. "SIM", # flake8-simplify
  67. "RET", # flake8-return
  68. "YTT", # flake8-2020
  69. "DTZ", # flake8-datetimez
  70. "RUF", # ruff-specific rules
  71. "TCH", # flake8-type-checking
  72. "PTH", # flake8-use-pathlib
  73. "ASYNC", # flake8-async
  74. ]