96 lines
2.6 KiB
TOML
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" |