- migrate from setup.py to pyproject.toml - respect exisiting optional dependencies - set the package version based on git tags