From 35af798df8b35fd8f4168b5341f3882811601bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jon=20Haitz=20Legarreta=20Gorro=C3=B1o?= Date: Fri, 8 Nov 2024 18:16:15 -0500 Subject: [PATCH] ENH: Add additional step to `tox` to run notebooks Add an additional step to `tox` to run notebooks. Add `nbconvert` and `nbclient` to the dependencies of the `test` table in `pyproject.toml` so that the notebooks can be run. --- pyproject.toml | 2 ++ tox.ini | 29 ++++++++++++++++++++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 8bed5680..d69482a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -68,6 +68,8 @@ resmon = ["psutil >=5.4"] test = [ "coverage", + "nbconvert", + "nbclient", "pytest >= 4.4", "pytest-cov", "pytest-env", diff --git a/tox.ini b/tox.ini index 76398f37..14c83ac2 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,7 @@ requires = tox>=4 envlist = - py312 + py312, notebooks skip_missing_interpreters = true # Configuration that allows us to split tests across GitHub runners effectively @@ -38,6 +38,33 @@ commands = pytest --doctest-modules --cov eddymotion -n auto --cov-report xml \ --junitxml=test-results.xml -v src test {posargs} +[testenv:notebooks] +description = Run notebooks +labels = notebooks +pass_env = + # getpass.getuser() sources for Windows: + LOGNAME + USER + LNAME + USERNAME + # Pass user color preferences through + PY_COLORS + FORCE_COLOR + NO_COLOR + CLICOLOR + CLICOLOR_FORCE + CURBRANCH + GITHUB_ACTIONS + TEST_DATA_HOME + TEST_OUTPUT_DIR + TEST_WORK_DIR + PYTHONHASHSEED + ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS + PATH +extras = test +commands = + python -m nbconvert --to notebook --ExecutePreprocessor.kernel_name=python3 --execute docs/notebooks/* + [testenv:docs] description = Build documentation site labels = docs