Skip to content

sabard/python-package-template

Repository files navigation

python-package-template

python-package-template is a copier template to create and update Python packages. Copier uses git to merge changes from the original template into your instance, so you can keep all of your Python packages up to date and consistent.

Initial Setup

Basic Usage

pipx install copier
copier copy https://github.com/sabard/python-package-template /path/to/project
cd /path/to/project
./setup.sh

Developer

Dependencies:

Installation is made simple with pyenv-installer.

Once you have installed pyenv, install the rest of python-package-template's dependencies with the setup script:

./setup.sh

Update Package Dependencies

Add new dependencies to requirements.in and then run:

./update-deps.sh

Single dependencies can be updated with:

./update-deps.sh  --upgrade-package <package>

Local Usage

TODO add pipx install copier or provide another install method than running the setup script

Create a new template

cd into your project directory and run:

pyenv activate python-package-template
copier copy path/to/python-package-template path/to/your_project

-or-

copier copy gh:sabard/python-package-template .

Update an existing template

After making changes to the template:

cd path/to/your_project
pyenv activate python-package-template
copier update
pyenv deactivate

Publish Package

Run the upload script which tags and releases the package via a push-triggered CI workflow:

./upload.sh

Make sure TWINE_REPOSITORY, TWINE_USERNAME, and TWINE_PASSWORD environment variables are available in your CI environment.

About

Generic Python package starting point

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published