Test PyPI Server
Just learning the packaging ropes or trying some system integration out?
Why not use our new test PyPI server at https://testpypi.python.org/pypi
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.
We omit the live repository URL for consistency with https://packaging.python.org/distributing/#create-an-account This better allows tools to manage the default URL of the live service without having to account for config files still using the old settings.