dump-things-server/pyproject.toml
2026-03-20 08:21:33 +01:00

150 lines
3.7 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "dump-things-service"
dynamic = ["version"]
description = 'A simple service to store and retrieve schema-conform data records'
readme = "README.md"
requires-python = ">=3.8"
license = "MIT"
keywords = []
authors = [
{ name = "Christian Mönch", email = "christian.moench@web.de" },
]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dependencies = [
"aiohttp",
"click",
"datalad-core",
"fastapi[standard]",
"fastapi-pagination",
"fsspec",
"linkml>=1.10.0",
"pydantic",
"PyYAML",
"rdflib",
"requests",
"sqlalchemy",
"uvicorn",
]
[project.urls]
Documentation = "https://hub.psychoinformatics.de/datalink/dump-things-server"
Issues = "https://codeberg.org/datalink/dump-things-server/issues"
Source = "https://hub.psychoinformatics.de/datalink/dump-things-server"
[project.scripts]
dump-things-service = "dump_things_service.main:main"
dump-things-rebuild-index = "dump_things_service.commands.rebuild_index:main"
dump-things-copy-store = "dump_things_service.commands.copy_store:main"
dump-things-pid-check = "dump_things_service.commands.check_pids:main"
dump-things-create-merged-schema = "dump_things_service.commands.create_merged_schema:main"
dump-things-gitaudit-report = "dump_things_service.commands.gitaudit_report:main"
dump-things-gitaudit-rebuild-index = "dump_things_service.commands.gitaudit_rebuild_index:main"
[tool.hatch.build.targets.wheel]
exclude = [
"dump_things_service/tests",
]
only-include = [
"dump_things_service",
]
[tool.hatch.build.targets.sdist]
exclude = [
"dump_things_service/tests",
]
only-include = [
"dump_things_service",
]
[tool.hatch.version]
path = "dump_things_service/__about__.py"
[tool.hatch.envs.types]
extra-dependencies = [
"mypy>=1.0.0",
]
[tool.hatch.envs.types.scripts]
check = "mypy --install-types --non-interactive {args:src tests}"
[tool.coverage.run]
source_pkgs = ["dump_things_service"]
branch = true
parallel = true
omit = ["dump_things_service/__about__.py"]
[tool.coverage.paths]
src = ["dump_things_service"]
[tool.coverage.report]
exclude_lines = [
"no cov",
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
]
[tool.hatch.envs.fastapi]
description = "fastapi dev environment"
[tool.hatch.envs.fastapi.scripts]
run = "python -m dump_things_service.main {args}"
[[tool.hatch.envs.tests.matrix]]
python = ["3.11", "3.12"]
[tool.hatch.envs.tests]
extra-dependencies = [
"freezegun",
"httpx",
"pytest",
"pytest-cov",
"pytest-httpserver",
]
[tool.hatch.envs.tests.scripts]
run = 'python -m pytest {args}'
[tool.ruff]
extend-exclude = [
# sphinx
"docs",
# patches
"dump_things_service/patches/*",
]
line-length = 88
indent-width = 4
target-version = "py39"
[tool.ruff.format]
# Prefer single quotes over double quotes.
quote-style = "single"
[tool.ruff.lint.per-file-ignores]
"**/test_*" = [
# permit assert statements in tests
"S101",
# permit relative import in tests
"TID252",
# permit versatile function names in tests
"N802",
]
# permit relative import in subpackage root
"dump_things_service/*/__init__.py" = ["TID252"]
[tool.codespell]
# Ref: https://github.com/codespell-project/codespell#using-a-config-file
skip = '.git*'
check-hidden = true
# ignore-regex = ''
# ignore-words-list = ''