Skip to content
This repository has been archived by the owner on Feb 18, 2024. It is now read-only.

Split crate in smaller crates #257

Open
jorgecarleitao opened this issue Aug 6, 2021 · 4 comments
Open

Split crate in smaller crates #257

jorgecarleitao opened this issue Aug 6, 2021 · 4 comments

Comments

@jorgecarleitao
Copy link
Owner

jorgecarleitao commented Aug 6, 2021

Hi,

I would like to gauge interest in splitting this crate in 3 smaller crates,

  • arrow2-core
  • arrow2-compute
  • arrow2-io

so that we can:

  1. apply a different versioning to them. E.g. the core part hasn't had a backward incompatible change for some time now, but all other parts had some recently.
  2. add features more dedicated to each of the parts. E.g. compute currently drags a lot of stuff, even if people would just like part of the compute
  3. Reduce the compilation times

arrow2-core would contain:

alloc
array
bitmap
buffer
datatypes
ffi
types
util
error

arrow2-compute would contain the compute, and arrow2-io would contain io.

@jorgecarleitao
Copy link
Owner Author

any thoughts, @ritchie46 @sundy-li @elferherrera ?

@ritchie46
Copy link
Collaborator

add features more dedicated to each of the parts. E.g. compute currently drags a lot of stuff, even if people would just like part of the compute

hear hear. 😄

I think it is a good idea to have a minimal core crate. I am mostly for cherry picking IO and compute utils, but that can be achieved with feature gates. I think this is a good step to improve compile times. No extra thoughts.

@elferherrera
Copy link
Contributor

I like the idea as well, specially for the compilation times.
However, what would be the plan for future versioning if Arrow2 becomes part of apache arrow with multiple crates?
Or are you really considering leaving arrow2 outside apache? (I dont mind either, just wondering how it will work in the future)

@yjhmelody
Copy link
Contributor

Good idea, in my project, I only use arrow2 computing related APIs.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants