diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..adb1f853c335e5c050afdbc0fc78e4b19e53a5a8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+__pycache__
+*.token
+irlc.egg-info
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000000000000000000000000000000000..0cc19eed049e615cfbdd43cf2a6a296e6a9676db
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,10 @@
+{
+    "python.testing.unittestArgs": [
+        "-v",
+        "-s",
+        "./irlc",
+        "-p", "*tests.py"
+    ],
+    "python.testing.pytestEnabled": false,
+    "python.testing.unittestEnabled": true
+}
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a0d16b708aac1262d8b24298e7bbf847e474b97d
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,5 @@
+PyQt5<=5.15.7 # 5.15.8 has a problem with matplotlib.
+unitgrade
+matplotlib
+seaborn
+numpy 
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..7e0c0b310f0ca7dbce228d2358790188e9ab8269
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,10 @@
+from setuptools import find_packages, setup
+
+setup(
+    name="irlc",
+    packages=find_packages(),
+    version="2023.0",
+    description="Mat 1: Projects and stuff",
+    author="Tue Herlau",
+    license="lol",
+)