diff --git a/.stats.yml b/.stats.yml index dad3fc78..681b4257 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ -configured_endpoints: 14 +configured_endpoints: 15 openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/brainbase-egrigokhan%2Fbrainbase-a197a88d1abbdbd5c886875d2cf12ffd6abf79aec7d4dbd0439ed50197692eba.yml diff --git a/api.md b/api.md index 77b07ee9..2ef3de3f 100644 --- a/api.md +++ b/api.md @@ -2,10 +2,11 @@ Methods: -- client.workers.create(id, \*\*params) -> None +- client.workers.create(\*\*params) -> None - client.workers.retrieve(id) -> None - client.workers.list() -> None -- client.workers.delete(id) -> None +- client.workers.create_id(id, \*\*params) -> None +- client.workers.delete_id(id) -> None ## Deployments diff --git a/src/brainbase/resources/workers/workers.py b/src/brainbase/resources/workers/workers.py index eb3d3e1c..ca7e4c4b 100644 --- a/src/brainbase/resources/workers/workers.py +++ b/src/brainbase/resources/workers/workers.py @@ -12,7 +12,7 @@ FlowsResourceWithStreamingResponse, AsyncFlowsResourceWithStreamingResponse, ) -from ...types import worker_create_params +from ...types import worker_create_params, worker_create_id_params from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven from ..._utils import ( maybe_transform, @@ -69,10 +69,9 @@ def with_streaming_response(self) -> WorkersResourceWithStreamingResponse: def create( self, - id: str, *, + name: str, description: str | NotGiven = NOT_GIVEN, - name: str | NotGiven = NOT_GIVEN, status: str | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -82,7 +81,7 @@ def create( timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, ) -> None: """ - Update a worker + Create a new worker Args: extra_headers: Send extra headers @@ -93,15 +92,13 @@ def create( timeout: Override the client-level default timeout for this request, in seconds """ - if not id: - raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return self._post( - f"/api/workers/{id}", + "/api/workers", body=maybe_transform( { - "description": description, "name": name, + "description": description, "status": status, }, worker_create_params.WorkerCreateParams, @@ -166,7 +163,52 @@ def list( cast_to=NoneType, ) - def delete( + def create_id( + self, + id: str, + *, + description: str | NotGiven = NOT_GIVEN, + name: str | NotGiven = NOT_GIVEN, + status: str | NotGiven = NOT_GIVEN, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, + ) -> None: + """ + Update a worker + + Args: + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + """ + if not id: + raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") + extra_headers = {"Accept": "*/*", **(extra_headers or {})} + return self._post( + f"/api/workers/{id}", + body=maybe_transform( + { + "description": description, + "name": name, + "status": status, + }, + worker_create_id_params.WorkerCreateIDParams, + ), + options=make_request_options( + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + ), + cast_to=NoneType, + ) + + def delete_id( self, id: str, *, @@ -231,10 +273,9 @@ def with_streaming_response(self) -> AsyncWorkersResourceWithStreamingResponse: async def create( self, - id: str, *, + name: str, description: str | NotGiven = NOT_GIVEN, - name: str | NotGiven = NOT_GIVEN, status: str | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -244,7 +285,7 @@ async def create( timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, ) -> None: """ - Update a worker + Create a new worker Args: extra_headers: Send extra headers @@ -255,15 +296,13 @@ async def create( timeout: Override the client-level default timeout for this request, in seconds """ - if not id: - raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") extra_headers = {"Accept": "*/*", **(extra_headers or {})} return await self._post( - f"/api/workers/{id}", + "/api/workers", body=await async_maybe_transform( { - "description": description, "name": name, + "description": description, "status": status, }, worker_create_params.WorkerCreateParams, @@ -328,7 +367,52 @@ async def list( cast_to=NoneType, ) - async def delete( + async def create_id( + self, + id: str, + *, + description: str | NotGiven = NOT_GIVEN, + name: str | NotGiven = NOT_GIVEN, + status: str | NotGiven = NOT_GIVEN, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, + ) -> None: + """ + Update a worker + + Args: + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + """ + if not id: + raise ValueError(f"Expected a non-empty value for `id` but received {id!r}") + extra_headers = {"Accept": "*/*", **(extra_headers or {})} + return await self._post( + f"/api/workers/{id}", + body=await async_maybe_transform( + { + "description": description, + "name": name, + "status": status, + }, + worker_create_id_params.WorkerCreateIDParams, + ), + options=make_request_options( + extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout + ), + cast_to=NoneType, + ) + + async def delete_id( self, id: str, *, @@ -376,8 +460,11 @@ def __init__(self, workers: WorkersResource) -> None: self.list = to_raw_response_wrapper( workers.list, ) - self.delete = to_raw_response_wrapper( - workers.delete, + self.create_id = to_raw_response_wrapper( + workers.create_id, + ) + self.delete_id = to_raw_response_wrapper( + workers.delete_id, ) @cached_property @@ -402,8 +489,11 @@ def __init__(self, workers: AsyncWorkersResource) -> None: self.list = async_to_raw_response_wrapper( workers.list, ) - self.delete = async_to_raw_response_wrapper( - workers.delete, + self.create_id = async_to_raw_response_wrapper( + workers.create_id, + ) + self.delete_id = async_to_raw_response_wrapper( + workers.delete_id, ) @cached_property @@ -428,8 +518,11 @@ def __init__(self, workers: WorkersResource) -> None: self.list = to_streamed_response_wrapper( workers.list, ) - self.delete = to_streamed_response_wrapper( - workers.delete, + self.create_id = to_streamed_response_wrapper( + workers.create_id, + ) + self.delete_id = to_streamed_response_wrapper( + workers.delete_id, ) @cached_property @@ -454,8 +547,11 @@ def __init__(self, workers: AsyncWorkersResource) -> None: self.list = async_to_streamed_response_wrapper( workers.list, ) - self.delete = async_to_streamed_response_wrapper( - workers.delete, + self.create_id = async_to_streamed_response_wrapper( + workers.create_id, + ) + self.delete_id = async_to_streamed_response_wrapper( + workers.delete_id, ) @cached_property diff --git a/src/brainbase/types/__init__.py b/src/brainbase/types/__init__.py index 5976bd7c..fa40311b 100644 --- a/src/brainbase/types/__init__.py +++ b/src/brainbase/types/__init__.py @@ -3,3 +3,4 @@ from __future__ import annotations from .worker_create_params import WorkerCreateParams as WorkerCreateParams +from .worker_create_id_params import WorkerCreateIDParams as WorkerCreateIDParams diff --git a/src/brainbase/types/worker_create_id_params.py b/src/brainbase/types/worker_create_id_params.py new file mode 100644 index 00000000..df526612 --- /dev/null +++ b/src/brainbase/types/worker_create_id_params.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. + +from __future__ import annotations + +from typing_extensions import TypedDict + +__all__ = ["WorkerCreateIDParams"] + + +class WorkerCreateIDParams(TypedDict, total=False): + description: str + + name: str + + status: str diff --git a/src/brainbase/types/worker_create_params.py b/src/brainbase/types/worker_create_params.py index f84e516c..757c0420 100644 --- a/src/brainbase/types/worker_create_params.py +++ b/src/brainbase/types/worker_create_params.py @@ -2,14 +2,14 @@ from __future__ import annotations -from typing_extensions import TypedDict +from typing_extensions import Required, TypedDict __all__ = ["WorkerCreateParams"] class WorkerCreateParams(TypedDict, total=False): - description: str + name: Required[str] - name: str + description: str status: str diff --git a/tests/api_resources/test_workers.py b/tests/api_resources/test_workers.py index a6c4d926..41555aa3 100644 --- a/tests/api_resources/test_workers.py +++ b/tests/api_resources/test_workers.py @@ -19,7 +19,7 @@ class TestWorkers: @parametrize def test_method_create(self, client: Brainbase) -> None: worker = client.workers.create( - id="id", + name="name", ) assert worker is None @@ -27,9 +27,8 @@ def test_method_create(self, client: Brainbase) -> None: @parametrize def test_method_create_with_all_params(self, client: Brainbase) -> None: worker = client.workers.create( - id="id", - description="description", name="name", + description="description", status="status", ) assert worker is None @@ -38,7 +37,7 @@ def test_method_create_with_all_params(self, client: Brainbase) -> None: @parametrize def test_raw_response_create(self, client: Brainbase) -> None: response = client.workers.with_raw_response.create( - id="id", + name="name", ) assert response.is_closed is True @@ -50,7 +49,7 @@ def test_raw_response_create(self, client: Brainbase) -> None: @parametrize def test_streaming_response_create(self, client: Brainbase) -> None: with client.workers.with_streaming_response.create( - id="id", + name="name", ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -60,14 +59,6 @@ def test_streaming_response_create(self, client: Brainbase) -> None: assert cast(Any, response.is_closed) is True - @pytest.mark.skip() - @parametrize - def test_path_params_create(self, client: Brainbase) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): - client.workers.with_raw_response.create( - id="", - ) - @pytest.mark.skip() @parametrize def test_method_retrieve(self, client: Brainbase) -> None: @@ -140,16 +131,69 @@ def test_streaming_response_list(self, client: Brainbase) -> None: @pytest.mark.skip() @parametrize - def test_method_delete(self, client: Brainbase) -> None: - worker = client.workers.delete( + def test_method_create_id(self, client: Brainbase) -> None: + worker = client.workers.create_id( + id="id", + ) + assert worker is None + + @pytest.mark.skip() + @parametrize + def test_method_create_id_with_all_params(self, client: Brainbase) -> None: + worker = client.workers.create_id( + id="id", + description="description", + name="name", + status="status", + ) + assert worker is None + + @pytest.mark.skip() + @parametrize + def test_raw_response_create_id(self, client: Brainbase) -> None: + response = client.workers.with_raw_response.create_id( + id="id", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + worker = response.parse() + assert worker is None + + @pytest.mark.skip() + @parametrize + def test_streaming_response_create_id(self, client: Brainbase) -> None: + with client.workers.with_streaming_response.create_id( + id="id", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + worker = response.parse() + assert worker is None + + assert cast(Any, response.is_closed) is True + + @pytest.mark.skip() + @parametrize + def test_path_params_create_id(self, client: Brainbase) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + client.workers.with_raw_response.create_id( + id="", + ) + + @pytest.mark.skip() + @parametrize + def test_method_delete_id(self, client: Brainbase) -> None: + worker = client.workers.delete_id( "id", ) assert worker is None @pytest.mark.skip() @parametrize - def test_raw_response_delete(self, client: Brainbase) -> None: - response = client.workers.with_raw_response.delete( + def test_raw_response_delete_id(self, client: Brainbase) -> None: + response = client.workers.with_raw_response.delete_id( "id", ) @@ -160,8 +204,8 @@ def test_raw_response_delete(self, client: Brainbase) -> None: @pytest.mark.skip() @parametrize - def test_streaming_response_delete(self, client: Brainbase) -> None: - with client.workers.with_streaming_response.delete( + def test_streaming_response_delete_id(self, client: Brainbase) -> None: + with client.workers.with_streaming_response.delete_id( "id", ) as response: assert not response.is_closed @@ -174,9 +218,9 @@ def test_streaming_response_delete(self, client: Brainbase) -> None: @pytest.mark.skip() @parametrize - def test_path_params_delete(self, client: Brainbase) -> None: + def test_path_params_delete_id(self, client: Brainbase) -> None: with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): - client.workers.with_raw_response.delete( + client.workers.with_raw_response.delete_id( "", ) @@ -188,7 +232,7 @@ class TestAsyncWorkers: @parametrize async def test_method_create(self, async_client: AsyncBrainbase) -> None: worker = await async_client.workers.create( - id="id", + name="name", ) assert worker is None @@ -196,9 +240,8 @@ async def test_method_create(self, async_client: AsyncBrainbase) -> None: @parametrize async def test_method_create_with_all_params(self, async_client: AsyncBrainbase) -> None: worker = await async_client.workers.create( - id="id", - description="description", name="name", + description="description", status="status", ) assert worker is None @@ -207,7 +250,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncBrainbase) @parametrize async def test_raw_response_create(self, async_client: AsyncBrainbase) -> None: response = await async_client.workers.with_raw_response.create( - id="id", + name="name", ) assert response.is_closed is True @@ -219,7 +262,7 @@ async def test_raw_response_create(self, async_client: AsyncBrainbase) -> None: @parametrize async def test_streaming_response_create(self, async_client: AsyncBrainbase) -> None: async with async_client.workers.with_streaming_response.create( - id="id", + name="name", ) as response: assert not response.is_closed assert response.http_request.headers.get("X-Stainless-Lang") == "python" @@ -229,14 +272,6 @@ async def test_streaming_response_create(self, async_client: AsyncBrainbase) -> assert cast(Any, response.is_closed) is True - @pytest.mark.skip() - @parametrize - async def test_path_params_create(self, async_client: AsyncBrainbase) -> None: - with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): - await async_client.workers.with_raw_response.create( - id="", - ) - @pytest.mark.skip() @parametrize async def test_method_retrieve(self, async_client: AsyncBrainbase) -> None: @@ -309,16 +344,69 @@ async def test_streaming_response_list(self, async_client: AsyncBrainbase) -> No @pytest.mark.skip() @parametrize - async def test_method_delete(self, async_client: AsyncBrainbase) -> None: - worker = await async_client.workers.delete( + async def test_method_create_id(self, async_client: AsyncBrainbase) -> None: + worker = await async_client.workers.create_id( + id="id", + ) + assert worker is None + + @pytest.mark.skip() + @parametrize + async def test_method_create_id_with_all_params(self, async_client: AsyncBrainbase) -> None: + worker = await async_client.workers.create_id( + id="id", + description="description", + name="name", + status="status", + ) + assert worker is None + + @pytest.mark.skip() + @parametrize + async def test_raw_response_create_id(self, async_client: AsyncBrainbase) -> None: + response = await async_client.workers.with_raw_response.create_id( + id="id", + ) + + assert response.is_closed is True + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + worker = await response.parse() + assert worker is None + + @pytest.mark.skip() + @parametrize + async def test_streaming_response_create_id(self, async_client: AsyncBrainbase) -> None: + async with async_client.workers.with_streaming_response.create_id( + id="id", + ) as response: + assert not response.is_closed + assert response.http_request.headers.get("X-Stainless-Lang") == "python" + + worker = await response.parse() + assert worker is None + + assert cast(Any, response.is_closed) is True + + @pytest.mark.skip() + @parametrize + async def test_path_params_create_id(self, async_client: AsyncBrainbase) -> None: + with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): + await async_client.workers.with_raw_response.create_id( + id="", + ) + + @pytest.mark.skip() + @parametrize + async def test_method_delete_id(self, async_client: AsyncBrainbase) -> None: + worker = await async_client.workers.delete_id( "id", ) assert worker is None @pytest.mark.skip() @parametrize - async def test_raw_response_delete(self, async_client: AsyncBrainbase) -> None: - response = await async_client.workers.with_raw_response.delete( + async def test_raw_response_delete_id(self, async_client: AsyncBrainbase) -> None: + response = await async_client.workers.with_raw_response.delete_id( "id", ) @@ -329,8 +417,8 @@ async def test_raw_response_delete(self, async_client: AsyncBrainbase) -> None: @pytest.mark.skip() @parametrize - async def test_streaming_response_delete(self, async_client: AsyncBrainbase) -> None: - async with async_client.workers.with_streaming_response.delete( + async def test_streaming_response_delete_id(self, async_client: AsyncBrainbase) -> None: + async with async_client.workers.with_streaming_response.delete_id( "id", ) as response: assert not response.is_closed @@ -343,8 +431,8 @@ async def test_streaming_response_delete(self, async_client: AsyncBrainbase) -> @pytest.mark.skip() @parametrize - async def test_path_params_delete(self, async_client: AsyncBrainbase) -> None: + async def test_path_params_delete_id(self, async_client: AsyncBrainbase) -> None: with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"): - await async_client.workers.with_raw_response.delete( + await async_client.workers.with_raw_response.delete_id( "", )