Hi

First off, congrats for the 1.0.0 release!

I am writing because I am trying to understand the versioning schema we
will use going onwards.

AFAI understand, 1.0.0 was assigned to all subcomponents of arrow. I.e. I
can now use pyarrow and assign something like >=1,<2 on a setup.py.

However, looking at other parts of the project, I get the feeling that
these components are less mature / more recent, and likely need more
backward incompatible changes until a stable API is achieved. In other
words, within arrow, I get the feeling that different parts are at
significantly different stages of their development lifetime.

How are we planning to reconcile this fact? E.g. I can see pyarrow not
wanting to bump from 1 to 2 since no backward incompatible change was
introduced, while other components have backward incompatible changes.

A related question: what exactly are we versioning with this 1.0.0? The
protocol? The individual APIs? The project as a whole?

In my view, there is a case here to _not_ align the versions of the
different components, exactly to avoid having one component's version (e.g.
pyarrow) be dependent on other's code (e.g. rust arrow). However, I suspect
that this discussion has already taken place and I have been unable to find
a summary of it.

Best,
Jorge

Reply via email to