Change dependency for macaroonbakery to support protobuf >= 4.21.1 #956
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Here's what this is trying to fix:
macaroonbakery
library hasn't been getting much love since 2020, and currently depends onprotobuf>=3.4.0,<4.0
mysql-connector-python
library latest version depends onprotobuf>=4.21.1
.pylibjuju
depends onmacaroonbakery
.Therefore anyone wants to use
pylibjuju
along withmysql-connector-python
in their project can't satisfyprotobuf
version constraints.So I made a fork of macaroon bakery that relaxes the protobuf version, and pylibjuju points to that. I also created a pull request to the upstream repo. go-macaroon-bakery/py-macaroon-bakery#90 . If that lands, then this dependency can go back to using
pypi
. But until then, pylibjuju needs to point to that fork in order to be compatible withmysql-connector-python
.Fixes #914
QA Steps
Dependency can be tested by the QA from #914, such as:
Steps to reproduce:
poetry new foo
cd foo
poetry add mysql-connector-python^8.1.0
poetry add juju>=2
Pylibjuju should work as normal. macaroonbakery is used in
client/connection
so it's pretty central. If there's a problem, we'd definitely see it in the tests.Notes & Discussion
JUJU-4620