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]
