fboudra opened a new pull request, #51376:
URL: https://github.com/apache/arrow/pull/51376

   ### Rationale for this change
   
   https://github.com/apache/arrow/issues/50398
   https://github.com/apache/arrow/issues/50829
   
   ### What changes are included in this PR?
   
   Adds python/scripts/audit_limited_api_symbols.py. It reads the dynamic 
symbol table of each built extension (a pure stdlib ELF reader on POSIX, 
objdump for Windows .pyd), collects every Py* symbol it imports, and checks 
that a reference CPython 3.11 exports it. Any miss fails the audit.
   
   This catches stable ABI regressions, such as a symbol that is only exported 
since 3.13 or 3.14 (Py_REFCNT), before it ends up in a cp311-abi3 wheel. It is 
a standalone script in this PR; the following CI PR wires it into the wheel 
builds as a gate.
   
   ### Are these changes tested?
   
   Yes
   
   ### Are there any user-facing changes?
   
   No
   
   ### Was AI used for this PR?
   
   **PR code and description written by:**
   
   - [x ] Human
   - [ ] AI
   
   **Reviewed before submission by:**
   
   - [ x] Human
   - [ ] AI
   - [ ] Not reviewed


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