forked from opendatacube/datacube-explorer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.cfg
97 lines (81 loc) · 2.28 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
[tool:pytest]
testpaths = cubedash integration_tests
addopts = --doctest-modules
# addopts = --doctest-modules --isort
# timeout = 1000
filterwarnings = ignore::FutureWarning
norecursedirs = .* build dist .git tmp*
[flake8]
max-complexity = 12
extend-ignore =
# See https://github.com/PyCQA/pycodestyle/issues/373
E203,
# Allow individual bit of pytest to be imported: sometimes conciseness is nice.
PT013,
# Only allow py3's default utf-8 encoding.
no-accept-encodings = True
doctests = True
# Note that Black will enforce all code to line-length of 88.
#
# But we have many old comments in the codebase that are longer than this and
# not worth dirtying the history to clean up, so we make Flake8's line length
# check lenient.
max-line-length = 120
# Tell flake8-rst-docstrings about sphinx options:
rst-roles =
class,
func,
ref,
rst-directives =
envvar,
exception,
per-file-ignores =
# DB modules: Using "== None" is valid and normal in alchemy expressions
cubedash/summary/_extents.py: E711
cubedash/summary/_stores.py: E711
# Old code that predates flake8 usage.
cubedash/_reports.py: E731
cubedash/_monitoring.py:C901
# Complexity is ok here.
integration_tests/asserts.py: C901
exclude =
.git,
.eggs,
__pycache__,
old,
build,
dist,
cubedash/_version.py,
[coverage:run]
source = cubedash
branch = True
[coverage:report]
precision = 2
exclude_lines =
pragma: no cover
raise NotImplementedError
raise NotImplemented
if __name__ == .__main__.:
[isort]
line_length=88
multi_line_output=3
include_trailing_comma=True
force_grid_wrap=0
# isort groups imports in three groups, but sometimes guesses wrong.
# Adding more packages here is better than commiting an unnecessary reorder.
known_standard_library=dataclasses
known_third_party=rapidjson,flask_themes,dateutil
# datacube technically isn't first party, but isort guessed wrong initially and
# we'd prefer consistency.
known_first_party=cubedash,datacube
[mypy]
follow_imports = silent
strict_optional = True
warn_redundant_casts = True
warn_unused_ignores = True
disallow_any_generics = True
check_untyped_defs = True
# for strict mypy: (this is the tricky one :-))
disallow_untyped_defs = True
[mypy-email_validator]
ignore_missing_imports = true