forked from twidi/mixt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup.cfg
175 lines (160 loc) · 3.64 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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
[metadata]
name = mixt
description = Write html components directly in python and you have a beautiful but controversial MIXTure
long_description = file:README.rst
version = 1.0
author = Stéphane "Twidi" Angel
author_email = [email protected]
license = MIT
classifiers =
Development Status :: 5 - Production/Stable
License :: OSI Approved :: MIT License
Programming Language :: Python
Programming Language :: Python :: 3
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3 :: Only
keywords =
python
html
components
templating
web-components
react-style
url = https://github.com/twidi/mixt
requires-python = >=3.6
[options]
zip_safe = True
packages = find:
package_dir =
=src
install_requires =
enforce
[options.packages.find]
where = src
[options.entry_points]
console_scripts =
mixt-post-install = mixt.scripts.mixt_post_install:main
parse-mixt = mixt.scripts.parse_file:main
mixt = mixt.scripts.run_file:main
[options.extras_require]
# flake8 is now at 3.5 and break with pycodestyle 2.4+, so both have their version pinned
dev =
black
factory_boy
flake8==3.5
flake8-bugbear
flake8-comprehensions
flake8-formatter-abspath
flake8-imports
flake8-docstrings
flake8-pep3101
flake8-per-file-ignores
ipython
isort
mypy
patchy
pycodestyle<2.4
pydocstyle
pylint
pytest
twine
wheel
test =
factory_boy
pytest
doc =
bottle
numpydoc
pygments
[bdist_wheel]
universal = 1
[mypy]
check_untyped_defs = true
disallow_incomplete_defs = true
# because of django models for example
disallow_subclassing_any = false
disallow_untyped_calls = true
disallow_untyped_decorators = true
disallow_untyped_defs = true
ignore_missing_imports = true
python_version = 3.6
strict_optional = true
warn_incomplete_stub = true
[mypy-src.mixt.codec.*]
# ignore imported pyxl code
ignore_errors = True
[mypy-src.mixt.examples.*]
# ignore our examples to keep then clean
ignore_errors = True
[mypy-xml.*,runpy]
# strange modules with errors from mypy
ignore_errors = True
[flake8]
ignore =
# Line too long: we let black manage it
E501
# Line break occurred before a binary operator: we let black manage it
W503
# "Missing docstring in public nested class" in pydocstyle. We let pylint manage it
# because we can tell it to ignore ``PropTypes``
D106
# Allow assigning lambda expressions
E731
# "Multiple statements on one line" raised for ``var: type`` lines
E701
E704
max-line-length = 99
max-complexity = 15
select =
# flake8 error class
F
# mccabe plugin
C
# pycodestyle plugin
E
W
# docstrings (using pydocstyle) plugin
D
# bugbear plugin
B
B9
B950
# pep3101 (enforce .format over %) plugin
S001
exclude =
stubs.py
docs/
*.egg-info
dist/
build/
src/mixt/codec/
tests/pyxl/original/
per-file-ignores =
# ignore mypy missing annotations in tests
tests/**/test_*:T484
# ignore code formating problems in our mixt files
# and also "W292 no newline at end of file" which is a strange problem with the mixt parser
src/mixt/examples/**/*.py:E,W291,W292
[pycodestyle]
max-line-length = 99
[tool:pytest]
addopts =
--doctest-modules
--ignore setup.py
--pyargs
[coverage:run]
branch = True
[isort]
combine_as_imports=1
default_section=THIRDPARTY
force_sort_within_sections=1
from_first=1
include_trailing_comma=1
indent=' '
known_first_party=mixt
line_length=88
lines_after_imports=2
multi_line_output=3
not_skip = __init__.py
sections=FUTURE,STDLIB,THIRDPARTY,FIRSTPARTY,LOCALFOLDER
use_parentheses=1