diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8c41b44ce9c0ec2e813fa8be1cb49b07c2d1ae67..d83445e589e9f3bd93d506df4b04273337a85697 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -20,7 +20,7 @@ tox-36:
     - tox
   artifacts:
     paths:
-      - .tox/dist/pypfilt-*.zip
+      - .tox/dist/pypfilt-*
 
 # Run all of the test activities in tox.ini using Python 3.7.
 tox-37:
diff --git a/.readthedocs.yml b/.readthedocs.yml
index b9b6e253991d58ee93d409e580e84937ff939b64..631de94e50272a336c21966cfa866d50134c2ca5 100644
--- a/.readthedocs.yml
+++ b/.readthedocs.yml
@@ -8,7 +8,7 @@ python:
   install:
     - requirements: requirements.txt
     - requirements: requirements-rtd.txt
-    - method: setuptools
+    - method: pip
       path: .
 
 sphinx:
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000000000000000000000000000000000000..4d37fcad02f9431e3e576a050d228fa729dc032f
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,8 @@
+# NOTE: setuptools 40.9.0 added support for projects without setup.py.
+
+[build-system]
+requires = [
+    "setuptools >= 40.9",
+    "wheel",
+]
+build-backend = "setuptools.build_meta"
diff --git a/setup.cfg b/setup.cfg
index 7e00eff633f6c59b6f605b76246cc3b24eeba603..ad949bbdcbada790e43a6f42e32b2ea52dac4180 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -33,8 +33,6 @@ install_requires =
     numpy >= 1.17
     scipy >= 0.11
     toml >= 0.10
-setup_requires =
-    setuptools >= 38.3.0
 
 [options.extras_require]
 plot = matplotlib >= 1.5
diff --git a/setup.py b/setup.py
deleted file mode 100755
index a8c65297d1b071921713365cfbdbef94fb74a052..0000000000000000000000000000000000000000
--- a/setup.py
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env python3
-
-from setuptools import setup
-
-
-if __name__ == "__main__":
-    setup()
diff --git a/tox.ini b/tox.ini
index a0a9ecbccba9483fae69983ef68a004436919e6d..f255e77675f393563c3b938912338dc1f0b0f7a7 100644
--- a/tox.ini
+++ b/tox.ini
@@ -14,6 +14,7 @@
 #
 [tox]
 envlist = test,docs
+isolated_build = True
 
 [base]
 pkg = pypfilt