-
-
Notifications
You must be signed in to change notification settings - Fork 9
/
pyproject.toml
127 lines (106 loc) · 2.7 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
[tool.poetry]
name = "aiospamc"
version = "1.0.0"
description = "An asyncio-based library to communicate with SpamAssassin's SPAMD service."
authors = ["Michael Caley <mjcaley@darkarctic.com>"]
license = "MIT"
readme = "README.rst"
repository = "https://github.com/mjcaley/aiospamc"
homepage = "https://github.com/mjcaley/aiospamc"
documentation = "https://aiospamc.readthedocs.io"
classifiers = [
'Development Status :: 5 - Production/Stable',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Intended Audience :: Developers',
'Intended Audience :: System Administrators',
'License :: OSI Approved :: MIT License',
'Topic :: Communications :: Email :: Filters'
]
keywords = ["spam", "spamc", "spamassassin"]
[tool.poetry.dependencies]
python = "^3.8"
certifi = "*"
loguru = "^0.7.0"
typer = ">=0.9,<0.13"
typing-extensions = "^4.6.2"
[tool.poetry.scripts]
aiospamc = "aiospamc.cli:app"
[tool.poetry.group.test.dependencies]
pytest = "^7.1"
pytest-cov = "^4.0"
pytest-asyncio = "^0.21"
pytest-mock = "^3.10"
coverage = {extras = ["toml"], version = "^7.2"}
trustme = "^1.1"
cryptography = "^42.0"
[tool.pytest.ini_options]
minversion = "6.0"
testpaths = [
"tests"
]
markers = ["integration: spawn an instance of spamd and test against it"]
addopts = "-m \"not integration\""
asyncio_mode = "auto"
[tool.coverage.run]
source = ["aiospamc"]
branch = true
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"def __str__"
]
fail_under = 95.0
[tool.poetry.group.docs.dependencies]
sphinx = "^6.2"
sphinx-rtd-theme = "^1.3"
sphinx-toolbox = "^3.4"
reno = "^4.0"
[tool.poetry.group.quality.dependencies]
mypy = "^1.2"
black = "^23"
interrogate = "^1.5"
isort = "^5.12"
pre-commit = "^3.2"
[tool.black]
target-version = ["py38"]
exclude = """
utils |
docs |
example
"""
[tool.interrogate]
ignore-magic = true
fail-under = 95
exclude = ["changes", "docs", "example", "test", "util"]
[tool.isort]
profile = "black"
src_paths = ["aiospamc", "tests"]
[tool.poetry.group.mgmt.dependencies]
tbump = "^6.10"
[tool.tbump]
github_url = "https://github.com/mjcaley/aiospamc/"
[tool.tbump.version]
current = "1.0.0"
regex = '''
(?P<major>\d+)
\.
(?P<minor>\d+)
\.
(?P<patch>\d+)
'''
[tool.tbump.git]
message_template = "Bump to {new_version}"
tag_template = "v{new_version}"
[[tool.tbump.file]]
src = "aiospamc/__init__.py"
[[tool.tbump.file]]
src = "pyproject.toml"
search = 'version = "{current_version}"'
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"