adaptive-sdk 0.1.10__tar.gz → 0.1.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/PKG-INFO +2 -2
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/pyproject.toml +3 -3
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/__init__.py +3 -3
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/async_client.py +1 -1
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/client.py +1 -1
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/custom_fields.py +9 -9
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/enums.py +7 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/input_types.py +2 -0
- adaptive_sdk-0.1.12/src/adaptive_sdk/graphql_client/me.py +12 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/compute_pools.py +2 -2
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/jobs.py +4 -2
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/recipes.py +98 -40
- adaptive_sdk-0.1.10/src/adaptive_sdk/graphql_client/me.py +0 -19
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/README.md +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/__init__.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/base_client.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/client.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/error_handling.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/external/__init__.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/external/base_model.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/external/constants.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/external/requests_journal.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/external/reward_client.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/external/reward_server.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/external/reward_types.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/external/websocket_utils.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/add_external_model.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/add_hf_model.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/add_model.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/add_remote_env.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/async_base_client_open_telemetry.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/attach_model_to_use_case.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/base_client_open_telemetry.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/base_model.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/base_operation.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/cancel_ab_campaign.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/cancel_job.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_ab_campaign.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_custom_recipe.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_dataset_from_multipart_upload.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_grader.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_job.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_judge.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_metric.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_prebuilt_judge.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_role.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_team.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_use_case.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_user.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/custom_mutations.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/custom_queries.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/custom_typing_fields.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/dataset_upload_processing_status.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/delete_custom_recipe.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/delete_dataset.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/delete_grader.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/delete_judge.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/delete_user.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/deploy_model.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_ab_campaign.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_dataset.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_interaction.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_job.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_metric.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_metric_admin.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_model.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_model_admin.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_use_case.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/exceptions.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/fragments.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/get_custom_recipe.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/get_grader.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/get_judge.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/link_metric.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_ab_campaigns.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_compute_pools.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_custom_recipes.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_datasets.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_graders.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_grouped_interactions.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_harmony_groups.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_interactions.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_jobs.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_judge_versions.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_judges.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_metrics.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_models.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_permissions.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_remote_envs.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_roles.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_teams.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_use_cases.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_users.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/load_dataset.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/lock_grader.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/remove_remote_env.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/remove_team_member.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/resize_inference_partition.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/share_use_case.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/terminate_model.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/test_remote_env.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/unlink_metric.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/update_custom_recipe.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/update_grader.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/update_judge.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/update_model.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/update_model_compute_config.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/update_user.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/input_types/__init__.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/input_types/typed_dicts.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/openapi.json +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/output_types/__init__.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/output_types/job_wrapper.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/patch.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/__init__.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/abtests.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/base_resource.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/chat.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/datasets.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/embeddings.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/feedback.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/graders.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/interactions.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/models.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/permissions.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/roles.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/teams.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/use_cases.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/resources/users.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/rest/__init__.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/rest/base_model.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/rest/rest_types.py +0 -0
- {adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: adaptive-sdk
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.12
|
|
4
4
|
Summary: Python SDK for Adaptive Engine
|
|
5
5
|
Author-email: Vincent Debergue <vincent@adaptive-ml.com>, Joao Moura <joao@adaptive-ml.com>, Yacine Bouraoui <yacine@adaptive-ml.com>
|
|
6
6
|
Requires-Python: >=3.10
|
|
@@ -10,7 +10,7 @@ Requires-Dist: httpx-sse >= 0.4.0
|
|
|
10
10
|
Requires-Dist: gql >= 3.5.0
|
|
11
11
|
Requires-Dist: pydantic[email] >= 2.9.0
|
|
12
12
|
Requires-Dist: pyhumps >= 3.8.0
|
|
13
|
-
Requires-Dist: fastapi >= 0.121.
|
|
13
|
+
Requires-Dist: fastapi >= 0.121.2
|
|
14
14
|
Requires-Dist: uvicorn >= 0.34.0
|
|
15
15
|
Requires-Dist: jsonschema==4.24.0
|
|
16
16
|
Requires-Dist: websockets==15.0.1
|
|
@@ -5,7 +5,7 @@ build-backend = "flit_core.buildapi"
|
|
|
5
5
|
|
|
6
6
|
[project]
|
|
7
7
|
name = "adaptive-sdk"
|
|
8
|
-
version = "0.1.
|
|
8
|
+
version = "0.1.12"
|
|
9
9
|
description = "Python SDK for Adaptive Engine"
|
|
10
10
|
authors = [
|
|
11
11
|
{ name = "Vincent Debergue", email = "vincent@adaptive-ml.com" },
|
|
@@ -20,7 +20,7 @@ dependencies = [
|
|
|
20
20
|
"gql >= 3.5.0",
|
|
21
21
|
"pydantic[email] >= 2.9.0",
|
|
22
22
|
"pyhumps >= 3.8.0",
|
|
23
|
-
"fastapi >= 0.121.
|
|
23
|
+
"fastapi >= 0.121.2",
|
|
24
24
|
"uvicorn >= 0.34.0",
|
|
25
25
|
"jsonschema==4.24.0",
|
|
26
26
|
"websockets==15.0.1",
|
|
@@ -77,4 +77,4 @@ allow_redefinition = true
|
|
|
77
77
|
required-version = '25.1.0'
|
|
78
78
|
|
|
79
79
|
[tool.uv]
|
|
80
|
-
constraint-dependencies = ["graphql-core==3.2.6"]
|
|
80
|
+
constraint-dependencies = ["graphql-core==3.2.6", "starlette==0.49.1"]
|
|
@@ -38,7 +38,7 @@ from .describe_metric_admin import DescribeMetricAdmin, DescribeMetricAdminMetri
|
|
|
38
38
|
from .describe_model import DescribeModel, DescribeModelModel, DescribeModelModelBackbone
|
|
39
39
|
from .describe_model_admin import DescribeModelAdmin, DescribeModelAdminModel, DescribeModelAdminModelBackbone
|
|
40
40
|
from .describe_use_case import DescribeUseCase, DescribeUseCaseUseCase
|
|
41
|
-
from .enums import AbcampaignStatus, AuthProviderKind, BillingCycle, CompletionGroupBy, CompletionSource, ComputePoolCapability, DatasetKind, DatasetSource, DatasetStatus, DateBucketUnit, ExternalModelProviderName, FeedbackType, GraderTypeEnum, HarmonyStatus, JobArtifactKind, JobKind, JobStatus, JobStatusOutput, JudgeCapability, MetricAggregation, MetricKind, MetricScoringType, ModelCapabilityFilter, ModelOnline, ModelserviceStatus, OpenAIModel, PrebuiltCriteriaKey, Protocol, ProviderName, RemoteEnvStatus, SelectionTypeInput, SessionStatus, SortDirection, TimeseriesInterval, UnitPosition
|
|
41
|
+
from .enums import AbcampaignStatus, AuthProviderKind, BillingCycle, CompletionGroupBy, CompletionSource, ComputePoolCapability, DatasetKind, DatasetSource, DatasetStatus, DateBucketUnit, ExternalModelProviderName, FeedbackType, GraderTypeEnum, HarmonyStatus, JobArtifactKind, JobArtifactStatus, JobKind, JobStatus, JobStatusOutput, JudgeCapability, MetricAggregation, MetricKind, MetricScoringType, ModelCapabilityFilter, ModelOnline, ModelserviceStatus, OpenAIModel, PrebuiltCriteriaKey, Protocol, ProviderName, RemoteEnvStatus, SelectionTypeInput, SessionStatus, SortDirection, TimeseriesInterval, UnitPosition
|
|
42
42
|
from .exceptions import GraphQLClientError, GraphQLClientGraphQLError, GraphQLClientGraphQLMultiError, GraphQLClientHttpError, GraphQLClientInvalidResponseError
|
|
43
43
|
from .fragments import AbCampaignCreateData, AbCampaignDetailData, AbCampaignDetailDataMetric, AbCampaignDetailDataModels, AbCampaignDetailDataUseCase, AbCampaignReportData, AbCampaignReportDataVariants, AbCampaignReportDataVariantsComparisons, AbCampaignReportDataVariantsComparisonsVariant, AbCampaignReportDataVariantsInterval, AbCampaignReportDataVariantsVariant, CompletionComparisonFeedbackData, CompletionComparisonFeedbackDataModel, CompletionData, CompletionDataChatMessages, CompletionDataComparisonFeedbacks, CompletionDataComparisonFeedbacksMetric, CompletionDataComparisonFeedbacksOtherCompletion, CompletionDataComparisonFeedbacksPreferedCompletion, CompletionDataComparisonFeedbacksUsecase, CompletionDataDirectFeedbacks, CompletionDataDirectFeedbacksMetric, CompletionDataLabels, CompletionDataMetadata, CompletionDataMetadataUsage, CompletionDataModel, CustomRecipeData, CustomRecipeDataCreatedBy, CustomRecipeDataLabels, DatasetData, DatasetDataMetricsUsage, DatasetDataMetricsUsageMetric, GraderData, GraderDataGraderConfigCustomConfigOutput, GraderDataGraderConfigJudgeConfigOutput, GraderDataGraderConfigJudgeConfigOutputExamples, GraderDataGraderConfigJudgeConfigOutputExamplesInput, GraderDataGraderConfigJudgeConfigOutputModel, GraderDataGraderConfigPrebuiltConfigOutput, GraderDataGraderConfigPrebuiltConfigOutputModel, GraderDataGraderConfigPrebuiltConfigOutputPrebuiltCriteria, GraderDataGraderConfigRemoteConfigOutput, GraderDataMetric, GraderDataUseCase, HarmonyGroupData, HarmonyGroupDataComputePool, HarmonyGroupDataGpuAllocations, HarmonyGroupDataOnlineModels, JobData, JobDataCreatedBy, JobDataDetails, JobDataDetailsArtifacts, JobDataDetailsArtifactsByproductsDatasetByproducts, JobDataDetailsArtifactsByproductsEvaluationByproducts, JobDataDetailsArtifactsByproductsEvaluationByproductsEvalResults, JobDataDetailsArtifactsByproductsEvaluationByproductsEvalResultsMetric, JobDataDetailsArtifactsByproductsEvaluationByproductsEvalResultsModelService, JobDataDetailsArtifactsByproductsModelByproducts, JobDataRecipe, JobDataStages, JobDataStagesInfoBatchInferenceJobStageOutput, JobDataStagesInfoEvalJobStageOutput, JobDataStagesInfoTrainingJobStageOutput, JobDataUseCase, JobStageOutputData, JobStageOutputDataInfoBatchInferenceJobStageOutput, JobStageOutputDataInfoEvalJobStageOutput, JobStageOutputDataInfoTrainingJobStageOutput, JudgeData, JudgeDataExamples, JudgeDataExamplesInput, JudgeDataMetric, JudgeDataModel, MetricData, MetricDataAdmin, MetricDataAdminUseCases, MetricWithContextData, ModelData, ModelDataAdmin, ModelDataAdminUseCases, ModelDataComputeConfig, ModelServiceData, ModelServiceDataModel, ModelServiceDataModelBackbone, RemoteEnvData, UseCaseData, UseCaseDataMetrics, UseCaseDataModelServices, UseCaseDataShares, UseCaseDataSharesRole, UseCaseDataSharesTeam, UserData, UserDataTeams, UserDataTeamsRole, UserDataTeamsTeam
|
|
44
44
|
from .get_custom_recipe import GetCustomRecipe, GetCustomRecipeCustomRecipe
|
|
@@ -67,7 +67,7 @@ from .list_use_cases import ListUseCases, ListUseCasesUseCases
|
|
|
67
67
|
from .list_users import ListUsers, ListUsersUsers
|
|
68
68
|
from .load_dataset import LoadDataset, LoadDatasetCreateDataset
|
|
69
69
|
from .lock_grader import LockGrader, LockGraderLockGrader
|
|
70
|
-
from .me import Me, MeMe
|
|
70
|
+
from .me import Me, MeMe
|
|
71
71
|
from .remove_remote_env import RemoveRemoteEnv
|
|
72
72
|
from .remove_team_member import RemoveTeamMember, RemoveTeamMemberRemoveTeamMember
|
|
73
73
|
from .resize_inference_partition import ResizeInferencePartition
|
|
@@ -81,4 +81,4 @@ from .update_judge import UpdateJudge, UpdateJudgeUpdateJudge
|
|
|
81
81
|
from .update_model import UpdateModel, UpdateModelUpdateModelService
|
|
82
82
|
from .update_model_compute_config import UpdateModelComputeConfig, UpdateModelComputeConfigUpdateModelComputeConfig
|
|
83
83
|
from .update_user import UpdateUser, UpdateUserSetTeamMember, UpdateUserSetTeamMemberRole, UpdateUserSetTeamMemberTeam, UpdateUserSetTeamMemberUser
|
|
84
|
-
__all__ = ['AbCampaignCreateData', 'AbCampaignDetailData', 'AbCampaignDetailDataMetric', 'AbCampaignDetailDataModels', 'AbCampaignDetailDataUseCase', 'AbCampaignFilter', 'AbCampaignReportData', 'AbCampaignReportDataVariants', 'AbCampaignReportDataVariantsComparisons', 'AbCampaignReportDataVariantsComparisonsVariant', 'AbCampaignReportDataVariantsInterval', 'AbCampaignReportDataVariantsVariant', 'AbcampaignCreate', 'AbcampaignStatus', 'AddExternalModel', 'AddExternalModelAddExternalModel', 'AddExternalModelInput', 'AddHFModel', 'AddHFModelImportHfModel', 'AddHFModelInput', 'AddModel', 'AddModelAddModel', 'AddModelAddModelBackbone', 'AddModelInput', 'AddRemoteEnv', 'AddRemoteEnvAddRemoteEnv', 'AnthropicProviderDataInput', 'ApiKeyCreate', 'ArtifactFilter', 'AsyncBaseClientOpenTelemetry', 'AsyncGQLClient', 'AttachModel', 'AttachModelToUseCase', 'AttachModelToUseCaseAttachModel', 'AuthProviderKind', 'BaseClientOpenTelemetry', 'BaseModel', 'BillingCycle', 'CancelABCampaign', 'CancelAllocationInput', 'CancelJob', 'CancelJobCancelJob', 'CapabilityFilter', 'CompletionComparisonFeedbackData', 'CompletionComparisonFeedbackDataModel', 'CompletionComparisonFilterInput', 'CompletionData', 'CompletionDataChatMessages', 'CompletionDataComparisonFeedbacks', 'CompletionDataComparisonFeedbacksMetric', 'CompletionDataComparisonFeedbacksOtherCompletion', 'CompletionDataComparisonFeedbacksPreferedCompletion', 'CompletionDataComparisonFeedbacksUsecase', 'CompletionDataDirectFeedbacks', 'CompletionDataDirectFeedbacksMetric', 'CompletionDataLabels', 'CompletionDataMetadata', 'CompletionDataMetadataUsage', 'CompletionDataModel', 'CompletionFeedbackFilterInput', 'CompletionGroupBy', 'CompletionLabelValue', 'CompletionSource', 'CompletionsByFilters', 'CompletionsById', 'ComputePoolCapability', 'CreateAbCampaign', 'CreateAbCampaignCreateAbCampaign', 'CreateCustomRecipe', 'CreateCustomRecipeCreateCustomRecipe', 'CreateDatasetFromMultipartUpload', 'CreateDatasetFromMultipartUploadCreateDatasetFromMultipartUpload', 'CreateGrader', 'CreateGraderCreateGrader', 'CreateJob', 'CreateJobCreateJob', 'CreateJudge', 'CreateJudgeCreateJudge', 'CreateMetric', 'CreateMetricCreateMetric', 'CreatePrebuiltJudge', 'CreatePrebuiltJudgeCreatePrebuiltJudge', 'CreateRecipeInput', 'CreateRole', 'CreateRoleCreateRole', 'CreateTeam', 'CreateTeamCreateTeam', 'CreateToolProviderInput', 'CreateUseCase', 'CreateUseCaseCreateUseCase', 'CreateUser', 'CreateUserCreateUser', 'CursorPageInput', 'CustomConfigInput', 'CustomRecipeData', 'CustomRecipeDataCreatedBy', 'CustomRecipeDataLabels', 'CustomRecipeFilterInput', 'DatasetCompletionQuery', 'DatasetCreate', 'DatasetCreateFromFilters', 'DatasetCreateFromMultipartUpload', 'DatasetData', 'DatasetDataMetricsUsage', 'DatasetDataMetricsUsageMetric', 'DatasetKind', 'DatasetSource', 'DatasetStatus', 'DatasetUploadProcessingStatus', 'DatasetUploadProcessingStatusDatasetUploadProcessingStatus', 'DatasetUploadProcessingStatusInput', 'DateBucketUnit', 'DeleteCustomRecipe', 'DeleteDataset', 'DeleteGrader', 'DeleteGraderDeleteGrader', 'DeleteJudge', 'DeleteJudgeDeleteJudge', 'DeleteUser', 'DeleteUserDeleteUser', 'DeployModel', 'DescribeAbCampaign', 'DescribeAbCampaignAbCampaign', 'DescribeAbCampaignAbCampaignReport', 'DescribeDataset', 'DescribeDatasetDataset', 'DescribeInteraction', 'DescribeInteractionCompletion', 'DescribeJob', 'DescribeJobJob', 'DescribeMetric', 'DescribeMetricAdmin', 'DescribeMetricAdminMetric', 'DescribeMetricMetric', 'DescribeModel', 'DescribeModelAdmin', 'DescribeModelAdminModel', 'DescribeModelAdminModelBackbone', 'DescribeModelModel', 'DescribeModelModelBackbone', 'DescribeUseCase', 'DescribeUseCaseUseCase', 'EmojiInput', 'ExternalModelProviderName', 'FeedbackAddInput', 'FeedbackFilterInput', 'FeedbackType', 'FeedbackUpdateInput', 'FromGroupsQuery', 'GQLClient', 'GetCustomRecipe', 'GetCustomRecipeCustomRecipe', 'GetGrader', 'GetGraderGrader', 'GetJudge', 'GetJudgeJudge', 'GlobalUsageFilterInput', 'GoogleProviderDataInput', 'GraderConfigInput', 'GraderCreateInput', 'GraderData', 'GraderDataGraderConfigCustomConfigOutput', 'GraderDataGraderConfigJudgeConfigOutput', 'GraderDataGraderConfigJudgeConfigOutputExamples', 'GraderDataGraderConfigJudgeConfigOutputExamplesInput', 'GraderDataGraderConfigJudgeConfigOutputModel', 'GraderDataGraderConfigPrebuiltConfigOutput', 'GraderDataGraderConfigPrebuiltConfigOutputModel', 'GraderDataGraderConfigPrebuiltConfigOutputPrebuiltCriteria', 'GraderDataGraderConfigRemoteConfigOutput', 'GraderDataMetric', 'GraderDataUseCase', 'GraderTypeEnum', 'GraderUpdateInput', 'GraphQLClientError', 'GraphQLClientGraphQLError', 'GraphQLClientGraphQLMultiError', 'GraphQLClientHttpError', 'GraphQLClientInvalidResponseError', 'GroupSelection', 'GroupSelectionQuery', 'HarmonyGroupData', 'HarmonyGroupDataComputePool', 'HarmonyGroupDataGpuAllocations', 'HarmonyGroupDataOnlineModels', 'HarmonyStatus', 'JobArtifactFilter', 'JobArtifactKind', 'JobData', 'JobDataCreatedBy', 'JobDataDetails', 'JobDataDetailsArtifacts', 'JobDataDetailsArtifactsByproductsDatasetByproducts', 'JobDataDetailsArtifactsByproductsEvaluationByproducts', 'JobDataDetailsArtifactsByproductsEvaluationByproductsEvalResults', 'JobDataDetailsArtifactsByproductsEvaluationByproductsEvalResultsMetric', 'JobDataDetailsArtifactsByproductsEvaluationByproductsEvalResultsModelService', 'JobDataDetailsArtifactsByproductsModelByproducts', 'JobDataRecipe', 'JobDataStages', 'JobDataStagesInfoBatchInferenceJobStageOutput', 'JobDataStagesInfoEvalJobStageOutput', 'JobDataStagesInfoTrainingJobStageOutput', 'JobDataUseCase', 'JobInput', 'JobKind', 'JobStageOutputData', 'JobStageOutputDataInfoBatchInferenceJobStageOutput', 'JobStageOutputDataInfoEvalJobStageOutput', 'JobStageOutputDataInfoTrainingJobStageOutput', 'JobStatus', 'JobStatusOutput', 'JudgeCapability', 'JudgeConfigInput', 'JudgeCreate', 'JudgeData', 'JudgeDataExamples', 'JudgeDataExamplesInput', 'JudgeDataMetric', 'JudgeDataModel', 'JudgeExampleInput', 'JudgeExampleInputTurnEntry', 'JudgeUpdate', 'LabelFilter', 'LabelInput', 'LinkMetric', 'LinkMetricLinkMetric', 'ListAbCampaigns', 'ListAbCampaignsAbCampaigns', 'ListCompletionsFilterInput', 'ListComputePools', 'ListComputePoolsComputePools', 'ListComputePoolsComputePoolsHarmonyGroups', 'ListCustomRecipes', 'ListCustomRecipesCustomRecipes', 'ListDatasets', 'ListDatasetsDatasets', 'ListGraders', 'ListGradersGraders', 'ListGroupedInteractions', 'ListGroupedInteractionsCompletionsGrouped', 'ListGroupedInteractionsCompletionsGroupedNodes', 'ListGroupedInteractionsCompletionsGroupedNodesCompletions', 'ListGroupedInteractionsCompletionsGroupedNodesCompletionsNodes', 'ListGroupedInteractionsCompletionsGroupedNodesDirectFeedbacksStats', 'ListGroupedInteractionsCompletionsGroupedNodesDirectFeedbacksStatsMetric', 'ListGroupedInteractionsCompletionsGroupedPageInfo', 'ListHarmonyGroups', 'ListHarmonyGroupsHarmonyGroups', 'ListInteractions', 'ListInteractionsCompletions', 'ListInteractionsCompletionsNodes', 'ListInteractionsCompletionsPageInfo', 'ListJobs', 'ListJobsFilterInput', 'ListJobsJobs', 'ListJobsJobsNodes', 'ListJobsJobsPageInfo', 'ListJudgeVersions', 'ListJudgeVersionsJudgeVersions', 'ListJudges', 'ListJudgesJudges', 'ListMetrics', 'ListMetricsMetrics', 'ListModels', 'ListModelsModels', 'ListModelsModelsBackbone', 'ListPermissions', 'ListRemoteEnvs', 'ListRemoteEnvsRemoteEnvs', 'ListRoles', 'ListRolesRoles', 'ListTeams', 'ListTeamsTeams', 'ListUseCases', 'ListUseCasesUseCases', 'ListUsers', 'ListUsersUsers', 'LoadDataset', 'LoadDatasetCreateDataset', 'LockGrader', 'LockGraderLockGrader', 'Me', 'MeMe', 'MeMeApiKeys', 'MetricAggregation', 'MetricCreate', 'MetricData', 'MetricDataAdmin', 'MetricDataAdminUseCases', 'MetricGetOrCreate', 'MetricKind', 'MetricLink', 'MetricScoringType', 'MetricTrendInput', 'MetricUnlink', 'MetricWithContextData', 'ModelCapabilityFilter', 'ModelComputeConfigInput', 'ModelData', 'ModelDataAdmin', 'ModelDataAdminUseCases', 'ModelDataComputeConfig', 'ModelFilter', 'ModelOnline', 'ModelPlacementInput', 'ModelProviderDataInput', 'ModelServiceData', 'ModelServiceDataModel', 'ModelServiceDataModelBackbone', 'ModelServiceDisconnect', 'ModelServiceFilter', 'ModelserviceStatus', 'OpenAIModel', 'OpenAIProviderDataInput', 'OrderPair', 'PrebuiltConfigInput', 'PrebuiltCriteriaKey', 'PrebuiltJudgeCreate', 'Protocol', 'ProviderName', 'RemoteConfigInput', 'RemoteEnvCreate', 'RemoteEnvData', 'RemoteEnvStatus', 'RemoveRemoteEnv', 'RemoveTeamMember', 'RemoveTeamMemberRemoveTeamMember', 'ResizeInferencePartition', 'ResizePartitionInput', 'RoleCreate', 'SampleConfig', 'SearchInput', 'SelectionTypeInput', 'SessionStatus', 'ShareUseCase', 'ShareUseCaseShareUseCase', 'SortDirection', 'SystemPromptTemplateCreate', 'SystemPromptTemplateUpdate', 'TeamCreate', 'TeamMemberRemove', 'TeamMemberSet', 'TerminateModel', 'TestRemoteEnv', 'TestRemoteEnvTestRemoteEnvRemoteEnvTestOffline', 'TestRemoteEnvTestRemoteEnvRemoteEnvTestOnline', 'TimeRange', 'TimeseriesInput', 'TimeseriesInterval', 'UnitConfigInput', 'UnitPosition', 'UnlinkMetric', 'UpdateCompletion', 'UpdateCustomRecipe', 'UpdateCustomRecipeUpdateCustomRecipe', 'UpdateGrader', 'UpdateGraderUpdateGrader', 'UpdateJudge', 'UpdateJudgeUpdateJudge', 'UpdateModel', 'UpdateModelComputeConfig', 'UpdateModelComputeConfigUpdateModelComputeConfig', 'UpdateModelService', 'UpdateModelUpdateModelService', 'UpdateRecipeInput', 'UpdateToolProviderInput', 'UpdateUser', 'UpdateUserSetTeamMember', 'UpdateUserSetTeamMemberRole', 'UpdateUserSetTeamMemberTeam', 'UpdateUserSetTeamMemberUser', 'Upload', 'UsageFilterInput', 'UsagePerUseCaseFilterInput', 'UseCaseCreate', 'UseCaseData', 'UseCaseDataMetrics', 'UseCaseDataModelServices', 'UseCaseDataShares', 'UseCaseDataSharesRole', 'UseCaseDataSharesTeam', 'UseCaseFilter', 'UseCaseMetadataInput', 'UseCaseSettingsInput', 'UseCaseShareInput', 'UseCaseShares', 'UseCaseUpdate', 'UserCreate', 'UserCreateTeamWithRole', 'UserData', 'UserDataTeams', 'UserDataTeamsRole', 'UserDataTeamsTeam', 'WidgetInput']
|
|
84
|
+
__all__ = ['AbCampaignCreateData', 'AbCampaignDetailData', 'AbCampaignDetailDataMetric', 'AbCampaignDetailDataModels', 'AbCampaignDetailDataUseCase', 'AbCampaignFilter', 'AbCampaignReportData', 'AbCampaignReportDataVariants', 'AbCampaignReportDataVariantsComparisons', 'AbCampaignReportDataVariantsComparisonsVariant', 'AbCampaignReportDataVariantsInterval', 'AbCampaignReportDataVariantsVariant', 'AbcampaignCreate', 'AbcampaignStatus', 'AddExternalModel', 'AddExternalModelAddExternalModel', 'AddExternalModelInput', 'AddHFModel', 'AddHFModelImportHfModel', 'AddHFModelInput', 'AddModel', 'AddModelAddModel', 'AddModelAddModelBackbone', 'AddModelInput', 'AddRemoteEnv', 'AddRemoteEnvAddRemoteEnv', 'AnthropicProviderDataInput', 'ApiKeyCreate', 'ArtifactFilter', 'AsyncBaseClientOpenTelemetry', 'AsyncGQLClient', 'AttachModel', 'AttachModelToUseCase', 'AttachModelToUseCaseAttachModel', 'AuthProviderKind', 'BaseClientOpenTelemetry', 'BaseModel', 'BillingCycle', 'CancelABCampaign', 'CancelAllocationInput', 'CancelJob', 'CancelJobCancelJob', 'CapabilityFilter', 'CompletionComparisonFeedbackData', 'CompletionComparisonFeedbackDataModel', 'CompletionComparisonFilterInput', 'CompletionData', 'CompletionDataChatMessages', 'CompletionDataComparisonFeedbacks', 'CompletionDataComparisonFeedbacksMetric', 'CompletionDataComparisonFeedbacksOtherCompletion', 'CompletionDataComparisonFeedbacksPreferedCompletion', 'CompletionDataComparisonFeedbacksUsecase', 'CompletionDataDirectFeedbacks', 'CompletionDataDirectFeedbacksMetric', 'CompletionDataLabels', 'CompletionDataMetadata', 'CompletionDataMetadataUsage', 'CompletionDataModel', 'CompletionFeedbackFilterInput', 'CompletionGroupBy', 'CompletionLabelValue', 'CompletionSource', 'CompletionsByFilters', 'CompletionsById', 'ComputePoolCapability', 'CreateAbCampaign', 'CreateAbCampaignCreateAbCampaign', 'CreateCustomRecipe', 'CreateCustomRecipeCreateCustomRecipe', 'CreateDatasetFromMultipartUpload', 'CreateDatasetFromMultipartUploadCreateDatasetFromMultipartUpload', 'CreateGrader', 'CreateGraderCreateGrader', 'CreateJob', 'CreateJobCreateJob', 'CreateJudge', 'CreateJudgeCreateJudge', 'CreateMetric', 'CreateMetricCreateMetric', 'CreatePrebuiltJudge', 'CreatePrebuiltJudgeCreatePrebuiltJudge', 'CreateRecipeInput', 'CreateRole', 'CreateRoleCreateRole', 'CreateTeam', 'CreateTeamCreateTeam', 'CreateToolProviderInput', 'CreateUseCase', 'CreateUseCaseCreateUseCase', 'CreateUser', 'CreateUserCreateUser', 'CursorPageInput', 'CustomConfigInput', 'CustomRecipeData', 'CustomRecipeDataCreatedBy', 'CustomRecipeDataLabels', 'CustomRecipeFilterInput', 'DatasetCompletionQuery', 'DatasetCreate', 'DatasetCreateFromFilters', 'DatasetCreateFromMultipartUpload', 'DatasetData', 'DatasetDataMetricsUsage', 'DatasetDataMetricsUsageMetric', 'DatasetKind', 'DatasetSource', 'DatasetStatus', 'DatasetUploadProcessingStatus', 'DatasetUploadProcessingStatusDatasetUploadProcessingStatus', 'DatasetUploadProcessingStatusInput', 'DateBucketUnit', 'DeleteCustomRecipe', 'DeleteDataset', 'DeleteGrader', 'DeleteGraderDeleteGrader', 'DeleteJudge', 'DeleteJudgeDeleteJudge', 'DeleteUser', 'DeleteUserDeleteUser', 'DeployModel', 'DescribeAbCampaign', 'DescribeAbCampaignAbCampaign', 'DescribeAbCampaignAbCampaignReport', 'DescribeDataset', 'DescribeDatasetDataset', 'DescribeInteraction', 'DescribeInteractionCompletion', 'DescribeJob', 'DescribeJobJob', 'DescribeMetric', 'DescribeMetricAdmin', 'DescribeMetricAdminMetric', 'DescribeMetricMetric', 'DescribeModel', 'DescribeModelAdmin', 'DescribeModelAdminModel', 'DescribeModelAdminModelBackbone', 'DescribeModelModel', 'DescribeModelModelBackbone', 'DescribeUseCase', 'DescribeUseCaseUseCase', 'EmojiInput', 'ExternalModelProviderName', 'FeedbackAddInput', 'FeedbackFilterInput', 'FeedbackType', 'FeedbackUpdateInput', 'FromGroupsQuery', 'GQLClient', 'GetCustomRecipe', 'GetCustomRecipeCustomRecipe', 'GetGrader', 'GetGraderGrader', 'GetJudge', 'GetJudgeJudge', 'GlobalUsageFilterInput', 'GoogleProviderDataInput', 'GraderConfigInput', 'GraderCreateInput', 'GraderData', 'GraderDataGraderConfigCustomConfigOutput', 'GraderDataGraderConfigJudgeConfigOutput', 'GraderDataGraderConfigJudgeConfigOutputExamples', 'GraderDataGraderConfigJudgeConfigOutputExamplesInput', 'GraderDataGraderConfigJudgeConfigOutputModel', 'GraderDataGraderConfigPrebuiltConfigOutput', 'GraderDataGraderConfigPrebuiltConfigOutputModel', 'GraderDataGraderConfigPrebuiltConfigOutputPrebuiltCriteria', 'GraderDataGraderConfigRemoteConfigOutput', 'GraderDataMetric', 'GraderDataUseCase', 'GraderTypeEnum', 'GraderUpdateInput', 'GraphQLClientError', 'GraphQLClientGraphQLError', 'GraphQLClientGraphQLMultiError', 'GraphQLClientHttpError', 'GraphQLClientInvalidResponseError', 'GroupSelection', 'GroupSelectionQuery', 'HarmonyGroupData', 'HarmonyGroupDataComputePool', 'HarmonyGroupDataGpuAllocations', 'HarmonyGroupDataOnlineModels', 'HarmonyStatus', 'JobArtifactFilter', 'JobArtifactKind', 'JobArtifactStatus', 'JobData', 'JobDataCreatedBy', 'JobDataDetails', 'JobDataDetailsArtifacts', 'JobDataDetailsArtifactsByproductsDatasetByproducts', 'JobDataDetailsArtifactsByproductsEvaluationByproducts', 'JobDataDetailsArtifactsByproductsEvaluationByproductsEvalResults', 'JobDataDetailsArtifactsByproductsEvaluationByproductsEvalResultsMetric', 'JobDataDetailsArtifactsByproductsEvaluationByproductsEvalResultsModelService', 'JobDataDetailsArtifactsByproductsModelByproducts', 'JobDataRecipe', 'JobDataStages', 'JobDataStagesInfoBatchInferenceJobStageOutput', 'JobDataStagesInfoEvalJobStageOutput', 'JobDataStagesInfoTrainingJobStageOutput', 'JobDataUseCase', 'JobInput', 'JobKind', 'JobStageOutputData', 'JobStageOutputDataInfoBatchInferenceJobStageOutput', 'JobStageOutputDataInfoEvalJobStageOutput', 'JobStageOutputDataInfoTrainingJobStageOutput', 'JobStatus', 'JobStatusOutput', 'JudgeCapability', 'JudgeConfigInput', 'JudgeCreate', 'JudgeData', 'JudgeDataExamples', 'JudgeDataExamplesInput', 'JudgeDataMetric', 'JudgeDataModel', 'JudgeExampleInput', 'JudgeExampleInputTurnEntry', 'JudgeUpdate', 'LabelFilter', 'LabelInput', 'LinkMetric', 'LinkMetricLinkMetric', 'ListAbCampaigns', 'ListAbCampaignsAbCampaigns', 'ListCompletionsFilterInput', 'ListComputePools', 'ListComputePoolsComputePools', 'ListComputePoolsComputePoolsHarmonyGroups', 'ListCustomRecipes', 'ListCustomRecipesCustomRecipes', 'ListDatasets', 'ListDatasetsDatasets', 'ListGraders', 'ListGradersGraders', 'ListGroupedInteractions', 'ListGroupedInteractionsCompletionsGrouped', 'ListGroupedInteractionsCompletionsGroupedNodes', 'ListGroupedInteractionsCompletionsGroupedNodesCompletions', 'ListGroupedInteractionsCompletionsGroupedNodesCompletionsNodes', 'ListGroupedInteractionsCompletionsGroupedNodesDirectFeedbacksStats', 'ListGroupedInteractionsCompletionsGroupedNodesDirectFeedbacksStatsMetric', 'ListGroupedInteractionsCompletionsGroupedPageInfo', 'ListHarmonyGroups', 'ListHarmonyGroupsHarmonyGroups', 'ListInteractions', 'ListInteractionsCompletions', 'ListInteractionsCompletionsNodes', 'ListInteractionsCompletionsPageInfo', 'ListJobs', 'ListJobsFilterInput', 'ListJobsJobs', 'ListJobsJobsNodes', 'ListJobsJobsPageInfo', 'ListJudgeVersions', 'ListJudgeVersionsJudgeVersions', 'ListJudges', 'ListJudgesJudges', 'ListMetrics', 'ListMetricsMetrics', 'ListModels', 'ListModelsModels', 'ListModelsModelsBackbone', 'ListPermissions', 'ListRemoteEnvs', 'ListRemoteEnvsRemoteEnvs', 'ListRoles', 'ListRolesRoles', 'ListTeams', 'ListTeamsTeams', 'ListUseCases', 'ListUseCasesUseCases', 'ListUsers', 'ListUsersUsers', 'LoadDataset', 'LoadDatasetCreateDataset', 'LockGrader', 'LockGraderLockGrader', 'Me', 'MeMe', 'MetricAggregation', 'MetricCreate', 'MetricData', 'MetricDataAdmin', 'MetricDataAdminUseCases', 'MetricGetOrCreate', 'MetricKind', 'MetricLink', 'MetricScoringType', 'MetricTrendInput', 'MetricUnlink', 'MetricWithContextData', 'ModelCapabilityFilter', 'ModelComputeConfigInput', 'ModelData', 'ModelDataAdmin', 'ModelDataAdminUseCases', 'ModelDataComputeConfig', 'ModelFilter', 'ModelOnline', 'ModelPlacementInput', 'ModelProviderDataInput', 'ModelServiceData', 'ModelServiceDataModel', 'ModelServiceDataModelBackbone', 'ModelServiceDisconnect', 'ModelServiceFilter', 'ModelserviceStatus', 'OpenAIModel', 'OpenAIProviderDataInput', 'OrderPair', 'PrebuiltConfigInput', 'PrebuiltCriteriaKey', 'PrebuiltJudgeCreate', 'Protocol', 'ProviderName', 'RemoteConfigInput', 'RemoteEnvCreate', 'RemoteEnvData', 'RemoteEnvStatus', 'RemoveRemoteEnv', 'RemoveTeamMember', 'RemoveTeamMemberRemoveTeamMember', 'ResizeInferencePartition', 'ResizePartitionInput', 'RoleCreate', 'SampleConfig', 'SearchInput', 'SelectionTypeInput', 'SessionStatus', 'ShareUseCase', 'ShareUseCaseShareUseCase', 'SortDirection', 'SystemPromptTemplateCreate', 'SystemPromptTemplateUpdate', 'TeamCreate', 'TeamMemberRemove', 'TeamMemberSet', 'TerminateModel', 'TestRemoteEnv', 'TestRemoteEnvTestRemoteEnvRemoteEnvTestOffline', 'TestRemoteEnvTestRemoteEnvRemoteEnvTestOnline', 'TimeRange', 'TimeseriesInput', 'TimeseriesInterval', 'UnitConfigInput', 'UnitPosition', 'UnlinkMetric', 'UpdateCompletion', 'UpdateCustomRecipe', 'UpdateCustomRecipeUpdateCustomRecipe', 'UpdateGrader', 'UpdateGraderUpdateGrader', 'UpdateJudge', 'UpdateJudgeUpdateJudge', 'UpdateModel', 'UpdateModelComputeConfig', 'UpdateModelComputeConfigUpdateModelComputeConfig', 'UpdateModelService', 'UpdateModelUpdateModelService', 'UpdateRecipeInput', 'UpdateToolProviderInput', 'UpdateUser', 'UpdateUserSetTeamMember', 'UpdateUserSetTeamMemberRole', 'UpdateUserSetTeamMemberTeam', 'UpdateUserSetTeamMemberUser', 'Upload', 'UsageFilterInput', 'UsagePerUseCaseFilterInput', 'UseCaseCreate', 'UseCaseData', 'UseCaseDataMetrics', 'UseCaseDataModelServices', 'UseCaseDataShares', 'UseCaseDataSharesRole', 'UseCaseDataSharesTeam', 'UseCaseFilter', 'UseCaseMetadataInput', 'UseCaseSettingsInput', 'UseCaseShareInput', 'UseCaseShares', 'UseCaseUpdate', 'UserCreate', 'UserCreateTeamWithRole', 'UserData', 'UserDataTeams', 'UserDataTeamsRole', 'UserDataTeamsTeam', 'WidgetInput']
|
|
@@ -486,7 +486,7 @@ class AsyncGQLClient(AsyncBaseClientOpenTelemetry):
|
|
|
486
486
|
return ListUsers.model_validate(data)
|
|
487
487
|
|
|
488
488
|
async def me(self, **kwargs: Any) -> Me:
|
|
489
|
-
query = gql('\n query Me {\n me {\n ...UserData\n
|
|
489
|
+
query = gql('\n query Me {\n me {\n ...UserData\n }\n }\n\n fragment UserData on User {\n id\n email\n name\n createdAt\n teams {\n team {\n id\n key\n name\n createdAt\n }\n role {\n id\n key\n name\n createdAt\n permissions\n }\n }\n }\n ')
|
|
490
490
|
variables: Dict[str, object] = {}
|
|
491
491
|
response = await self.execute(query=query, operation_name='Me', variables=variables, **kwargs)
|
|
492
492
|
data = self.get_data(response)
|
|
@@ -486,7 +486,7 @@ class GQLClient(BaseClientOpenTelemetry):
|
|
|
486
486
|
return ListUsers.model_validate(data)
|
|
487
487
|
|
|
488
488
|
def me(self, **kwargs: Any) -> Me:
|
|
489
|
-
query = gql('\n query Me {\n me {\n ...UserData\n
|
|
489
|
+
query = gql('\n query Me {\n me {\n ...UserData\n }\n }\n\n fragment UserData on User {\n id\n email\n name\n createdAt\n teams {\n team {\n id\n key\n name\n createdAt\n }\n role {\n id\n key\n name\n createdAt\n permissions\n }\n }\n }\n ')
|
|
490
490
|
variables: Dict[str, object] = {}
|
|
491
491
|
response = self.execute(query=query, operation_name='Me', variables=variables, **kwargs)
|
|
492
492
|
data = self.get_data(response)
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/custom_fields.py
RENAMED
|
@@ -587,6 +587,7 @@ class CustomRecipeFields(GraphQLField):
|
|
|
587
587
|
id: 'CustomRecipeGraphQLField' = CustomRecipeGraphQLField('id')
|
|
588
588
|
key: 'CustomRecipeGraphQLField' = CustomRecipeGraphQLField('key')
|
|
589
589
|
name: 'CustomRecipeGraphQLField' = CustomRecipeGraphQLField('name')
|
|
590
|
+
is_multifile: 'CustomRecipeGraphQLField' = CustomRecipeGraphQLField('isMultifile')
|
|
590
591
|
editable: 'CustomRecipeGraphQLField' = CustomRecipeGraphQLField('editable')
|
|
591
592
|
hidden: 'CustomRecipeGraphQLField' = CustomRecipeGraphQLField('hidden')
|
|
592
593
|
builtin: 'CustomRecipeGraphQLField' = CustomRecipeGraphQLField('builtin')
|
|
@@ -626,6 +627,8 @@ class CustomRecipeJobDetailsFields(GraphQLField):
|
|
|
626
627
|
@classmethod
|
|
627
628
|
def artifacts(cls) -> 'JobArtifactFields':
|
|
628
629
|
return JobArtifactFields('artifacts')
|
|
630
|
+
num_gpus: 'CustomRecipeJobDetailsGraphQLField' = CustomRecipeJobDetailsGraphQLField('numGpus')
|
|
631
|
+
gpu_duration_ms: 'CustomRecipeJobDetailsGraphQLField' = CustomRecipeJobDetailsGraphQLField('gpuDurationMs')
|
|
629
632
|
|
|
630
633
|
def fields(self, *subfields: Union[CustomRecipeJobDetailsGraphQLField, 'JobArtifactFields']) -> 'CustomRecipeJobDetailsFields':
|
|
631
634
|
"""Subfields should come from the CustomRecipeJobDetailsFields class"""
|
|
@@ -1056,6 +1059,7 @@ class JobArtifactFields(GraphQLField):
|
|
|
1056
1059
|
job_id: 'JobArtifactGraphQLField' = JobArtifactGraphQLField('jobId')
|
|
1057
1060
|
name: 'JobArtifactGraphQLField' = JobArtifactGraphQLField('name')
|
|
1058
1061
|
kind: 'JobArtifactGraphQLField' = JobArtifactGraphQLField('kind')
|
|
1062
|
+
status: 'JobArtifactGraphQLField' = JobArtifactGraphQLField('status')
|
|
1059
1063
|
uri: 'JobArtifactGraphQLField' = JobArtifactGraphQLField('uri')
|
|
1060
1064
|
metadata: 'JobArtifactGraphQLField' = JobArtifactGraphQLField('metadata')
|
|
1061
1065
|
created_at: 'JobArtifactGraphQLField' = JobArtifactGraphQLField('createdAt')
|
|
@@ -1417,15 +1421,15 @@ class ModelFields(GraphQLField):
|
|
|
1417
1421
|
return MetricWithContextFields('metrics')
|
|
1418
1422
|
|
|
1419
1423
|
@classmethod
|
|
1420
|
-
def use_cases(cls, filter: UseCaseFilter
|
|
1424
|
+
def use_cases(cls, filter: UseCaseFilter) -> 'UseCaseFields':
|
|
1421
1425
|
"""Return the list of UseCase which use this model"""
|
|
1422
|
-
arguments: Dict[str, Dict[str, Any]] = {'filter': {'type': 'UseCaseFilter!', 'value': filter}
|
|
1426
|
+
arguments: Dict[str, Dict[str, Any]] = {'filter': {'type': 'UseCaseFilter!', 'value': filter}}
|
|
1423
1427
|
cleared_arguments = {key: value for key, value in arguments.items() if value['value'] is not None}
|
|
1424
1428
|
return UseCaseFields('useCases', arguments=cleared_arguments)
|
|
1425
1429
|
|
|
1426
1430
|
@classmethod
|
|
1427
|
-
def model_services(cls, filter: UseCaseFilter
|
|
1428
|
-
arguments: Dict[str, Dict[str, Any]] = {'filter': {'type': 'UseCaseFilter!', 'value': filter}
|
|
1431
|
+
def model_services(cls, filter: UseCaseFilter) -> 'ModelServiceFields':
|
|
1432
|
+
arguments: Dict[str, Dict[str, Any]] = {'filter': {'type': 'UseCaseFilter!', 'value': filter}}
|
|
1429
1433
|
cleared_arguments = {key: value for key, value in arguments.items() if value['value'] is not None}
|
|
1430
1434
|
return ModelServiceFields('modelServices', arguments=cleared_arguments)
|
|
1431
1435
|
provider_name: 'ModelGraphQLField' = ModelGraphQLField('providerName')
|
|
@@ -2193,11 +2197,7 @@ class UserFields(GraphQLField):
|
|
|
2193
2197
|
def teams(cls) -> 'TeamWithroleFields':
|
|
2194
2198
|
return TeamWithroleFields('teams')
|
|
2195
2199
|
|
|
2196
|
-
|
|
2197
|
-
def api_keys(cls) -> 'ApiKeyFields':
|
|
2198
|
-
return ApiKeyFields('apiKeys')
|
|
2199
|
-
|
|
2200
|
-
def fields(self, *subfields: Union[UserGraphQLField, 'ApiKeyFields', 'TeamWithroleFields']) -> 'UserFields':
|
|
2200
|
+
def fields(self, *subfields: Union[UserGraphQLField, 'TeamWithroleFields']) -> 'UserFields':
|
|
2201
2201
|
"""Subfields should come from the UserFields class"""
|
|
2202
2202
|
self._subfields.extend(subfields)
|
|
2203
2203
|
return self
|
|
@@ -94,6 +94,13 @@ class JobArtifactKind(str, Enum):
|
|
|
94
94
|
DATASET = 'DATASET'
|
|
95
95
|
MODEL = 'MODEL'
|
|
96
96
|
|
|
97
|
+
class JobArtifactStatus(str, Enum):
|
|
98
|
+
"""@public"""
|
|
99
|
+
PENDING = 'PENDING'
|
|
100
|
+
PROCESSING = 'PROCESSING'
|
|
101
|
+
READY = 'READY'
|
|
102
|
+
ERROR = 'ERROR'
|
|
103
|
+
|
|
97
104
|
class JobKind(str, Enum):
|
|
98
105
|
"""@public"""
|
|
99
106
|
TRAINING = 'TRAINING'
|
|
@@ -50,6 +50,8 @@ class AnthropicProviderDataInput(BaseModel):
|
|
|
50
50
|
class ApiKeyCreate(BaseModel):
|
|
51
51
|
"""@private"""
|
|
52
52
|
user: str
|
|
53
|
+
expiration_for_previous_keys: Optional[int | str] = Field(alias='expirationForPreviousKeys', default=None)
|
|
54
|
+
'If not provided, previous keys expire immediately'
|
|
53
55
|
|
|
54
56
|
class ArtifactFilter(BaseModel):
|
|
55
57
|
"""@private"""
|
|
@@ -36,7 +36,7 @@ class ComputePools(SyncAPIResource, UseCaseResource):
|
|
|
36
36
|
"""
|
|
37
37
|
cps = self.list()
|
|
38
38
|
found_cp = False
|
|
39
|
-
for cp in cps
|
|
39
|
+
for cp in cps:
|
|
40
40
|
if cp.key == compute_pool_key:
|
|
41
41
|
selected_cp = cp
|
|
42
42
|
found_cp = True
|
|
@@ -75,7 +75,7 @@ class AsyncComputePools(AsyncAPIResource, UseCaseResource):
|
|
|
75
75
|
"""
|
|
76
76
|
cps = await self.list()
|
|
77
77
|
found_cp = False
|
|
78
|
-
for cp in cps
|
|
78
|
+
for cp in cps:
|
|
79
79
|
if cp.key == compute_pool_key:
|
|
80
80
|
selected_cp = cp
|
|
81
81
|
found_cp = True
|
|
@@ -68,12 +68,13 @@ class Jobs(SyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
68
68
|
def run(
|
|
69
69
|
self,
|
|
70
70
|
recipe_key: str,
|
|
71
|
-
args: dict[str, Any],
|
|
72
71
|
num_gpus: int,
|
|
72
|
+
args: dict[str, Any] | None = None,
|
|
73
73
|
name: str | None = None,
|
|
74
74
|
use_case: str | None = None,
|
|
75
75
|
compute_pool: str | None = None,
|
|
76
76
|
) -> JobDataPlus:
|
|
77
|
+
args = args or {}
|
|
77
78
|
job_data = self._gql_client.create_job(
|
|
78
79
|
input=JobInput(
|
|
79
80
|
recipe=recipe_key,
|
|
@@ -139,12 +140,13 @@ class AsyncJobs(AsyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
139
140
|
async def run(
|
|
140
141
|
self,
|
|
141
142
|
recipe_key: str,
|
|
142
|
-
args: dict[str, Any],
|
|
143
143
|
num_gpus: int,
|
|
144
|
+
args: dict[str, Any] | None = None,
|
|
144
145
|
name: str | None = None,
|
|
145
146
|
use_case: str | None = None,
|
|
146
147
|
compute_pool: str | None = None,
|
|
147
148
|
) -> JobDataPlus:
|
|
149
|
+
args = args or {}
|
|
148
150
|
job_data = (
|
|
149
151
|
await self._gql_client.create_job(
|
|
150
152
|
input=JobInput(
|
|
@@ -42,7 +42,8 @@ class Recipes(SyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
42
42
|
def upload(
|
|
43
43
|
self,
|
|
44
44
|
path: str,
|
|
45
|
-
recipe_key: str,
|
|
45
|
+
recipe_key: str | None = None,
|
|
46
|
+
entrypoint: str | None = None,
|
|
46
47
|
name: str | None = None,
|
|
47
48
|
description: str | None = None,
|
|
48
49
|
labels: dict[str, str] | None = None,
|
|
@@ -50,8 +51,25 @@ class Recipes(SyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
50
51
|
) -> CustomRecipeData:
|
|
51
52
|
"""
|
|
52
53
|
Upload a recipe from either a single Python file or a directory (path).
|
|
53
|
-
|
|
54
|
+
|
|
55
|
+
Args:
|
|
56
|
+
path: Path to a Python file or directory containing the recipe
|
|
57
|
+
recipe_key: Optional unique key for the recipe. If not provided, inferred from:
|
|
58
|
+
- File name (without .py) if path is a file
|
|
59
|
+
- "dir_name/entrypoint_name" if path is a directory and custom entrypoint is specified
|
|
60
|
+
- Directory name if path is a directory and no custom entrypoint is specified
|
|
61
|
+
entrypoint: Optional relative path to the entrypoint file within a directory.
|
|
62
|
+
If specified, this file will be used as main.py. Cannot be used if
|
|
63
|
+
main.py already exists in the directory, or if path is a file.
|
|
64
|
+
name: Optional display name for the recipe
|
|
65
|
+
description: Optional description
|
|
66
|
+
labels: Optional key-value labels
|
|
67
|
+
use_case: Optional use case identifier
|
|
54
68
|
"""
|
|
69
|
+
p = Path(path)
|
|
70
|
+
if recipe_key is None:
|
|
71
|
+
recipe_key = _get_recipe_key(p, entrypoint=entrypoint)
|
|
72
|
+
|
|
55
73
|
inferred_name = name or recipe_key
|
|
56
74
|
label_inputs = [LabelInput(key=k, value=v) for k, v in labels.items()] if labels else None
|
|
57
75
|
input = CreateRecipeInput(
|
|
@@ -60,10 +78,13 @@ class Recipes(SyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
60
78
|
description=description,
|
|
61
79
|
labels=label_inputs,
|
|
62
80
|
)
|
|
63
|
-
|
|
64
|
-
|
|
81
|
+
|
|
82
|
+
with _upload_from_path(path, entrypoint=entrypoint) as file_upload:
|
|
83
|
+
new_recipe = self._gql_client.create_custom_recipe(
|
|
65
84
|
use_case=self.use_case_key(use_case), input=input, file=file_upload
|
|
66
85
|
).create_custom_recipe
|
|
86
|
+
logger.info(f"New recipe created with key `{new_recipe.key}`")
|
|
87
|
+
return new_recipe
|
|
67
88
|
|
|
68
89
|
def get(
|
|
69
90
|
self,
|
|
@@ -160,12 +181,34 @@ class AsyncRecipes(AsyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
160
181
|
async def upload(
|
|
161
182
|
self,
|
|
162
183
|
path: str,
|
|
163
|
-
recipe_key: str,
|
|
184
|
+
recipe_key: str | None = None,
|
|
185
|
+
entrypoint: str | None = None,
|
|
164
186
|
name: str | None = None,
|
|
165
187
|
description: str | None = None,
|
|
166
188
|
labels: Sequence[tuple[str, str]] | None = None,
|
|
167
189
|
use_case: str | None = None,
|
|
168
190
|
) -> CustomRecipeData:
|
|
191
|
+
"""
|
|
192
|
+
Upload a recipe from either a single Python file or a directory (path).
|
|
193
|
+
|
|
194
|
+
Args:
|
|
195
|
+
path: Path to a Python file or directory containing the recipe
|
|
196
|
+
recipe_key: Optional unique key for the recipe. If not provided, inferred from:
|
|
197
|
+
- File name (without .py) if path is a file
|
|
198
|
+
- "dir_name/entrypoint_name" if path is a directory and custom entrypoint is specified
|
|
199
|
+
- Directory name if path is a directory and no custom entrypoint is specified
|
|
200
|
+
entrypoint: Optional relative path to the entrypoint file within a directory.
|
|
201
|
+
If specified, this file will be used as main.py. Cannot be used if
|
|
202
|
+
main.py already exists in the directory, or if path is a file.
|
|
203
|
+
name: Optional display name for the recipe
|
|
204
|
+
description: Optional description
|
|
205
|
+
labels: Optional key-value labels
|
|
206
|
+
use_case: Optional use case identifier
|
|
207
|
+
"""
|
|
208
|
+
p = Path(path)
|
|
209
|
+
if recipe_key is None:
|
|
210
|
+
recipe_key = _get_recipe_key(p, entrypoint=entrypoint)
|
|
211
|
+
|
|
169
212
|
inferred_name = name or recipe_key
|
|
170
213
|
label_inputs = [LabelInput(key=k, value=v) for k, v in labels] if labels else None
|
|
171
214
|
input = CreateRecipeInput(
|
|
@@ -174,12 +217,14 @@ class AsyncRecipes(AsyncAPIResource, UseCaseResource): # type: ignore[misc]
|
|
|
174
217
|
description=description,
|
|
175
218
|
labels=label_inputs,
|
|
176
219
|
)
|
|
177
|
-
with _upload_from_path(path) as file_upload:
|
|
178
|
-
|
|
220
|
+
with _upload_from_path(path, entrypoint=entrypoint) as file_upload:
|
|
221
|
+
new_recipe = (
|
|
179
222
|
await self._gql_client.create_custom_recipe(
|
|
180
223
|
use_case=self.use_case_key(use_case), input=input, file=file_upload
|
|
181
224
|
)
|
|
182
225
|
).create_custom_recipe
|
|
226
|
+
logger.info(f"New recipe create with key {new_recipe.key}")
|
|
227
|
+
return new_recipe
|
|
183
228
|
|
|
184
229
|
async def get(
|
|
185
230
|
self,
|
|
@@ -275,6 +320,21 @@ def _count_keys_recursively(data: Any) -> int:
|
|
|
275
320
|
return count
|
|
276
321
|
|
|
277
322
|
|
|
323
|
+
def _get_recipe_key(path: Path, entrypoint: str | None = None) -> str:
|
|
324
|
+
if path.is_file():
|
|
325
|
+
recipe_key = path.stem
|
|
326
|
+
elif path.is_dir():
|
|
327
|
+
if entrypoint:
|
|
328
|
+
entrypoint_stem = Path(entrypoint).stem
|
|
329
|
+
recipe_key = f"{path.name}/{entrypoint_stem}"
|
|
330
|
+
else:
|
|
331
|
+
recipe_key = path.name
|
|
332
|
+
else:
|
|
333
|
+
raise ValueError(f"Path must be a Python file or directory: {path}")
|
|
334
|
+
|
|
335
|
+
return recipe_key
|
|
336
|
+
|
|
337
|
+
|
|
278
338
|
def _validate_python_file(path: Path) -> None:
|
|
279
339
|
"""Validate that the path exists, is a file and has a .py extension."""
|
|
280
340
|
if not path.exists():
|
|
@@ -285,40 +345,53 @@ def _validate_python_file(path: Path) -> None:
|
|
|
285
345
|
raise ValueError(f"Expected a Python file with .py extension, got: {path}")
|
|
286
346
|
|
|
287
347
|
|
|
288
|
-
def _validate_recipe_directory(dir_path: Path) -> None:
|
|
289
|
-
"""Validate that the directory exists and contains a main.py file."""
|
|
348
|
+
def _validate_recipe_directory(dir_path: Path, entrypoint: str | None = None) -> None:
|
|
290
349
|
if not dir_path.exists():
|
|
291
350
|
raise FileNotFoundError(f"Directory not found: {dir_path}")
|
|
292
351
|
if not dir_path.is_dir():
|
|
293
352
|
raise ValueError(f"Expected a directory path, got a file: {dir_path}")
|
|
353
|
+
|
|
294
354
|
main_py = dir_path / "main.py"
|
|
295
|
-
|
|
296
|
-
|
|
355
|
+
main_py_exists = main_py.exists() and main_py.is_file()
|
|
356
|
+
|
|
357
|
+
if entrypoint:
|
|
358
|
+
if main_py_exists:
|
|
359
|
+
raise ValueError(
|
|
360
|
+
f"Cannot specify entrypoint when main.py already exists in directory: {dir_path}. "
|
|
361
|
+
f"Either remove/rename main.py or use it directly without specifying an entrypoint."
|
|
362
|
+
)
|
|
363
|
+
entrypoint_path = dir_path / entrypoint
|
|
364
|
+
if not entrypoint_path.exists() or not entrypoint_path.is_file():
|
|
365
|
+
raise FileNotFoundError(f"Specified entrypoint file not found: {entrypoint} in directory {dir_path}")
|
|
366
|
+
else:
|
|
367
|
+
if not main_py_exists:
|
|
368
|
+
raise FileNotFoundError(
|
|
369
|
+
f"Directory must contain a 'main.py' file, or in alternative you must specify an `entrypoint` file"
|
|
370
|
+
)
|
|
297
371
|
|
|
298
372
|
|
|
299
|
-
def _zip_directory_to_bytes_io(dir_path: Path) -> io.BytesIO:
|
|
300
|
-
"""Zip the contents of a directory into an in-memory BytesIO buffer."""
|
|
373
|
+
def _zip_directory_to_bytes_io(dir_path: Path, entrypoint: str | None = None) -> io.BytesIO:
|
|
301
374
|
buffer = io.BytesIO()
|
|
302
375
|
with zipfile.ZipFile(buffer, mode="w", compression=zipfile.ZIP_DEFLATED) as zf:
|
|
303
376
|
for root, _, files in os.walk(dir_path):
|
|
304
377
|
for file_name in files:
|
|
305
378
|
file_path = Path(root) / file_name
|
|
306
379
|
arcname = file_path.relative_to(dir_path)
|
|
380
|
+
if entrypoint and arcname.as_posix() == entrypoint:
|
|
381
|
+
arcname = Path("main.py")
|
|
382
|
+
|
|
307
383
|
zf.write(file_path, arcname.as_posix())
|
|
308
384
|
buffer.seek(0)
|
|
309
385
|
return buffer
|
|
310
386
|
|
|
311
387
|
|
|
312
388
|
@contextmanager
|
|
313
|
-
def _upload_from_path(path: str):
|
|
314
|
-
"""
|
|
315
|
-
Context manager yielding an Upload object for a Python file or a directory.
|
|
316
|
-
|
|
317
|
-
- If path is a .py file, validates and opens it for upload.
|
|
318
|
-
- If path is a directory, validates it contains main.py, zips contents in-memory.
|
|
319
|
-
"""
|
|
389
|
+
def _upload_from_path(path: str, entrypoint: str | None = None):
|
|
320
390
|
p = Path(path)
|
|
391
|
+
|
|
321
392
|
if p.is_file():
|
|
393
|
+
if entrypoint:
|
|
394
|
+
raise ValueError(f"Entrypoint parameter is not supported for single file recipe uploads")
|
|
322
395
|
_validate_python_file(p)
|
|
323
396
|
filename = p.name
|
|
324
397
|
content_type = mimetypes.guess_type(str(p))[0] or "application/octet-stream"
|
|
@@ -328,28 +401,13 @@ def _upload_from_path(path: str):
|
|
|
328
401
|
finally:
|
|
329
402
|
f.close()
|
|
330
403
|
elif p.is_dir():
|
|
331
|
-
_validate_recipe_directory(p)
|
|
332
|
-
# Ensure __init__.py exists at the root of the directory before zipping
|
|
333
|
-
created_init = False
|
|
334
|
-
root_init = p / "__init__.py"
|
|
404
|
+
_validate_recipe_directory(p, entrypoint=entrypoint)
|
|
335
405
|
zip_buffer = None
|
|
336
406
|
try:
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
zip_buffer = _zip_directory_to_bytes_io(p)
|
|
342
|
-
finally:
|
|
343
|
-
if created_init:
|
|
344
|
-
try:
|
|
345
|
-
root_init.unlink()
|
|
346
|
-
logger.info(f"Cleaned up __init__.py from your directory")
|
|
347
|
-
except Exception:
|
|
348
|
-
logger.error(f"Failed to remove __init__.py from your directory")
|
|
349
|
-
pass
|
|
350
|
-
if zip_buffer is None:
|
|
351
|
-
raise RuntimeError("Failed to create in-memory zip for directory upload")
|
|
352
|
-
|
|
407
|
+
zip_buffer = _zip_directory_to_bytes_io(p, entrypoint=entrypoint)
|
|
408
|
+
except Exception:
|
|
409
|
+
logger.error(f"Failed to create in-memory zip for directory upload.")
|
|
410
|
+
raise
|
|
353
411
|
filename = f"{p.name}.zip"
|
|
354
412
|
try:
|
|
355
413
|
yield Upload(filename=filename, content=zip_buffer, content_type="application/zip")
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
from typing import List, Optional
|
|
2
|
-
from pydantic import Field
|
|
3
|
-
from .base_model import BaseModel
|
|
4
|
-
from .fragments import UserData
|
|
5
|
-
|
|
6
|
-
class Me(BaseModel):
|
|
7
|
-
"""@public"""
|
|
8
|
-
me: Optional['MeMe']
|
|
9
|
-
|
|
10
|
-
class MeMe(UserData):
|
|
11
|
-
"""@public"""
|
|
12
|
-
api_keys: List['MeMeApiKeys'] = Field(alias='apiKeys')
|
|
13
|
-
|
|
14
|
-
class MeMeApiKeys(BaseModel):
|
|
15
|
-
"""@public"""
|
|
16
|
-
key: str
|
|
17
|
-
created_at: int = Field(alias='createdAt')
|
|
18
|
-
Me.model_rebuild()
|
|
19
|
-
MeMe.model_rebuild()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/add_external_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/add_remote_env.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/base_operation.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/cancel_ab_campaign.py
RENAMED
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_ab_campaign.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_custom_recipe.py
RENAMED
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_grader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_metric.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_prebuilt_judge.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/create_use_case.py
RENAMED
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/custom_mutations.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/custom_queries.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/custom_typing_fields.py
RENAMED
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/delete_custom_recipe.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/delete_dataset.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/delete_grader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_ab_campaign.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_dataset.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_interaction.py
RENAMED
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_metric.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_metric_admin.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_model.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_model_admin.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/describe_use_case.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/get_custom_recipe.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_ab_campaigns.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_compute_pools.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_custom_recipes.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_datasets.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_harmony_groups.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_interactions.py
RENAMED
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_judge_versions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_permissions.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_remote_envs.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/list_use_cases.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/remove_remote_env.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/remove_team_member.py
RENAMED
|
File without changes
|
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/share_use_case.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/terminate_model.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/test_remote_env.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/unlink_metric.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/update_custom_recipe.py
RENAMED
|
File without changes
|
{adaptive_sdk-0.1.10 → adaptive_sdk-0.1.12}/src/adaptive_sdk/graphql_client/update_grader.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|