Skip to content

Commit ec6d9c8

Browse files
feat(api): manual updates
1 parent 7eff11a commit ec6d9c8

File tree

6 files changed

+182
-2
lines changed

6 files changed

+182
-2
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 17
1+
configured_endpoints: 18
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lemma%2Flemma-584f07ea035720c85ecac56802077189e3ef8e2970d3a7f9ffb75a605df61fef.yml
33
openapi_spec_hash: 941d7b54bafb4c217116dc8fea329900
4-
config_hash: 2cf9a61cb7e01c536fb8672c6fce0d58
4+
config_hash: 9b31b57de762bba601e624c9104ca492

api.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ from lemma.types import (
77
Dataset,
88
DatasetListResponse,
99
DatasetDeleteResponse,
10+
DatasetCreateDownloadURLResponse,
1011
DatasetGenerateDatasetResponse,
1112
DatasetGenerateSchemaResponse,
1213
DatasetGenerateValidatorsResponse,
@@ -19,6 +20,7 @@ Methods:
1920
- <code title="get /datasets/{dataset_id}">client.datasets.<a href="./src/lemma/resources/datasets.py">retrieve</a>(dataset_id) -> <a href="./src/lemma/types/dataset.py">Dataset</a></code>
2021
- <code title="get /datasets">client.datasets.<a href="./src/lemma/resources/datasets.py">list</a>() -> <a href="./src/lemma/types/dataset_list_response.py">DatasetListResponse</a></code>
2122
- <code title="delete /datasets/{dataset_id}">client.datasets.<a href="./src/lemma/resources/datasets.py">delete</a>(dataset_id) -> <a href="./src/lemma/types/dataset_delete_response.py">DatasetDeleteResponse</a></code>
23+
- <code title="get /datasets/{dataset_id}/create-download-url">client.datasets.<a href="./src/lemma/resources/datasets.py">create_download_url</a>(dataset_id) -> str</code>
2224
- <code title="post /datasets/generate-dataset">client.datasets.<a href="./src/lemma/resources/datasets.py">generate_dataset</a>(\*\*<a href="src/lemma/types/dataset_generate_dataset_params.py">params</a>) -> <a href="./src/lemma/types/dataset_generate_dataset_response.py">DatasetGenerateDatasetResponse</a></code>
2325
- <code title="post /datasets/generate-schema">client.datasets.<a href="./src/lemma/resources/datasets.py">generate_schema</a>(\*\*<a href="src/lemma/types/dataset_generate_schema_params.py">params</a>) -> <a href="./src/lemma/types/dataset_generate_schema_response.py">DatasetGenerateSchemaResponse</a></code>
2426
- <code title="post /datasets/generate-validators">client.datasets.<a href="./src/lemma/resources/datasets.py">generate_validators</a>(\*\*<a href="src/lemma/types/dataset_generate_validators_params.py">params</a>) -> <a href="./src/lemma/types/dataset_generate_validators_response.py">DatasetGenerateValidatorsResponse</a></code>

src/lemma/resources/datasets.py

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,43 @@ def delete(
196196
cast_to=DatasetDeleteResponse,
197197
)
198198

199+
def create_download_url(
200+
self,
201+
dataset_id: str,
202+
*,
203+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
204+
# The extra values given here take precedence over values defined on the client or passed to this method.
205+
extra_headers: Headers | None = None,
206+
extra_query: Query | None = None,
207+
extra_body: Body | None = None,
208+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
209+
) -> str:
210+
"""
211+
Create a download URL for a dataset.
212+
213+
Creates a secure, time-limited download URL that allows downloading the dataset
214+
data. The URL can be used to access the dataset file without requiring
215+
authentication.
216+
217+
Args:
218+
extra_headers: Send extra headers
219+
220+
extra_query: Add additional query parameters to the request
221+
222+
extra_body: Add additional JSON properties to the request
223+
224+
timeout: Override the client-level default timeout for this request, in seconds
225+
"""
226+
if not dataset_id:
227+
raise ValueError(f"Expected a non-empty value for `dataset_id` but received {dataset_id!r}")
228+
return self._get(
229+
f"/datasets/{dataset_id}/create-download-url",
230+
options=make_request_options(
231+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
232+
),
233+
cast_to=str,
234+
)
235+
199236
def generate_dataset(
200237
self,
201238
*,
@@ -514,6 +551,43 @@ async def delete(
514551
cast_to=DatasetDeleteResponse,
515552
)
516553

554+
async def create_download_url(
555+
self,
556+
dataset_id: str,
557+
*,
558+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
559+
# The extra values given here take precedence over values defined on the client or passed to this method.
560+
extra_headers: Headers | None = None,
561+
extra_query: Query | None = None,
562+
extra_body: Body | None = None,
563+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
564+
) -> str:
565+
"""
566+
Create a download URL for a dataset.
567+
568+
Creates a secure, time-limited download URL that allows downloading the dataset
569+
data. The URL can be used to access the dataset file without requiring
570+
authentication.
571+
572+
Args:
573+
extra_headers: Send extra headers
574+
575+
extra_query: Add additional query parameters to the request
576+
577+
extra_body: Add additional JSON properties to the request
578+
579+
timeout: Override the client-level default timeout for this request, in seconds
580+
"""
581+
if not dataset_id:
582+
raise ValueError(f"Expected a non-empty value for `dataset_id` but received {dataset_id!r}")
583+
return await self._get(
584+
f"/datasets/{dataset_id}/create-download-url",
585+
options=make_request_options(
586+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
587+
),
588+
cast_to=str,
589+
)
590+
517591
async def generate_dataset(
518592
self,
519593
*,
@@ -685,6 +759,9 @@ def __init__(self, datasets: DatasetsResource) -> None:
685759
self.delete = to_raw_response_wrapper(
686760
datasets.delete,
687761
)
762+
self.create_download_url = to_raw_response_wrapper(
763+
datasets.create_download_url,
764+
)
688765
self.generate_dataset = to_raw_response_wrapper(
689766
datasets.generate_dataset,
690767
)
@@ -712,6 +789,9 @@ def __init__(self, datasets: AsyncDatasetsResource) -> None:
712789
self.delete = async_to_raw_response_wrapper(
713790
datasets.delete,
714791
)
792+
self.create_download_url = async_to_raw_response_wrapper(
793+
datasets.create_download_url,
794+
)
715795
self.generate_dataset = async_to_raw_response_wrapper(
716796
datasets.generate_dataset,
717797
)
@@ -739,6 +819,9 @@ def __init__(self, datasets: DatasetsResource) -> None:
739819
self.delete = to_streamed_response_wrapper(
740820
datasets.delete,
741821
)
822+
self.create_download_url = to_streamed_response_wrapper(
823+
datasets.create_download_url,
824+
)
742825
self.generate_dataset = to_streamed_response_wrapper(
743826
datasets.generate_dataset,
744827
)
@@ -766,6 +849,9 @@ def __init__(self, datasets: AsyncDatasetsResource) -> None:
766849
self.delete = async_to_streamed_response_wrapper(
767850
datasets.delete,
768851
)
852+
self.create_download_url = async_to_streamed_response_wrapper(
853+
datasets.create_download_url,
854+
)
769855
self.generate_dataset = async_to_streamed_response_wrapper(
770856
datasets.generate_dataset,
771857
)

src/lemma/types/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,5 @@
3030
from .prompt_create_iteration_response import PromptCreateIterationResponse as PromptCreateIterationResponse
3131
from .dataset_generate_dataset_response import DatasetGenerateDatasetResponse as DatasetGenerateDatasetResponse
3232
from .dataset_generate_validators_params import DatasetGenerateValidatorsParams as DatasetGenerateValidatorsParams
33+
from .dataset_create_download_url_response import DatasetCreateDownloadURLResponse as DatasetCreateDownloadURLResponse
3334
from .dataset_generate_validators_response import DatasetGenerateValidatorsResponse as DatasetGenerateValidatorsResponse
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
from typing_extensions import TypeAlias
4+
5+
__all__ = ["DatasetCreateDownloadURLResponse"]
6+
7+
DatasetCreateDownloadURLResponse: TypeAlias = str

tests/api_resources/test_datasets.py

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,48 @@ def test_path_params_delete(self, client: Lemma) -> None:
179179
"",
180180
)
181181

182+
@pytest.mark.skip(reason="Prism tests are disabled")
183+
@parametrize
184+
def test_method_create_download_url(self, client: Lemma) -> None:
185+
dataset = client.datasets.create_download_url(
186+
"dataset_id",
187+
)
188+
assert_matches_type(str, dataset, path=["response"])
189+
190+
@pytest.mark.skip(reason="Prism tests are disabled")
191+
@parametrize
192+
def test_raw_response_create_download_url(self, client: Lemma) -> None:
193+
response = client.datasets.with_raw_response.create_download_url(
194+
"dataset_id",
195+
)
196+
197+
assert response.is_closed is True
198+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
199+
dataset = response.parse()
200+
assert_matches_type(str, dataset, path=["response"])
201+
202+
@pytest.mark.skip(reason="Prism tests are disabled")
203+
@parametrize
204+
def test_streaming_response_create_download_url(self, client: Lemma) -> None:
205+
with client.datasets.with_streaming_response.create_download_url(
206+
"dataset_id",
207+
) as response:
208+
assert not response.is_closed
209+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
210+
211+
dataset = response.parse()
212+
assert_matches_type(str, dataset, path=["response"])
213+
214+
assert cast(Any, response.is_closed) is True
215+
216+
@pytest.mark.skip(reason="Prism tests are disabled")
217+
@parametrize
218+
def test_path_params_create_download_url(self, client: Lemma) -> None:
219+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `dataset_id` but received ''"):
220+
client.datasets.with_raw_response.create_download_url(
221+
"",
222+
)
223+
182224
@pytest.mark.skip(reason="Prism tests are disabled")
183225
@parametrize
184226
def test_method_generate_dataset(self, client: Lemma) -> None:
@@ -472,6 +514,48 @@ async def test_path_params_delete(self, async_client: AsyncLemma) -> None:
472514
"",
473515
)
474516

517+
@pytest.mark.skip(reason="Prism tests are disabled")
518+
@parametrize
519+
async def test_method_create_download_url(self, async_client: AsyncLemma) -> None:
520+
dataset = await async_client.datasets.create_download_url(
521+
"dataset_id",
522+
)
523+
assert_matches_type(str, dataset, path=["response"])
524+
525+
@pytest.mark.skip(reason="Prism tests are disabled")
526+
@parametrize
527+
async def test_raw_response_create_download_url(self, async_client: AsyncLemma) -> None:
528+
response = await async_client.datasets.with_raw_response.create_download_url(
529+
"dataset_id",
530+
)
531+
532+
assert response.is_closed is True
533+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
534+
dataset = await response.parse()
535+
assert_matches_type(str, dataset, path=["response"])
536+
537+
@pytest.mark.skip(reason="Prism tests are disabled")
538+
@parametrize
539+
async def test_streaming_response_create_download_url(self, async_client: AsyncLemma) -> None:
540+
async with async_client.datasets.with_streaming_response.create_download_url(
541+
"dataset_id",
542+
) as response:
543+
assert not response.is_closed
544+
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
545+
546+
dataset = await response.parse()
547+
assert_matches_type(str, dataset, path=["response"])
548+
549+
assert cast(Any, response.is_closed) is True
550+
551+
@pytest.mark.skip(reason="Prism tests are disabled")
552+
@parametrize
553+
async def test_path_params_create_download_url(self, async_client: AsyncLemma) -> None:
554+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `dataset_id` but received ''"):
555+
await async_client.datasets.with_raw_response.create_download_url(
556+
"",
557+
)
558+
475559
@pytest.mark.skip(reason="Prism tests are disabled")
476560
@parametrize
477561
async def test_method_generate_dataset(self, async_client: AsyncLemma) -> None:

0 commit comments

Comments
 (0)