I'm developing a python package in bitbucket and would like to index it in pypi. The operations I do whenever I have a new download seems quite inefficient, which trigger this question.
python setup.py register sdist upload
Can (3) be done after I've done (1),(2) without recreating the package?
What is the proper way to do so without generating the package twice?
PyPi meta-data changes can be done by simply redoing the python setup.py register
step again, so you can simply edit your setup.py to change the download URL and then repeat the registration step.
Keep in mind that automated install tools like easy_install, pip, etc. can generally scan a page linked to by the download url for the latest downloadable distribution (according to version numbering standards) so you don't need to explicitly link to your distribution file.
If you're going to do this, I also recommend you manually go to PyPi and delete or hide the old source distribution you've uploaded so that new users don't get a version containing the old setup.py.