150 lines
3.7 KiB
TOML
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 = ''
|