diff --git a/development_requirements.txt b/development_requirements.txt
index 231c873dc319e77b31115e774d1cad3be24869a0..4f93d477aed1b6d0d997d745f0c2334e77ea70bf 100644
--- a/development_requirements.txt
+++ b/development_requirements.txt
@@ -3,3 +3,4 @@ gitpython
 sphinx
 sphinx_autodoc_typehints
 nbsphinx
+twine
diff --git a/upload_to_pypi.sh b/upload_to_pypi.sh
new file mode 100755
index 0000000000000000000000000000000000000000..f11f3fa0e91be7fbce164e7d37e58185602fe530
--- /dev/null
+++ b/upload_to_pypi.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# Get current version
+VERSION_NUMBER=$(cat "VERSION")
+
+# Create dist
+echo "Creating source distribution for binarycpython-$VERSION_NUMBER"
+python setup.py sdist
+
+# Checking validity
+echo ""
+echo "Checking validity of for binarycpython-$VERSION_NUMBER source distribution:"
+twine check dist/binarycpython-$VERSION_NUMBER.tar.gz
+
+echo "Uploading binarcpython version $VERSION_NUMBER to pypi."
+read -p "Continue? y/n " -n 1 -r
+echo    # (optional) move to a new line
+if [[ $REPLY =~ ^[Yy]$ ]]
+then
+    twine upload check dist/binarycpython-$VERSION_NUMBER.tar.gz
+fi