-
Notifications
You must be signed in to change notification settings - Fork 1
/
pyproject.toml
120 lines (107 loc) · 3.5 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 = "snippets2changelog"
version = "0.0.0" # will-be-updated-automatically
description = "Generate a changelog from individual snippets"
authors = ["brainelectronics <[email protected]>"]
repository = "https://github.com/brainelectronics/snippets2changelog"
readme = "README.md"
license = "MIT"
packages = [
{ include = "snippets2changelog/**/*.py" }
]
include = [
{ path = "snippets2changelog/templates/snippet.md.template", format = ["sdist", "wheel"] },
{ path = "snippets2changelog/templates/changelog_part.md.template", format = ["sdist", "wheel"] },
{ path = "snippets2changelog/templates/changelog.md.template", format = ["sdist", "wheel"] }
]
exclude = ["snippets2changelog/out"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Topic :: Software Development :: Build Tools",
"Topic :: Software Development :: Version Control",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3 :: Only"
]
# https://github.com/mtkennerly/poetry-dynamic-versioning/tree/v1.3.0
[tool.poetry-dynamic-versioning]
enable = true
format-jinja-imports = [
{ module = "subprocess", item = "check_output" },
]
format-jinja = """{{ check_output(["python3", "-c", "from pathlib import Path; exec(Path('snippets2changelog/version.py').read_text()); print(__version__)"]).decode().strip() }}"""
# format-jinja = "{{ env.get('PROJECT_VERSION') }}"
[tool.poetry.scripts]
changelog-generator = 'snippets2changelog.cli:main'
[tool.poetry.dependencies]
changelog2version = ">= 0.10, < 1" # ^ or ~ would not update to 0.11 or newer
GitPython = "~3.1.43"
jinja2 = "^3.1.4"
python = "^3.9"
pyyaml = "~6.0"
[tool.poetry.group.dev.dependencies]
black = "*"
flake8 = "*"
isort = "*"
mypy = "*"
poetry-dynamic-versioning = "^1.3.0"
pre-commit = "*"
pylint = "*"
pytest = "*"
pytest-cov = "*"
# twine = "*" # requires nh3 to be compiled with rust 1.70 or higher
types-pyyaml = "*"
types-requests = "*"
yamllint = "*"
[build-system]
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
build-backend = "poetry_dynamic_versioning.backend"
[tool.black]
line-length = 100
target-version = ['py311']
include = '\.pyi?$'
fast = true
exclude = '''
(
/( # exclude a few common directories in the
\.git # root of the project
| \.pytest_cache
| untracked
| \.venv
| \.container_home_dir
| dist
))
'''
[tool.isort]
profile = "black"
[tool.mypy]
python_version = "3.11"
strict="True"
disallow_untyped_defs = "True"
disallow_any_unimported = "True"
no_implicit_optional = "True"
check_untyped_defs = "True"
warn_return_any = "True"
warn_unused_ignores = "True"
show_error_codes = "True"
exclude = []
mypy_path="typeshed"
[tool.pylint]
#ignore = [".venv", "untracked"]
# Files or directories matching the regular expression patterns are skipped. The
# regex matches against base names, not paths. The default value ignores Emacs
# file locks
#ignore-patterns = ["^\\.#"]
# Use multiple processes to speed up Pylint. Specifying 0 will auto-detect the
# number of processors available to use, and will cap the count on Windows to
# avoid hangs.
jobs = 0
# see above: not available for Python <3.9
#[tool.pylint.MASTER]
#load-plugins=["pylint_per_file_ignores"]
#[tool.pylint-per-file-ignores]
#"pocketrockit/examples/" = "invalid-name"