--- a
+++ b/tox.ini
@@ -0,0 +1,27 @@
+[tox]
+requires =
+  tox>=4
+  tox-gh-actions
+env_list = py{39,310,311,312,313}, coverage
+
+[testenv]
+description = run unit tests
+changedir = {envtmpdir}
+commands =
+  python -m unittest discover -s {package_root}/tests
+
+[testenv:coverage]
+description = run unit tests for coverage
+deps = coverage
+commands =
+  coverage run --source inmoose -m unittest discover -s {package_root}/tests
+  coverage report --fail-under=80
+  coverage lcov -o {package_root}/coverage.lcov
+
+[gh-actions]
+python =
+  3.9: py39
+  3.10: py310
+  3.11: py311
+  3.12: coverage
+  3.13: py313