Aligned CI workflows and pyproject.toml with cross-project infrastructure conventions.
This commit is contained in:
+20
-23
@@ -2,11 +2,11 @@
|
||||
name = "crabstero"
|
||||
dynamic = ["version"]
|
||||
description = "The simple nonversation Discord bot."
|
||||
license = "Apache-2.0"
|
||||
requires-python = ">=3.14"
|
||||
authors = [
|
||||
{ name = "Logan Fick" },
|
||||
]
|
||||
license = "Apache-2.0"
|
||||
requires-python = ">=3.14"
|
||||
dependencies = [
|
||||
"discord.py>=2.6.4",
|
||||
"aiosqlite>=0.22.1",
|
||||
@@ -18,25 +18,25 @@ crabstero = "crabstero.__main__:main"
|
||||
[project.urls]
|
||||
Repository = "https://git.logal.dev/LogalDeveloper/Crabstero"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling>=1.28.0", "hatch-vcs>=0.5.0"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[dependency-groups]
|
||||
dev = [
|
||||
"codespell>=2.4.2",
|
||||
"mypy>=1.19.1",
|
||||
"pip-audit>=2.10.0",
|
||||
"pytest>=9.0.2",
|
||||
"pytest-asyncio>=1.3.0",
|
||||
"pytest-cov>=7.0.0",
|
||||
"mypy>=1.18.1",
|
||||
"ruff>=0.15.1",
|
||||
"pip-audit>=2.10.0",
|
||||
"codespell>=2.4.1",
|
||||
"ruff>=0.15.5",
|
||||
]
|
||||
|
||||
[tool.uv]
|
||||
extra-index-url = ["https://git.logal.dev/api/packages/LogalDeveloper/pypi/simple/"]
|
||||
publish-url = "https://git.logal.dev/api/packages/LogalDeveloper/pypi"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling>=1.28.0", "hatch-vcs>=0.5.0"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.hatch.version]
|
||||
source = "vcs"
|
||||
|
||||
@@ -52,13 +52,9 @@ strict = true
|
||||
warn_unreachable = true
|
||||
explicit_package_bases = true
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
testpaths = ["tests"]
|
||||
asyncio_mode = "auto"
|
||||
|
||||
[tool.ruff]
|
||||
target-version = "py314"
|
||||
extend-exclude = ["crabstero/_version.py"]
|
||||
extend-exclude = ["crabstero/_version.py"] # auto-generated by hatch-vcs
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = [
|
||||
@@ -98,7 +94,7 @@ select = [
|
||||
"T20", # flake8-print
|
||||
"ERA", # eradicate
|
||||
"PGH", # pygrep-hooks
|
||||
"TCH", # flake8-type-checking
|
||||
"TC", # flake8-type-checking
|
||||
|
||||
# Testing
|
||||
"PT", # flake8-pytest-style
|
||||
@@ -111,20 +107,21 @@ ignore = [
|
||||
"D213", # incompatible with D212 (summary on first line)
|
||||
]
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
asyncio_mode = "auto"
|
||||
|
||||
[tool.ruff.lint.per-file-ignores]
|
||||
"crabstero/__init__.py" = ["E402"] # constants defined before imports intentionally
|
||||
"crabstero/__main__.py" = ["T201"] # CLI entry point uses print() for user output
|
||||
"tests/**" = ["S101", "S311"] # assert is standard for pytest; random is fine in tests
|
||||
|
||||
[tool.codespell]
|
||||
skip = "crabstero/_version.py,uv.lock"
|
||||
"tests/**" = ["S101"] # assert is standard for pytest
|
||||
|
||||
[tool.coverage.run]
|
||||
source = ["crabstero"]
|
||||
omit = [
|
||||
"crabstero/_version.py",
|
||||
]
|
||||
omit = ["crabstero/_version.py"]
|
||||
|
||||
[tool.coverage.report]
|
||||
show_missing = true
|
||||
skip_empty = true
|
||||
|
||||
[tool.codespell]
|
||||
skip = "uv.lock"
|
||||
|
||||
Reference in New Issue
Block a user