Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf!: refactor networking and serialization #170

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

evansims
Copy link
Member

@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
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.

1 participant