SYMBOL INDEX (121 symbols across 22 files) FILE: examples/models/async_openai_example.py function get_response (line 13) | async def get_response() -> None: FILE: examples/models/stream_async_hf_client_example.py function get_response (line 15) | async def get_response() -> None: FILE: examples/models/stream_openai_example.py function get_response (line 13) | async def get_response() -> None: FILE: src/observers/base.py class Function (line 12) | class Function: class ToolCall (line 20) | class ToolCall: class Message (line 29) | class Message: class Record (line 44) | class Record(ABC): method json_fields (line 58) | def json_fields(self): method image_fields (line 64) | def image_fields(self): method table_columns (line 70) | def table_columns(self): method duckdb_schema (line 76) | def duckdb_schema(self): method table_name (line 82) | def table_name(self): method argilla_settings (line 87) | def argilla_settings(self, client: "Argilla"): FILE: src/observers/models/aisuite.py class AisuiteRecord (line 17) | class AisuiteRecord(OpenAIRecord): function wrap_aisuite (line 21) | def wrap_aisuite( FILE: src/observers/models/base.py class ChatCompletionRecord (line 18) | class ChatCompletionRecord(Record): method from_response (line 37) | def from_response(cls, response=None, error=None, model=None, **kwargs): method table_columns (line 42) | def table_columns(self): method duckdb_schema (line 63) | def duckdb_schema(self): method argilla_settings (line 85) | def argilla_settings(self, client: "Argilla"): method table_name (line 159) | def table_name(self): method json_fields (line 163) | def json_fields(self): method image_fields (line 174) | def image_fields(self): method text_fields (line 178) | def text_fields(self): class ChatCompletionObserver (line 182) | class ChatCompletionObserver: method __init__ (line 204) | def __init__( method chat (line 227) | def chat(self) -> Self: method completions (line 231) | def completions(self) -> Self: method _log_record (line 234) | def _log_record( method create (line 250) | def create( method handle_kwargs (line 313) | def handle_kwargs(self, kwargs: dict[str, Any]) -> dict[str, Any]: method __getattr__ (line 322) | def __getattr__(self, attr: str) -> Any: class AsyncChatCompletionObserver (line 328) | class AsyncChatCompletionObserver(ChatCompletionObserver): method _log_record_async (line 350) | async def _log_record_async( method create (line 366) | async def create( method __aenter__ (line 425) | async def __aenter__(self) -> "AsyncChatCompletionObserver": method __aexit__ (line 428) | async def __aexit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) ->... FILE: src/observers/models/hf_client.py class HFRecord (line 23) | class HFRecord(ChatCompletionRecord): method from_response (line 27) | def from_response( function wrap_hf_client (line 103) | def wrap_hf_client( FILE: src/observers/models/litellm.py class LitellmRecord (line 17) | class LitellmRecord(OpenAIRecord): function wrap_litellm (line 21) | def wrap_litellm( FILE: src/observers/models/openai.py class OpenAIRecord (line 19) | class OpenAIRecord(ChatCompletionRecord): method from_response (line 23) | def from_response( function wrap_openai (line 92) | def wrap_openai( FILE: src/observers/models/transformers.py class TransformersRecord (line 16) | class TransformersRecord(ChatCompletionRecord): method from_response (line 24) | def from_response( function wrap_transformers (line 43) | def wrap_transformers( FILE: src/observers/stores/argilla.py class ArgillaStore (line 24) | class ArgillaStore(Store): method __post_init__ (line 50) | def __post_init__(self) -> None: method _init_table (line 54) | def _init_table(self, record: "Record") -> None: method connect (line 88) | def connect( method add (line 103) | def add(self, record: "Record") -> None: method add_async (line 117) | async def add_async(self, record: "Record"): FILE: src/observers/stores/base.py class Store (line 11) | class Store(ABC): method add (line 17) | def add(self, record: "Record"): method add_async (line 22) | async def add_async(self, record: "Record"): method connect (line 27) | def connect(self): method _init_table (line 32) | def _init_table(self, record: "Record"): FILE: src/observers/stores/datasets.py class DatasetsStore (line 27) | class DatasetsStore(Store): method __post_init__ (line 48) | def __post_init__(self): method _cleanup (line 65) | def _cleanup(self): method _init_table (line 72) | def _init_table(self, record: "Record"): method connect (line 104) | def connect( method add (line 133) | def add(self, record: "Record"): method add_async (line 186) | async def add_async(self, record: "Record"): method close_async (line 190) | async def close_async(self): method close (line 196) | def close(self): FILE: src/observers/stores/duckdb.py class DuckDBStore (line 21) | class DuckDBStore(SQLStore): method __post_init__ (line 32) | def __post_init__(self): method connect (line 41) | def connect(cls, path: Optional[str] = None) -> "DuckDBStore": method _init_table (line 47) | def _init_table(self, record: "Record") -> str: method _get_tables (line 51) | def _get_tables(self) -> List[str]: method add (line 55) | def add(self, record: "Record"): method add_async (line 83) | async def add_async(self, record: "Record"): method close (line 87) | def close(self) -> None: method __enter__ (line 93) | def __enter__(self): method _migrate_schema (line 96) | def _migrate_schema(self, migration_script: str): method _get_current_schema_version (line 100) | def _get_current_schema_version(self) -> int: method __exit__ (line 127) | def __exit__(self, exc_type, exc_val, exc_tb): method _get_migrations_path (line 130) | def _get_migrations_path(self) -> Path: method _get_available_migrations (line 134) | def _get_available_migrations(self) -> List[tuple[int, str]]: method _apply_pending_migrations (line 150) | def _apply_pending_migrations(self): method _check_table_exists (line 176) | def _check_table_exists(self, table_name: str) -> bool: method _create_version_table (line 184) | def _create_version_table(self): method _execute (line 196) | def _execute(self, query: str, params: Optional[List] = None): FILE: src/observers/stores/migrations/001_create_schema_version.sql type schema_version (line 1) | CREATE TABLE IF NOT EXISTS schema_version ( type openai_records (line 8) | CREATE TABLE IF NOT EXISTS openai_records ( FILE: src/observers/stores/opentelemetry.py function flatten_dict (line 19) | def flatten_dict(d, prefix=""): function get_version (line 34) | def get_version(): class OpenTelemetryStore (line 42) | class OpenTelemetryStore(Store): method __post_init__ (line 55) | def __post_init__(self): method add (line 78) | def add(self, record: Record): method connect (line 112) | def connect(cls, tracer=None, root_span=None, namespace=None, exporter... method _init_table (line 117) | def _init_table(self, record: "Record"): method add_async (line 122) | async def add_async(self, record: Record): FILE: src/observers/stores/sql_base.py class SQLStore (line 9) | class SQLStore(Store): method _check_table_exists (line 13) | def _check_table_exists(self, table_name: str) -> bool: method _create_version_table (line 18) | def _create_version_table(self): method _execute (line 23) | def _execute(self, query: str, params: Optional[List] = None): method _migrate_schema (line 28) | def _migrate_schema(self, migration_script: str): method close (line 33) | def close(self) -> None: method _get_current_schema_version (line 38) | def _get_current_schema_version(self) -> int: method _apply_pending_migrations (line 43) | def _apply_pending_migrations(self): FILE: tests/conftest.py function mock_store (line 9) | def mock_store(monkeypatch): FILE: tests/integration/models/test_async_examples.py function get_async_example_files (line 12) | def get_async_example_files() -> list[str]: function mock_clients (line 37) | def mock_clients(monkeypatch): function test_async_example_files (line 75) | async def test_async_example_files(example_path, mock_clients): FILE: tests/integration/models/test_examples.py function get_sync_example_files (line 12) | def get_sync_example_files() -> list[str]: function mock_clients (line 39) | def mock_clients(): function test_sync_example_files (line 103) | def test_sync_example_files(example_path, mock_clients): FILE: tests/integration/models/test_stream_examples.py function get_async_example_files (line 21) | def get_async_example_files() -> list[str]: function mock_clients (line 46) | def mock_clients(monkeypatch): function test_async_example_files (line 122) | async def test_async_example_files(example_path, mock_clients): FILE: tests/unit/stores/test_datasets.py function mock_whoami (line 8) | def mock_whoami(): function mock_login (line 15) | def mock_login(): function datasets_store (line 21) | def datasets_store(mock_whoami, mock_login): function test_temp_dir_creation (line 27) | def test_temp_dir_creation(datasets_store): function test_temp_dir_cleanup (line 33) | def test_temp_dir_cleanup(datasets_store): function test_folder_path_defaults_to_temp_dir (line 42) | def test_folder_path_defaults_to_temp_dir(datasets_store): function test_custom_folder_path (line 47) | def test_custom_folder_path(mock_whoami, mock_login, tmp_path):