diff --git a/examples/sdk_test.py b/examples/sdk_test.py index b879136..9129703 100644 --- a/examples/sdk_test.py +++ b/examples/sdk_test.py @@ -1,14 +1,18 @@ -import logging -import os - from trubrics import Trubrics -trubrics = Trubrics(api_key=os.environ["TRUBRICS_API_KEY"]) -trubrics.logger.setLevel(logging.DEBUG) - +trubrics = Trubrics( + api_key="LuggKCVUi-Ef3hEuQukoJUF2P-Dx98apzoUY3g41js04it5v-v2DC4BfR14SOXPT", + host="https://app.trubrics.com/api/ingestion", +) -trubrics.track(event="Page view", user_id="user_id", properties={"page": "home"}) -trubrics.track(event="Page view", user_id="user_id", properties={"page": "events"}) +trubrics.track( + event="Sign Up", + user_id="Britney", + properties={ + "country": "USA", + "company": "Acme", # Add more properties as needed + }, +) trubrics.track_llm( user_id="sdk_test", diff --git a/trubrics/main.py b/trubrics/main.py index 254847d..0d88128 100644 --- a/trubrics/main.py +++ b/trubrics/main.py @@ -3,6 +3,7 @@ import threading import time from datetime import datetime, timezone +from importlib.metadata import version import requests @@ -93,6 +94,8 @@ def track( timestamp (datetime | None): The timestamp of event. If None, the current time in UTC is used. If not a datetime object, the event is ignored. """ + properties = self._add_source_property(properties) + event_dict = { "user_id": user_id, "event": event, @@ -138,6 +141,8 @@ def track_llm( thread_id (str | None): The ID of the thread, used to link messages in a conversation. """ + properties = self._add_source_property(properties) + llm_event_dict = { "user_id": user_id, "prompt": prompt, @@ -279,3 +284,10 @@ def _periodic_flush(self): ): self.logger.debug(f"Time since last flush: {time_since_last_flush}") self.flush() + + @staticmethod + def _add_source_property(properties: dict | None = None): + if properties is None: + properties = {} + properties["source"] = f"python_sdk_{version('trubrics')}" + return properties