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

Unpin dependencies (or adopt a bot to help upgrade it like Dependabot) #47

Closed
paw-lu opened this issue Apr 18, 2022 · 4 comments
Closed

Comments

@paw-lu
Copy link
Contributor

paw-lu commented Apr 18, 2022

Hi! Enjoying the project!

One issue I have come across again is that this project's dependecy pinning causes conflicts with other libraries

It happened once before to Click, and recently again have had trouble with Rich.

Rich itself updates major versions pretty often, so this is likely to happen again in the future.

Two solutions:

  1. Unpin the dependencies, this is becoming more popular. It just involves switching from pining to the major version to just enforcing a minmum version.

    - rich = "^10.14.0"
    + rich = ">=10.14.0"
  2. Use an automation tool like Dependabot to keep your depenencies up to date, and update often.

Happy to help with either of these if you are interested.

Again, thanks for the tool!

Edit: Wrong article was linked in first point (it supported the second point)

@guilatrova
Copy link
Owner

Thank you @paw-lu for making such great suggestions and for contributing to the project.

I'll read the article you share since I'm interested, and then share thoughts.

@guilatrova
Copy link
Owner

I got convinced with this article: https://iscinumpy.dev/post/bound-version-constraints/#python-is-not-javascript

I read specific sections, it's very clear to me the problem and I do agree we should solve it. I'll prepare a PR with suggestions and assign it to your for review @paw-lu

guilatrova added a commit that referenced this issue Apr 23, 2022
motivated by this issue: #47

in short: We don't want to restrict users from using Tryceratops
because some other lib bumped its major version (e.g. Rich)

by reading https://iscinumpy.dev/post/bound-version-constraints/
it got clear that Tryceratops should be more permissive

we're keeping dev dependencies as is since they should be installed
only locally for developmemnt purposes
@GlenNicholls
Copy link

I got convinced with this article: https://iscinumpy.dev/post/bound-version-constraints/#python-is-not-javascript

I read specific sections, it's very clear to me the problem and I do agree we should solve it. I'll prepare a PR with suggestions and assign it to your for review @paw-lu

Thanks for posting that! I ran into a conflict between rich and tryceratops this morning trying it out and was surprised since my app uses rich, but I wanted to see what kind of feedback tryceratops had about my code.

guilatrova added a commit that referenced this issue Apr 30, 2022
motivated by this issue: #47

in short: We don't want to restrict users from using Tryceratops
because some other lib bumped its major version (e.g. Rich)

by reading https://iscinumpy.dev/post/bound-version-constraints/
it got clear that Tryceratops should be more permissive

we're keeping dev dependencies as is since they should be installed
only locally for developmemnt purposes
guilatrova added a commit that referenced this issue Apr 30, 2022
motivated by this issue: #47

in short: We don't want to restrict users from using Tryceratops
because some other lib bumped its major version (e.g. Rich)

by reading https://iscinumpy.dev/post/bound-version-constraints/
it got clear that Tryceratops should be more permissive

we're keeping dev dependencies as is since they should be installed
only locally for developmemnt purposes
@guilatrova
Copy link
Owner

@GlenNicholls It should have been solved already. Let me know if it's still happening for you.
Closing this issue for now.

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

No branches or pull requests

3 participants