Skip to content

Commit edb6be1

Browse files
committed
refetch project uuid if missing
1 parent 500626b commit edb6be1

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

parea/client.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,12 +88,16 @@ def __attrs_post_init__(self):
8888
else:
8989
logger.warning("No API key found. Parea client will not be able to send data to the Parea API.")
9090

91-
def _get_project_uuid(self) -> str:
91+
def _get_project_uuid(self) -> Optional[str]:
9292
if not (self._project and self._project.uuid):
9393
project_api_response: CreateGetProjectResponseSchema = self._create_or_get_project(self.project_name or "default")
9494
self._project = structure(asdict(project_api_response), ProjectSchema)
9595
parea_logger.set_project_uuid(self.project_uuid, self.project_name)
96-
return self._project.uuid
96+
try:
97+
return self._project.uuid
98+
except Exception as e:
99+
logger.error(f"Parea: Error getting project uuid for project {self.project_name}: {e}")
100+
return None
97101

98102
def wrap_openai_client(self, client: "OpenAI", integration: Optional[str] = None) -> None:
99103
"""Only necessary for instance client with OpenAI version >= 1.0.0"""

parea/parea_logger.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
from typing import Any, Dict
1+
from typing import Any, Dict, Optional
22

33
import json
4+
import logging
45
import os
56

67
from attrs import asdict, define, field
@@ -13,6 +14,8 @@
1314
from parea.schemas.models import CreateGetProjectResponseSchema, TraceLog, UpdateLog
1415
from parea.utils.universal_encoder import json_dumps
1516

17+
logger = logging.getLogger()
18+
1619
LOG_ENDPOINT = "/trace_log"
1720
VENDOR_LOG_ENDPOINT = "/trace_log/{vendor}"
1821

@@ -30,10 +33,14 @@ def set_project_uuid(self, project_uuid: str, project_name: str) -> None:
3033
self._project_uuid = project_uuid
3134
self._project_name = project_name
3235

33-
def _get_project_uuid(self) -> str:
36+
def _get_project_uuid(self) -> Optional[str]:
3437
if not self._project_uuid:
3538
self._project_uuid = self._create_or_get_project(self._project_name or "default").uuid
36-
return self._project_uuid
39+
try:
40+
return self._project_uuid
41+
except Exception as e:
42+
logger.error(f"PareaLogger: Error getting project uuid for project {self._project_name}: {e}")
43+
return None
3744

3845
def _create_or_get_project(self, name: str) -> CreateGetProjectResponseSchema:
3946
r = self._client.request(

0 commit comments

Comments
 (0)