diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000000000000000000000000000000000000..d2db8152af9e5e3659b9404562bd4f72eeb814ef
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,25 @@
+[build-system]
+requires = ["setuptools>=42", "wheel"]
+build-backend = "setuptools.build_meta"
+
+[project]
+name = "bb2etp"
+version = "0.1.0"
+description = "A description of your module"
+authors = [
+    { name = "Jonas Eppelt", email = "jonas.eppelt@kit.edu" }
+]
+
+[tool.setuptools]
+packages = ["find:"]
+
+[project.classifiers]
+classifiers = [
+    "Development Status :: 3 - Alpha",
+    "Intended Audience :: Developers",
+    "License :: OSI Approved :: MIT License",
+    "Programming Language :: Python :: 3",
+    "Programming Language :: Python :: 3.6",
+    "Programming Language :: Python :: 3.7",
+    "Programming Language :: Python :: 3.8"
+]
\ No newline at end of file
diff --git a/setup.py b/setup.py
deleted file mode 100644
index 1a8b02f345448cf632cf47005cc65774849e3c30..0000000000000000000000000000000000000000
--- a/setup.py
+++ /dev/null
@@ -1,19 +0,0 @@
-from setuptools import setup, find_packages
-
-setup(
-    name='bb2etp',
-    version='0.1.0',
-    author='Jonas Eppelt',
-    author_email='jonas.eppelt@kit.edu',
-    description='A description of your module',
-    packages=find_packages(),
-    classifiers=[
-        'Development Status :: 3 - Alpha',
-        'Intended Audience :: Developers',
-        'License :: OSI Approved :: MIT License',
-        'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.6',
-        'Programming Language :: Python :: 3.7',
-        'Programming Language :: Python :: 3.8',
-    ],
-)