Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

馃懛 [poetry] Remove upper version bounds from dependencies #744

Merged
merged 3 commits into from
Dec 26, 2021

Conversation

cjolowicz
Copy link
Owner

@cjolowicz cjolowicz commented Dec 26, 2021

Remove upper bounds from the version constraints for both core and development dependencies.

There are two separate reasons for removing version caps:

  1. They lead to problems in the Python ecosystem due to its flat dependency management.
  2. They prevent solving the problem of frequent merge conflicts between Dependabot PRs. Without version caps, we can use the lockfile-only versioning strategy, thus avoiding merge conflicts while still allowing for major version bumps.

The first point is treated in detail in the following articles:

For the second point, see dependabot/dependabot-core#4435.

See also #743 and #746

  • 馃摝 [poetry] Remove upper version bound for click
  • 馃摝 [poetry] Remove upper version bound for development dependencies
  • 馃摝 [poetry] Sort development dependencies

@cjolowicz cjolowicz added the build Build System and Dependencies label Dec 26, 2021
@cjolowicz cjolowicz merged commit e4c2c71 into main Dec 26, 2021
@cjolowicz cjolowicz deleted the deps/remove-upper-bounds branch December 26, 2021 13:46
cjolowicz added a commit that referenced this pull request Dec 27, 2021
Dependabot updates version constraints in pyproject.toml even when the version
constraint already covers the new version, leading to frequent merge conflicts
because the global content hash in poetry.lock changes.

As of #744, this project
template no longer uses upper version bounds for its dependencies. As a result,
we are now able to use the "lockfile-only" versioning strategy to upgrade
dependencies, including major version bumps. This strategy prevents Dependabot
from modifying pyproject.toml, putting an end to the frequent merge conflicts.
cjolowicz added a commit that referenced this pull request Dec 27, 2021
#746)

Dependabot updates version constraints in pyproject.toml even when the version
constraint already covers the new version, leading to frequent merge conflicts
because the global content hash in poetry.lock changes.

As of #744, this project
template no longer uses upper version bounds for its dependencies. As a result,
we are now able to use the "lockfile-only" versioning strategy to upgrade
dependencies, including major version bumps. This strategy prevents Dependabot
from modifying pyproject.toml, putting an end to the frequent merge conflicts.
cjolowicz added a commit to cjolowicz/cookiecutter-hypermodern-python that referenced this pull request Dec 27, 2021
Dependabot updates version constraints in pyproject.toml even when the version
constraint already covers the new version, leading to frequent merge conflicts
because the global content hash in poetry.lock changes.

As of cjolowicz/cookiecutter-hypermodern-python-instance#744, this project
template no longer uses upper version bounds for its dependencies. As a result,
we are now able to use the "lockfile-only" versioning strategy to upgrade
dependencies, including major version bumps. This strategy prevents Dependabot
from modifying pyproject.toml, putting an end to the frequent merge conflicts.

Retrocookie-Original-Commit: cjolowicz/cookiecutter-hypermodern-python-instance@3082062
cjolowicz added a commit to cjolowicz/nox-poetry that referenced this pull request May 16, 2022
Dependabot updates version constraints in pyproject.toml even when the version
constraint already covers the new version, leading to frequent merge conflicts
because the global content hash in poetry.lock changes.

As of cjolowicz/cookiecutter-hypermodern-python-instance#744, this project
template no longer uses upper version bounds for its dependencies. As a result,
we are now able to use the "lockfile-only" versioning strategy to upgrade
dependencies, including major version bumps. This strategy prevents Dependabot
from modifying pyproject.toml, putting an end to the frequent merge conflicts.

Retrocookie-Original-Commit: cjolowicz/cookiecutter-hypermodern-python-instance@3082062
cjolowicz added a commit to cjolowicz/nox-poetry that referenced this pull request May 16, 2022
* 馃摝 [poetry] Remove version bound for CalVer dependency flake8-bugbear

Retrocookie-Original-Commit: cjolowicz/cookiecutter-hypermodern-python-instance@acec7f4

* 馃摝 [poetry] Remove upper version bounds from dependencies

* 馃摝 [poetry] Remove upper version bound for click

* 馃摝 [poetry] Remove upper version bound for development dependencies

* 馃摝 [poetry] Sort development dependencies

Retrocookie-Original-Commit: cjolowicz/cookiecutter-hypermodern-python-instance@e4c2c71

* 馃懛 [dependabot] Reduce merge conflicts using the lockfile-only strategy

Dependabot updates version constraints in pyproject.toml even when the version
constraint already covers the new version, leading to frequent merge conflicts
because the global content hash in poetry.lock changes.

As of cjolowicz/cookiecutter-hypermodern-python-instance#744, this project
template no longer uses upper version bounds for its dependencies. As a result,
we are now able to use the "lockfile-only" versioning strategy to upgrade
dependencies, including major version bumps. This strategy prevents Dependabot
from modifying pyproject.toml, putting an end to the frequent merge conflicts.

Retrocookie-Original-Commit: cjolowicz/cookiecutter-hypermodern-python-instance@3082062
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Build System and Dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant