forked from biolab/orange3
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
152 lines (144 loc) · 4.2 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
[tox]
envlist =
orange-{oldest, latest, released}
pylint-ci
build_doc
add-ons
skip_missing_interpreters = true
isolated_build = true
[testenv]
# https://tox.wiki/en/latest/config.html#download
download = true
passenv = *
# we MUST changedir to avoid installed being shadowed by working dir
# https://github.com/tox-dev/tox/issues/54
# https://github.com/tox-dev/tox/issues/514
changedir =
{envsitepackagesdir}
setenv =
# Raise deprecations as errors in our tests
ORANGE_DEPRECATIONS_ERROR=y
# Need this otherwise unittest installs a warning filter that overrides
# our desire to have OrangeDeprecationWarnings raised
PYTHONWARNINGS=module
# set coverage output and project config
COVERAGE_FILE = {toxinidir}/.coverage
COVERAGE_RCFILE = {toxinidir}/.coveragerc
deps =
pyqt5==5.12.*;platform_system=="Windows" and python_version<'3.10'
pyqt5==5.15.*;platform_system!="Windows" or python_version>='3.10'
pyqtwebengine==5.12.*;platform_system=="Windows" and python_version<'3.10'
pyqtwebengine==5.15.*;platform_system!="Windows" or python_version>='3.10'
coverage
psycopg2-binary
pymssql<3.0
latest: https://github.com/biolab/orange-canvas-core/archive/refs/heads/master.zip#egg=orange-canvas-core
latest: https://github.com/biolab/orange-widget-base/archive/refs/heads/master.zip#egg=orange-widget-base
# GUI requirements
oldest: orange-canvas-core==0.2.0
oldest: orange-widget-base==4.23.0
oldest: AnyQt==0.2.0
oldest: matplotlib==3.2.0
oldest: pygments==2.8.0
oldest: pyqtgraph>=0.13.1
oldest: qtconsole==4.7.2
# core requirements
oldest: baycomp==1.0.2
oldest: bottleneck==1.3.4
oldest: catboost==1.0.1
oldest: chardet==3.0.2
oldest: httpx==0.21.0
oldest: joblib==1.1.1
# oldest: keyring
# oldest: keyrings.alt
# oldest: networkx
oldest: numpy==1.20
# oldest: openpyxl
oldest: openTSNE==0.6.1
oldest: pandas==1.4.0
oldest: pip==19.3
oldest: python-louvain==0.13
# oldest: pyyaml
# oldest: requests
oldest: scikit-learn==1.3.0
oldest: scipy==1.9
# oldest: serverfiles
oldest: xgboost==1.7.4
oldest: xlrd==1.2.0
# oldest: xlsxwriter
commands_pre =
# Verify installed packages have compatible dependencies
pip check
# freeze environment
pip freeze
commands =
coverage run -m unittest -v Orange.tests Orange.widgets.tests
coverage combine
coverage report
# codecov-actions wants xml report
coverage xml -o {toxinidir}/coverage.xml
[testenv:beta]
changedir =
{envsitepackagesdir}
setenv =
QT_API=PyQt6
ANYQT_HOOK_DENY=pyqt5
PIP_EXTRA_INDEX_URL=https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
PIP_PRE=1
deps =
https://github.com/pyqtgraph/pyqtgraph/archive/refs/heads/master.zip#egg=pyqtgraph
https://github.com/biolab/orange-canvas-core/archive/refs/heads/master.zip#egg=orange-canvas-core
https://github.com/biolab/orange-widget-base/archive/refs/heads/master.zip#egg=orange-widget-base
PyQt6==6.5.*
PyQt6-Qt6==6.5.*
PyQt6-WebEngine==6.5.*
PyQt6-WebEngine-Qt6==6.5.*
commands_pre =
# Verify installed packages have compatible dependencies
pip check
# freeze environment
pip freeze
commands =
python -m unittest -v Orange.tests Orange.widgets.tests
[testenv:pyqt6]
changedir =
{envsitepackagesdir}
setenv =
QT_API=PyQt6
ANYQT_HOOK_DENY=pyqt5
deps =
PyQt6==6.5.*
PyQt6-Qt6==6.5.*
PyQt6-WebEngine==6.5.*
PyQt6-WebEngine-Qt6==6.5.*
commands =
python -m unittest -v Orange.widgets.tests
[testenv:add-ons]
deps =
{[testenv]deps}
Orange3-Educational
Orange3-Geo
Orange3-ImageAnalytics
Orange3-Text
commands =
python -m unittest discover --verbose --start-directory {envsitepackagesdir}/orangecontrib
[testenv:pylint-ci]
changedir = {toxinidir}
skip_install = true
allowlist_externals = bash
deps =
orange-widget-base
anyqt
PyQt5==5.12.*
pylint
commands =
bash .github/workflows/check_pylint_diff.sh
[testenv:build_doc]
changedir = {toxinidir}
usedevelop = true
allowlist_externals = bash
deps =
{[testenv]deps}
-r {toxinidir}/requirements-doc.txt
commands =
bash doc/build_doc.sh