-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
126 lines (111 loc) · 3.29 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
[tool.poetry]
name = 'devpi-client-extensions'
version = '0.3.1'
description = 'devpi client extensions'
authors = ['Oleg Höfling <[email protected]>']
license = 'MIT'
readme = 'README.rst'
homepage = 'https://github.com/hoefling/devpi-client-extensions'
repository = 'https://github.com/hoefling/devpi-client-extensions'
classifiers = [
'Development Status :: 3 - Alpha',
'Environment :: Web Environment',
'Intended Audience :: Developers',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: Implementation',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
]
packages = [
{ include = 'devpi_ext', from = 'src' },
]
[tool.poetry-dynamic-versioning]
enable = true
vcs = "git"
dirty = true
pattern = "default-unprefixed"
style = "pep440"
bump = true
ignore-untracked = true
[tool.poetry.plugins.'devpi_client']
'devpi-client-ext-login-pypirc' = 'devpi_ext.login:_pypirc_plugin'
'devpi-client-ext-login-keyring' = 'devpi_ext.login:_keyring_plugin [keyring]'
[tool.poetry.dependencies]
python = '^3.8'
devpi-client = '>=3.0.0'
keyring = { version = '*', optional = true }
importlib-metadata = { version = '^6.0.0', python = '<3.8' }
[tool.poetry.extras]
keyring = ['keyring']
[tool.poetry.group.dev.dependencies]
taskipy = '1.14.1'
[tool.poetry.group.lint.dependencies]
pre-commit = '3.3.0'
[tool.poetry.group.test.dependencies]
pytest = '8.3.4'
pytest-cov = '4.1.0'
readme-renderer = '43.0'
tomli = { version = '2.2.1', python = '<3.11' }
[tool.taskipy.tasks]
setup = 'poetry install && pre-commit install'
test = 'pytest --cov=devpi_ext --cov-branch --cov-report=term-missing --cov-fail-under=100 --doctest-modules'
lint = 'pre-commit run --all-files'
release = 'python release.py'
[tool.black]
skip-string-normalization = true
target_version = ['py38']
[tool.isort]
profile = 'black'
force_to_top = true
[tool.mypy]
files = ['src']
mypy_path = ['_typeshed/']
ignore_missing_imports = false
warn_unused_configs = true
disallow_subclassing_any = true
disallow_any_generics = true
disallow_untyped_calls = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
disallow_untyped_decorators = true
disallow_any_unimported = true
strict_optional = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_return_any = true
warn_no_return = true
no_implicit_reexport = true
show_error_codes = true
[tool.flake8]
enable-extensions = [
"G",
]
exclude = [
"tests/*",
]
ignore = [
"E501", # we let black handle long lines
"D202", # we let black handle lines after docstring
"E203", # we let black handle whitespace
"W503", # let black handle line breaks
]
[tool.doc8]
max-line-length = 89
[tool.ruff.lint]
select = ["A", "B", "E", "ERA", "F", "G", "I", "N", "PTH", "W", "YTT"]
ignore = [
"E501", # we let black handle long lines
"D202", # we let black handle lines after docstring
"B905", # this flag is not backwards-compatible to py3.9
]
exclude = [
"tests/*",
]
[build-system]
requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
build-backend = "poetry_dynamic_versioning.backend"