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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): unpin upper bound #355

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

alessio-locatelli
Copy link

Libraries must not lock the upper bound unless it is a known and verified incompatibility.

Libraries must not lock the upper bound unless it is a known and verified incompatibility.
@cunla
Copy link
Owner

cunla commented Dec 25, 2024

Considering major versions can contain breaking change, I find it better to have versions bound by ^.

Where did you get this standard from?

@alessio-locatelli
Copy link
Author

alessio-locatelli commented Dec 25, 2024

Considering major versions can contain breaking change, I find it better to have versions bound by ^.

Where did you get this standard from?

From 1:00 to 5:00 is right for you: https://youtu.be/WSVFw-3ssXM?si=ytC_HJYWefL97QX_ Please watch it. Although, this is explained by other articles on the web.

I am working on a project with dozens of dependencies and so far fakeredis is the only blocker. It is very hard to find a high-quality library that pins upper bounds for dependencies (of course, except cases when it is a known incompatibility):

@cunla
Copy link
Owner

cunla commented Dec 25, 2024

What block are you experiencing?

Considering most libraries I am familiar with use ^ - I need to research some more.

Example:
https://github.com/python-poetry/poetry/blob/main/pyproject.toml#L31-L56

@alessio-locatelli
Copy link
Author

alessio-locatelli commented Dec 25, 2024

Any library that use fakeredis-py will need to write python >=x.y.z, <4 (with <4) or ^3.y, then any project that use these libraries will need to write ^3 or <4, etc. This is like a snowball effect. I will not be too upset if you close this, but taking into account the explanations in https://youtu.be/WSVFw-3ssXM?si=ytC_HJYWefL97QX I think the best practice is to remove all upper limits, except in cases where you know something will not work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants