gabotechs commented on issue #1612:
URL: 
https://github.com/apache/datafusion-python/issues/1612#issuecomment-4892860209

   Just to highlight a few disadvantages of Option 2 that are not specific to 
any particular project:
   
   * It introduces additional constraints on upstream’s internal APIs. For 
example, https://github.com/apache/datafusion/pull/22340 imposes the constraint 
that the session passed to QueryPlanner must be immutable and cannot be cloned. 
In this particular case, that constraint seems reasonable to me, but it raises 
the broader question of how well this approach scales if downstream projects 
continue imposing similar constraints on datafusion.
   * From an API and packaging perspective, end users may end up with a more 
fragmented experience: different APIs inconsistent with their Rust 
counterparts, managing multiple Python packages (each with overlapping or 
duplicated wheels), navigating documentation spread across several projects, 
and manually dealing with version compatibility between those packages.
   
   To me, this second point is the one that should carry the most weight when 
evaluating Option 1 vs. Option 2, hence the reason we I think it's important to 
start constructing from end-user experience first.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to