beamlit 0.0.34rc78__tar.gz → 0.0.34rc80__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.
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/PKG-INFO +19 -2
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/pyproject.toml +19 -2
- beamlit-0.0.34rc80/src/beamlit/api/workspaces/workspace_quotas_request.py +97 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/instrumentation.py +146 -8
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/deploy/deploy.py +3 -1
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/__init__.py +0 -2
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_spec.py +9 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/core_spec.py +9 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function_spec.py +9 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_connection_spec.py +9 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_spec.py +9 -9
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/workspace.py +9 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/serve/app.py +0 -10
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/integrationtest/main.py +1 -1
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/uv.lock +62 -312
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/.gitignore +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/README.md +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/beamlit.yaml +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/agents/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/agents/chain.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/agents/chat.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/agents/decorator.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/agents/thread.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/create_agent.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/create_agent_release.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/delete_agent.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/delete_agent_history.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/get_agent.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/get_agent_environment_logs.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/get_agent_history.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/get_agent_metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/get_agent_trace_ids.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/list_agent_history.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/list_agents.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/put_agent_history.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/update_agent.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/configurations/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/configurations/get_configuration.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/default/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/default/get_trace.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/default/get_trace_ids.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/default/get_trace_logs.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/create_environment.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/delete_environment.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/get_environment.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/get_environment_metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/list_environments.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/update_environment.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/create_function.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/create_function_release.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/delete_function.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/get_function.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/get_function_environment_logs.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/get_function_metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/get_function_trace_ids.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/list_functions.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/update_function.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/history/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/history/get_agents_history.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/history/list_agents_history.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/create_integration_connection.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/delete_integration_connection.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/get_integration.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/get_integration_connection.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/get_integration_connection_model.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/get_integration_model.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/list_integration_connection_models.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/list_integration_connections.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/list_integration_models.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/update_integration_connection.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/invitations/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/invitations/list_all_pending_invitations.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/locations/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/locations/list_locations.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/metrics/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/metrics/get_metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/create_model_provider.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/delete_model_provider.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/get_model_provider.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/list_model_providers.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/update_model_provider.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/create_model.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/delete_model.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/get_model.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/get_model_environment_logs.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/get_model_metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/get_model_trace_ids.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/list_models.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/release_model.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/update_model.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/create_policy.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/delete_policy.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/get_policy.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/list_policies.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/update_policy.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/create_private_cluster.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/delete_private_cluster.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/get_private_cluster.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/get_private_cluster_health.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/list_private_clusters.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/update_private_cluster.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/update_private_cluster_health.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/create_api_key_for_service_account.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/create_workspace_service_account.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/delete_api_key_for_service_account.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/delete_workspace_service_account.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/get_workspace_service_accounts.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/list_api_keys_for_service_account.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/update_workspace_service_account.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/store/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/store/get_store_agent.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/store/get_store_function.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/store/list_store_agents.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/store/list_store_functions.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/accept_workspace_invitation.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/create_worspace.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/decline_workspace_invitation.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/delete_workspace.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/get_workspace.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/invite_workspace_user.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/leave_workspace.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/list_workspace_users.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/list_workspaces.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/remove_workspace_user.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/update_workspace.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/update_workspace_user_role.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/apikey.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/authentication.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/clientcredentials.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/credentials.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/device_mode.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/client.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/error.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/logger.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/secrets.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/settings.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/slugify.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/utils.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/deploy/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/deploy/format.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/deploy/parser.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/errors.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/decorator.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/github/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/github/github.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/github/kit/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/github/kit/pull_request.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/math/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/math/math.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/mcp/mcp.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/remote/remote.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/search/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/search/search.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/acl.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_chain.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_history.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_history_event.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_metadata.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_release.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_render.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/api_key.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/configuration.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/continent.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/core_event.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/core_spec_configurations.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/core_status.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/country.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/create_api_key_for_service_account_body.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/create_workspace_service_account_body.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/create_workspace_service_account_response_200.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/delete_workspace_service_account_response_200.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/environment.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/environment_metadata.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/environment_metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/environment_spec.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/flavor.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function_kit.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function_metadata.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function_release.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function_render.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/get_trace_ids_response_200.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/get_trace_logs_response_200.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/get_trace_response_200.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/get_workspace_service_accounts_response_200_item.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/histogram_bucket.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/histogram_stats.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/increase_and_rate_metric.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_config.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_connection.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_connection_config.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_connection_secret.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_model.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_repository.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/invite_workspace_user_body.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/last_n_requests_metric.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/latency_metric.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/location_response.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metadata.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metadata_labels.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metric.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metrics_models.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metrics_request_total_per_code.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metrics_rps_per_code.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_metadata.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_private_cluster.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_provider.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_release.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_render.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/owner_fields.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation_accept.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation_render.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation_render_invited_by.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation_render_workspace.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation_workspace_details.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pod_template_spec.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/policy.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/policy_location.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/policy_spec.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/private_cluster.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/private_location.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/provider_config.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/qps.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/repository.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/repository_type_0.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_duration_over_time_metric.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_duration_over_time_metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_total_by_origin_metric.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_total_by_origin_metric_request_total_by_origin.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_total_by_origin_metric_request_total_by_origin_and_code.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_total_metric.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_total_metric_request_total_per_code.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_total_metric_rps_per_code.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_deployment_metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_deployment_metrics_inference_per_second_per_region.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_deployment_metrics_query_per_second_per_region_per_code.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_inference_per_region.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_inference_per_second_per_region.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_query_per_region_per_code.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_query_per_second_per_region_per_code.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_request_total_per_code.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_rps_per_code.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_log.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/runtime.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/runtime_readiness_probe.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/runtime_resources.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/serverless_config.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/spec_configuration.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_agent.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_agent_labels.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_configuration.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_configuration_option.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_function.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_function_kit.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_function_labels.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_function_parameter.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/time_fields.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/token_rate_metric.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/token_rate_metrics.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/token_total_metric.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/trace_ids_response.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/update_workspace_service_account_body.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/update_workspace_service_account_response_200.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/update_workspace_user_role_body.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/websocket_channel.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/workspace_labels.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/workspace_user.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/py.typed +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/run.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/serve/middlewares/__init__.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/serve/middlewares/accesslog.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/serve/middlewares/processtime.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/types.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/integrationtest/agent.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/integrationtest/beamlit.yaml +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/integrationtest/functions/helloworld.py +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/integrationtest/pyproject.toml +0 -0
- {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/integrationtest/uv.lock +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: beamlit
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.34rc80
|
4
4
|
Summary: Add your description here
|
5
5
|
Author-email: cploujoux <ch.ploujoux@gmail.com>
|
6
6
|
Requires-Python: >=3.12
|
@@ -15,9 +15,27 @@ Requires-Dist: langgraph<0.3.0,>=0.2.40
|
|
15
15
|
Requires-Dist: mcp>=1.1.2
|
16
16
|
Requires-Dist: opentelemetry-api>=1.28.2
|
17
17
|
Requires-Dist: opentelemetry-exporter-otlp>=1.28.2
|
18
|
+
Requires-Dist: opentelemetry-instrumentation-anthropic>=0.35.0
|
19
|
+
Requires-Dist: opentelemetry-instrumentation-chromadb>=0.35.0
|
20
|
+
Requires-Dist: opentelemetry-instrumentation-cohere>=0.35.0
|
18
21
|
Requires-Dist: opentelemetry-instrumentation-fastapi>=0.49b2
|
22
|
+
Requires-Dist: opentelemetry-instrumentation-groq>=0.35.0
|
19
23
|
Requires-Dist: opentelemetry-instrumentation-httpx>=0.49b2
|
24
|
+
Requires-Dist: opentelemetry-instrumentation-lancedb>=0.35.0
|
25
|
+
Requires-Dist: opentelemetry-instrumentation-langchain>=0.35.0
|
26
|
+
Requires-Dist: opentelemetry-instrumentation-llamaindex>=0.35.0
|
27
|
+
Requires-Dist: opentelemetry-instrumentation-marqo>=0.35.0
|
28
|
+
Requires-Dist: opentelemetry-instrumentation-milvus>=0.35.0
|
29
|
+
Requires-Dist: opentelemetry-instrumentation-mistralai>=0.35.0
|
30
|
+
Requires-Dist: opentelemetry-instrumentation-ollama>=0.35.0
|
31
|
+
Requires-Dist: opentelemetry-instrumentation-openai>=0.35.0
|
32
|
+
Requires-Dist: opentelemetry-instrumentation-pinecone>=0.35.0
|
33
|
+
Requires-Dist: opentelemetry-instrumentation-qdrant>=0.35.0
|
34
|
+
Requires-Dist: opentelemetry-instrumentation-replicate>=0.35.0
|
20
35
|
Requires-Dist: opentelemetry-instrumentation-system-metrics>=0.50b0
|
36
|
+
Requires-Dist: opentelemetry-instrumentation-together>=0.35.0
|
37
|
+
Requires-Dist: opentelemetry-instrumentation-watsonx>=0.35.0
|
38
|
+
Requires-Dist: opentelemetry-instrumentation-weaviate>=0.35.0
|
21
39
|
Requires-Dist: opentelemetry-sdk>=1.28.2
|
22
40
|
Requires-Dist: pydantic-settings<2.7.0,>=2.6.1
|
23
41
|
Requires-Dist: pydantic<2.11.0,>=2.10.3
|
@@ -25,7 +43,6 @@ Requires-Dist: pyjwt>=2.10.1
|
|
25
43
|
Requires-Dist: python-dateutil>=2.8.0
|
26
44
|
Requires-Dist: pyyaml<6.1.0,>=6.0.2
|
27
45
|
Requires-Dist: requests<2.33.0,>=2.32.3
|
28
|
-
Requires-Dist: traceloop-sdk>=0.33.12
|
29
46
|
Description-Content-Type: text/markdown
|
30
47
|
|
31
48
|
# beamlit
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "beamlit"
|
3
|
-
version = "0.0.34.pre-
|
3
|
+
version = "0.0.34.pre-80"
|
4
4
|
description = "Add your description here"
|
5
5
|
readme = "README.md"
|
6
6
|
authors = [
|
@@ -26,7 +26,6 @@ dependencies = [
|
|
26
26
|
"fastapi[standard]>=0.115.4,<0.116.0",
|
27
27
|
"asgi-correlation-id>=4.3.4,<5.0.0",
|
28
28
|
"mcp>=1.1.2",
|
29
|
-
"traceloop-sdk>=0.33.12",
|
30
29
|
"opentelemetry-sdk>=1.28.2",
|
31
30
|
"opentelemetry-exporter-otlp>=1.28.2",
|
32
31
|
"opentelemetry-api>=1.28.2",
|
@@ -34,6 +33,24 @@ dependencies = [
|
|
34
33
|
"opentelemetry-instrumentation-httpx>=0.49b2",
|
35
34
|
"opentelemetry-instrumentation-system-metrics>=0.50b0",
|
36
35
|
"pyjwt>=2.10.1",
|
36
|
+
"opentelemetry-instrumentation-anthropic>=0.35.0",
|
37
|
+
"opentelemetry-instrumentation-chromadb>=0.35.0",
|
38
|
+
"opentelemetry-instrumentation-cohere>=0.35.0",
|
39
|
+
"opentelemetry-instrumentation-groq>=0.35.0",
|
40
|
+
"opentelemetry-instrumentation-lancedb>=0.35.0",
|
41
|
+
"opentelemetry-instrumentation-langchain>=0.35.0",
|
42
|
+
"opentelemetry-instrumentation-llamaindex>=0.35.0",
|
43
|
+
"opentelemetry-instrumentation-marqo>=0.35.0",
|
44
|
+
"opentelemetry-instrumentation-milvus>=0.35.0",
|
45
|
+
"opentelemetry-instrumentation-mistralai>=0.35.0",
|
46
|
+
"opentelemetry-instrumentation-ollama>=0.35.0",
|
47
|
+
"opentelemetry-instrumentation-openai>=0.35.0",
|
48
|
+
"opentelemetry-instrumentation-pinecone>=0.35.0",
|
49
|
+
"opentelemetry-instrumentation-qdrant>=0.35.0",
|
50
|
+
"opentelemetry-instrumentation-replicate>=0.35.0",
|
51
|
+
"opentelemetry-instrumentation-together>=0.35.0",
|
52
|
+
"opentelemetry-instrumentation-watsonx>=0.35.0",
|
53
|
+
"opentelemetry-instrumentation-weaviate>=0.35.0",
|
37
54
|
]
|
38
55
|
[dependency-groups]
|
39
56
|
dev = [
|
@@ -0,0 +1,97 @@
|
|
1
|
+
from http import HTTPStatus
|
2
|
+
from typing import Any, Optional, Union
|
3
|
+
|
4
|
+
import httpx
|
5
|
+
|
6
|
+
from ... import errors
|
7
|
+
from ...client import AuthenticatedClient, Client
|
8
|
+
from ...types import Response
|
9
|
+
|
10
|
+
|
11
|
+
def _get_kwargs(
|
12
|
+
workspace_name: str,
|
13
|
+
) -> dict[str, Any]:
|
14
|
+
_kwargs: dict[str, Any] = {
|
15
|
+
"method": "put",
|
16
|
+
"url": f"/workspaces/{workspace_name}/quotas",
|
17
|
+
}
|
18
|
+
|
19
|
+
return _kwargs
|
20
|
+
|
21
|
+
|
22
|
+
def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Optional[Any]:
|
23
|
+
if response.status_code == 200:
|
24
|
+
return None
|
25
|
+
if client.raise_on_unexpected_status:
|
26
|
+
raise errors.UnexpectedStatus(response.status_code, response.content)
|
27
|
+
else:
|
28
|
+
return None
|
29
|
+
|
30
|
+
|
31
|
+
def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[Any]:
|
32
|
+
return Response(
|
33
|
+
status_code=HTTPStatus(response.status_code),
|
34
|
+
content=response.content,
|
35
|
+
headers=response.headers,
|
36
|
+
parsed=_parse_response(client=client, response=response),
|
37
|
+
)
|
38
|
+
|
39
|
+
|
40
|
+
def sync_detailed(
|
41
|
+
workspace_name: str,
|
42
|
+
*,
|
43
|
+
client: AuthenticatedClient,
|
44
|
+
) -> Response[Any]:
|
45
|
+
"""Request workspace quotas
|
46
|
+
|
47
|
+
Send a request to update quotas for a workspace.
|
48
|
+
|
49
|
+
Args:
|
50
|
+
workspace_name (str):
|
51
|
+
|
52
|
+
Raises:
|
53
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
54
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
55
|
+
|
56
|
+
Returns:
|
57
|
+
Response[Any]
|
58
|
+
"""
|
59
|
+
|
60
|
+
kwargs = _get_kwargs(
|
61
|
+
workspace_name=workspace_name,
|
62
|
+
)
|
63
|
+
|
64
|
+
response = client.get_httpx_client().request(
|
65
|
+
**kwargs,
|
66
|
+
)
|
67
|
+
|
68
|
+
return _build_response(client=client, response=response)
|
69
|
+
|
70
|
+
|
71
|
+
async def asyncio_detailed(
|
72
|
+
workspace_name: str,
|
73
|
+
*,
|
74
|
+
client: AuthenticatedClient,
|
75
|
+
) -> Response[Any]:
|
76
|
+
"""Request workspace quotas
|
77
|
+
|
78
|
+
Send a request to update quotas for a workspace.
|
79
|
+
|
80
|
+
Args:
|
81
|
+
workspace_name (str):
|
82
|
+
|
83
|
+
Raises:
|
84
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
85
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
86
|
+
|
87
|
+
Returns:
|
88
|
+
Response[Any]
|
89
|
+
"""
|
90
|
+
|
91
|
+
kwargs = _get_kwargs(
|
92
|
+
workspace_name=workspace_name,
|
93
|
+
)
|
94
|
+
|
95
|
+
response = await client.get_async_httpx_client().request(**kwargs)
|
96
|
+
|
97
|
+
return _build_response(client=client, response=response)
|
@@ -1,5 +1,6 @@
|
|
1
|
+
import importlib
|
1
2
|
import logging
|
2
|
-
from typing import Any
|
3
|
+
from typing import Any, Optional, Type
|
3
4
|
|
4
5
|
from fastapi import FastAPI
|
5
6
|
from opentelemetry import _logs, metrics, trace
|
@@ -13,8 +14,9 @@ from opentelemetry.exporter.otlp.proto.http.metric_exporter import (
|
|
13
14
|
from opentelemetry.exporter.otlp.proto.http.trace_exporter import (
|
14
15
|
OTLPSpanExporter,
|
15
16
|
)
|
16
|
-
from opentelemetry.instrumentation.fastapi import
|
17
|
-
|
17
|
+
from opentelemetry.instrumentation.fastapi import ( # type: ignore
|
18
|
+
FastAPIInstrumentor,
|
19
|
+
)
|
18
20
|
from opentelemetry.metrics import NoOpMeterProvider
|
19
21
|
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
|
20
22
|
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
|
@@ -34,6 +36,8 @@ tracer: trace.Tracer | None = None
|
|
34
36
|
meter: metrics.Meter | None = None
|
35
37
|
logger: LoggerProvider | None = None
|
36
38
|
|
39
|
+
log = logging.getLogger(__name__)
|
40
|
+
|
37
41
|
|
38
42
|
def auth_headers() -> Dict[str, str]:
|
39
43
|
settings = get_settings()
|
@@ -82,6 +86,121 @@ def get_log_exporter() -> OTLPLogExporter | None:
|
|
82
86
|
return OTLPLogExporter(headers=auth_headers())
|
83
87
|
|
84
88
|
|
89
|
+
def _import_class(module_path: str, class_name: str) -> Optional[Type]: # type: ignore
|
90
|
+
"""Dynamically import a class from a module path."""
|
91
|
+
try:
|
92
|
+
module = importlib.import_module(module_path)
|
93
|
+
return getattr(module, class_name)
|
94
|
+
except (ImportError, AttributeError) as e:
|
95
|
+
log.error(f"Could not import {class_name} from {module_path}: {str(e)}")
|
96
|
+
return None
|
97
|
+
|
98
|
+
|
99
|
+
# Define mapping of instrumentor info: (module path, class name, required package)
|
100
|
+
INSTRUMENTOR_CONFIGS = {
|
101
|
+
"httpx": (
|
102
|
+
"opentelemetry.instrumentation.httpx",
|
103
|
+
"HTTPXClientInstrumentor",
|
104
|
+
"httpx",
|
105
|
+
),
|
106
|
+
"anthropic": (
|
107
|
+
"opentelemetry.instrumentation.anthropic",
|
108
|
+
"AnthropicInstrumentor",
|
109
|
+
"anthropic",
|
110
|
+
),
|
111
|
+
"chroma": (
|
112
|
+
"opentelemetry.instrumentation.chroma",
|
113
|
+
"ChromaInstrumentor",
|
114
|
+
"chromadb",
|
115
|
+
),
|
116
|
+
"cohere": (
|
117
|
+
"opentelemetry.instrumentation.cohere",
|
118
|
+
"CohereInstrumentor",
|
119
|
+
"cohere",
|
120
|
+
),
|
121
|
+
"groq": ("opentelemetry.instrumentation.groq", "GroqInstrumentor", "groq"),
|
122
|
+
"lance": (
|
123
|
+
"opentelemetry.instrumentation.lance",
|
124
|
+
"LanceInstrumentor",
|
125
|
+
"pylance",
|
126
|
+
),
|
127
|
+
"langchain": (
|
128
|
+
"opentelemetry.instrumentation.langchain",
|
129
|
+
"LangchainInstrumentor",
|
130
|
+
"langchain",
|
131
|
+
),
|
132
|
+
"llama_index": (
|
133
|
+
"opentelemetry.instrumentation.llama_index",
|
134
|
+
"LlamaIndexInstrumentor",
|
135
|
+
"llama_index",
|
136
|
+
),
|
137
|
+
"marqo": (
|
138
|
+
"opentelemetry.instrumentation.marqo",
|
139
|
+
"MarqoInstrumentor",
|
140
|
+
"marqo",
|
141
|
+
),
|
142
|
+
"milvus": (
|
143
|
+
"opentelemetry.instrumentation.milvus",
|
144
|
+
"MilvusInstrumentor",
|
145
|
+
"pymilvus",
|
146
|
+
),
|
147
|
+
"mistralai": (
|
148
|
+
"opentelemetry.instrumentation.mistralai",
|
149
|
+
"MistralAiInstrumentor",
|
150
|
+
"mistralai",
|
151
|
+
),
|
152
|
+
"ollama": (
|
153
|
+
"opentelemetry.instrumentation.ollama",
|
154
|
+
"OllamaInstrumentor",
|
155
|
+
"ollama",
|
156
|
+
),
|
157
|
+
"openai": (
|
158
|
+
"opentelemetry.instrumentation.openai",
|
159
|
+
"OpenAIInstrumentor",
|
160
|
+
"openai",
|
161
|
+
),
|
162
|
+
"pinecone": (
|
163
|
+
"opentelemetry.instrumentation.pinecone",
|
164
|
+
"PineconeInstrumentor",
|
165
|
+
"pinecone",
|
166
|
+
),
|
167
|
+
"qdrant": (
|
168
|
+
"opentelemetry.instrumentation.qdrant",
|
169
|
+
"QdrantInstrumentor",
|
170
|
+
"qdrant_client",
|
171
|
+
),
|
172
|
+
"replicate": (
|
173
|
+
"opentelemetry.instrumentation.replicate",
|
174
|
+
"ReplicateInstrumentor",
|
175
|
+
"replicate",
|
176
|
+
),
|
177
|
+
"together": (
|
178
|
+
"opentelemetry.instrumentation.together",
|
179
|
+
"TogetherAiInstrumentor",
|
180
|
+
"together",
|
181
|
+
),
|
182
|
+
"watsonx": (
|
183
|
+
"opentelemetry.instrumentation.watsonx",
|
184
|
+
"WatsonxInstrumentor",
|
185
|
+
"ibm_watson_machine_learning",
|
186
|
+
),
|
187
|
+
"weaviate": (
|
188
|
+
"opentelemetry.instrumentation.weaviate",
|
189
|
+
"WeaviateInstrumentor",
|
190
|
+
"weaviate",
|
191
|
+
),
|
192
|
+
}
|
193
|
+
|
194
|
+
|
195
|
+
def _is_package_installed(package_name: str) -> bool:
|
196
|
+
"""Check if a package is installed."""
|
197
|
+
try:
|
198
|
+
importlib.import_module(package_name)
|
199
|
+
return True
|
200
|
+
except (ImportError, ModuleNotFoundError):
|
201
|
+
return False
|
202
|
+
|
203
|
+
|
85
204
|
def instrument_app(app: FastAPI):
|
86
205
|
global tracer
|
87
206
|
global meter
|
@@ -106,7 +225,7 @@ def instrument_app(app: FastAPI):
|
|
106
225
|
# Set up the TracerProvider if not already set
|
107
226
|
if not isinstance(trace.get_tracer_provider(), TracerProvider):
|
108
227
|
trace_provider = TracerProvider(resource=resource)
|
109
|
-
span_processor = BatchSpanProcessor(get_span_exporter())
|
228
|
+
span_processor = BatchSpanProcessor(get_span_exporter()) # type: ignore
|
110
229
|
trace_provider.add_span_processor(span_processor)
|
111
230
|
trace.set_tracer_provider(trace_provider)
|
112
231
|
tracer = trace_provider.get_tracer(__name__)
|
@@ -115,7 +234,7 @@ def instrument_app(app: FastAPI):
|
|
115
234
|
|
116
235
|
# Set up the MeterProvider if not already set
|
117
236
|
if not isinstance(metrics.get_meter_provider(), MeterProvider):
|
118
|
-
metrics_exporter = PeriodicExportingMetricReader(get_metrics_exporter())
|
237
|
+
metrics_exporter = PeriodicExportingMetricReader(get_metrics_exporter()) # type: ignore
|
119
238
|
meter_provider = MeterProvider(
|
120
239
|
resource=resource, metric_readers=[metrics_exporter]
|
121
240
|
)
|
@@ -128,7 +247,7 @@ def instrument_app(app: FastAPI):
|
|
128
247
|
logger_provider = LoggerProvider(resource=resource)
|
129
248
|
set_logger_provider(logger_provider)
|
130
249
|
logger_provider.add_log_record_processor(
|
131
|
-
BatchLogRecordProcessor(get_log_exporter())
|
250
|
+
BatchLogRecordProcessor(get_log_exporter()) # type: ignore
|
132
251
|
)
|
133
252
|
handler = LoggingHandler(
|
134
253
|
level=logging.NOTSET, logger_provider=logger_provider
|
@@ -138,8 +257,27 @@ def instrument_app(app: FastAPI):
|
|
138
257
|
logger_provider = _logs.get_logger_provider()
|
139
258
|
|
140
259
|
# Only instrument the app when OpenTelemetry is enabled
|
141
|
-
FastAPIInstrumentor.instrument_app(app)
|
142
|
-
|
260
|
+
FastAPIInstrumentor.instrument_app(app) # type: ignore
|
261
|
+
|
262
|
+
for name, (
|
263
|
+
module_path,
|
264
|
+
class_name,
|
265
|
+
required_package,
|
266
|
+
) in INSTRUMENTOR_CONFIGS.items():
|
267
|
+
if _is_package_installed(required_package):
|
268
|
+
instrumentor_class = _import_class(module_path, class_name) # type: ignore
|
269
|
+
if instrumentor_class:
|
270
|
+
try:
|
271
|
+
instrumentor_class().instrument()
|
272
|
+
log.info(f"Successfully instrumented {name}")
|
273
|
+
except Exception as e:
|
274
|
+
log.error(f"Failed to instrument {name}: {str(e)}")
|
275
|
+
else:
|
276
|
+
log.error(f"Could not load instrumentor for {name}")
|
277
|
+
else:
|
278
|
+
log.debug(
|
279
|
+
f"Skipping {name} instrumentation - required package '{required_package}' not installed"
|
280
|
+
)
|
143
281
|
|
144
282
|
|
145
283
|
def shutdown_instrumentation():
|
@@ -227,7 +227,7 @@ def clean_auto_generated(
|
|
227
227
|
except yaml.YAMLError:
|
228
228
|
continue
|
229
229
|
|
230
|
-
def generate_beamlit_deployment(directory: str):
|
230
|
+
def generate_beamlit_deployment(directory: str, name: str):
|
231
231
|
"""
|
232
232
|
Generates all necessary deployment files for Beamlit agents and functions.
|
233
233
|
|
@@ -247,6 +247,8 @@ def generate_beamlit_deployment(directory: str):
|
|
247
247
|
agents: list[tuple[Resource, Agent]] = []
|
248
248
|
for resource in get_resources("agent", settings.server.directory):
|
249
249
|
agent = get_beamlit_deployment_from_resource(resource)
|
250
|
+
if name and agent.metadata.name != name:
|
251
|
+
agent.metadata.name = slugify(name)
|
250
252
|
if agent:
|
251
253
|
agents.append((resource, agent))
|
252
254
|
for resource in get_resources("function", settings.server.directory):
|
@@ -59,7 +59,6 @@ from .metrics_rps_per_code import MetricsRpsPerCode
|
|
59
59
|
from .model import Model
|
60
60
|
from .model_metadata import ModelMetadata
|
61
61
|
from .model_private_cluster import ModelPrivateCluster
|
62
|
-
from .model_provider import ModelProvider
|
63
62
|
from .model_release import ModelRelease
|
64
63
|
from .model_spec import ModelSpec
|
65
64
|
from .owner_fields import OwnerFields
|
@@ -188,7 +187,6 @@ __all__ = (
|
|
188
187
|
"Model",
|
189
188
|
"ModelMetadata",
|
190
189
|
"ModelPrivateCluster",
|
191
|
-
"ModelProvider",
|
192
190
|
"ModelRelease",
|
193
191
|
"ModelSpec",
|
194
192
|
"OwnerFields",
|
@@ -32,6 +32,7 @@ class AgentSpec:
|
|
32
32
|
policies (Union[Unset, list[str]]):
|
33
33
|
private_clusters (Union[Unset, ModelPrivateCluster]): Private cluster where the model deployment is deployed
|
34
34
|
runtime (Union[Unset, Runtime]): Set of configurations for a deployment
|
35
|
+
sandbox (Union[Unset, bool]): Sandbox mode
|
35
36
|
serverless_config (Union[Unset, ServerlessConfig]): Configuration for a serverless deployment
|
36
37
|
agent_chain (Union[Unset, list['AgentChain']]): Agent chain
|
37
38
|
description (Union[Unset, str]): Agent description
|
@@ -49,6 +50,7 @@ class AgentSpec:
|
|
49
50
|
policies: Union[Unset, list[str]] = UNSET
|
50
51
|
private_clusters: Union[Unset, "ModelPrivateCluster"] = UNSET
|
51
52
|
runtime: Union[Unset, "Runtime"] = UNSET
|
53
|
+
sandbox: Union[Unset, bool] = UNSET
|
52
54
|
serverless_config: Union[Unset, "ServerlessConfig"] = UNSET
|
53
55
|
agent_chain: Union[Unset, list["AgentChain"]] = UNSET
|
54
56
|
description: Union[Unset, str] = UNSET
|
@@ -92,6 +94,8 @@ class AgentSpec:
|
|
92
94
|
if self.runtime and not isinstance(self.runtime, Unset):
|
93
95
|
runtime = self.runtime.to_dict()
|
94
96
|
|
97
|
+
sandbox = self.sandbox
|
98
|
+
|
95
99
|
serverless_config: Union[Unset, dict[str, Any]] = UNSET
|
96
100
|
if self.serverless_config and not isinstance(self.serverless_config, Unset):
|
97
101
|
serverless_config = self.serverless_config.to_dict()
|
@@ -136,6 +140,8 @@ class AgentSpec:
|
|
136
140
|
field_dict["privateClusters"] = private_clusters
|
137
141
|
if runtime is not UNSET:
|
138
142
|
field_dict["runtime"] = runtime
|
143
|
+
if sandbox is not UNSET:
|
144
|
+
field_dict["sandbox"] = sandbox
|
139
145
|
if serverless_config is not UNSET:
|
140
146
|
field_dict["serverlessConfig"] = serverless_config
|
141
147
|
if agent_chain is not UNSET:
|
@@ -208,6 +214,8 @@ class AgentSpec:
|
|
208
214
|
else:
|
209
215
|
runtime = Runtime.from_dict(_runtime)
|
210
216
|
|
217
|
+
sandbox = d.pop("sandbox", UNSET)
|
218
|
+
|
211
219
|
_serverless_config = d.pop("serverlessConfig", UNSET)
|
212
220
|
serverless_config: Union[Unset, ServerlessConfig]
|
213
221
|
if isinstance(_serverless_config, Unset):
|
@@ -246,6 +254,7 @@ class AgentSpec:
|
|
246
254
|
policies=policies,
|
247
255
|
private_clusters=private_clusters,
|
248
256
|
runtime=runtime,
|
257
|
+
sandbox=sandbox,
|
249
258
|
serverless_config=serverless_config,
|
250
259
|
agent_chain=agent_chain,
|
251
260
|
description=description,
|
@@ -30,6 +30,7 @@ class CoreSpec:
|
|
30
30
|
policies (Union[Unset, list[str]]):
|
31
31
|
private_clusters (Union[Unset, ModelPrivateCluster]): Private cluster where the model deployment is deployed
|
32
32
|
runtime (Union[Unset, Runtime]): Set of configurations for a deployment
|
33
|
+
sandbox (Union[Unset, bool]): Sandbox mode
|
33
34
|
serverless_config (Union[Unset, ServerlessConfig]): Configuration for a serverless deployment
|
34
35
|
"""
|
35
36
|
|
@@ -41,6 +42,7 @@ class CoreSpec:
|
|
41
42
|
policies: Union[Unset, list[str]] = UNSET
|
42
43
|
private_clusters: Union[Unset, "ModelPrivateCluster"] = UNSET
|
43
44
|
runtime: Union[Unset, "Runtime"] = UNSET
|
45
|
+
sandbox: Union[Unset, bool] = UNSET
|
44
46
|
serverless_config: Union[Unset, "ServerlessConfig"] = UNSET
|
45
47
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
46
48
|
|
@@ -78,6 +80,8 @@ class CoreSpec:
|
|
78
80
|
if self.runtime and not isinstance(self.runtime, Unset):
|
79
81
|
runtime = self.runtime.to_dict()
|
80
82
|
|
83
|
+
sandbox = self.sandbox
|
84
|
+
|
81
85
|
serverless_config: Union[Unset, dict[str, Any]] = UNSET
|
82
86
|
if self.serverless_config and not isinstance(self.serverless_config, Unset):
|
83
87
|
serverless_config = self.serverless_config.to_dict()
|
@@ -101,6 +105,8 @@ class CoreSpec:
|
|
101
105
|
field_dict["privateClusters"] = private_clusters
|
102
106
|
if runtime is not UNSET:
|
103
107
|
field_dict["runtime"] = runtime
|
108
|
+
if sandbox is not UNSET:
|
109
|
+
field_dict["sandbox"] = sandbox
|
104
110
|
if serverless_config is not UNSET:
|
105
111
|
field_dict["serverlessConfig"] = serverless_config
|
106
112
|
|
@@ -159,6 +165,8 @@ class CoreSpec:
|
|
159
165
|
else:
|
160
166
|
runtime = Runtime.from_dict(_runtime)
|
161
167
|
|
168
|
+
sandbox = d.pop("sandbox", UNSET)
|
169
|
+
|
162
170
|
_serverless_config = d.pop("serverlessConfig", UNSET)
|
163
171
|
serverless_config: Union[Unset, ServerlessConfig]
|
164
172
|
if isinstance(_serverless_config, Unset):
|
@@ -175,6 +183,7 @@ class CoreSpec:
|
|
175
183
|
policies=policies,
|
176
184
|
private_clusters=private_clusters,
|
177
185
|
runtime=runtime,
|
186
|
+
sandbox=sandbox,
|
178
187
|
serverless_config=serverless_config,
|
179
188
|
)
|
180
189
|
|
@@ -32,6 +32,7 @@ class FunctionSpec:
|
|
32
32
|
policies (Union[Unset, list[str]]):
|
33
33
|
private_clusters (Union[Unset, ModelPrivateCluster]): Private cluster where the model deployment is deployed
|
34
34
|
runtime (Union[Unset, Runtime]): Set of configurations for a deployment
|
35
|
+
sandbox (Union[Unset, bool]): Sandbox mode
|
35
36
|
serverless_config (Union[Unset, ServerlessConfig]): Configuration for a serverless deployment
|
36
37
|
description (Union[Unset, str]): Function description, very important for the agent function to work with an LLM
|
37
38
|
kit (Union[Unset, list['FunctionKit']]): The kit of the function deployment
|
@@ -48,6 +49,7 @@ class FunctionSpec:
|
|
48
49
|
policies: Union[Unset, list[str]] = UNSET
|
49
50
|
private_clusters: Union[Unset, "ModelPrivateCluster"] = UNSET
|
50
51
|
runtime: Union[Unset, "Runtime"] = UNSET
|
52
|
+
sandbox: Union[Unset, bool] = UNSET
|
51
53
|
serverless_config: Union[Unset, "ServerlessConfig"] = UNSET
|
52
54
|
description: Union[Unset, str] = UNSET
|
53
55
|
kit: Union[Unset, list["FunctionKit"]] = UNSET
|
@@ -89,6 +91,8 @@ class FunctionSpec:
|
|
89
91
|
if self.runtime and not isinstance(self.runtime, Unset):
|
90
92
|
runtime = self.runtime.to_dict()
|
91
93
|
|
94
|
+
sandbox = self.sandbox
|
95
|
+
|
92
96
|
serverless_config: Union[Unset, dict[str, Any]] = UNSET
|
93
97
|
if self.serverless_config and not isinstance(self.serverless_config, Unset):
|
94
98
|
serverless_config = self.serverless_config.to_dict()
|
@@ -130,6 +134,8 @@ class FunctionSpec:
|
|
130
134
|
field_dict["privateClusters"] = private_clusters
|
131
135
|
if runtime is not UNSET:
|
132
136
|
field_dict["runtime"] = runtime
|
137
|
+
if sandbox is not UNSET:
|
138
|
+
field_dict["sandbox"] = sandbox
|
133
139
|
if serverless_config is not UNSET:
|
134
140
|
field_dict["serverlessConfig"] = serverless_config
|
135
141
|
if description is not UNSET:
|
@@ -198,6 +204,8 @@ class FunctionSpec:
|
|
198
204
|
else:
|
199
205
|
runtime = Runtime.from_dict(_runtime)
|
200
206
|
|
207
|
+
sandbox = d.pop("sandbox", UNSET)
|
208
|
+
|
201
209
|
_serverless_config = d.pop("serverlessConfig", UNSET)
|
202
210
|
serverless_config: Union[Unset, ServerlessConfig]
|
203
211
|
if isinstance(_serverless_config, Unset):
|
@@ -232,6 +240,7 @@ class FunctionSpec:
|
|
232
240
|
policies=policies,
|
233
241
|
private_clusters=private_clusters,
|
234
242
|
runtime=runtime,
|
243
|
+
sandbox=sandbox,
|
235
244
|
serverless_config=serverless_config,
|
236
245
|
description=description,
|
237
246
|
kit=kit,
|
@@ -20,11 +20,13 @@ class IntegrationConnectionSpec:
|
|
20
20
|
Attributes:
|
21
21
|
config (Union[Unset, IntegrationConnectionConfig]): Integration config
|
22
22
|
integration (Union[Unset, str]): Integration type
|
23
|
+
sandbox (Union[Unset, bool]): Sandbox mode
|
23
24
|
secret (Union[Unset, IntegrationConnectionSecret]): Integration secret
|
24
25
|
"""
|
25
26
|
|
26
27
|
config: Union[Unset, "IntegrationConnectionConfig"] = UNSET
|
27
28
|
integration: Union[Unset, str] = UNSET
|
29
|
+
sandbox: Union[Unset, bool] = UNSET
|
28
30
|
secret: Union[Unset, "IntegrationConnectionSecret"] = UNSET
|
29
31
|
additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
|
30
32
|
|
@@ -35,6 +37,8 @@ class IntegrationConnectionSpec:
|
|
35
37
|
|
36
38
|
integration = self.integration
|
37
39
|
|
40
|
+
sandbox = self.sandbox
|
41
|
+
|
38
42
|
secret: Union[Unset, dict[str, Any]] = UNSET
|
39
43
|
if self.secret and not isinstance(self.secret, Unset):
|
40
44
|
secret = self.secret.to_dict()
|
@@ -46,6 +50,8 @@ class IntegrationConnectionSpec:
|
|
46
50
|
field_dict["config"] = config
|
47
51
|
if integration is not UNSET:
|
48
52
|
field_dict["integration"] = integration
|
53
|
+
if sandbox is not UNSET:
|
54
|
+
field_dict["sandbox"] = sandbox
|
49
55
|
if secret is not UNSET:
|
50
56
|
field_dict["secret"] = secret
|
51
57
|
|
@@ -68,6 +74,8 @@ class IntegrationConnectionSpec:
|
|
68
74
|
|
69
75
|
integration = d.pop("integration", UNSET)
|
70
76
|
|
77
|
+
sandbox = d.pop("sandbox", UNSET)
|
78
|
+
|
71
79
|
_secret = d.pop("secret", UNSET)
|
72
80
|
secret: Union[Unset, IntegrationConnectionSecret]
|
73
81
|
if isinstance(_secret, Unset):
|
@@ -78,6 +86,7 @@ class IntegrationConnectionSpec:
|
|
78
86
|
integration_connection_spec = cls(
|
79
87
|
config=config,
|
80
88
|
integration=integration,
|
89
|
+
sandbox=sandbox,
|
81
90
|
secret=secret,
|
82
91
|
)
|
83
92
|
|