python-sdk
python-sdk copied to clipboard
perf!: refactor networking and serialization
Description
[!CAUTION] This pull request and accompanying feature branch represent a major refactoring in progress of the SDK, most significantly all of the networking and serialization layers. It's intended as a proof of concept at this point.
Goals:
- Simplified and consistent public APIs
- Parity between the async/sync REST clients
- Performance improvements, particularly in the networking and serialization layers
- Massive reduction in redundant code by moving common code between the async/sync clients into common base classes
- Interfaces (Prototypes) for better developer experience
- Rigorous type hinting throughout the public APIs
- Leveraging
dataclasses to reduce overhead and simplify APIs
BREAKING CHANGE: These changes represent a significant reworking of the SDK's public APIs, simplifying its interfaces and introducing rigorous type hinting and interfaces.
References
Review Checklist
- [ ] I have clicked on "allow edits by maintainers".
- [ ] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
- [ ] The correct base branch is being used, if not
main - [ ] I have added tests to validate that the change in functionality is working as expected