diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..36cdaba81f3a304cd28d6f8d6cde964e22a14e20
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,12 @@
+dxfwrite
+numpy
+pydot
+pytest
+PyYAML
+svgwrite
+sympy
+triangle
+networkx
+numpy-stl
+plotly
+kaleido
diff --git a/vstart.sh b/vstart.sh
new file mode 100755
index 0000000000000000000000000000000000000000..d23b5fb14c972f546b841429eddf62323178685a
--- /dev/null
+++ b/vstart.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+unset PYTHONPATH
+
+if [ ! -d "ENV" ]; then
+  python3 -m virtualenv -p python3 ENV &&
+    source ENV/bin/activate &&
+    pip3 install -r requirements.txt &&
+    pip3 install -e .
+fi
+
+alias deactivate=exit
+
+exec bash --init-file <(echo ". ~/.bashrc; . ENV/bin/activate;")