summaryrefslogtreecommitdiffstats
path: root/tox.ini
diff options
context:
space:
mode:
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini45
1 files changed, 45 insertions, 0 deletions
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..24e44a2
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,45 @@
+[tox]
+minversion = 3.9.0
+envlist =
+ lint
+ docs
+ py{36,37,38,39}
+isolated_build = True
+
+[testenv]
+description = Run unit-testing
+# develop temporary disabled as project packaging does not work with it yet:
+# https://github.com/willmcgugan/rich/issues/345
+usedevelop = False
+deps =
+ -r requirements-dev.txt
+# do not put * in passenv as it may break builds due to reduced isolation
+passenv =
+ CI
+ GITHUB_*
+ HOME
+ PYTEST_*
+ SSH_AUTH_SOCK
+ TERM
+setenv =
+ PYTHONDONTWRITEBYTECODE=1
+ PYTHONUNBUFFERED=1
+commands =
+ # failsafe as older pip may install incompatible dependencies
+ pip check
+ pytest --cov-report term-missing --cov=rich tests/ {posargs}
+
+[testenv:lint]
+description = Runs all linting tasks
+commands =
+ black .
+ mypy -p rich --ignore-missing-imports --warn-unreachable
+skip_install = true
+
+[testenv:docs]
+description = Builds documentation
+changedir = docs
+deps =
+ -r docs/requirements.txt
+commands =
+ sphinx-build -M html source build