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
|
[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.15.*
pyqtwebengine==5.15.*
coverage
psycopg2-binary; platform_system=="Linux" # we only test this on Linux
pymssql; platform_system=="Linux" # we only test this on Linux
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.5
oldest: orange-widget-base==4.25.0
oldest: AnyQt==0.2.0
oldest: matplotlib==3.6.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.7
oldest: catboost==1.2.2
oldest: chardet==3.0.2
oldest: httpx==0.21.0
oldest: joblib==1.2.0
# oldest: keyring
# oldest: keyrings.alt
# oldest: networkx
oldest: numpy==1.23.2
oldest: openpyxl==3.1.3
oldest: openTSNE==1.0.0
oldest: pandas==2.0.1
oldest: python-louvain==0.13
# oldest: pyyaml
# oldest: requests
oldest: scikit-learn==1.5.1
oldest: scipy==1.10
# oldest: serverfiles
oldest: xgboost==2.1.0
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.8.*
PyQt6-Qt6==6.8.*
PyQt6-WebEngine==6.8.*
PyQt6-WebEngine-Qt6==6.8.*
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.8.*
PyQt6-Qt6==6.8.*
PyQt6-WebEngine==6.8.*
PyQt6-WebEngine-Qt6==6.8.*
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
|