amol- commented on pull request #10162: URL: https://github.com/apache/arrow/pull/10162#issuecomment-831918769
> We could certainly restrict what we see as public cython API, but then we should start with more explicitly documenting it, if it's not "whatever is exposed in `pyarrow/lib.pxd` / by `from pyarrow.lib cimport ...`" I feel that would be a good idea. I feel that pyarrow would benefit from a more clear separation between internals and public facing API. Given that Python doesn't usually foster that kind of separation very well it becomes even more important for frameworks and libraries to make clear what's the contract with users. Otherwise the risk is to make user experience terrible and get the project perceived as fragile (as every time you change something you break someone else code) while also having an hard life every time you want to change/refactor something as you never know if you are going to break someone else code. Imho a clear definition of the public facing API is as important as automated tests for a library/framework. -- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org