Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ jobs:
- "3.11"
- "3.12"
- "3.13"
- "3.14"

name: Test on Python version ${{ matrix.python-version }}
steps:
Expand Down
16 changes: 8 additions & 8 deletions langfuse/_client/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -2972,7 +2972,7 @@ def create_dataset(
)
langfuse_logger.debug(f"Creating datasets {body}")

return self.api.datasets.create(request=body)
return cast(Dataset, self.api.datasets.create(request=body))

except Error as e:
handle_fern_exception(e)
Expand Down Expand Up @@ -3024,17 +3024,17 @@ def create_dataset_item(
"""
try:
body = CreateDatasetItemRequest(
datasetName=dataset_name,
dataset_name=dataset_name,
input=input,
expectedOutput=expected_output,
expected_output=expected_output,
metadata=metadata,
sourceTraceId=source_trace_id,
sourceObservationId=source_observation_id,
source_trace_id=source_trace_id,
source_observation_id=source_observation_id,
status=status,
id=id,
)
langfuse_logger.debug(f"Creating dataset item {body}")
return self.api.dataset_items.create(request=body)
return cast(DatasetItem, self.api.dataset_items.create(request=body))
except Error as e:
handle_fern_exception(e)
raise e
Expand Down Expand Up @@ -3395,7 +3395,7 @@ def create_prompt(
labels=labels,
tags=tags,
config=config or {},
commitMessage=commit_message,
commit_message=commit_message,
type="chat",
)
)
Expand All @@ -3415,7 +3415,7 @@ def create_prompt(
labels=labels,
tags=tags,
config=config or {},
commitMessage=commit_message,
commit_message=commit_message,
type="text",
)

Expand Down
8 changes: 4 additions & 4 deletions langfuse/_client/datasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -131,11 +131,11 @@ def run(

self.langfuse.api.dataset_run_items.create(
request=CreateDatasetRunItemRequest(
runName=run_name,
datasetItemId=self.id,
traceId=span.trace_id,
run_name=run_name,
dataset_item_id=self.id,
trace_id=span.trace_id,
metadata=run_metadata,
runDescription=run_description,
run_description=run_description,
)
)

Expand Down
8 changes: 6 additions & 2 deletions langfuse/_client/observe.py
Original file line number Diff line number Diff line change
Expand Up @@ -589,7 +589,9 @@ def __next__(self) -> Any:
raise # Re-raise StopIteration

except Exception as e:
self.span.update(level="ERROR", status_message=str(e) or type(e).__name__).end()
self.span.update(
level="ERROR", status_message=str(e) or type(e).__name__
).end()

raise

Expand Down Expand Up @@ -654,6 +656,8 @@ async def __anext__(self) -> Any:

raise # Re-raise StopAsyncIteration
except Exception as e:
self.span.update(level="ERROR", status_message=str(e) or type(e).__name__).end()
self.span.update(
level="ERROR", status_message=str(e) or type(e).__name__
).end()

raise
18 changes: 9 additions & 9 deletions langfuse/_task_manager/media_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,12 +220,12 @@ def _process_upload_media_job(
upload_url_response = self._request_with_backoff(
self._api_client.media.get_upload_url,
request=GetMediaUploadUrlRequest(
contentLength=data["content_length"],
contentType=cast(MediaContentType, data["content_type"]),
sha256Hash=data["content_sha256_hash"],
content_length=data["content_length"],
content_type=cast(MediaContentType, data["content_type"]),
sha_256_hash=data["content_sha256_hash"],
field=data["field"],
traceId=data["trace_id"],
observationId=data["observation_id"],
trace_id=data["trace_id"],
observation_id=data["observation_id"],
),
)

Expand Down Expand Up @@ -267,10 +267,10 @@ def _process_upload_media_job(
self._api_client.media.patch,
media_id=data["media_id"],
request=PatchMediaBody(
uploadedAt=_get_timestamp(),
uploadHttpStatus=upload_response.status_code,
uploadHttpError=upload_response.text,
uploadTimeMs=upload_time_ms,
uploaded_at=_get_timestamp(),
upload_http_status=upload_response.status_code,
upload_http_error=upload_response.text,
upload_time_ms=upload_time_ms,
),
)

Expand Down
14 changes: 5 additions & 9 deletions langfuse/_task_manager/score_ingestion_consumer.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,14 @@
from typing import Any, List, Optional

import backoff

from ..version import __version__ as langfuse_version

try:
import pydantic.v1 as pydantic
except ImportError:
import pydantic # type: ignore
import pydantic

from langfuse._utils.parse_error import handle_exception
from langfuse._utils.request import APIError, LangfuseClient
from langfuse._utils.serializer import EventSerializer

from ..version import __version__ as langfuse_version

MAX_EVENT_SIZE_BYTES = int(os.environ.get("LANGFUSE_MAX_EVENT_SIZE_BYTES", 1_000_000))
MAX_BATCH_SIZE_BYTES = int(os.environ.get("LANGFUSE_MAX_BATCH_SIZE_BYTES", 2_500_000))

Expand Down Expand Up @@ -79,7 +75,7 @@ def _next(self) -> list:

# convert pydantic models to dicts
if "body" in event and isinstance(event["body"], pydantic.BaseModel):
event["body"] = event["body"].dict(exclude_none=True)
event["body"] = event["body"].model_dump(exclude_none=True)

item_size = self._get_item_size(event)

Expand Down Expand Up @@ -156,7 +152,7 @@ def _upload_batch(self, batch: List[Any]) -> None:
sdk_name="python",
sdk_version=langfuse_version,
public_key=self._public_key,
).dict()
).model_dump()

@backoff.on_exception(
backoff.expo, Exception, max_tries=self._max_retries, logger=None
Expand Down
14 changes: 14 additions & 0 deletions langfuse/api/.fern/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"cliVersion": "0.116.0",
"generatorName": "fernapi/fern-python-sdk",
"generatorVersion": "4.36.0",
"generatorConfig": {
"client_class_name": "FernLangfuse",
"improved_imports": false,
"inline_request_params": false,
"pydantic_config": {
"require_optional_fields": false,
"use_str_enums": false
}
}
}
149 changes: 0 additions & 149 deletions langfuse/api/README.md

This file was deleted.

Loading
Loading