package example
Project description
python package template
Content
pytest
for tests:make test
ruff
for linting/formatting:make lint
(replaces bothblack
andisort
)- pyproject-pipenv to make sure dependencies in pyproject.toml and Pipfile are in sync
.github
with actions ready to be used- test runs lint checks, unit tests and pyproject-pipenv
- publish-dev publishes feature branches (
dev
/dev-*
) to: - publish-main publishes semver tags to:
- pypi
- docker image to ghcr.io
New project checklist
- Replace folder
example
with the actual package - Replace
LICENSE
if MIT does not apply - Search the project for
# TODO
to find the (minimum list of) places that need to be changed. - Add PYPI credentials to secrets
PYPI_USERNAME
andPYPI_TOKEN
to publish tags to pypiTESTPYPI_USERNAME
andTESTPYPI_TOKEN
to publish dev branches to testpypi
- Add codecov token
CODECOV_TOKEN
taken from link above
- Replace this README.md - template below
Notes
Feature branch publishing
publish-dev
workflow publishes dev
/dev-*
branches to testpypi.
Other common approach to publish dev branches is to use pre-release channels: version the package with a rc
or beta
suffix (such as 1.0.0-beta1
) and pypi will consider pre-release. In order to install this, the user needs to do pip install PACKAGE --pre
otherwise the latest stable is picked up.
However this will "pollute" your pypi index and it still requires you to bump the version (1.0.0-beta1
< 1.0.0
) or to install the branch using specific version.
Yet another approach is to simply use an entirely different package name for the dev releases. Tensorflow does that, for example, with tf-nightly.
---
fp-github-template-example
CLI that echos whatever you tell it to.
Install
pip install fp-github-template-example
Usage
$ example-cli
Got nothing to say?
$ example-cli hello
HELLO right back at ya!
>>> from example import demo
>>> demo.echo('ehlo')
'EHLO right back at ya!'
Build
Check out CONTRIBUTING.md
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 fp-github-template-example-0.0.3.tar.gz
.
File metadata
- Download URL: fp-github-template-example-0.0.3.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 316c22d10a0d7f6ffcd4dc1b3fe932201f62d165f30c491793e53a25d7568ff6 |
|
MD5 | 40dd1a264482f84ab4474ff39e1d4884 |
|
BLAKE2b-256 | 53aad9b4480d2bff73815893970cbe057c2ed6b6407758d260621e27f15fb09a |
File details
Details for the file fp_github_template_example-0.0.3-py3-none-any.whl
.
File metadata
- Download URL: fp_github_template_example-0.0.3-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eece88083e81eb54d0b8b63dca96172c56882200abaee61f943480d76d9d6382 |
|
MD5 | 1116520b1684cbb5b4c92711d812f481 |
|
BLAKE2b-256 | 3250bba68357ba5914ea0b85e6d2d800ad4940f51013d1d8a4b655d92b864a85 |