-
Notifications
You must be signed in to change notification settings - Fork 96
/
setup.cfg
135 lines (126 loc) · 4.16 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
[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.8
Programming Language :: Python :: 3.9
Programming Language :: Python :: 3.10
Programming Language :: Python :: 3.11
Programming Language :: Python :: 3.12
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.8
packages = find:
include_package_data = true
setup_requires =
setuptools
install_requires =
atpublic
attrs
tests_require =
tox
setuptools
[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]
enable-extensions = G
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
# Superseeded by B950 (from Bugbear)
E501
# Superseeded by B001 (from Bugbear)
E722
# 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
# We have too many "if..elif..else: raise" structures that does not convert well to "error-first" design
SIM106
# We have too many 'Any' type annotations.
ANN401
# Classes for some reason aren't always just replaceable by modules.
PIE798
# It is cleaner sometimes to assign and return, especially when using 'await' expressions.
PIE781
# Use f'strings instead of % formatters, the performance impact isn't too bad and f'strings are awesome!
PIE803
# It is more readable to instantiate and add items on-by-one instead of all at once.
PIE799
# Explicit is better than implicit, range(0, val) is more explicit than range(val).
PIE808
per-file-ignores =
# S101: Pytest uses assert
aiosmtpd/tests/*:S101
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-import-order
application-import-names = aiosmtpd
import-order-style = pycharm
# flake8-requirements
requirements-file = requirements-dev.txt
requirements-max-depth = 3