Files
volumen/pyproject.toml
petrbalvin a66a36abbc
Test / test (push) Successful in 59s
chore: prepare release v0.4.2
2026-07-27 10:36:44 +02:00

96 lines
2.6 KiB
TOML

[build-system]
requires = ["setuptools>=75", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "volumen"
version = "0.4.2"
description = "A small, file-based Markdown blog engine with a built-in admin."
readme = "README.md"
keywords = ["blog", "markdown", "fastapi", "cms", "static-blog", "toml", "rss", "json-feed", "engine"]
requires-python = ">=3.14"
license = {text = "MIT"}
authors = [{name = "Petr Balvín", email = "opensource@petrbalvin.org"}]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Web Environment",
"Framework :: FastAPI",
"Intended Audience :: End Users/Desktop",
"License :: OSI Approved :: MIT License",
"Operating System :: POSIX :: Linux",
"Operating System :: POSIX :: BSD",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Text Processing :: Markup :: Markdown",
"Typing :: Typed",
]
dependencies = [
"fastapi[standard]>=0.115",
"itsdangerous>=2.2",
"jinja2>=3.1",
"markdown>=3.7",
"nh3>=0.2",
"pymdown-extensions>=10.14",
"tomli-w>=1.2",
"python-multipart>=0.0.20",
]
[project.scripts]
volumen = "volumen.cli:main"
[project.urls]
Homepage = "https://sourcedock.dev/petrbalvin/volumen"
Repository = "https://sourcedock.dev/petrbalvin/volumen"
Issues = "https://sourcedock.dev/petrbalvin/volumen/issues"
Changelog = "https://sourcedock.dev/petrbalvin/volumen/blob/main/CHANGELOG.md"
Documentation = "https://sourcedock.dev/petrbalvin/volumen/blob/main/docs"
[dependency-groups]
dev = [
"pytest>=8",
"pytest-cov>=5",
"httpx2>=2.7",
"ruff>=0.9",
]
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-data]
volumen = ["web/templates/*.jinja", "web/static/*.svg"]
[tool.ruff]
line-length = 100
indent-width = 4
[tool.ruff.format]
quote-style = "double"
[tool.ruff.lint]
select = ["E", "F", "W", "I", "N", "UP", "B", "SIM", "C4"]
[tool.ruff.lint.per-file-ignores]
"src/volumen/admin_auth_routes.py" = ["B008"]
"src/volumen/admin_media_routes.py" = ["B008"]
"src/volumen/admin_post_routes.py" = ["B008"]
"src/volumen/admin_settings_routes.py" = ["B008"]
"src/volumen/api_routes.py" = ["B008"]
[tool.coverage.run]
branch = true
source = ["volumen"]
[tool.coverage.report]
show_missing = true
skip_covered = false
fail_under = 80
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "--cov=volumen --cov-report=term-missing --cov-fail-under=80"