From bebf6577456e3b057e739d24cdd56dcc98dcd3e0 Mon Sep 17 00:00:00 2001 From: Ankur Goyal Date: Thu, 19 Mar 2026 22:51:36 -0700 Subject: [PATCH] add patch --- py/src/braintrust/logger.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/py/src/braintrust/logger.py b/py/src/braintrust/logger.py index a9ba479b..f7c56d2b 100644 --- a/py/src/braintrust/logger.py +++ b/py/src/braintrust/logger.py @@ -788,6 +788,9 @@ def get(self, path: str, *args: Any, **kwargs: Any) -> requests.Response: def post(self, path: str, *args: Any, **kwargs: Any) -> requests.Response: return self.session.post(_urljoin(self.base_url, path), *args, **kwargs) + def patch(self, path: str, *args: Any, **kwargs: Any) -> requests.Response: + return self.session.patch(_urljoin(self.base_url, path), *args, **kwargs) + def put(self, path: str, *args: Any, **kwargs: Any) -> requests.Response: return self.session.put(_urljoin(self.base_url, path), *args, **kwargs) @@ -804,6 +807,11 @@ def post_json(self, object_type: str, args: Mapping[str, Any] | None = None) -> response_raise_for_status(resp) return resp.json() + def patch_json(self, object_type: str, args: Mapping[str, Any] | None = None) -> Any: + resp = self.patch(f"/{object_type.lstrip('/')}", json=args) + response_raise_for_status(resp) + return resp.json() + # Sometimes we'd like to launch network requests concurrently. We provide a # thread pool to accomplish this. Use a multiple of number of CPU cores to limit