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


Reply via email to