forked from aio-libs/aiosmtpd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.cfg
119 lines (112 loc) · 3.61 KB
/
setup.cfg
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
[metadata]
name = aiosmtpd
version = attr: aiosmtpd.__version__
description = aiosmtpd - asyncio based SMTP server
long_description = file: DESCRIPTION.rst
long_description_content_type = text/x-rst
url = https://aiosmtpd.readthedocs.io/
project_urls =
Bug Tracker = https://github.com/aio-libs/aiosmtpd/issues
Documentation = https://aiosmtpd.readthedocs.io/
Source Code = https://github.com/aio-libs/aiosmtpd
maintainer = The aiosmtpd Developers
maintainer_email = [email protected]
keywords = email, smtpd, smtp
license = Apache-2.0
classifiers =
License :: OSI Approved
License :: OSI Approved :: Apache Software License
Intended Audience :: Developers
Operating System :: Microsoft :: Windows
Operating System :: POSIX :: BSD :: FreeBSD
Operating System :: POSIX :: Linux
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Programming Language :: Python :: 3.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: Implementation :: CPython
Programming Language :: Python :: Implementation :: PyPy
Topic :: Communications :: Email :: Mail Transport Agents
Framework :: AsyncIO
[options]
zip_safe = false
python_requires = ~=3.6
packages = find:
include_package_data = true
install_requires =
atpublic
attrs
typing-extensions ; python_version < '3.8'
tests_require =
tox
[options.packages.find]
exclude =
examples
[options.entry_points]
console_scripts =
aiosmtpd = aiosmtpd.main:main
[easy_install]
zip_ok = false
[pytype]
exclude =
aiosmtpd/docs/_exts/*
_dump/*
disable =
not-supported-yet
[build_sphinx]
source-dir = aiosmtpd/docs
[flake8]
jobs = 1
max-line-length = 88
# "E,F,W,C90" are flake8 defaults
# For others, take a gander at tox.ini to see which prefix provided by who
select = E,F,W,C90,C4,MOD,JS,PIE,PT,SIM,ECE,C801,DUO,TAE,ANN,YTT,N400
ignore =
# black conflicts with E123 & E133
E123
E133
# W503 conflicts with PEP8...
W503
# W293 is a bit too noisy. Many files have been edited using editors that do not remove spaces from blank lines.
W293
# Sometimes spaces around colons improve readability
E203
# Sometimes we prefer the func()-based creation, not literal, for readability
C408
# Sometimes we need to catch Exception broadly
PIE786
# We don't really care about pytest.fixture vs pytest.fixture()
PT001
# Good idea, but too many changes. Remove this in the future, and create separate PR
PT004
# Sometimes exception needs to be explicitly raised in special circumstances, needing additional lines of code
PT012
# I still can't grok the need to annotate "self" or "cls" ...
ANN101
ANN102
# I don't think forcing annotation for *args and **kwargs is a wise idea...
ANN002
ANN003
# We have too many "if..elif..else: raise" structures that does not convert well to "error-first" design
SIM106
per-file-ignores =
aiosmtpd/tests/test_*:ANN001
aiosmtpd/tests/test_proxyprotocol.py:DUO102
aiosmtpd/docs/_exts/autoprogramm.py:C801
# flake8-coding
no-accept-encodings = True
# flake8-copyright
copyright-check = True
# The number below was determined empirically by bisecting from 100 until no copyright-unnecessary files appear
copyright-min-file-size = 44
copyright-author = The aiosmtpd Developers
# flake8-annotations-complexity
max-annotations-complexity = 4
# flake8-annotations-coverage
min-coverage-percents = 12
# flake8-annotations
mypy-init-return = True
suppress-none-returning = True
suppress-dummy-args = True
allow-untyped-defs = True