gtristan commented on code in PR #2019: URL: https://github.com/apache/buildstream/pull/2019#discussion_r2186699367
########## src/buildstream/_pluginfactory/pluginoriginpip.py: ########## @@ -72,7 +72,7 @@ def get_plugin_paths(self, kind, plugin_type): reason="package-not-found", ) from e - if dist.version not in package.specifier: + if not package.specifier.contains(dist.version, prereleases=True): Review Comment: @abderrahim writes: > What I consider to be different between pip and buildstream is that buildstream doesn't install these packages. Agree. > So if the user has already installed a prerelease of buildstream-plugins-community, we should let them use it Disagree. The purpose of the version string for plugins in the pip origin is for the project to make an assertion on it's requirements. To avoid confusion, this version constraint should follow the pep and refuse to accept a prerelease if the version constraint expressed would not allow for a prerelease according to the pep 0440. **If** it is the case that `buildstream-plugins-community` without any specific version allowed for prereleases in the past, but are not supposed to allow for that according to the pep 0440, then I think it would be good to fix that even if it changes buildstream behavior, and declare that this behavior was anyway broken until we now fixed it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@buildstream.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org