diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 0b8989ce6d082f39f011c12ce1abbff7fe3aab60..d86f80b5dc05ac34f5f03f226c255ed694ecb0e0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,5 +26,5 @@ upload:
     - main
   script:
     - pip install -r requirements-dev.txt
-    - python setup.py sdist
+    - python -m build
     - TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --verbose --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi dist/*
diff --git a/requirements-dev.txt b/requirements-dev.txt
index b9793677d6b92f3c76a259830220b47ef4565675..e3846d931c8f96e383b0551bde04941fcd9e7210 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -1,3 +1,4 @@
 setuptools>=62.6
 twine
-black=~25.1.0
\ No newline at end of file
+black=~25.1.0
+build
\ No newline at end of file