Updates the requirements on [python-semantic-release](https://github.com/python-semantic-release/python-semantic-release) to permit the latest version. - [Release notes](https://github.com/python-semantic-release/python-semantic-release/releases) - [Changelog](https://github.com/python-semantic-release/python-semantic-release/blob/master/CHANGELOG.rst) - [Commits](https://github.com/python-semantic-release/python-semantic-release/compare/v9.0.0...v10.5.3) --- updated-dependencies: - dependency-name: python-semantic-release dependency-version: 10.5.3 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com>
77 lines
1.9 KiB
TOML
77 lines
1.9 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=69", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "scholarr"
|
|
version = "0.1.0"
|
|
description = "Self-hosted scholarr service"
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
dependencies = [
|
|
"alembic>=1.14,<2.0",
|
|
"argon2-cffi>=25.1,<26.0",
|
|
"asyncpg>=0.30,<0.31",
|
|
"crossrefapi>=1.6,<2.0",
|
|
"fastapi>=0.116,<0.117",
|
|
"httpx>=0.28,<0.29",
|
|
"itsdangerous>=2.2,<3.0",
|
|
"python-multipart>=0.0.9,<0.1",
|
|
"rapidfuzz>=3.14.3",
|
|
"sqlalchemy>=2.0,<2.1",
|
|
"tenacity>=9.1.4",
|
|
"uvicorn[standard]>=0.34,<0.35",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8.3,<9.0",
|
|
"pytest-asyncio>=0.25,<0.26",
|
|
"python-semantic-release>=9.0,<11.0",
|
|
"ruff>=0.9",
|
|
"mypy>=1.14",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "-q -m \"not integration\" --import-mode=importlib"
|
|
asyncio_mode = "auto"
|
|
testpaths = ["tests"]
|
|
markers = [
|
|
"integration: integration tests that require external services",
|
|
"db: tests that validate database behavior and constraints",
|
|
"migrations: tests focused on alembic schema migration correctness",
|
|
"schema: tests focused on multi-tenant schema invariants",
|
|
"smoke: smoke tests for containerized runtime",
|
|
]
|
|
|
|
[tool.ruff]
|
|
target-version = "py312"
|
|
line-length = 120
|
|
extend-exclude = ["alembic/versions"]
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E", "F", "W", "I", "UP", "B", "SIM", "RUF"]
|
|
ignore = ["E501", "B008", "RUF001"]
|
|
|
|
[tool.ruff.lint.isort]
|
|
known-first-party = ["app"]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.12"
|
|
ignore_missing_imports = true
|
|
check_untyped_defs = false
|
|
warn_unused_ignores = true
|
|
|
|
[tool.semantic_release]
|
|
version_toml = ["pyproject.toml:project.version"]
|
|
version_variables = ["frontend/package.json:version"]
|
|
branch = "main"
|
|
build_command = ""
|
|
commit_message = "chore(release): v{version}"
|
|
|
|
[tool.setuptools]
|
|
include-package-data = true
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["app*"]
|