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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do see the point of doing it this way, but I feel that for packages with as few maintainers as cobrapy maybe we should only limit max versions if we know for a fact that the new major version is incompatible with cobrapy code. Especially for pandas where the max version has broken things before. This is because a user can always downgrade pandas by hand if required but going above the max version is much harder for the user.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Initially, I agreed with you, but then I thought back to past experiences and I'm less sure now. I would be okay with doing so for pandas who are very committed to maintaining a stable API, however, I don't think we should make it a general practice. For other packages like libSBML, I was even tempted to pin the version exactly, because upgrades caused us quite a lot of pain. What I'm trying to say, I think it's a quick and easy change to increase the version range at a time of our choosing, when we had time to test a new major version. It's a lot more work to handle issue reports and make fixes just when a dependency comes out with an update.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm makes sense as well and in your defense there were cases where the lack of constraints broke things (like numpy deprecating the internal types). In that case we should probably get better in fixing those things (I mean being quicker about it).