JanKaul commented on PR #15: URL: https://github.com/apache/iceberg-rust/pull/15#issuecomment-1659724057
I'm definitely in favor of small crates compared to using features. From my perspective features can get really messy when there is a hierarchy of crates depending on each other (Crate A uses feature 1 of `iceberg` and crate B wants to use crate A without feature 1 and so on). Plus compile times should be much better. There is one downside. You cannot implement traits for structs defined outside of your crate. So if you want to implement Datafusions `TableProvider` for example, you have to create a wrapper struct like so: ``` struct DatafusionTable(IcebergTable); ``` Reagrding the release cadence, I have no preference. We could release the small crates all with the same version number or release them separately. -- 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]
