## Python 3.13 Compatibility Investigation Based on research in PR airbytehq/airbyte-python-cdk#337, there are two major blockers for Python 3.13 compatibility: ### 1. fastavro Package (1.8.2) The package fails to build with Python 3.13 due to several C API changes: - Use of deprecated Unicode APIs: - `Py_UNICODE` type (deprecated) - `_PyUnicode_FastCopyCharacters` (should use `PyUnicode_CopyCharacters`) - Missing or changed internal C APIs: - `_PyDict_SetItem_KnownHash` undefined - `_PyObject_NextNotImplemented` undefined - `_PyLong_AsByteArray` signature change ### 2. requests-cache Package This is also a blocker for Python 3.12 compatibility (see airbytehq/airbyte-python-cdk#299). ### Required Steps for Python 3.13 Support 1. Track and update fastavro once they add Python 3.13 support 2. Resolve requests-cache compatibility (tracked in airbytehq/airbyte-python-cdk#299) 3. Re-test with Python 3.13 once both dependencies are updated ### Related Links - Research PR: airbytehq/airbyte-python-cdk#337 with CI failure details: https://github.com/airbytehq/airbyte-python-cdk/actions/runs/13314288230/job/37184392678?pr=337 - Python 3.12 compatibility issue: airbytehq/airbyte-python-cdk#299 ### Requested By @aaronsteers
Python 3.13 Compatibility Investigation
Based on research in PR #337, there are two major blockers for Python 3.13 compatibility:
1. fastavro Package (1.8.2)
The package fails to build with Python 3.13 due to several C API changes:
Use of deprecated Unicode APIs:
Py_UNICODEtype (deprecated)_PyUnicode_FastCopyCharacters(should usePyUnicode_CopyCharacters)Missing or changed internal C APIs:
_PyDict_SetItem_KnownHashundefined_PyObject_NextNotImplementedundefined_PyLong_AsByteArraysignature change2. requests-cache Package
This is also a blocker for Python 3.12 compatibility (see #299).
Required Steps for Python 3.13 Support
requests-cachebreaks Python 3.12 compatibility #299)Related Links
requests-cachebreaks Python 3.12 compatibility #299Requested By
Aaron ("AJ") Steers (@aaronsteers)