You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@iceberg.apache.org by "corleyma (via GitHub)" <gi...@apache.org> on 2023/04/21 19:51:56 UTC

[GitHub] [iceberg] corleyma commented on pull request #7376: Python: Provide version ranges for each dependency

corleyma commented on PR #7376:
URL: https://github.com/apache/iceberg/pull/7376#issuecomment-1518269753

   Setting upper bounds has a lot of problems for library code that is intended to be used by a lot of third parties.  See also[ this blog](https://iscinumpy.dev/post/bound-version-constraints/) for a detailed discussion of the problems this creates.  Tl;dr for some of the big points:
   
   It would be better to leave upper versions unbound, and to pin around broken versions if/when they are discovered.  
    - Your library users can always manually drop down to a lower version of a dependency if they encounter an issue
    - However, if you pin upper bound, users have no way of adopting a newer version of the dependency even if there is no actual incompatibility--they have to wait for you to release a new version without the pin.
    - Since many of your dependencies are core members of the python data ecosystem, and given how long PRs tend to sit in this project currently, it's almost certain that you will be holding folks back from adopting the latest and greatest when e.g. pyarrow drops a new major version (happens every few months).
    
    There are many other important problems outlined in the blog post, but these above should be enough to argue convincingly for setting minimum versions only, and updating your pins when genuine incompatibility is discovered.


-- 
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: issues-unsubscribe@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@iceberg.apache.org
For additional commands, e-mail: issues-help@iceberg.apache.org