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]
