beamlit 0.0.29rc32__tar.gz → 0.0.30a0__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/PKG-INFO +1 -1
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/pyproject.toml +1 -1
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/common/__init__.py +4 -1
- beamlit-0.0.30a0/src/beamlit/common/error.py +9 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/common/settings.py +1 -1
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/deploy/deploy.py +13 -5
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/deploy/parser.py +2 -1
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/run.py +3 -1
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/serve/app.py +12 -8
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/integrationtest/agent.py +0 -2
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/integrationtest/functions/helloworld.py +1 -1
- beamlit-0.0.30a0/src/integrationtest/pyproject.toml +9 -0
- beamlit-0.0.30a0/src/integrationtest/uv.lock +2423 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/.gitignore +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/README.md +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/beamlit.yaml +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/agents/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/agents/chain.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/agents/chat.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/agents/decorator.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/create_agent.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/create_agent_release.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/delete_agent.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/delete_agent_history.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/get_agent.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/get_agent_environment_logs.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/get_agent_history.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/get_agent_metrics.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/get_agent_trace_ids.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/list_agent_history.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/list_agents.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/put_agent_history.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/agents/update_agent.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/configurations/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/configurations/get_configuration.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/default/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/default/get_trace.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/default/get_trace_ids.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/default/get_trace_logs.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/environments/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/environments/create_environment.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/environments/delete_environment.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/environments/get_environment.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/environments/get_environment_metrics.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/environments/list_environments.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/environments/update_environment.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/functions/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/functions/create_function.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/functions/create_function_release.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/functions/delete_function.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/functions/get_function.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/functions/get_function_environment_logs.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/functions/get_function_metrics.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/functions/get_function_trace_ids.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/functions/list_functions.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/functions/update_function.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/history/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/history/get_agents_history.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/history/list_agents_history.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/integrations/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/integrations/create_integration_connection.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/integrations/delete_integration_connection.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/integrations/get_integration.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/integrations/get_integration_connection.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/integrations/get_integration_connection_model.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/integrations/get_integration_model.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/integrations/list_integration_connection_models.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/integrations/list_integration_connections.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/integrations/list_integration_models.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/integrations/update_integration_connection.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/invitations/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/invitations/list_all_pending_invitations.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/locations/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/locations/list_locations.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/metrics/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/metrics/get_metrics.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/model_providers/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/model_providers/create_model_provider.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/model_providers/delete_model_provider.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/model_providers/get_model_provider.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/model_providers/list_model_providers.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/model_providers/update_model_provider.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/models/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/models/create_model.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/models/delete_model.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/models/get_model.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/models/get_model_environment_logs.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/models/get_model_metrics.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/models/get_model_trace_ids.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/models/list_models.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/models/release_model.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/models/update_model.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/policies/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/policies/create_policy.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/policies/delete_policy.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/policies/get_policy.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/policies/list_policies.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/policies/update_policy.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/privateclusters/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/privateclusters/create_private_cluster.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/privateclusters/delete_private_cluster.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/privateclusters/get_private_cluster.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/privateclusters/get_private_cluster_health.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/privateclusters/list_private_clusters.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/privateclusters/update_private_cluster.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/privateclusters/update_private_cluster_health.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/service_accounts/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/service_accounts/create_api_key_for_service_account.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/service_accounts/create_workspace_service_account.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/service_accounts/delete_api_key_for_service_account.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/service_accounts/delete_workspace_service_account.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/service_accounts/get_workspace_service_accounts.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/service_accounts/list_api_keys_for_service_account.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/service_accounts/update_workspace_service_account.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/store/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/store/get_store_agent.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/store/get_store_function.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/store/list_store_agents.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/store/list_store_functions.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/accept_workspace_invitation.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/create_worspace.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/decline_workspace_invitation.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/delete_workspace.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/get_workspace.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/invite_workspace_user.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/leave_workspace.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/list_workspace_users.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/list_workspaces.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/remove_workspace_user.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/update_workspace.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/api/workspaces/update_workspace_user_role.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/authentication/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/authentication/apikey.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/authentication/authentication.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/authentication/clientcredentials.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/authentication/credentials.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/authentication/device_mode.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/client.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/common/generate.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/common/instrumentation.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/common/logger.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/common/secrets.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/common/utils.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/deploy/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/deploy/format.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/errors.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/decorator.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/github/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/github/github.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/github/kit/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/github/kit/pull_request.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/math/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/math/math.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/mcp/mcp.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/remote/remote.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/search/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/functions/search/search.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/acl.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/agent.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/agent_chain.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/agent_history.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/agent_history_event.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/agent_metadata.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/agent_release.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/agent_spec.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/api_key.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/configuration.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/continent.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/core_spec.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/core_spec_configurations.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/core_status.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/country.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/create_api_key_for_service_account_body.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/create_workspace_service_account_body.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/create_workspace_service_account_response_200.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/delete_workspace_service_account_response_200.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/environment.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/environment_metadata.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/environment_metrics.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/environment_spec.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/flavor.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/function.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/function_kit.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/function_metadata.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/function_release.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/function_spec.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/get_trace_ids_response_200.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/get_trace_logs_response_200.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/get_trace_response_200.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/get_workspace_service_accounts_response_200_item.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/increase_and_rate_metric.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/integration_config.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/integration_connection.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/integration_connection_config.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/integration_connection_secret.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/integration_connection_spec.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/integration_model.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/invite_workspace_user_body.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/location_response.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/metadata.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/metadata_labels.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/metric.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/metrics.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/model.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/model_metadata.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/model_private_cluster.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/model_provider.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/model_release.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/model_spec.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/owner_fields.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/pending_invitation.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/pending_invitation_accept.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/pending_invitation_render.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/pending_invitation_render_invited_by.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/pending_invitation_render_workspace.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/pending_invitation_workspace_details.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/pod_template_spec.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/policy.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/policy_location.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/policy_spec.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/private_cluster.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/private_location.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/provider_config.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/qps.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/resource_deployment_metrics.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/resource_deployment_metrics_inference_per_second_per_region.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/resource_deployment_metrics_query_per_second_per_region_per_code.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/resource_environment_metrics.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/resource_environment_metrics_inference_per_region.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/resource_environment_metrics_inference_per_second_per_region.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/resource_environment_metrics_query_per_region_per_code.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/resource_environment_metrics_query_per_second_per_region_per_code.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/resource_log.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/resource_metrics.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/runtime.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/runtime_readiness_probe.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/runtime_resources.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/serverless_config.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/spec_configuration.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/store_agent.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/store_agent_labels.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/store_configuration.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/store_configuration_option.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/store_function.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/store_function_kit.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/store_function_labels.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/store_function_parameter.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/time_fields.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/trace_ids_response.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/update_workspace_service_account_body.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/update_workspace_service_account_response_200.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/update_workspace_user_role_body.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/websocket_channel.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/workspace.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/workspace_labels.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/models/workspace_user.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/py.typed +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/serve/middlewares/__init__.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/serve/middlewares/accesslog.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/serve/middlewares/processtime.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/beamlit/types.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/integrationtest/beamlit.yaml +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/src/integrationtest/main.py +0 -0
- {beamlit-0.0.29rc32 → beamlit-0.0.30a0}/uv.lock +0 -0
@@ -1,6 +1,7 @@
|
|
1
|
+
from .error import HTTPError
|
1
2
|
from .logger import init as init_logger
|
2
3
|
from .secrets import Secret
|
3
|
-
from .settings import Settings, get_settings, init_agent
|
4
|
+
from .settings import Settings, get_settings, init, init_agent
|
4
5
|
from .utils import copy_folder
|
5
6
|
|
6
7
|
__all__ = [
|
@@ -8,6 +9,8 @@ __all__ = [
|
|
8
9
|
"Settings",
|
9
10
|
"get_settings",
|
10
11
|
"init_agent",
|
12
|
+
"init",
|
11
13
|
"copy_folder",
|
12
14
|
"init_logger",
|
15
|
+
"HTTPError",
|
13
16
|
]
|
@@ -42,7 +42,7 @@ class SettingsServer(BaseSettings):
|
|
42
42
|
module: str = Field(default="main.main")
|
43
43
|
port: int = Field(default=80)
|
44
44
|
host: str = Field(default="0.0.0.0")
|
45
|
-
|
45
|
+
directory: str = Field(default="src")
|
46
46
|
|
47
47
|
class Settings(BaseSettings):
|
48
48
|
model_config = SettingsConfigDict(
|
@@ -174,15 +174,15 @@ def dockerfile(
|
|
174
174
|
Returns:
|
175
175
|
str: Dockerfile content
|
176
176
|
"""
|
177
|
+
settings = get_settings()
|
177
178
|
if type == "agent":
|
178
179
|
module = f"{resource.module.__file__.split('/')[-1].replace('.py', '')}.{resource.module.__name__}"
|
179
180
|
else:
|
180
|
-
module = f"functions.{resource.module.
|
181
|
+
module = f"functions.{resource.module.__file__.split('/')[-1].replace('.py', '')}.{resource.module.__name__}"
|
181
182
|
cmd = ["bl", "serve", "--port", "80", "--module", module]
|
182
183
|
if type == "agent":
|
183
184
|
cmd.append("--remote")
|
184
185
|
cmd_str = ",".join([f'"{c}"' for c in cmd])
|
185
|
-
|
186
186
|
return f"""
|
187
187
|
FROM python:3.12-slim
|
188
188
|
|
@@ -201,7 +201,7 @@ RUN uv sync --no-cache
|
|
201
201
|
|
202
202
|
COPY README.m[d] /beamlit/README.md
|
203
203
|
COPY LICENS[E] /beamlit/LICENSE
|
204
|
-
COPY
|
204
|
+
COPY {settings.server.directory} /beamlit/src
|
205
205
|
|
206
206
|
ENV PATH="/beamlit/.venv/bin:$PATH"
|
207
207
|
|
@@ -226,11 +226,11 @@ def generate_beamlit_deployment(directory: str):
|
|
226
226
|
logger.info(f"Importing server module: {settings.server.module}")
|
227
227
|
functions: list[tuple[Resource, Function]] = []
|
228
228
|
agents: list[tuple[Resource, Agent]] = []
|
229
|
-
for resource in get_resources("agent"):
|
229
|
+
for resource in get_resources("agent", settings.server.directory):
|
230
230
|
agent = get_beamlit_deployment_from_resource(resource)
|
231
231
|
if agent:
|
232
232
|
agents.append((resource, agent))
|
233
|
-
for resource in get_resources("function"):
|
233
|
+
for resource in get_resources("function", settings.server.directory):
|
234
234
|
function = get_beamlit_deployment_from_resource(resource)
|
235
235
|
if function:
|
236
236
|
functions.append((resource, function))
|
@@ -251,6 +251,10 @@ def generate_beamlit_deployment(directory: str):
|
|
251
251
|
with open(os.path.join(agent_dir, f"Dockerfile"), "w") as f:
|
252
252
|
content = dockerfile("agent", resource, agent)
|
253
253
|
f.write(content)
|
254
|
+
# write destination docker
|
255
|
+
with open(os.path.join(agent_dir, f"destination.txt"), "w") as f:
|
256
|
+
content = agent.spec.runtime.image
|
257
|
+
f.write(content)
|
254
258
|
for resource, function in functions:
|
255
259
|
# write deployment file
|
256
260
|
function_dir = os.path.join(functions_dir, function.metadata.name)
|
@@ -262,3 +266,7 @@ def generate_beamlit_deployment(directory: str):
|
|
262
266
|
with open(os.path.join(function_dir, f"Dockerfile"), "w") as f:
|
263
267
|
content = dockerfile("function", resource, function)
|
264
268
|
f.write(content)
|
269
|
+
# write destination docker
|
270
|
+
with open(os.path.join(function_dir, f"destination.txt"), "w") as f:
|
271
|
+
content = function.spec.runtime.image
|
272
|
+
f.write(content)
|
@@ -7,6 +7,7 @@ from typing import Callable, Literal
|
|
7
7
|
|
8
8
|
from beamlit.models import StoreFunctionParameter
|
9
9
|
|
10
|
+
|
10
11
|
@dataclass
|
11
12
|
class Resource:
|
12
13
|
type: Literal["agent", "function"]
|
@@ -16,7 +17,7 @@ class Resource:
|
|
16
17
|
func: Callable
|
17
18
|
|
18
19
|
|
19
|
-
def get_resources(from_decorator, dir
|
20
|
+
def get_resources(from_decorator, dir) -> list[Resource]:
|
20
21
|
"""
|
21
22
|
Scans through Python files in a directory to find functions decorated with a specific decorator.
|
22
23
|
|
@@ -3,7 +3,7 @@ from typing import Any
|
|
3
3
|
|
4
4
|
import requests
|
5
5
|
from beamlit.client import AuthenticatedClient
|
6
|
-
from beamlit.common
|
6
|
+
from beamlit.common import HTTPError, get_settings
|
7
7
|
|
8
8
|
|
9
9
|
class RunClient:
|
@@ -45,4 +45,6 @@ class RunClient:
|
|
45
45
|
kwargs["json"] = json
|
46
46
|
|
47
47
|
response = client.request(method, url, **kwargs)
|
48
|
+
if response.status_code >= 400:
|
49
|
+
raise HTTPError(response.status_code, response.text)
|
48
50
|
return response
|
@@ -7,13 +7,10 @@ from logging import getLogger
|
|
7
7
|
from uuid import uuid4
|
8
8
|
|
9
9
|
from asgi_correlation_id import CorrelationIdMiddleware
|
10
|
-
from beamlit.common
|
11
|
-
from beamlit.common.instrumentation import (
|
12
|
-
|
13
|
-
|
14
|
-
get_span_exporter,
|
15
|
-
instrument_app,
|
16
|
-
)
|
10
|
+
from beamlit.common import HTTPError, get_settings, init
|
11
|
+
from beamlit.common.instrumentation import (get_metrics_exporter,
|
12
|
+
get_resource_attributes,
|
13
|
+
get_span_exporter, instrument_app)
|
17
14
|
from fastapi import FastAPI, Request, Response
|
18
15
|
from fastapi.responses import JSONResponse
|
19
16
|
from traceloop.sdk import Traceloop
|
@@ -90,10 +87,17 @@ async def root(request: Request):
|
|
90
87
|
content = {"error": str(e)}
|
91
88
|
if settings.environment == "development":
|
92
89
|
content["traceback"] = str(traceback.format_exc())
|
93
|
-
logger.error(
|
90
|
+
logger.error(str(traceback.format_exc()))
|
94
91
|
return JSONResponse(status_code=400, content=content)
|
92
|
+
except HTTPError as e:
|
93
|
+
content = {"error": e.message, "status_code": e.status_code}
|
94
|
+
if settings.environment == "development":
|
95
|
+
content["traceback"] = str(traceback.format_exc())
|
96
|
+
logger.error(f"{e.status_code} {str(traceback.format_exc())}")
|
97
|
+
return JSONResponse(status_code=e.status_code, content=content)
|
95
98
|
except Exception as e:
|
96
99
|
content = {"error": f"Internal server error, {e}"}
|
97
100
|
if settings.environment == "development":
|
98
101
|
content["traceback"] = str(traceback.format_exc())
|
102
|
+
logger.error(str(traceback.format_exc()))
|
99
103
|
return JSONResponse(status_code=500, content=content)
|
@@ -15,8 +15,6 @@ from beamlit.agents import agent
|
|
15
15
|
"model": "gpt-4o-mini",
|
16
16
|
},
|
17
17
|
},
|
18
|
-
mcp_hub=["brave-search"],
|
19
|
-
remote_functions=["github"],
|
20
18
|
)
|
21
19
|
async def main(agent, chat_model, tools, body, headers=None, query_params=None, **_):
|
22
20
|
agent_config = {"configurable": {"thread_id": str(uuid.uuid4())}}
|