onetl
onetl copied to clipboard
Test Python 3.13
Change Summary
Python 3.13 does not allow inheritance like A -> B, A -> C, B+C -> D, this leads to raising error TypeError: multiple bases have instance lay-out conflict.
This was used in 2 cases - mixin classes based on Pydantic models, and inheritance schema like Options(ReadOptions, WriteOptions), ReadWriteFormat(ReadOnlyFormat, WriteOnlyFormat). Replaced with copy-paste of original classes content.
Core tests are failing because PyArrow (dependency of PySpark) does not currently provide https://github.com/apache/arrow/issues/43343 wheels for Python 3.13.
Related issue number
Checklist
- [ ] Commit message and PR title is comprehensive
- [ ] Keep the change as small as possible
- [ ] Unit and integration tests for the changes exist
- [ ] Tests pass on CI and coverage does not decrease
- [ ] Documentation reflects the changes where applicable
- [ ]
docs/changelog/next_release/<pull request or issue id>.<change type>.rstfile added describing change (see CONTRIBUTING.rst for details.) - [ ] My PR is ready to review.