Skip to content

Commit af4e337

Browse files
authored
feat: update pydantic models for tags and datasets (#286)
1 parent aaa6dc8 commit af4e337

3 files changed

Lines changed: 20 additions & 6 deletions

File tree

langfuse/api/resources/commons/types/dataset.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
from ....core.datetime_utils import serialize_datetime
77
from .dataset_item import DatasetItem
8-
from .dataset_status import DatasetStatus
98

109
try:
1110
import pydantic.v1 as pydantic # type: ignore
@@ -16,7 +15,6 @@
1615
class Dataset(pydantic.BaseModel):
1716
id: str
1817
name: str
19-
status: DatasetStatus
2018
project_id: str = pydantic.Field(alias="projectId")
2119
created_at: dt.datetime = pydantic.Field(alias="createdAt")
2220
updated_at: dt.datetime = pydantic.Field(alias="updatedAt")

langfuse/api/resources/trace/client.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ def list(
6868
limit: typing.Optional[int] = None,
6969
user_id: typing.Optional[str] = None,
7070
name: typing.Optional[str] = None,
71+
tags: typing.Optional[typing.Union[str, typing.List[str]]] = None,
7172
) -> Traces:
7273
"""
7374
Get list of traces
@@ -80,14 +81,22 @@ def list(
8081
- user_id: typing.Optional[str].
8182
8283
- name: typing.Optional[str].
84+
85+
- tags: typing.Optional[typing.Union[str, typing.List[str]]]. Only traces that include all of these tags will be returned.
8386
"""
8487
_response = self._client_wrapper.httpx_client.request(
8588
"GET",
8689
urllib.parse.urljoin(
8790
f"{self._client_wrapper.get_base_url()}/", "api/public/traces"
8891
),
8992
params=remove_none_from_dict(
90-
{"page": page, "limit": limit, "userId": user_id, "name": name}
93+
{
94+
"page": page,
95+
"limit": limit,
96+
"userId": user_id,
97+
"name": name,
98+
"tags": tags,
99+
}
91100
),
92101
headers=self._client_wrapper.get_headers(),
93102
timeout=60,
@@ -160,6 +169,7 @@ async def list(
160169
limit: typing.Optional[int] = None,
161170
user_id: typing.Optional[str] = None,
162171
name: typing.Optional[str] = None,
172+
tags: typing.Optional[typing.Union[str, typing.List[str]]] = None,
163173
) -> Traces:
164174
"""
165175
Get list of traces
@@ -172,14 +182,22 @@ async def list(
172182
- user_id: typing.Optional[str].
173183
174184
- name: typing.Optional[str].
185+
186+
- tags: typing.Optional[typing.Union[str, typing.List[str]]]. Only traces that include all of these tags will be returned.
175187
"""
176188
_response = await self._client_wrapper.httpx_client.request(
177189
"GET",
178190
urllib.parse.urljoin(
179191
f"{self._client_wrapper.get_base_url()}/", "api/public/traces"
180192
),
181193
params=remove_none_from_dict(
182-
{"page": page, "limit": limit, "userId": user_id, "name": name}
194+
{
195+
"page": page,
196+
"limit": limit,
197+
"userId": user_id,
198+
"name": name,
199+
"tags": tags,
200+
}
183201
),
184202
headers=self._client_wrapper.get_headers(),
185203
timeout=60,

langfuse/client.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,7 +1364,6 @@ def get_langchain_handler(self, *, run_name: str):
13641364
class DatasetClient:
13651365
id: str
13661366
name: str
1367-
status: DatasetStatus
13681367
project_id: str
13691368
dataset_name: str
13701369
created_at: dt.datetime
@@ -1375,7 +1374,6 @@ class DatasetClient:
13751374
def __init__(self, dataset: Dataset, items: typing.List[DatasetItemClient]):
13761375
self.id = dataset.id
13771376
self.name = dataset.name
1378-
self.status = dataset.status
13791377
self.project_id = dataset.project_id
13801378
self.dataset_name = dataset.name
13811379
self.created_at = dataset.created_at

0 commit comments

Comments
 (0)