1from distutils import log
2from distutils.command import upload as orig
3
4from setuptools.errors import RemovedCommandError
5
6
7class upload(orig.upload):
8    """Formerly used to upload packages to PyPI."""
9
10    def run(self):
11        msg = (
12            "The upload command has been removed, use twine to upload "
13            + "instead (https://pypi.org/p/twine)"
14        )
15
16        self.announce("ERROR: " + msg, log.ERROR)
17        raise RemovedCommandError(msg)
18