diff --git a/.github/workflows/create-python-release.yaml b/.github/workflows/create-python-release.yaml
new file mode 100644
index 0000000..6fff261
--- /dev/null
+++ b/.github/workflows/create-python-release.yaml
@@ -0,0 +1,84 @@
+# Taken from Polar-rs github action
+
+name: Create Python release
+
+on:
+  push:
+    tags:
+      - py-*
+
+defaults:
+  run:
+    shell: bash
+
+jobs:
+  manylinux-x64_64:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+      - uses: actions/setup-python@v4
+        with:
+          python-version: '3.7'
+
+      - name: Publish wheel
+        uses: messense/maturin-action@v1
+        env:
+          MATURIN_PASSWORD: ${{ secrets.PYPI_PASS }}
+          RUSTFLAGS: -C target-feature=+fxsr,+sse,+sse2,+sse3,+ssse3,+sse4.1,+sse4.2,+popcnt,+avx,+fma
+        with:
+          rust-toolchain: nightly-2023-01-19
+          maturin-version: '0.14.10'
+          command: publish
+          args: -m minimappers2/Cargo.toml --skip-existing -o wheels -u jguhlin
+
+  # Needed for Docker on Apple M1
+  manylinux-aarch64:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+      - uses: actions/setup-python@v4
+        with:
+          python-version: '3.7'
+
+      - name: Publish wheel
+        uses: messense/maturin-action@v1
+        env:
+          MATURIN_PASSWORD: ${{ secrets.PYPI_PASS }}
+        with:
+          rust-toolchain: nightly-2023-01-19
+          target: aarch64-unknown-linux-gnu
+          maturin-version: '0.14.10'
+          command: publish
+          args: -m minimappers2/Cargo.toml --skip-existing -o wheels -u jguhlin
+
+  # uncomment to build a universal2 wheel
+  # we don't run it because it is twice as big and not needed because we build for both architectures separately
+  # macos-aarch64-universal:
+  #   runs-on: macos-latest
+  #   steps:
+  #     - uses: actions/checkout@v3
+  #     - uses: actions/setup-python@v4
+  #       with:
+  #         python-version: '3.7'
+
+  #     - name: Fix README symlink
+  #       run: |
+  #         rm py-polars/README.md
+  #         cp README.md py-polars/README.md
+
+  #     - name: Set up Rust
+  #       uses: dtolnay/rust-toolchain@master
+  #       with:
+  #         toolchain: nightly-2023-01-19
+
+  #     - name: Set up Rust targets
+  #       run: rustup target add aarch64-apple-darwin
+
+  #     - name: Publish wheel
+  #       uses: messense/maturin-action@v1
+  #       env:
+  #         MATURIN_PASSWORD: ${{ secrets.PYPI_PASS }}
+  #       with:
+  #         maturin-version: '0.14.10'
+  #         command: publish
+  #         args: -m py-polars/Cargo.toml --no-sdist --universal2 -o wheels -i python -u ritchie46
\ No newline at end of file