find-things/pyproject.toml
2025-12-11 19:00:59 +01:00

136 lines
3.2 KiB
TOML

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "triple-tools"
dynamic = ["version"]
description = 'Some tools that work with the dump-things API and triples'
readme = "README.md"
requires-python = ">=3.9"
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.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 = [
"dump-things-pyclient",
"dump-things-service",
"progress",
"qlever",
"rdflib",
"requests",
]
[project.urls]
Documentation = "https://hub.psychoinformatics.de/cmo/triple-tools/README.md"
Issues = "https://hub.psychoinformatics.de/cmo/triple-tools/issues"
Source = "https://hub.psychoinformatics.de/cmo/triple-tools.git"
[project.scripts]
auto-curate = "triple_tools.auto_curate:main"
build-local-triple-store = "triple_tools.build_local_triple_store:main"
clean-incoming = "triple_tools.clean_incoming:main"
list-incoming = "triple_tools.list_incoming:main"
post-records = "triple_tools.post_records:main"
read-pages = "triple_tools.read_pages:main"
json2ttl = "triple_tools.json2ttl:main"
read-paginated-url = "triple_tools.read_paginated_url:main"
[tool.hatch.build.targets.wheel]
exclude = [
"triple_tools/tests",
]
only-include = [
"triple_tools",
]
[tool.hatch.build.targets.sdist]
exclude = [
"triple_tools/tests",
]
only-include = [
"triple_tools",
]
[tool.hatch.version]
path = "triple_tools/__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 = ["triple_tools"]
branch = true
parallel = true
omit = ["triple_tools/__about__.py"]
[tool.coverage.paths]
src = ["triple_tools"]
[tool.coverage.report]
exclude_lines = [
"no cov",
"if __name__ == .__main__.:",
"if TYPE_CHECKING:",
]
[[tool.hatch.envs.tests.matrix]]
python = ["3.11", "3.12"]
[tool.hatch.envs.tests]
default-args = ["triple_tools"]
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",
]
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
"triple_tools/*/__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 = ''