How to submit a package to PyPI
PyPI (Python Package Index) is a repository of software for the Python programming language. This article will tell you how to submit your package to PyPI, so others are able to install it with easy_install
or pip
. The offical document is at http://wiki.python.org/moin/CheeseShopTutorial#Submitting_Packages_to_the_Package_Index
Create your accounts
You must create accounts on PyPI Live and PyPI Test before upload your code.
After registration, create a pypirc
configuration file at ~/
. This file holds your information for authenticating with PyPI, both the live and the test versions.
[distutils] index-servers = pypi pypitest [pypi] repository: https://pypi.python.org/pypi username: {{your_username}} password: {{your_password}} [pypitest] repository: https://testpypi.python.org/pypi username: {{your_username}} password: {{your_password}}
Prepare your package
Every package on PyPI needs to have a file called setup.py
at the root of the directory. If you are using a markdown-formatted README
file you’ll also need a setup.cfg
file. Also, you’ll want a LICENSE.txt
file describing what can be done with your code. So the directory structure would look like this:
root-dir/ setup.py setup.cfg LICENSE.txt README.md mypackage/ __init__.py file1.py file2.py file3.py
setup.py
This is metadata about your library.
from distutils.core import setup setup( name = 'mypackage', packages = ['mypackage'], version = '0.1', description = 'A random test lib', author = 'Peter Downs', author_email = 'your email address', url = 'https://github.com/yfpeng/mypackage', keywords = ['testing', 'logging', 'example'], classifiers = [], )