forked from marksweb/django-app-helper
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
160 lines (146 loc) · 3.18 KB
/
tox.ini
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
[tox]
envlist =
black
blacken
docs
isort
isort_format
pep8
pypi-description
towncrier
py{38,37,36}-django{31}-{cms38,nocms,async}
py{38,37,36}-django{30}-{cms38,cms37,nocms,async}
py{38,37,36}-django{22}-{cms38,cms37,nocms,async}
[testenv]
commands = {env:COMMAND:python} helper.py {posargs}
deps=
django22: django~=2.2.0
django30: django~=3.0.0
django31: django~=3.1.0
cms37: https://github.com/divio/django-cms/archive/release/3.7.x.zip
cms37: djangocms-text-ckeditor
cms38: https://github.com/divio/django-cms/archive/release/3.8.x.zip
cms38: djangocms-text-ckeditor>=4.0,<5.0
-r{toxinidir}/requirements-test.txt
async: channels>2.0
async: daphne
passenv =
COMMAND
PYTEST_*
[testenv:nocms]
alwayscopy = True
[testenv:pep8]
commands =
{envpython} -m flake8
{envpython} -minterrogate -c pyproject.toml app_helper tests
deps =
interrogate
flake8
flake8-broken-line
flake8-bugbear
flake8-builtins
flake8-coding
flake8-commas
flake8-comprehensions
flake8-eradicate
flake8-quotes
flake8-tidy-imports
pep8-naming
skip_install = true
[testenv:isort]
commands =
{envpython} -m isort -c --df app_helper tests
deps = isort>5,<5.1
skip_install = true
[testenv:isort_format]
commands =
{envpython} -m isort app_helper tests
deps = {[testenv:isort]deps}
skip_install = true
[testenv:black]
commands =
{envpython} -m black --check --diff .
deps = black
skip_install = true
[testenv:blacken]
commands =
{envpython} -m black .
deps = {[testenv:black]deps}
skip_install = true
[testenv:docs]
commands =
{envpython} -m invoke docbuild
deps =
invoke
sphinx
sphinx-rtd-theme
sphinx-autobuild
livereload~=2.6
-rrequirements-test.txt
skip_install = true
[testenv:towncrier]
commands =
{envpython} -m invoke towncrier-check
deps =
invoke
skip_install = true
[testenv:pypi-description]
commands =
{envpython} -m invoke clean
{envpython} -m check_manifest
{envpython} -m pep517.build .
{envpython} -m twine check dist/*
deps =
invoke
check-manifest
pep517
twine
skip_install = true
[testenv:release]
commands =
{envpython} -m invoke clean
{envpython} -m check_manifest
{envpython} -m pep517.build .
{envpython} -m twine upload {posargs} dist/*
deps = {[testenv:pypi-description]deps}
passenv =
TWINE_*
skip_install = true
[flake8]
exclude = *.egg-info,.git,.settings,.tox,build,dist,docs,requirements,tmp,*migrations*,tests,data
ignore = E800, W503, C812, C813, C815, C818, C819, C408
max-line-length = 119
# flake8-quotes
inline-quotes = double
# flake8-coding
no-accept-encodings = True
# flake8-tidy-imports
banned-modules = __future__ = this project supports python3 only
[isort]
combine_as_imports = true
default_section = THIRDPARTY
force_grid_wrap = 0
include_trailing_comma = true
known_first_party = app_helper
line_length = 119
multi_line_output = 3
skip = data, .tox
use_parentheses = True
[check-manifest]
ignore =
.*
*.ini
*.toml
*.json
*.txt
*.yml
*.yaml
.tx/**
changes/**
docs/**
helper.py
tasks.py
tests/**
*.mo
ignore-bad-ideas =
*.mo