Project template for Dockerized pip package development.
Project description
pip-package-template-docker
Project template for Dockerized pip package development.
Overview
- This project is fully Dockerized. For convenience, a
Makefile
is provided to build/test during development. - Python 3.11 is the primary version for development, while 3.7 - 3.10 are included for compatibility. You may want to change them in the future.
See
docker-compose.yml
andMakefile
. Refer to this page for Python versions you may want to support. - Linting is done using
flake8
and testing is done usingpytest
. - CI is designed for GitHub Actions. See
.github
. Coverage is reported to Coveralls. - An automatic release to Pypi is made through GitHub Actions whenever you publish a new release on GitHub.
LICENSE
in the template is MIT.
How to use
- Please familiarize yourself with all the concept involved. I am not responsible for things breaking if you use this template.
- Python and different Python versions
- Creating pip packages. I made a tutorial a few years ago, which you can see here.
- Docker and docker-compose
- Linting and flake8
- Unit testing and pytest
- CI and GitHub Actions
- Code coverage
- Find all instances of
pip-package-template-docker
and replace them with your desired package name. This is the name of your package known to Pypi andpip install
. - Rename the
src/pip_package_template_docker
folder. Find all instances ofpip_package_template_docker
and replace them accordingly. This is what yourimport
statement would use in Python code. - Go through
src/setup.py
and make necessary changes. Please do not link your project to my name, email, or GitHub. - Replace
README.md
with your own. If you would like to use the badges, please change the links to point to your project. - Replace
LICENSE
with your own. Please do not license your project under my name. - Project version is found in the
__init__.py
file in your package. Update it accordingly as you develop your package. - Put unittests under
src/tests
. - Sign up for necessary accounts, such as Pypi and Coveralls.
- Acquire a Pypi token and put it under your project as
PYPI_API_TOKEN
. On Pypi it is found under Account settings -> API tokens -> Add API token. On GitHub it is located in your project settings -> Security -> Secrets and variables -> Repository secrets. You may need to manually update once before a project-specific token can be acquired.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pip-package-template-docker-2023.4.23.post1.tar.gz
.
File metadata
- Download URL: pip-package-template-docker-2023.4.23.post1.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 726ac78b62c1283908146710d080e6d20964299ae44ebb89456b26b209b4ae09 |
|
MD5 | d5144c8bf99371d46d7992fa5a25ca10 |
|
BLAKE2b-256 | e00f0caa6935a07412ada464e8ae17a988c6f9864d0bb8e34d70e59f8e21e90b |
File details
Details for the file pip_package_template_docker-2023.4.23.post1-py3-none-any.whl
.
File metadata
- Download URL: pip_package_template_docker-2023.4.23.post1-py3-none-any.whl
- Upload date:
- Size: 4.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82f824e1311360a56fe0f0700fdc9319d0285573603f4e6e5805eb39b0a5d3ba |
|
MD5 | 8d95ea888d3dba8b5a808c0cc01cb7ec |
|
BLAKE2b-256 | 797b2ad59738b3fdfab01138049b41441f3deabc24eb4f4b8356b923a6b871f6 |