diff --git a/testing/py3-nptyping/APKBUILD b/testing/py3-nptyping/APKBUILD
index cd484758d904f7775145ae9e8adba5a66291ba70..6c4163bfb411ca1d6f55c7c894a894176bbdd9f4 100644
--- a/testing/py3-nptyping/APKBUILD
+++ b/testing/py3-nptyping/APKBUILD
@@ -3,13 +3,13 @@
 pkgname=py3-nptyping
 _pyname=nptyping
 pkgver=2.5.0
-pkgrel=2
+pkgrel=3
 pkgdesc="Type hints for Numpy"
 url="https://github.com/ramonhagenaars/nptyping"
 arch="noarch"
 license="MIT"
 depends="python3 py3-numpy"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517"
 checkdepends="py3-pytest py3-typeguard py3-beartype py3-mypy py3-wheel py3-pandas"
 subpackages="$pkgname-pyc"
 source="$_pyname-$pkgver.tar.gz::https://github.com/ramonhagenaars/nptyping/archive/refs/tags/v$pkgver.tar.gz"
@@ -17,15 +17,19 @@ builddir="$srcdir/$_pyname-$pkgver"
 options="!check" # FIXME! also look into the ignored tests below
 
 build() {
-	python3 setup.py build
+	gpep517 build-wheel \
+		--wheel-dir .dist \
+		--output-fd 3 3>&1 >&2
 }
 
 check() {
+	python3 -m venv --clear --without-pip --system-site-packages .testenv
+	gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
 	# disable tests which require network or pyright (python wrapper for the type
 	# checker implemented in js, which just downloads it using npx)
 	#
 	# mypy tests are currently broken as pandas doesn't package type hints
-	pytest \
+	.testenv/bin/python3 -m pytest \
 		--ignore tests/test_wheel.py \
 		--ignore tests/test_package_info.py \
 		--ignore tests/test_pyright.py \
@@ -33,12 +37,13 @@ check() {
 		--ignore tests/test_mypy.py \
 		--ignore tests/pandas_/test_mypy_dataframe.py \
 		--ignore tests/test_beartype.py
-
 }
 
 package() {
-	python3 setup.py install --skip-build --root="$pkgdir"
+	gpep517 install-wheel --destdir "$pkgdir" \
+		.dist/*.whl
 }
+
 sha512sums="
 2cde9c5f7694d4f916b85c93b86df7f72709a70b2ffa91b7bbc98c5884236f5b36bb545a89c37e8c02a9b460065c97151d77c64f8d93b92fd93bcff406f039d9  nptyping-2.5.0.tar.gz
 "