python-sdk icon indicating copy to clipboard operation
python-sdk copied to clipboard

perf!: refactor networking and serialization

Open evansims opened this issue 9 months ago • 0 comments

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

evansims avatar Feb 13 '25 04:02 evansims