A python package template
Python Package Template
This is an opinionated attempt to document how I deploy a python application with documentation, testing, pypi, and continuous deployment. This project will be updated as I change my python development practices. Number one this is a learning experience.
- documentation (sphinx, selfhosted + readthedocs)
- testing (pytest) and coverage (pytest-cov)
- deploy to pypi (twine)
- deploy to conda (conda)
- deploy docker container to (dockerhub and gitlab container registry)
- building a package (
- command line interface with argparse
- badges for testing, packages, and documentation
Gitlab will be used for the continuous deployment. It is a great project that is open source and comes with many nice features not available for Github. You should consider it! Features used:
If you would like a custom domain setup with gitlab pages for the documentation you will need to use cloudflare. I have a blog written on how to do this or you can look at the gitlab cloudflare documentation.
This project is a python package itself and full documentation is available on readthedocs. Each of the steps below includes a link to the section in the documentation.
- setup a bare python package with git repo (
- setup pypi deployment with git tags
- setup testing on each commit with
- setup documentation with
sphinxon readthedocs and self hosted
All contributions, bug reports, bug fixes, documentation improvements, enhancements and ideas are welcome.
The goal of this project is to in an opinionated way guide modern python packaging development for myself.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size pypkgtemp-1.2.0-py3-none-any.whl (6.9 kB)||File type Wheel||Python version py3||Upload date||Hashes View hashes|
|Filename, size pypkgtemp-1.2.0.tar.gz (4.1 kB)||File type Source||Python version None||Upload date||Hashes View hashes|
Hashes for pypkgtemp-1.2.0-py3-none-any.whl