Skip to content

Conversation

@lcian
Copy link
Member

@lcian lcian commented Oct 29, 2025

Description

Adds an initial implementation for the Python client.
This is almost a 1 to 1 port of the code that currently lives in sentry.

The only change is that the the metrics backend has been abstracted, using an approach similar to what we do with arroyo in sentry.
That is, we define a MetricsBackend interface that the user will need to implement and pass to the client if they want to record metrics. By default, NoOpMetricsBackend will be used.

The ClientBuilder and Client now take a MetricsBackend parameter which they'll pass to the measure_storage_operation context manager.

Next steps

  • Docs
  • Publish
  • Revisit API if needed
  • E2E tests with server

Issues

Close FS-169
Close FS-174

@linear
Copy link

linear bot commented Oct 29, 2025

@linear
Copy link

linear bot commented Oct 29, 2025

@lcian lcian marked this pull request as ready for review October 29, 2025 10:08
@lcian lcian requested a review from a team as a code owner October 29, 2025 10:08
Base automatically changed from lcian/feat/python-client-devsetup to main October 29, 2025 17:08
@lcian lcian requested a review from jan-auer October 30, 2025 09:51
@lcian lcian merged commit 8e0f81c into main Oct 30, 2025
16 checks passed
@lcian lcian deleted the lcian/feat/python-client-initial-code branch October 30, 2025 15:04
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.

4 participants