packaging requirements
build>=1.2.2
packaging>=24.2
twine>=6.0.1
wheel>=0.45.1
---------------

packaging doc with setuptools

https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#package-discovery

pip install --upgrade setuptools[core]

quick steps:
use src-layout

pip install --upgrade build
python -m build
pip install --editable .

when done with dev
pip uninstall <pkg-name>

create .pyirc file
[distutils]
index-servers =
    pypi
    testpypi

[pypi]
repository = https://upload.pypi.org/legacy/
username = __token__
password =

[testpypi]
repository = https://test.pypi.org/legacy/
username = __token__
password =


packaging
https://packaging.python.org/en/latest/tutorials/packaging-projects/
https://packaging.python.org/en/latest/overview/

upload to pipy
pip install --upgrade twine

upload to test env
py -m twine upload --repository testpypi dist/*
https://test.pypi.org/project/example_package_YOUR_USERNAME_HERE.

view package in test pypi
https://test.pypi.org/

install package in local env:

py -m pip install --index-url https://test.pypi.org/simple/ --no-deps example-package-YOUR-USERNAME-HERE

prod env
==========

upload to test env
py -m twine upload --repository pypi dist/*
https://test.pypi.org/project/pkage-name