diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..a0fa27a
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,26 @@
+name: "Build drakpdb distribution packages"
+on:
+  push:
+    branches:
+      - master
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v4
+    - uses: actions/setup-python@v5
+      with:
+        python-version: 3.8
+    - name: Build source distribution
+      run: |
+        pip install -U setuptools
+        python3 setup.py sdist
+    - name: Build wheel distribution
+      run: |
+        pip install cibuildwheel==2.19.2
+        python -m cibuildwheel --output-dir dist --archs x86_64 --platform linux
+    - uses: actions/upload-artifact@v4
+      with:
+        name: drakpdb-wheels
+        path: ./dist/*
diff --git a/pyproject.toml b/pyproject.toml
index 537644f..5c42686 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -19,12 +19,13 @@ dependencies = [
     "requests>2.32.2",
     "tqdm",
 ]
+requires-python = ">=3.8"
 
 [project.scripts]
 drakpdb = "drakpdb.main:main"
 
 [tool.setuptools]
-packages = ["drakpdb", "drakpdb.pdbparse"]
+packages = ["drakpdb", "drakpdb.pdbparse", "drakpdb.pdbparse._undname"]
 
 [tool.black]
 exclude = "drakpdb/pdbparse/*"