Open basnijholt opened 1 year ago
versioningit:
pyproject.toml
(though there is support for using it via setup.py
for advanced usage)pyproject.toml
pyproject.toml
file, and more complex configuration can be accomplished by writing custom "method" functions that are stored in either your project repository or a separate packagesetuptools_scm:
pyproject.toml
, setup.py
, or setup.cfg
versioneer:
_version.py
file to your project
versioneer.py
file is added to the root of your project, or in "build-time dependency mode", which uses pyproject.toml
's build-system.requires
setup.cfg
or pyproject.toml
setup.py
to be presentThanks a lot for your detailed overview! Over time I have used all alternatives I could find. So far versioningit is my favorite.
I just wrote a blog post about my favorite Python dev tools, and tl;dr: versioningit is one of them: https://www.nijho.lt/post/best-python-dev-tooling/
I cannot find what the fundamental differences between these packages are precisely:
@jwodder, would you be able to comment on this?
One difference at least is that
setuptools_scm
isn't aware of editable installs: https://github.com/pypa/setuptools_scm/issues/518