-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
102 lines (92 loc) · 2.26 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
[tool.poetry]
name = "helloworld"
version = "0.4.0"
description = "Says Hello World"
authors = ["MakerX <daniel.mcgregor@makerx.com.au>"]
license = "MIT"
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.10"
click = "^8.1.3"
httpx = "^0.23.1"
copier = "^7.0.1"
questionary = "^1.10.0"
[tool.poetry.group.dev.dependencies]
pytest = "^7.2.0"
black = {extras = ["d"], version = "^22.10.0"}
ruff = "^0.0.150"
pip-audit = "^2.4.7"
approvaltests = "^7.2.0"
pytest-mock = "^3.10.0"
mypy = "^0.991"
pytest-httpx = "^0.21.2"
python-semantic-release = "^7.32.2"
pytest-cov = "^4.0.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts]
helloworld = "helloworld.cli:helloworld"
[tool.ruff]
line-length = 120
select = ["E", "F", "ANN", "U", "N", "C", "B", "A", "YTT", "M", "W", "FBT", "Q", "RUF", "I"]
# note: remove A003 once flake8-builtins: builtins-ignorelist supported and can ignore id
ignore = ["ANN101", "C901", "A003"]
# Exclude a variety of commonly ignored directories.
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".hg",
".mypy_cache",
".nox",
".pants.d",
".ruff_cache",
".svn",
".tox",
".venv",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"venv",
]
per-file-ignores = {}
# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
# Assume Python 3.10.
target-version = "py310"
[tool.ruff.flake8-annotations]
allow-star-arg-any = true
suppress-none-returning = true
[tool.black]
line-length = 120
[tool.pytest.ini_options]
pythonpath = ["src"]
addopts = "--cov=helloworld"
[tool.mypy]
files = "src/"
python_version = "3.10"
warn_unused_ignores = true
warn_redundant_casts = true
warn_unused_configs = true
warn_unreachable = true
warn_return_any = true
strict = true
disallow_untyped_decorators = true
disallow_any_generics = false
implicit_reexport = false
show_error_codes = true
[tool.semantic_release]
version_toml = "pyproject.toml:tool.poetry.version"
remove_dist = false
build_command = "poetry build --format wheel"
version_source = "tag"
major_on_zero = false
upload_to_repository = false
tag_commit = true
branch = "main"
commit_message = "{version}\n\nskip-checks: true"