westonpace commented on issue #13185:
URL: https://github.com/apache/arrow/issues/13185#issuecomment-1130062482

   We technically do use semantic versioning.  However, we release several 
implementations chained together (C++, python, Java, Ruby, R, probably more I'm 
missing) and it is generally a given that there is a breaking change in at 
least one of the libraries.  Also, libraries like pyarrow have rather extensive 
sets of functionality, so while the core functionality is stable, there is 
always a certain amount of experimental API surface.
   
   > using pyarrow is problematic, since it is impossible to tell if the 
different libraries will work together e.g. one was tested with pyarrow 1.0.0 
and one with pyarrow 5.0.0 and pyarrow is now at 8.0.0.
   
   Keep in mind that there is a format version in addition to the library 
version.  The Arrow Columnar Format is at version 1.0 (and has been for quite a 
while).  All versions of pyarrow should support format version 1.0.  The 
serialization formats themselves have versions (e.g. parquet, IPC, ...)  These 
versions change rather slowly as well.  At the moment all versions of pyarrow 
should work with all versions of the IPC format.
   
   How important for your use cases is it that the library itself is stable 
versus the file format?  Is your main concern making sure that files produced 
in one version are usable in another?  Or that two apps can send data back and 
forth?  Or are you coming at this as an app developer building on top of 
pyarrow?  In which case your concern might be that someone that installs your 
app with pyarrow 7 then has your app break when moving to pyarrow 6 or 8?


-- 
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]

Reply via email to