Skip to content

Conversation

@evansims
Copy link
Contributor

@evansims evansims commented Feb 13, 2025

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 evansims force-pushed the perf/refactor-networking-and-serialization branch from 42d2220 to 827c358 Compare February 13, 2025 04:30
@evansims evansims changed the title perf: refactor networking and serialization perf!: refactor networking and serialization Feb 13, 2025
@evansims evansims force-pushed the perf/refactor-networking-and-serialization branch from 950000b to 502fa8e Compare March 1, 2025 04:48
@evansims evansims force-pushed the perf/refactor-networking-and-serialization branch from 5a01472 to 28bbcff Compare March 4, 2025 04:53
@evansims evansims closed this May 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants