-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
128 lines (112 loc) · 3.42 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
121
122
123
124
125
126
127
128
# nossis-docs, serverless hosting for static, private web sites that
# works like GitHub Pages
#
# Copyright (C) 2024 Matthew X. Economou
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public
# License along with this program. If not, see
# <https://www.gnu.org/licenses/>.
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[project]
# cf. tool.setuptools.package-dir section below
name = "nossis-docs"
description = "Serverless hosting for static, private web sites that works like GitHub Pages"
version = "0.0.0"
# cf. https://www.bitecode.dev/p/relieving-your-python-packaging-pain,
# https://devguide.python.org/versions/
requires-python = ">=3.11"
# cf. https://pypi.org/classifiers/
classifiers = [
"Development Status :: 1 - Planning",
"Environment :: No Input/Output (Daemon)",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
"Operating System :: OS Independent",
]
# To avoid unnecessary developer overhead, only set version
# constraints to address capability, compatibility, or security
# issues, and avoid pinning specific versions if possible.
dependencies = [
"aws-lambda-powertools",
"boto3",
"boto3-stubs[cloudfront,codepipeline]",
]
[project.license]
file = "LICENSE"
[project.optional-dependencies]
dev = [
"autopep8",
"black",
"boto3-stubs[all]",
"build",
"flake8-bugbear",
"flake8-pytest-style",
"id",
"isort",
"jedi",
"matplotlib",
"myst-parser[linkify,rtd]",
"pip-tools",
"pre-commit",
"pystemmer",
"python-semantic-release",
"sphinx-intl",
"sphinx-multiversion @ git+https://github.com/Holzhaus/sphinx-multiversion#egg=sphinx-multiversion",
"twine",
"yapf",
"yq",
]
test = [
"faker",
"moto[all]",
"pytest",
"pytest-cov",
"pytest-emoji",
"pytest-md",
"pytest-order",
"pytest-reportlog",
"pytest-socket",
]
[project.readme]
file = "README.md"
content-type = "text/markdown"
[tool.isort]
profile = "black"
skip_gitignore = true
[tool.pytest.ini_options]
# Recommended for new projects;
# cf. https://docs.pytest.org/en/latest/explanation/goodpractices.html#choosing-an-import-mode.
addopts = [
"--import-mode=importlib",
]
# Invoke smoke tests with `pytest -k smoke` or `pytest -m "smoke and
# not slow"`. See also https://docs.pytest.org/en/stable/mark.html,
# https://stackoverflow.com/a/52369721.
markers = [
"slow",
"smoke",
]
[tool.semantic_release]
commit_message = "release: cut the v{version} release\n\nAutomatically generated by python-semantic-release"
version_toml = [
"pyproject.toml:project.version",
]
[tool.semantic_release.changelog.environment]
autoescape = true
[tool.semantic_release.commit_author]
env = "GIT_COMMIT_AUTHOR"
default = "semantic-release <semantic-release>"
[tool.setuptools.package-dir]
nossis_docs = "src/nossis_docs"