Skip to content

pyfunc/config

Repository files navigation

START

setup local environment

python3 -m venv pytest-env
source pytest-env/bin/activate

Install required tools

pip install setuptools wheel setuptools-git-versioning build twine pip-tools toml path
pip install --upgrade setuptools_scm
pip install --upgrade twine 
pip list

UPDATE

git workflow update

VERSION=1.2.22
git status
git tag $VERSION
git push origin --tags
git add pyproject.toml
git add .gitignore
git add *.py
git add *.md
git add src/*
git commit -m "new release"
git push

` manual quick update

VERSION=1.2.21
git status
git tag $VERSION
git push origin --tags
git add pyproject.toml
git add .gitignore
git add *.py
git add *.md
git add src/*
git commit -m "new release"
git push
python -m setuptools_git_versioning
rm -rf build dist *.egg-info
python -m build
python -m twine upload dist/*

DETAILS

git tag 1.2.8
git push origin --tags

VERSION

python -m setuptools_git_versioning

update requirements

pip-compile pyproject.toml
pip-sync

build and publish your package:

Clean

rm -rf build dist *.egg-info

Build the Package with debug

python -m build --wheel -n

Build the Package

python -m build

Publish to PyPI

python -m twine upload dist/*

Another

Here's an updated GitHub Actions workflow to include the script execution:

py generate_init.py -p src/pyfunc_config
py -m build
twine check dist/*

test before publish

twine upload -r testpypi dist/*

publish

twine upload dist/* 

Semantic versioning

The idea of semantic versioning (or SemVer) is to use 3-part version numbers, major.minor.patch, where the project author increments:

major when they make incompatible API changes,

minor when they add functionality in a backwards-compatible manner, and

patch, when they make backwards-compatible bug fixes.