paleolimbot commented on issue #597:
URL: 
https://github.com/apache/arrow-nanoarrow/issues/597#issuecomment-2311434804

   I'm definitely a +1 to moving off of Cython for all the reasons you 
mentioned! I am not sure I would call it a development priority at the 
moment...we can probably remove the automatic pxd generation in favour of what 
everybody else does, which is manually add Cython declarations whenever the C 
library changes.
   
   One place to start is to migrate some of the low-level code out of Cython to 
C, like the `AppendBytes()` bit you picked up on, or some of the memory 
management/callback code. Then it can be called from Cython or by a future 
nanobind implementation (and in the meantime is eaiser to write and debug). 
Rather than THROW_NOT_OK it would do whatever Python does for this in its C API 
(set erroccured or something).
   
   All just thoughts! I recently went through and modularized the Cython 
components...if it were to switch over to nanobind, I think we could maybe try 
switching over one .pyx at a time? That would probably require removing all of 
the `cimport`s (probably by accessing components like `some_instance._schema` 
as `<ArrowSchema*><uintptr_t>some_instance._schema_addr()` or something.


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