Skip to content

Commit cff7674

Browse files
feat(api): api update
1 parent 91adefd commit cff7674

38 files changed

+92
-3687
lines changed

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 24
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lemma%2Flemma-398e43f06821a461846ebae030851faf308afa99a9c2340530a21272e5ae67a9.yml
3-
openapi_spec_hash: 624c26645898fdc2cd6db3670dc3f1ec
1+
configured_endpoints: 9
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lemma%2Flemma-d740cae5b0014320a9b81a06cf19be4740aa75451b68cd041eddc6fe332b0282.yml
3+
openapi_spec_hash: 8ca9bdc602442861e7a4db790e2fa0c7
44
config_hash: 017a31b2ac0856f4d4152a5173e6fa18

README.md

Lines changed: 36 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,11 @@ client = Lemma(
3535
api_key=os.environ.get("LEMMA_API_KEY"), # This is the default and can be omitted
3636
)
3737

38-
dataset = client.datasets.create(
39-
name="<NAME>",
38+
response = client.datasets.generate_dataset(
39+
dataset_id="dataset_id",
40+
entries_required=0,
41+
schema={"foo": "bar"},
4042
)
41-
print(dataset.id)
4243
```
4344

4445
While you can provide an `api_key` keyword argument,
@@ -61,10 +62,11 @@ client = AsyncLemma(
6162

6263

6364
async def main() -> None:
64-
dataset = await client.datasets.create(
65-
name="<NAME>",
65+
response = await client.datasets.generate_dataset(
66+
dataset_id="dataset_id",
67+
entries_required=0,
68+
schema={"foo": "bar"},
6669
)
67-
print(dataset.id)
6870

6971

7072
asyncio.run(main())
@@ -96,10 +98,11 @@ async def main() -> None:
9698
api_key="My API Key",
9799
http_client=DefaultAioHttpClient(),
98100
) as client:
99-
dataset = await client.datasets.create(
100-
name="<NAME>",
101+
response = await client.datasets.generate_dataset(
102+
dataset_id="dataset_id",
103+
entries_required=0,
104+
schema={"foo": "bar"},
101105
)
102-
print(dataset.id)
103106

104107

105108
asyncio.run(main())
@@ -147,8 +150,10 @@ from lemma import Lemma
147150
client = Lemma()
148151

149152
try:
150-
client.datasets.create(
151-
name="name",
153+
client.datasets.generate_dataset(
154+
dataset_id="dataset_id",
155+
entries_required=0,
156+
schema={"foo": "bar"},
152157
)
153158
except lemma.APIConnectionError as e:
154159
print("The server could not be reached")
@@ -192,8 +197,10 @@ client = Lemma(
192197
)
193198

194199
# Or, configure per-request:
195-
client.with_options(max_retries=5).datasets.create(
196-
name="name",
200+
client.with_options(max_retries=5).datasets.generate_dataset(
201+
dataset_id="dataset_id",
202+
entries_required=0,
203+
schema={"foo": "bar"},
197204
)
198205
```
199206

@@ -217,8 +224,10 @@ client = Lemma(
217224
)
218225

219226
# Override per-request:
220-
client.with_options(timeout=5.0).datasets.create(
221-
name="name",
227+
client.with_options(timeout=5.0).datasets.generate_dataset(
228+
dataset_id="dataset_id",
229+
entries_required=0,
230+
schema={"foo": "bar"},
222231
)
223232
```
224233

@@ -260,13 +269,17 @@ The "raw" Response object can be accessed by prefixing `.with_raw_response.` to
260269
from lemma import Lemma
261270

262271
client = Lemma()
263-
response = client.datasets.with_raw_response.create(
264-
name="name",
272+
response = client.datasets.with_raw_response.generate_dataset(
273+
dataset_id="dataset_id",
274+
entries_required=0,
275+
schema={
276+
"foo": "bar"
277+
},
265278
)
266279
print(response.headers.get('X-My-Header'))
267280

268-
dataset = response.parse() # get the object that `datasets.create()` would have returned
269-
print(dataset.id)
281+
dataset = response.parse() # get the object that `datasets.generate_dataset()` would have returned
282+
print(dataset)
270283
```
271284

272285
These methods return an [`APIResponse`](https://github.com/stainless-sdks/lemma-python/tree/main/src/lemma/_response.py) object.
@@ -280,8 +293,10 @@ The above interface eagerly reads the full response body when you make the reque
280293
To stream the response body, use `.with_streaming_response` instead, which requires a context manager and only reads the response body once you call `.read()`, `.text()`, `.json()`, `.iter_bytes()`, `.iter_text()`, `.iter_lines()` or `.parse()`. In the async client, these are async methods.
281294

282295
```python
283-
with client.datasets.with_streaming_response.create(
284-
name="name",
296+
with client.datasets.with_streaming_response.generate_dataset(
297+
dataset_id="dataset_id",
298+
entries_required=0,
299+
schema={"foo": "bar"},
285300
) as response:
286301
print(response.headers.get("X-My-Header"))
287302

api.md

Lines changed: 3 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ Types:
55
```python
66
from lemma.types import (
77
Dataset,
8-
DatasetListResponse,
9-
DatasetDeleteResponse,
10-
DatasetCreateDownloadURLResponse,
118
DatasetGenerateDatasetResponse,
129
DatasetGenerateSchemaResponse,
1310
DatasetGenerateValidatorsResponse,
@@ -16,11 +13,6 @@ from lemma.types import (
1613

1714
Methods:
1815

19-
- <code title="post /datasets">client.datasets.<a href="./src/lemma/resources/datasets/datasets.py">create</a>(\*\*<a href="src/lemma/types/dataset_create_params.py">params</a>) -> <a href="./src/lemma/types/dataset.py">Dataset</a></code>
20-
- <code title="get /datasets/{dataset_id}">client.datasets.<a href="./src/lemma/resources/datasets/datasets.py">retrieve</a>(dataset_id) -> <a href="./src/lemma/types/dataset.py">Dataset</a></code>
21-
- <code title="get /datasets/">client.datasets.<a href="./src/lemma/resources/datasets/datasets.py">list</a>() -> <a href="./src/lemma/types/dataset_list_response.py">DatasetListResponse</a></code>
22-
- <code title="delete /datasets/{dataset_id}">client.datasets.<a href="./src/lemma/resources/datasets/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/datasets.py">create_download_url</a>(dataset_id) -> str</code>
2416
- <code title="post /datasets/generate-dataset">client.datasets.<a href="./src/lemma/resources/datasets/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>
2517
- <code title="post /datasets/generate-schema">client.datasets.<a href="./src/lemma/resources/datasets/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>
2618
- <code title="post /datasets/generate-validators">client.datasets.<a href="./src/lemma/resources/datasets/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>
@@ -63,48 +55,21 @@ Methods:
6355
Types:
6456

6557
```python
66-
from lemma.types import Prompt, PromptListResponse, PromptDeleteResponse
58+
from lemma.types import Prompt
6759
```
6860

69-
Methods:
70-
71-
- <code title="post /prompts">client.prompts.<a href="./src/lemma/resources/prompts/prompts.py">create</a>(\*\*<a href="src/lemma/types/prompt_create_params.py">params</a>) -> <a href="./src/lemma/types/prompt.py">Prompt</a></code>
72-
- <code title="get /prompts/{prompt_id}">client.prompts.<a href="./src/lemma/resources/prompts/prompts.py">retrieve</a>(prompt_id) -> <a href="./src/lemma/types/prompt.py">Prompt</a></code>
73-
- <code title="get /prompts">client.prompts.<a href="./src/lemma/resources/prompts/prompts.py">list</a>() -> <a href="./src/lemma/types/prompt_list_response.py">PromptListResponse</a></code>
74-
- <code title="delete /prompts/{prompt_id}">client.prompts.<a href="./src/lemma/resources/prompts/prompts.py">delete</a>(prompt_id) -> <a href="./src/lemma/types/prompt_delete_response.py">PromptDeleteResponse</a></code>
75-
7661
## Iterations
7762

7863
Types:
7964

8065
```python
81-
from lemma.types.prompts import PromptIteration, IterationListResponse
66+
from lemma.types.prompts import PromptIteration
8267
```
8368

84-
Methods:
85-
86-
- <code title="post /prompts/{prompt_id}/iterations">client.prompts.iterations.<a href="./src/lemma/resources/prompts/iterations.py">create</a>(prompt_id, \*\*<a href="src/lemma/types/prompts/iteration_create_params.py">params</a>) -> <a href="./src/lemma/types/prompts/prompt_iteration.py">PromptIteration</a></code>
87-
- <code title="get /prompts/{prompt_id}/iterations">client.prompts.iterations.<a href="./src/lemma/resources/prompts/iterations.py">list</a>(prompt_id) -> <a href="./src/lemma/types/prompts/iteration_list_response.py">IterationListResponse</a></code>
88-
8969
# Evaluators
9070

9171
Types:
9272

9373
```python
94-
from lemma.types import (
95-
Evaluator,
96-
RubricCriterion,
97-
RubricExample,
98-
EvaluatorRetrieveResponse,
99-
EvaluatorUpdateResponse,
100-
EvaluatorListResponse,
101-
EvaluatorCreateRubricResponse,
102-
)
74+
from lemma.types import Evaluator, RubricCriterion, RubricExample
10375
```
104-
105-
Methods:
106-
107-
- <code title="get /evaluators/{evaluator_id}">client.evaluators.<a href="./src/lemma/resources/evaluators.py">retrieve</a>(evaluator_id) -> <a href="./src/lemma/types/evaluator_retrieve_response.py">EvaluatorRetrieveResponse</a></code>
108-
- <code title="put /evaluators/{evaluator_id}">client.evaluators.<a href="./src/lemma/resources/evaluators.py">update</a>(evaluator_id, \*\*<a href="src/lemma/types/evaluator_update_params.py">params</a>) -> <a href="./src/lemma/types/evaluator_update_response.py">EvaluatorUpdateResponse</a></code>
109-
- <code title="get /evaluators">client.evaluators.<a href="./src/lemma/resources/evaluators.py">list</a>() -> <a href="./src/lemma/types/evaluator_list_response.py">EvaluatorListResponse</a></code>
110-
- <code title="post /evaluators/rubric">client.evaluators.<a href="./src/lemma/resources/evaluators.py">create_rubric</a>(\*\*<a href="src/lemma/types/evaluator_create_rubric_params.py">params</a>) -> <a href="./src/lemma/types/evaluator_create_rubric_response.py">EvaluatorCreateRubricResponse</a></code>

src/lemma/_client.py

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,14 @@
2121
)
2222
from ._utils import is_given, get_async_library
2323
from ._version import __version__
24-
from .resources import logs, evaluators, playground
24+
from .resources import logs, playground
2525
from ._streaming import Stream as Stream, AsyncStream as AsyncStream
2626
from ._exceptions import LemmaError, APIStatusError
2727
from ._base_client import (
2828
DEFAULT_MAX_RETRIES,
2929
SyncAPIClient,
3030
AsyncAPIClient,
3131
)
32-
from .resources.prompts import prompts
3332
from .resources.datasets import datasets
3433

3534
__all__ = ["Timeout", "Transport", "ProxiesTypes", "RequestOptions", "Lemma", "AsyncLemma", "Client", "AsyncClient"]
@@ -39,8 +38,6 @@ class Lemma(SyncAPIClient):
3938
datasets: datasets.DatasetsResource
4039
logs: logs.LogsResource
4140
playground: playground.PlaygroundResource
42-
prompts: prompts.PromptsResource
43-
evaluators: evaluators.EvaluatorsResource
4441
with_raw_response: LemmaWithRawResponse
4542
with_streaming_response: LemmaWithStreamedResponse
4643

@@ -101,8 +98,6 @@ def __init__(
10198
self.datasets = datasets.DatasetsResource(self)
10299
self.logs = logs.LogsResource(self)
103100
self.playground = playground.PlaygroundResource(self)
104-
self.prompts = prompts.PromptsResource(self)
105-
self.evaluators = evaluators.EvaluatorsResource(self)
106101
self.with_raw_response = LemmaWithRawResponse(self)
107102
self.with_streaming_response = LemmaWithStreamedResponse(self)
108103

@@ -215,8 +210,6 @@ class AsyncLemma(AsyncAPIClient):
215210
datasets: datasets.AsyncDatasetsResource
216211
logs: logs.AsyncLogsResource
217212
playground: playground.AsyncPlaygroundResource
218-
prompts: prompts.AsyncPromptsResource
219-
evaluators: evaluators.AsyncEvaluatorsResource
220213
with_raw_response: AsyncLemmaWithRawResponse
221214
with_streaming_response: AsyncLemmaWithStreamedResponse
222215

@@ -277,8 +270,6 @@ def __init__(
277270
self.datasets = datasets.AsyncDatasetsResource(self)
278271
self.logs = logs.AsyncLogsResource(self)
279272
self.playground = playground.AsyncPlaygroundResource(self)
280-
self.prompts = prompts.AsyncPromptsResource(self)
281-
self.evaluators = evaluators.AsyncEvaluatorsResource(self)
282273
self.with_raw_response = AsyncLemmaWithRawResponse(self)
283274
self.with_streaming_response = AsyncLemmaWithStreamedResponse(self)
284275

@@ -392,35 +383,27 @@ def __init__(self, client: Lemma) -> None:
392383
self.datasets = datasets.DatasetsResourceWithRawResponse(client.datasets)
393384
self.logs = logs.LogsResourceWithRawResponse(client.logs)
394385
self.playground = playground.PlaygroundResourceWithRawResponse(client.playground)
395-
self.prompts = prompts.PromptsResourceWithRawResponse(client.prompts)
396-
self.evaluators = evaluators.EvaluatorsResourceWithRawResponse(client.evaluators)
397386

398387

399388
class AsyncLemmaWithRawResponse:
400389
def __init__(self, client: AsyncLemma) -> None:
401390
self.datasets = datasets.AsyncDatasetsResourceWithRawResponse(client.datasets)
402391
self.logs = logs.AsyncLogsResourceWithRawResponse(client.logs)
403392
self.playground = playground.AsyncPlaygroundResourceWithRawResponse(client.playground)
404-
self.prompts = prompts.AsyncPromptsResourceWithRawResponse(client.prompts)
405-
self.evaluators = evaluators.AsyncEvaluatorsResourceWithRawResponse(client.evaluators)
406393

407394

408395
class LemmaWithStreamedResponse:
409396
def __init__(self, client: Lemma) -> None:
410397
self.datasets = datasets.DatasetsResourceWithStreamingResponse(client.datasets)
411398
self.logs = logs.LogsResourceWithStreamingResponse(client.logs)
412399
self.playground = playground.PlaygroundResourceWithStreamingResponse(client.playground)
413-
self.prompts = prompts.PromptsResourceWithStreamingResponse(client.prompts)
414-
self.evaluators = evaluators.EvaluatorsResourceWithStreamingResponse(client.evaluators)
415400

416401

417402
class AsyncLemmaWithStreamedResponse:
418403
def __init__(self, client: AsyncLemma) -> None:
419404
self.datasets = datasets.AsyncDatasetsResourceWithStreamingResponse(client.datasets)
420405
self.logs = logs.AsyncLogsResourceWithStreamingResponse(client.logs)
421406
self.playground = playground.AsyncPlaygroundResourceWithStreamingResponse(client.playground)
422-
self.prompts = prompts.AsyncPromptsResourceWithStreamingResponse(client.prompts)
423-
self.evaluators = evaluators.AsyncEvaluatorsResourceWithStreamingResponse(client.evaluators)
424407

425408

426409
Client = Lemma

src/lemma/resources/__init__.py

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,6 @@
88
LogsResourceWithStreamingResponse,
99
AsyncLogsResourceWithStreamingResponse,
1010
)
11-
from .prompts import (
12-
PromptsResource,
13-
AsyncPromptsResource,
14-
PromptsResourceWithRawResponse,
15-
AsyncPromptsResourceWithRawResponse,
16-
PromptsResourceWithStreamingResponse,
17-
AsyncPromptsResourceWithStreamingResponse,
18-
)
1911
from .datasets import (
2012
DatasetsResource,
2113
AsyncDatasetsResource,
@@ -24,14 +16,6 @@
2416
DatasetsResourceWithStreamingResponse,
2517
AsyncDatasetsResourceWithStreamingResponse,
2618
)
27-
from .evaluators import (
28-
EvaluatorsResource,
29-
AsyncEvaluatorsResource,
30-
EvaluatorsResourceWithRawResponse,
31-
AsyncEvaluatorsResourceWithRawResponse,
32-
EvaluatorsResourceWithStreamingResponse,
33-
AsyncEvaluatorsResourceWithStreamingResponse,
34-
)
3519
from .playground import (
3620
PlaygroundResource,
3721
AsyncPlaygroundResource,
@@ -60,16 +44,4 @@
6044
"AsyncPlaygroundResourceWithRawResponse",
6145
"PlaygroundResourceWithStreamingResponse",
6246
"AsyncPlaygroundResourceWithStreamingResponse",
63-
"PromptsResource",
64-
"AsyncPromptsResource",
65-
"PromptsResourceWithRawResponse",
66-
"AsyncPromptsResourceWithRawResponse",
67-
"PromptsResourceWithStreamingResponse",
68-
"AsyncPromptsResourceWithStreamingResponse",
69-
"EvaluatorsResource",
70-
"AsyncEvaluatorsResource",
71-
"EvaluatorsResourceWithRawResponse",
72-
"AsyncEvaluatorsResourceWithRawResponse",
73-
"EvaluatorsResourceWithStreamingResponse",
74-
"AsyncEvaluatorsResourceWithStreamingResponse",
7547
]

0 commit comments

Comments
 (0)