-
Notifications
You must be signed in to change notification settings - Fork 7
/
pyproject.toml
120 lines (108 loc) · 2.76 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
[tool.poetry]
name = "volt"
version = "0.0.dev0" # In-development version.
description = "Extensible static site generator"
authors = ["Wibowo Arindrarto <[email protected]>"]
readme = "README.md"
repository = "https://github.com/bow/volt"
license = "BSD-3-Clause"
keywords = ["static website"]
classifiers = [
"Development Status :: 3 - Alpha",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3.12",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Utilities",
]
packages = [
{ include = "volt" },
{ include = "tests", format = "sdist" },
]
[tool.poetry.urls]
changelog = "https://github.com/bow/volt/blob/master/CHANGELOG.rst"
[tool.poetry.scripts]
volt = "volt.cli:main"
[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
style = "semver"
pattern = "^v?(?P<base>\\d+\\.\\d+\\.\\d+)(-?((?P<stage>[a-zA-Z]+)\\.?(?P<revision>\\d+)?))?(\\+(?P<tagged_metadata>.+))?$"
[tool.poetry.dependencies]
python = "~3.12" # NOTE: Keep in-sync with flake.nix.
blinker = "~1"
click = "~8"
jinja2 = "~3"
markdown2 = "~2"
marshmallow = "~3"
pendulum = "~3"
pygments = "~2"
python-slugify = "~8"
pyyaml = "~6"
rich = "~13"
structlog = "~24"
tomlkit = "~0"
urllib3 = "~2"
watchdog = "2.2.1" # Pinned. Later versions cause intermittent 'serve draft' test failures.
[tool.poetry.group.dev.dependencies]
bandit = "~1"
black = "24.8.0"
flake8 = "~7"
flake8-polyfill = "~1"
insipid-sphinx-theme = "~0"
mypy = "~1"
mypy-extensions = "~1"
pytest = "~8"
pytest-cov = "~5"
pytest-flake8 = "~1"
pytest-mock = "~3"
pytest-structlog = "~1"
pytest-sugar = "~1"
radon = "~6"
requests = "~2"
safety = "~3"
sphinx = "~8"
toml = "~0"
types-python-slugify = "~8"
types-pyyaml = "~6"
types-requests = "~2"
wheel = "~0"
[tool.mypy]
python_version = "3.12"
ignore_missing_imports = true
show_error_context = true
show_column_numbers = true
show_error_codes = true
pretty = true
warn_redundant_casts = true
[[tool.mypy.overrides]]
module = "volt.*"
disallow_untyped_calls = true
disallow_incomplete_defs = true
disallow_untyped_defs = true
warn_unused_ignores = true
warn_return_any = true
warn_unreachable = true
allow_untyped_globals = false
strict_equality = true
[tool.black]
line-length = 88
target-version = ["py312"]
include = '\.pyi?$'
exclude = '/(\.eggs|\.git|\.mypy_cache|\.tox|\.venv|_build|build|dist)/'
[tool.coverage.run]
branch = true
source = ["volt"]
[tool.coverage.report]
exclude_lines = [
"raise NotImplementedError",
"if __name__ == .__main__.:",
]
omit = ["tests/*"]
[tool.distutils.bdist_wheel]
universal = true
[build-system]
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
build-backend = "poetry.core.masonry.api"