Here is the detail introduction:
https://packaging.python.org/distributing/
Basicly, to create a python package, you just need to do the following steps:
1. Create a setup.py and a setup.cfg (optional) file, here is an example:
import re from distutils.core import setup setup(name='packageName', version='1.0.0.dev0', description='Package description', author='YourName', author_email='yourname@email.com', packages=['packageName'],
install_requires=['Mako'], include_package_data=True, zip_safe = False )
2. Create a MANIFEST.in file.
include *.txt recursive-include docs * recursive-include folder_name *
3. Run command.
Python setup.py sdist
To upload the package to your pypi server
1. Create a .pypirc file in C:Users<yourname>, and refer to the example
[distutils] index-servers: primary secondary [primary] repository: http://primary.domain username: whoami password: guessme [secondary] repository: http://secondary.domain username: whoami password: guessme
2. Upload your package.
Upload your package to primary pypi server, just use the command below:
Python setup.py upload primary
But the recommend way to upload your packages is using Twine.
See https://packaging.python.org/distributing/#upload-your-distributions
3. Also, you can create your own uploader, the best practice way to upload your package is
Build Your package --> Test Your Package (Code Coverage, UT) --(If Test Pass)--> Upload to the Pypi repository.