diff --git a/dist/tools/backport_pr/.gitignore b/dist/tools/backport_pr/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..92f3a8ec561361a85e4830f99ed477cbf5b9e437
--- /dev/null
+++ b/dist/tools/backport_pr/.gitignore
@@ -0,0 +1,2 @@
+# tox envs directory
+.tox
diff --git a/dist/tools/backport_pr/tox.ini b/dist/tools/backport_pr/tox.ini
new file mode 100644
index 0000000000000000000000000000000000000000..5a2ec35680a77f9f6dd23123e843de3b554d8186
--- /dev/null
+++ b/dist/tools/backport_pr/tox.ini
@@ -0,0 +1,32 @@
+[tox]
+envlist = test,lint,flake8
+skipsdist = True
+
+[testenv]
+basepython = python3
+deps = -r {toxinidir}/requirements.txt
+setenv =
+    script = backport_pr.py
+commands =
+    test:       {[testenv:test]commands}
+    lint:       {[testenv:lint]commands}
+    flake8:     {[testenv:flake8]commands}
+
+[testenv:test]
+deps =
+    pytest
+    {[testenv]deps}
+commands =
+    pytest -v --doctest-modules {env:script}
+
+[testenv:lint]
+deps =
+    pylint
+    {[testenv]deps}
+commands =
+    pylint {env:script}
+
+[testenv:flake8]
+deps = flake8
+commands =
+    flake8 --max-complexity=10 {env:script}