File: setup.cfg

package info (click to toggle)
python-aiosmtpd 1.4.3-1.1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,060 kB
  • sloc: python: 7,850; makefile: 158; sh: 5
file content (135 lines) | stat: -rw-r--r-- 4,353 bytes parent folder | download
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 = aiosmtpd@googlegroups.com
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.7
    Programming Language :: Python :: 3.8
    Programming Language :: Python :: 3.9
    Programming Language :: Python :: 3.10
    Programming Language :: Python :: 3.11
    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.7
packages = find:
include_package_data = true
setup_requires =
    setuptools
install_requires =
    atpublic
    attrs
    typing-extensions ; python_version < '3.8'
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]
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
    # 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 =
    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