Skip to content
Open
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
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -181,3 +181,6 @@ node_modules/

# PyDoc generated docs
.generated_docs/

# Local-only working notes / scratch dir (not for git)
.local/
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,5 +64,5 @@ repos:
exclude: |
(?x)^(
CHANGELOG\.md|
src/galileo/resources/.*
src/splunk_ao/resources/.*
)$
4 changes: 2 additions & 2 deletions codegen_templates/endpoint_module.py.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ from typing import Any, Iterator, Optional, Union, cast

import httpx

from galileo.exceptions import (
from splunk_ao.exceptions import (
AuthenticationError,
BadRequestError,
ConflictError,
Expand All @@ -12,7 +12,7 @@ from galileo.exceptions import (
RateLimitError,
ServerError,
)
from galileo.utils.headers_data import get_sdk_header
from splunk_ao.utils.headers_data import get_sdk_header
from galileo_core.constants.request_method import RequestMethod
from galileo_core.helpers.api_client import ApiClient
from ...types import Response, UNSET
Expand Down
2 changes: 1 addition & 1 deletion examples/experiments/multi-turn/basic-example.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import os
import time

from galileo.resources.models import MetricSuccess
from splunk_ao import SplunkAOMetrics, splunk_ao_context
from splunk_ao.experiments import create_experiment
from splunk_ao.projects import create_project, get_project
from splunk_ao.resources.models import MetricSuccess
from splunk_ao.search import get_sessions
from splunk_ao.utils.metrics import create_metric_configs

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Load environment variables from .env file
from dotenv import load_dotenv

from galileo.resources.models.root_type import RootType
from splunk_ao import SplunkAOLogger
from splunk_ao.config import SplunkAOConfig # For displaying the log stream URL
from splunk_ao.export import export_records
from splunk_ao.log_streams import get_log_stream
from splunk_ao.projects import get_project
from splunk_ao.resources.models.root_type import RootType

load_dotenv()

Expand Down
5 changes: 2 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ Repository = "https://github.com/splunk/splunk-ao-python"
[tool.poetry]
packages = [
{ include = "splunk_ao", from = "src" },
{ include = "galileo", from = "src" },
]

[project.optional-dependencies]
Expand Down Expand Up @@ -136,7 +135,7 @@ src = ["src"]
unsafe-fixes = true
target-version = "py311"
exclude = [
"src/galileo/resources",
"src/splunk_ao/resources",
]

[tool.ruff.format]
Expand Down Expand Up @@ -367,7 +366,7 @@ patch_tags = ["fix", "perf", "chore", "docs", "style", "refactor"]
[tool.coverage.run]
omit = [
# ignore autogenerated code
"./src/galileo/resources/*",
"./src/splunk_ao/resources/*",
]


Expand Down
2 changes: 1 addition & 1 deletion scripts/auto-generate-api-client.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ set -euo pipefail
# Define the paths to the OpenAPI spec and config file
OPENAPI_SPEC_PATH="../openapi.yaml"
CONFIG_PATH="../openapi-client-config.yaml"
OUTPUT_PATH="../src/galileo/resources"
OUTPUT_PATH="../src/splunk_ao/resources"

HOME_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

Expand Down
24 changes: 0 additions & 24 deletions src/galileo/__init__.py

This file was deleted.

3 changes: 0 additions & 3 deletions src/galileo/exceptions.py

This file was deleted.

1 change: 0 additions & 1 deletion src/galileo/utils/__init__.py

This file was deleted.

3 changes: 0 additions & 3 deletions src/galileo/utils/headers_data.py

This file was deleted.

12 changes: 6 additions & 6 deletions src/splunk_ao/README_API_CLIENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ client = GalileoApiClient()
Now call your endpoint and use your models:

```python
from galileo.resources.models import MyDataModel
from galileo.resources.api.my_tag import get_my_data_model
from galileo.resources.types import Response
from splunk_ao.resources.models import MyDataModel
from splunk_ao.resources.api.my_tag import get_my_data_model
from splunk_ao.resources.types import Response

my_data: MyDataModel = get_my_data_model.sync(client=client)
# or if you need more info (e.g. status_code)
Expand All @@ -29,9 +29,9 @@ response: Response[MyDataModel] = get_my_data_model.sync_detailed(client=client)
Or do the same thing with an async version:

```python
from galileo.resources.models import MyDataModel
from galileo.resources.api.my_tag import get_my_data_model
from galileo.resources.types import Response
from splunk_ao.resources.models import MyDataModel
from splunk_ao.resources.api.my_tag import get_my_data_model
from splunk_ao.resources.types import Response

my_data: MyDataModel = await get_my_data_model.asyncio(client=client)
# or if you need more info (e.g. status_code)
Expand Down
10 changes: 1 addition & 9 deletions src/splunk_ao/__init__.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
"""Splunk AO."""

# ruff: noqa: E402

import sys

vars(sys)["_splunk_ao_suppress_galileo_deprecation_warning"] = True

from galileo.resources.models.document import Document
from galileo_core.helpers.api_key import create_api_key, delete_api_key, list_api_keys
from galileo_core.helpers.dependencies import is_dependency_available
from galileo_core.schemas.logging.llm import MessageRole, ToolCall, ToolCallFunction
Expand Down Expand Up @@ -49,6 +42,7 @@
from splunk_ao.project import Project
from splunk_ao.prompt import Prompt
from splunk_ao.provider import AnthropicProvider, AzureProvider, BedrockProvider, OpenAIProvider, Provider
from splunk_ao.resources.models.document import Document
from splunk_ao.schema.message import Message
from splunk_ao.schema.metrics import SplunkAOMetrics
from splunk_ao.shared.base import SyncState
Expand All @@ -64,8 +58,6 @@
from splunk_ao.types import MetricSpec
from splunk_ao.utils.log_config import enable_console_logging

vars(sys)["_splunk_ao_suppress_galileo_deprecation_warning"] = False

__version__ = "0.1.0"

__all__ = [
Expand Down
5 changes: 3 additions & 2 deletions src/splunk_ao/collaborator.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
from datetime import datetime
from typing import Any

# Re-export CollaboratorRole from the auto-generated models
from galileo.resources.models.collaborator_role import CollaboratorRole
from splunk_ao.projects import Projects

# Re-export CollaboratorRole from the auto-generated models
from splunk_ao.resources.models.collaborator_role import CollaboratorRole

logger = logging.getLogger(__name__)


Expand Down
10 changes: 5 additions & 5 deletions src/splunk_ao/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
from datetime import datetime
from typing import Any, TypeAlias

from galileo.resources.models.dataset_content import DatasetContent
from galileo.resources.models.dataset_row import DatasetRow
from galileo.resources.models.http_validation_error import HTTPValidationError
from galileo.resources.models.list_dataset_version_response import ListDatasetVersionResponse
from galileo.resources.types import Unset
from splunk_ao.datasets import Datasets
from splunk_ao.resources.models.dataset_content import DatasetContent
from splunk_ao.resources.models.dataset_row import DatasetRow
from splunk_ao.resources.models.http_validation_error import HTTPValidationError
from splunk_ao.resources.models.list_dataset_version_response import ListDatasetVersionResponse
from splunk_ao.resources.types import Unset
from splunk_ao.shared.base import StateManagementMixin, SyncState
from splunk_ao.shared.exceptions import ResourceNotFoundError, ValidationError

Expand Down
50 changes: 25 additions & 25 deletions src/splunk_ao/datasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
import time
from typing import Any, overload

from galileo.resources.api.datasets import (
from galileo_core.utils.dataset import DatasetType, parse_dataset
from splunk_ao.config import SplunkAOConfig
from splunk_ao.resources.api.datasets import (
create_dataset_datasets_post,
delete_dataset_datasets_dataset_id_delete,
extend_dataset_content_datasets_extend_post,
Expand All @@ -18,30 +20,28 @@
update_dataset_content_datasets_dataset_id_content_patch,
update_dataset_datasets_dataset_id_patch,
)
from galileo.resources.models import DatasetRow, ListDatasetVersionParams, ListDatasetVersionResponse
from galileo.resources.models.body_create_dataset_datasets_post import BodyCreateDatasetDatasetsPost
from galileo.resources.models.dataset_append_row import DatasetAppendRow
from galileo.resources.models.dataset_append_row_values import DatasetAppendRowValues
from galileo.resources.models.dataset_content import DatasetContent
from galileo.resources.models.dataset_db import DatasetDB
from galileo.resources.models.dataset_name_filter import DatasetNameFilter
from galileo.resources.models.dataset_name_filter_operator import DatasetNameFilterOperator
from galileo.resources.models.dataset_updated_at_sort import DatasetUpdatedAtSort
from galileo.resources.models.dataset_used_in_project_filter import DatasetUsedInProjectFilter
from galileo.resources.models.http_validation_error import HTTPValidationError
from galileo.resources.models.job_progress import JobProgress
from galileo.resources.models.list_dataset_params import ListDatasetParams
from galileo.resources.models.list_dataset_projects_response import ListDatasetProjectsResponse
from galileo.resources.models.list_dataset_response import ListDatasetResponse
from galileo.resources.models.prompt_run_settings import PromptRunSettings
from galileo.resources.models.synthetic_data_types import SyntheticDataTypes
from galileo.resources.models.synthetic_dataset_extension_request import SyntheticDatasetExtensionRequest
from galileo.resources.models.synthetic_dataset_extension_response import SyntheticDatasetExtensionResponse
from galileo.resources.models.update_dataset_content_request import UpdateDatasetContentRequest
from galileo.resources.models.update_dataset_request import UpdateDatasetRequest
from galileo.resources.types import UNSET, File, Unset
from galileo_core.utils.dataset import DatasetType, parse_dataset
from splunk_ao.config import SplunkAOConfig
from splunk_ao.resources.models import DatasetRow, ListDatasetVersionParams, ListDatasetVersionResponse
from splunk_ao.resources.models.body_create_dataset_datasets_post import BodyCreateDatasetDatasetsPost
from splunk_ao.resources.models.dataset_append_row import DatasetAppendRow
from splunk_ao.resources.models.dataset_append_row_values import DatasetAppendRowValues
from splunk_ao.resources.models.dataset_content import DatasetContent
from splunk_ao.resources.models.dataset_db import DatasetDB
from splunk_ao.resources.models.dataset_name_filter import DatasetNameFilter
from splunk_ao.resources.models.dataset_name_filter_operator import DatasetNameFilterOperator
from splunk_ao.resources.models.dataset_updated_at_sort import DatasetUpdatedAtSort
from splunk_ao.resources.models.dataset_used_in_project_filter import DatasetUsedInProjectFilter
from splunk_ao.resources.models.http_validation_error import HTTPValidationError
from splunk_ao.resources.models.job_progress import JobProgress
from splunk_ao.resources.models.list_dataset_params import ListDatasetParams
from splunk_ao.resources.models.list_dataset_projects_response import ListDatasetProjectsResponse
from splunk_ao.resources.models.list_dataset_response import ListDatasetResponse
from splunk_ao.resources.models.prompt_run_settings import PromptRunSettings
from splunk_ao.resources.models.synthetic_data_types import SyntheticDataTypes
from splunk_ao.resources.models.synthetic_dataset_extension_request import SyntheticDatasetExtensionRequest
from splunk_ao.resources.models.synthetic_dataset_extension_response import SyntheticDatasetExtensionResponse
from splunk_ao.resources.models.update_dataset_content_request import UpdateDatasetContentRequest
from splunk_ao.resources.models.update_dataset_request import UpdateDatasetRequest
from splunk_ao.resources.types import UNSET, File, Unset
from splunk_ao.schema.datasets import DatasetRecord
from splunk_ao.utils.datasets import normalize_dataset_rows, remap_output_to_ground_truth, validate_dataset_in_project
from splunk_ao.utils.exceptions import APIException
Expand Down
32 changes: 16 additions & 16 deletions src/splunk_ao/experiment.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,26 @@
from collections.abc import Iterator
from typing import TYPE_CHECKING, Any

from galileo.resources.api.experiment import (
from splunk_ao.config import SplunkAOConfig
from splunk_ao.datasets import Dataset as LegacyDataset
from splunk_ao.exceptions import NotFoundError
from splunk_ao.experiment_tags import upsert_experiment_tag
from splunk_ao.experiments import Experiments as ExperimentsService
from splunk_ao.experiments import _default_prompt_settings
from splunk_ao.export import ExportClient
from splunk_ao.job_progress import get_run_scorer_jobs, job_progress
from splunk_ao.prompts import PromptTemplate, get_prompt
from splunk_ao.resources.api.experiment import (
delete_experiment_projects_project_id_experiments_experiment_id_delete,
experiments_available_columns_projects_project_id_experiments_available_columns_post,
get_experiment_projects_project_id_experiments_experiment_id_get,
)
from galileo.resources.api.trace import (
from splunk_ao.resources.api.trace import (
sessions_available_columns_projects_project_id_sessions_available_columns_post,
spans_available_columns_projects_project_id_spans_available_columns_post,
traces_available_columns_projects_project_id_traces_available_columns_post,
)
from galileo.resources.models import (
from splunk_ao.resources.models import (
ExperimentResponse,
HTTPValidationError,
LLMExportFormat,
Expand All @@ -25,19 +34,10 @@
RootType,
ScorerConfig,
)
from galileo.resources.models.log_records_available_columns_request import LogRecordsAvailableColumnsRequest
from galileo.resources.models.log_records_available_columns_response import LogRecordsAvailableColumnsResponse
from galileo.resources.models.metric_aggregates import MetricAggregates
from galileo.resources.types import Unset
from splunk_ao.config import SplunkAOConfig
from splunk_ao.datasets import Dataset as LegacyDataset
from splunk_ao.exceptions import NotFoundError
from splunk_ao.experiment_tags import upsert_experiment_tag
from splunk_ao.experiments import Experiments as ExperimentsService
from splunk_ao.experiments import _default_prompt_settings
from splunk_ao.export import ExportClient
from splunk_ao.job_progress import get_run_scorer_jobs, job_progress
from splunk_ao.prompts import PromptTemplate, get_prompt
from splunk_ao.resources.models.log_records_available_columns_request import LogRecordsAvailableColumnsRequest
from splunk_ao.resources.models.log_records_available_columns_response import LogRecordsAvailableColumnsResponse
from splunk_ao.resources.models.metric_aggregates import MetricAggregates
from splunk_ao.resources.types import Unset

# TODO: DatasetRecord needed for function-based experiments
# from splunk_ao.schema.datasets import DatasetRecord
Expand Down
10 changes: 5 additions & 5 deletions src/splunk_ao/experiment_tags.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

import logging

from galileo.resources.api.experiment_tags import (
from splunk_ao.config import SplunkAOConfig
from splunk_ao.resources.api.experiment_tags import (
delete_experiment_tag_projects_project_id_experiments_experiment_id_tags_tag_id_delete,
get_experiment_tags_projects_project_id_experiments_experiment_id_tags_get,
set_tag_for_experiment_projects_project_id_experiments_experiment_id_tags_post,
)
from galileo.resources.models.http_validation_error import HTTPValidationError
from galileo.resources.models.run_tag_create_request import RunTagCreateRequest
from galileo.resources.models.run_tag_db import RunTagDB
from splunk_ao.config import SplunkAOConfig
from splunk_ao.resources.models.http_validation_error import HTTPValidationError
from splunk_ao.resources.models.run_tag_create_request import RunTagCreateRequest
from splunk_ao.resources.models.run_tag_db import RunTagDB
from splunk_ao.utils.exceptions import APIException

_logger = logging.getLogger(__name__)
Expand Down
18 changes: 12 additions & 6 deletions src/splunk_ao/experiments.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,24 @@
from attrs import define as _attrs_define
from attrs import field as _attrs_field

from galileo.resources.api.experiment import (
create_experiment_projects_project_id_experiments_post,
list_experiments_projects_project_id_experiments_get,
)
from galileo.resources.models import ExperimentResponse, HTTPValidationError, PromptRunSettings, ScorerConfig, TaskType
from galileo_core.constants.request_method import RequestMethod
from splunk_ao.config import SplunkAOConfig
from splunk_ao.datasets import Dataset, convert_dataset_row_to_record
from splunk_ao.decorator import log, splunk_ao_context, splunk_ao_dataset_context
from splunk_ao.experiment_tags import upsert_experiment_tag
from splunk_ao.projects import Project, Projects
from splunk_ao.prompts import PromptTemplate
from splunk_ao.resources.api.experiment import (
create_experiment_projects_project_id_experiments_post,
list_experiments_projects_project_id_experiments_get,
)
from splunk_ao.resources.models import (
ExperimentResponse,
HTTPValidationError,
PromptRunSettings,
ScorerConfig,
TaskType,
)
from splunk_ao.schema.datasets import DatasetRecord
from splunk_ao.schema.experiment_group import ExperimentGroupResponse
from splunk_ao.schema.metrics import LocalMetricConfig, Metric, SplunkAOMetrics
Expand Down Expand Up @@ -740,7 +746,7 @@ def list_experiment_groups(
raise ValueError("Project not specified and no defaults found")

# Use the SDK's configured ApiClient — the same client every generated endpoint call
# uses (see src/galileo/resources/api/experiment/*.py). This preserves auth, base URL,
# uses (see src/splunk_ao/resources/api/experiment/*.py). This preserves auth, base URL,
# timeout, and SDK headers. The experiment-group routes are not yet in the generated
# client; once they are, this helper should be rewritten to use the generated function.
config = SplunkAOConfig.get()
Expand Down
Loading
Loading