-
Notifications
You must be signed in to change notification settings - Fork 37
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
fix: pypi package should not pin dependencies precisely #670
fix: pypi package should not pin dependencies precisely #670
Conversation
Signed-off-by: Nicolas Höning <[email protected]>
Does this require a changelog entry? |
This might benefit from a simple example in which some package has two dependencies: FM, and a FM dependency. Maybe in the docs, but also handy for review (testing). Or is that something for the plugin cookie cutter instead? |
Who is the intended audience for that example? I believe FM now behaves more like one expects from pypi packages. |
True. Would this PR also mean that when have only FM as a dependency, you get it with the latest of all of FM's dependencies? Some of these would be untested by us to work with FM. For example, |
The drawback with adding max versions is that (a rather recent version of) FlexMeasures becomes unusable as soon as one little library releases a non-significant release beyond what we tested against. I believe this is a game that cannot be played to perfection, but just needs good continuous attention. For intance, I guess we should add something like We currently have problems with major versions of major libraries with redis, pandas and SQLAlchemy. |
Yes, you get the latest stable versions, as per the way pip works. |
I don't understand how that works. Why would that make FM become unusable? |
But in general, I agree. I just wonder whether we should include some sort of fallback instructions in case pip installing FM installs a broken version (due to untested dependencies). Something like |
Alright, it's not immediate. |
The .txt requirement files exist and can be used quite directly. |
Okay I understand it better now. Just to be precise about the scope of this PR: let me know if the below is inexact. We forfeit control over what exact dependency versions are installed, but only when FM is installed as a package, which is the expected behaviour for packages anyway. This PR affects developers installing FM as a package. It doesn't affect developers installing the dev version, and also not hosts using FM via Docker, where we still control the exact versions used. We are aware that first-time triers could run into run errors due to dependency issues, but this risk is mitigated by:
Should we modify our Issue template to ask for a list of installed dependencies? |
This is a good description IMO and I agree with these two ideas in principle. Or, in any case, let me look into the first one in this PR. |
I made an issue out of the test pipeline extension idea, as I want to review and merge this PR soon. The CI pipeline is not made worse with this PR. |
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.
Geronimo!
closes #668