Skip to content

build(deps): bump poetry from 1.1.15 to 1.2.0 in /python/helpers#5599

Merged
pavera merged 5 commits intomainfrom
dependabot/pip/python/helpers/poetry-1.2.0
Sep 2, 2022
Merged

build(deps): bump poetry from 1.1.15 to 1.2.0 in /python/helpers#5599
pavera merged 5 commits intomainfrom
dependabot/pip/python/helpers/poetry-1.2.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Aug 31, 2022

Bumps poetry from 1.1.15 to 1.2.0.

Release notes

Sourced from poetry's releases.

1.2.0

Docs

  • Added note about how to add a git dependency with a subdirectory (#6218)
  • Fixed several style issues in the docs (#6255)
  • Fixed outdated info about --only parameter (#6264)

1.2.0rc2

Fixed

  • Fixed an issue where virtual environments were created unnecessarily when running poetry self commands (#6226)
  • Ensure that packages' pretty_name are written to the lock file (#6243)

Improvements

  • Improved the consistency of Pool().remove_repository() to make it easier to write poetry plugins (#6231)

Docs

  • Removed mentions of Python 2.7 from docs (#6235)
  • Added note about the difference between groups and extras (#6232)

1.2.0rc1

Added

  • Added support for subdirectories in git dependencies (#5172)
  • Added support for yanked releases and files (PEP-592) (#5841)
  • Virtual environments can now be created even with empty project names (#5856)
  • Added support for nushell in poetry shell (#6063)

Changed

  • Poetry now falls back to gather metadata for dependencies via pep517 if parsing pyproject.toml fails (#5834)
  • Replaced Poetry's helper method canonicalize_name() with packaging.utils.canonicalize_name() (#6022)
  • Removed code for the export command, which is now provided via plugin (#6128)
  • Extras and extras dependencies are now sorted in the lock file (#6169)
  • Removed deprecated (1.2-only) CLI options (#6210)

Fixed

  • Fixed an issue where symlinks in the lock file were not resolved (#5850)
  • Fixed a tomlkit regression resulting in inconsistent line endings (#5870)
  • Fixed an issue where the POETRY_PYPI_TOKEN_PYPI environment variable wasn't respected (#5911)
  • Fixed an issue where neither Python nor a managed venv can be found, when using Python from MS Store (#5931)
  • Improved error message of poetry publish in the event of an upload error (#6043)
  • Fixed an issue where poetry lock fails without output (#6058)
  • Fixed an issue where Windows drive mappings break virtual environment names (#6110)
  • tomlkit versions with memory leak are now avoided (#6160)
  • Fixed an infinite loop in the solver (#6178)
  • Fixed an issue where latest version was used instead of locked one for vcs dependencies with extras (#6185)

... (truncated)

Changelog

Sourced from poetry's changelog.

[1.2.0rc2] - 2022-08-26

Fixed

  • Fixed an issue where virtual environments were created unnecessarily when running poetry self commands (#6226)
  • Ensure that packages' pretty_name are written to the lock file (#6243)

Improvements

  • Improved the consistency of Pool().remove_repository() to make it easier to write poetry plugins (#6231)

Docs

  • Removed mentions of Python 2.7 from docs (#6235)
  • Added note about the difference between groups and extras (#6232)

[1.2.0rc1] - 2022-08-22

Added

  • Added support for subdirectories in git dependencies (#5172)
  • Added support for yanked releases and files (PEP-592) (#5841)
  • Virtual environments can now be created even with empty project names (#5856)
  • Added support for nushell in poetry shell (#6063)

Changed

  • Poetry now falls back to gather metadata for dependencies via pep517 if parsing pyproject.toml fails (#5834)
  • Replaced Poetry's helper method canonicalize_name() with packaging.utils.canonicalize_name() (#6022)
  • Removed code for the export command, which is now provided via plugin (#6128)
  • Extras and extras dependencies are now sorted in the lock file (#6169)
  • Removed deprecated (1.2-only) CLI options (#6210)

Fixed

  • Fixed an issue where symlinks in the lock file were not resolved (#5850)
  • Fixed a tomlkit regression resulting in inconsistent line endings (#5870)
  • Fixed an issue where the POETRY_PYPI_TOKEN_PYPI environment variable wasn't respected (#5911)
  • Fixed an issue where neither Python nor a managed venv can be found, when using Python from MS Store (#5931)
  • Improved error message of poetry publish in the event of an upload error (#6043)
  • Fixed an issue where poetry lock fails without output (#6058)
  • Fixed an issue where Windows drive mappings break virtual environment names (#6110)
  • tomlkit versions with memory leak are now avoided (#6160)
  • Fixed an infinite loop in the solver (#6178)
  • Fixed an issue where latest version was used instead of locked one for vcs dependencies with extras (#6185)

Docs

  • Document use of the subdirectory parameter (#5949)

... (truncated)

Commits
  • 85993df release: bump to version 1.2.0
  • 3092769 fix: skip cloning badly defined submodules
  • e3ae93a docs: --only no longer skips project's package installation
  • a8b1da9 [1.2] doc(configuration): improve documentation (#6255)
  • c55d5ac test(installer): use locked version of vcs dependency without reference (bran...
  • a4d4cad docs: mention how to add a git dependency with a subdirectory (#6218)
  • 3bce76a deps: update poetry-core dependency
  • 74d6781 release: bump to version 1.2.0rc2
  • f25b801 locker: always use base_pep_508_name (for any constraint base_pep_508_name is...
  • 57f589a repository: keep (uncanonicalized) pretty_name
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot requested a review from a team as a code owner August 31, 2022 04:14
@dependabot dependabot bot added dependencies python Dependabot pull requests that update Python code labels Aug 31, 2022
@jeffwidman
Copy link
Copy Markdown
Member

Merging this will fix #5296

@ulgens
Copy link
Copy Markdown
Contributor

ulgens commented Aug 31, 2022

@pavera @jurre 👋🏻 🌷

@jurre
Copy link
Copy Markdown
Member

jurre commented Aug 31, 2022

Looks like this needs a little bit of work to get the tests passing, I won't have time to look at them today but maybe someone else does

Copy link
Copy Markdown
Contributor

@deivid-rodriguez deivid-rodriguez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So you have updated the output, so that we now support both poetry 1.1 and 1.2, correct? Do we use/have installed multiple poetry versions? If not, do we need to keep old poetry 1.1 support?

@pavera
Copy link
Copy Markdown
Contributor

pavera commented Sep 1, 2022

We have to keep around poetry 1.1 support to maintain python 3.6 support as poetry 1.2 moved to python >= 3.7.

Copy link
Copy Markdown
Contributor

@deivid-rodriguez deivid-rodriguez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aaaah I see! Makes sense!

@jeffwidman jeffwidman force-pushed the dependabot/pip/python/helpers/poetry-1.2.0 branch from bf384f8 to 48cc572 Compare September 2, 2022 02:21
dependabot bot and others added 5 commits September 2, 2022 12:37
@pavera pavera force-pushed the dependabot/pip/python/helpers/poetry-1.2.0 branch from 4c53fc2 to e8c893a Compare September 2, 2022 18:37
@pavera pavera merged commit 1417bf1 into main Sep 2, 2022
@pavera pavera deleted the dependabot/pip/python/helpers/poetry-1.2.0 branch September 2, 2022 18:57
@mctofu mctofu mentioned this pull request Sep 6, 2022
@phillipuniverse
Copy link
Copy Markdown
Contributor

There has been a bit of weirdness between Poetry 1.1 and 1.2 lockfiles. I think a good summary of what's going on is at python-poetry/website#79.

Is there a way to target explicitly the 1.1 version of Poetry in the package-ecosystem in dependabot.yml? I see that we're maintaining support for both, how do you select which one to use?

My use case is that most of my projects currently use Poetry 1.1. I need to go through and update them for 1.2, but in the meantime some of my projects require setuptools to build wheels and all of the Dependabot PRs fail as the poetry.lock files were locked by Poetry 1.2, but my apps are build with Poetry 1.1.

FWIW I'm using GitHub's native dependabot.

@deivid-rodriguez
Copy link
Copy Markdown
Contributor

@phillipuniverse Unfortunately I'm not aware of a way to choose your poetry version. I think we basically install the latest poetry version compatible with your Python version.

However, are these lockfiles really incompatible? My understanding was that upgrades would create a lot of churn because of different orderings inside the lock file, but that it should be compatible other than that?

@Kurt-von-Laven
Copy link
Copy Markdown
Contributor

This pull request shows a difference in the casing of PyYAML between the output of poetry lock --no-update at Poetry 1.1.15 and Poetry 1.2.0, which makes me suspect the lock files may not be 100% compatible in all cases.

@phillipuniverse
Copy link
Copy Markdown
Contributor

@phillipuniverse Unfortunately I'm not aware of a way to choose your poetry version. I think we basically install the latest poetry version compatible with your Python version.

Bummer, that's what I was afraid of.

However, are these lockfiles really incompatible?

It depends. If you don't need to build any wheels for any of your dependencies 1.2 is mostly a drop-in. If you do need to build wheels or have other needs for setuptools, you're kind of hosed.

I'm not even 100% sure I truly understand what the problem is on the Poetry side, something about the special treatment of setuptools. When you do a poetry lock in 1.2, it writes the poetry.lock file in such a way that calling poetry install from Poetry 1.1 unconditionally removes setuptools from the virtualenvironment.

The details of this are probably more suited on the Poetry issue tracker, I was just hoping there was a straightforward Dependabot workaround to keep the old behavior. Unfortunate there isn't but I get it!

@HugoJP1
Copy link
Copy Markdown

HugoJP1 commented Sep 8, 2022

FWIW there are cases where the lockfile generated by poetry in version 1.2.0 is incompatible when running poetry install with version 1.1.15. This can happen when the service uses a private pypi repository which does not support sha256 hashes. See python-poetry/poetry#6301 for more information. In my case all dependabot PRs are now failing on CI because of this problem, so adjusting the poetry version would also be desirable from my perspective, at least until we can get the whole of our internal stack onto 1.2.0 and our internal PYPI server upgraded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies python Dependabot pull requests that update Python code

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

8 participants