Test PyPI Server
Just learning the packaging ropes or trying some system integration out?
The test PyPI server at https://testpypi.python.org/pypi provides a location to experiment with the publication process without impacting the live PyPI service.
To upload packages to it you need to:
1. Register with the site. It has a different user database than the main PyPI server. It also gets cleaned out on a semi-regular basis.
2. Fill in your test PyPI credentials in your ~/.pypirc file. You should end up with something like this:
[distutils] index-servers= pypi testpypi [testpypi] repository = https://testpypi.python.org/pypi username = <your user name goes here> password = <your test password goes here> [pypi] username = <your user name goes here> password = <your live password optionally goes here>
3. Use the test server URL to register your project (it gives you the right to modify your project on the server):
python setup.py register -r https://testpypi.python.org/pypi
Note that the test server uses an older implementation of the upload interface and hence does not support auto-registration the way the live service does when using twine's default configuration.
4. Then upload it using twine:
twine upload dist/* -r testpypi
Now that your project is on the server, test that you can install your package from testpypi (it may be a good idea to run your unit tests from another directory to make sure you are using the version you just installed):
pip install -i https://testpypi.python.org/pypi <package name>
If you need to push your project again, change the version number in setup.py otherwise the server will give you an error.