Repository navigation
Conversation
|
Thanks! If I may comment here, it does not seem ideal to me that the In general, I would not suggest putting a strict ( [It is also worth noting while we're on the topic that it seems Python best practices have shifted towards having In any case, this PR technically closes #472, but the issue is going to crop up again each time |
Thank you for bringing this up. The way it is set up is largely intentional, the reason being that we would rather have to explicitly test new versions of a library than have users run into mysterious problems because one of the packages decided to make breaking changes in a minor update (something that has happened in the past - took quite a bit of effort to find). We could make one choice or another. However, no matter what choice we make, it is impossible to ensure, given two packages that depend on some library, that the requirements of the two packages are both simultaneously met with a single version of that library and that they are both working correctly since they may simply be only working correctly with different versions of the library. Even the simple assumption that a future version of a library will necessary work as expected is, from a theoretical standpoint, not true. So the question that remains is what do we shift to the user: the burden of having to troubleshoot potentially obscure internal incompatibilities between psij and a library, or the burden of submitting these feature requests. It's kinda hard to answer because, to be fair, we need to look at the expectation value of things, and it might very well be that the rate at which libraries versions (at the granularity we track) are increased is higher than the rate at which incompatibilities of the kind we dislike are introduced. And, also quite likely, those rates are different for different libraries. I'll reach out to folks and see if we can acquire more wisdom in the matter. |
|
Thanks for the reply and consideration.
I don't believe this is at odds with my suggestion. If you run your CI to run tests on Perhaps the issue with this logic is that you don't intend to mint releases at such a cadence? Of course, you can choose to maintain the package however you deem most desirable! But I think it would be unfortunate to restrict users to specific versions even when incompatibilities do not necessarily exist. |
We need to specify, for each dependency, a range of versions for which we know a deployment of psi/j works correctly. For this purpose, there is no distinction between installing psij as a library in a larger project through The dependabot suggestion is great, because it prevents users from having to poke us to update things. I believe it can be configured to widen the current constraints, which is what we do anyway. And the resulting PRs would be automatically tested on the various clusters we test on, so it should be exhaustive.
Ideally, we do and it only takes a minute or so to make a release, and we can probably further automate that, but I think we want a "take a minute and think about it" step in that workflow.
We want reasonable confidence that incompatibilities do not exist. But I think we can achieve that with your dependabot suggestion. I'll try to set it up in the next few days. |
Dependabot is up and running. I will close this PR since it is not relevant any more (the dependabot PR updating this library was merged). |
Fixes #472