python-semantic-release icon indicating copy to clipboard operation
python-semantic-release copied to clipboard

Allow invoke versions > 1.x in setup.py

Open ktetzlaff opened this issue 2 years ago • 0 comments

The problem

Restricting invoke to invoke>=1.4.1,<2 in setup.py causes dependency resolution issues.

The upper bound to invoke versions was introduced in commit 0a6f8c38 (along with a number of other version restrictions, see Additional context below). Apparently this was done as a preventive measure without any actual, known incompatibilities.

Invoke (https://github.com/pyinvoke/invoke) has since released version 2.0.0 (in January 2023, it is now at v2.1.3). As a result, projects which use python-semantic-release and invoke as direct dependencies now would require to explicilty select an older version of invoke to meet the version constraint imposed by python-semantic-release.

Expected behavior

Allow use of invoke >= v2.0.0.

From what I've seen in the code (it only ever seems to use invoke.run(...)), this should not be a problem.

Additional context

Commit 0a6f8c38 introduced a number of other constraints to the upper bounds of dependency versions:

click>=7.0,<8
gitpython>=3.0.8,<4
invoke>=1.4.1,<2
semver>=2.8.0,<3
twine>=3.0.0,<4
requests>=2.21,<3
python-gitlab>=1.10.0,<2

Some of those might actually be necessary, but it might be worth to review those, too. A number of projects have now moved to versions past those bounds (i.e. click v8.1.3, semver v3.0.1, twine v4.0.2, python-gitlab v3.15.0).

Click, and semver are probably not as important, since the projects are libraries. But invoke, python-gitlab and twine are CLI tools meant for direct (interactive) use by developers and an arbitrary restriction of their versions which can be used in together with python-semantic-release seems unecessary.

I also just noticed that these dependency issues have already been addressed in v8.x. So it might not be worth fixing this for v7.x (depending on the planned schedule for releasing a stable v8 version).

ktetzlaff avatar Jun 16 '23 07:06 ktetzlaff