Skip to main content

Template for creating and generic Python packages

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py-pkg-tmpl-0.0.1.dev1.tar.gz (15.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page