in setup.py [0:0]
def run(self):
try:
self.status("Removing previous builds…")
shutil.rmtree(os.path.join(HERE, "dist"))
except OSError:
pass
self.status("Building Source and Wheel (universal) distribution…")
os.system(f"{sys.executable} setup.py sdist bdist_wheel --universal")
self.status("Uploading the package to PyPI via Twine…")
os.system("twine upload dist/*")
self.status("Pushing git tags…")
os.system(f"git tag v{VERSION}")
os.system("git push --tags")
sys.exit()