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.
Files changed (299) hide show
  1. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/PKG-INFO +19 -2
  2. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/pyproject.toml +19 -2
  3. beamlit-0.0.34rc80/src/beamlit/api/workspaces/workspace_quotas_request.py +97 -0
  4. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/instrumentation.py +146 -8
  5. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/deploy/deploy.py +3 -1
  6. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/__init__.py +0 -2
  7. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_spec.py +9 -0
  8. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/core_spec.py +9 -0
  9. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function_spec.py +9 -0
  10. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_connection_spec.py +9 -0
  11. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_spec.py +9 -9
  12. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/workspace.py +9 -0
  13. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/serve/app.py +0 -10
  14. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/integrationtest/main.py +1 -1
  15. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/uv.lock +62 -312
  16. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/.gitignore +0 -0
  17. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/README.md +0 -0
  18. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/beamlit.yaml +0 -0
  19. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/__init__.py +0 -0
  20. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/agents/__init__.py +0 -0
  21. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/agents/chain.py +0 -0
  22. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/agents/chat.py +0 -0
  23. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/agents/decorator.py +0 -0
  24. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/agents/thread.py +0 -0
  25. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/__init__.py +0 -0
  26. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/__init__.py +0 -0
  27. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/create_agent.py +0 -0
  28. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/create_agent_release.py +0 -0
  29. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/delete_agent.py +0 -0
  30. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/delete_agent_history.py +0 -0
  31. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/get_agent.py +0 -0
  32. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/get_agent_environment_logs.py +0 -0
  33. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/get_agent_history.py +0 -0
  34. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/get_agent_metrics.py +0 -0
  35. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/get_agent_trace_ids.py +0 -0
  36. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/list_agent_history.py +0 -0
  37. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/list_agents.py +0 -0
  38. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/put_agent_history.py +0 -0
  39. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/agents/update_agent.py +0 -0
  40. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/configurations/__init__.py +0 -0
  41. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/configurations/get_configuration.py +0 -0
  42. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/default/__init__.py +0 -0
  43. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/default/get_trace.py +0 -0
  44. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/default/get_trace_ids.py +0 -0
  45. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/default/get_trace_logs.py +0 -0
  46. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/__init__.py +0 -0
  47. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/create_environment.py +0 -0
  48. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/delete_environment.py +0 -0
  49. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/get_environment.py +0 -0
  50. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/get_environment_metrics.py +0 -0
  51. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/list_environments.py +0 -0
  52. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/environments/update_environment.py +0 -0
  53. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/__init__.py +0 -0
  54. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/create_function.py +0 -0
  55. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/create_function_release.py +0 -0
  56. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/delete_function.py +0 -0
  57. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/get_function.py +0 -0
  58. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/get_function_environment_logs.py +0 -0
  59. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/get_function_metrics.py +0 -0
  60. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/get_function_trace_ids.py +0 -0
  61. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/list_functions.py +0 -0
  62. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/functions/update_function.py +0 -0
  63. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/history/__init__.py +0 -0
  64. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/history/get_agents_history.py +0 -0
  65. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/history/list_agents_history.py +0 -0
  66. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/__init__.py +0 -0
  67. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/create_integration_connection.py +0 -0
  68. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/delete_integration_connection.py +0 -0
  69. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/get_integration.py +0 -0
  70. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/get_integration_connection.py +0 -0
  71. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/get_integration_connection_model.py +0 -0
  72. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/get_integration_model.py +0 -0
  73. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/list_integration_connection_models.py +0 -0
  74. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/list_integration_connections.py +0 -0
  75. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/list_integration_models.py +0 -0
  76. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/integrations/update_integration_connection.py +0 -0
  77. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/invitations/__init__.py +0 -0
  78. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/invitations/list_all_pending_invitations.py +0 -0
  79. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/locations/__init__.py +0 -0
  80. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/locations/list_locations.py +0 -0
  81. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/metrics/__init__.py +0 -0
  82. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/metrics/get_metrics.py +0 -0
  83. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/__init__.py +0 -0
  84. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/create_model_provider.py +0 -0
  85. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/delete_model_provider.py +0 -0
  86. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/get_model_provider.py +0 -0
  87. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/list_model_providers.py +0 -0
  88. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/model_providers/update_model_provider.py +0 -0
  89. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/__init__.py +0 -0
  90. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/create_model.py +0 -0
  91. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/delete_model.py +0 -0
  92. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/get_model.py +0 -0
  93. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/get_model_environment_logs.py +0 -0
  94. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/get_model_metrics.py +0 -0
  95. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/get_model_trace_ids.py +0 -0
  96. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/list_models.py +0 -0
  97. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/release_model.py +0 -0
  98. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/models/update_model.py +0 -0
  99. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/__init__.py +0 -0
  100. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/create_policy.py +0 -0
  101. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/delete_policy.py +0 -0
  102. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/get_policy.py +0 -0
  103. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/list_policies.py +0 -0
  104. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/policies/update_policy.py +0 -0
  105. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/__init__.py +0 -0
  106. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/create_private_cluster.py +0 -0
  107. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/delete_private_cluster.py +0 -0
  108. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/get_private_cluster.py +0 -0
  109. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/get_private_cluster_health.py +0 -0
  110. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/list_private_clusters.py +0 -0
  111. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/update_private_cluster.py +0 -0
  112. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/privateclusters/update_private_cluster_health.py +0 -0
  113. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/__init__.py +0 -0
  114. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/create_api_key_for_service_account.py +0 -0
  115. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/create_workspace_service_account.py +0 -0
  116. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/delete_api_key_for_service_account.py +0 -0
  117. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/delete_workspace_service_account.py +0 -0
  118. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/get_workspace_service_accounts.py +0 -0
  119. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/list_api_keys_for_service_account.py +0 -0
  120. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/service_accounts/update_workspace_service_account.py +0 -0
  121. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/store/__init__.py +0 -0
  122. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/store/get_store_agent.py +0 -0
  123. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/store/get_store_function.py +0 -0
  124. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/store/list_store_agents.py +0 -0
  125. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/store/list_store_functions.py +0 -0
  126. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/__init__.py +0 -0
  127. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/accept_workspace_invitation.py +0 -0
  128. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/create_worspace.py +0 -0
  129. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/decline_workspace_invitation.py +0 -0
  130. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/delete_workspace.py +0 -0
  131. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/get_workspace.py +0 -0
  132. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/invite_workspace_user.py +0 -0
  133. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/leave_workspace.py +0 -0
  134. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/list_workspace_users.py +0 -0
  135. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/list_workspaces.py +0 -0
  136. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/remove_workspace_user.py +0 -0
  137. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/update_workspace.py +0 -0
  138. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/api/workspaces/update_workspace_user_role.py +0 -0
  139. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/__init__.py +0 -0
  140. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/apikey.py +0 -0
  141. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/authentication.py +0 -0
  142. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/clientcredentials.py +0 -0
  143. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/credentials.py +0 -0
  144. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/authentication/device_mode.py +0 -0
  145. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/client.py +0 -0
  146. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/__init__.py +0 -0
  147. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/error.py +0 -0
  148. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/logger.py +0 -0
  149. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/secrets.py +0 -0
  150. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/settings.py +0 -0
  151. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/slugify.py +0 -0
  152. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/common/utils.py +0 -0
  153. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/deploy/__init__.py +0 -0
  154. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/deploy/format.py +0 -0
  155. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/deploy/parser.py +0 -0
  156. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/errors.py +0 -0
  157. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/__init__.py +0 -0
  158. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/decorator.py +0 -0
  159. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/github/__init__.py +0 -0
  160. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/github/github.py +0 -0
  161. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/github/kit/__init__.py +0 -0
  162. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/github/kit/pull_request.py +0 -0
  163. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/math/__init__.py +0 -0
  164. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/math/math.py +0 -0
  165. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/mcp/mcp.py +0 -0
  166. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/remote/remote.py +0 -0
  167. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/search/__init__.py +0 -0
  168. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/functions/search/search.py +0 -0
  169. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/acl.py +0 -0
  170. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent.py +0 -0
  171. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_chain.py +0 -0
  172. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_history.py +0 -0
  173. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_history_event.py +0 -0
  174. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_metadata.py +0 -0
  175. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_release.py +0 -0
  176. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/agent_render.py +0 -0
  177. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/api_key.py +0 -0
  178. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/configuration.py +0 -0
  179. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/continent.py +0 -0
  180. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/core_event.py +0 -0
  181. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/core_spec_configurations.py +0 -0
  182. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/core_status.py +0 -0
  183. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/country.py +0 -0
  184. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/create_api_key_for_service_account_body.py +0 -0
  185. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/create_workspace_service_account_body.py +0 -0
  186. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/create_workspace_service_account_response_200.py +0 -0
  187. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/delete_workspace_service_account_response_200.py +0 -0
  188. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/environment.py +0 -0
  189. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/environment_metadata.py +0 -0
  190. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/environment_metrics.py +0 -0
  191. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/environment_spec.py +0 -0
  192. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/flavor.py +0 -0
  193. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function.py +0 -0
  194. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function_kit.py +0 -0
  195. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function_metadata.py +0 -0
  196. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function_release.py +0 -0
  197. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/function_render.py +0 -0
  198. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/get_trace_ids_response_200.py +0 -0
  199. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/get_trace_logs_response_200.py +0 -0
  200. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/get_trace_response_200.py +0 -0
  201. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/get_workspace_service_accounts_response_200_item.py +0 -0
  202. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/histogram_bucket.py +0 -0
  203. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/histogram_stats.py +0 -0
  204. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/increase_and_rate_metric.py +0 -0
  205. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_config.py +0 -0
  206. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_connection.py +0 -0
  207. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_connection_config.py +0 -0
  208. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_connection_secret.py +0 -0
  209. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_model.py +0 -0
  210. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/integration_repository.py +0 -0
  211. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/invite_workspace_user_body.py +0 -0
  212. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/last_n_requests_metric.py +0 -0
  213. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/latency_metric.py +0 -0
  214. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/location_response.py +0 -0
  215. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metadata.py +0 -0
  216. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metadata_labels.py +0 -0
  217. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metric.py +0 -0
  218. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metrics.py +0 -0
  219. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metrics_models.py +0 -0
  220. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metrics_request_total_per_code.py +0 -0
  221. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/metrics_rps_per_code.py +0 -0
  222. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model.py +0 -0
  223. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_metadata.py +0 -0
  224. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_private_cluster.py +0 -0
  225. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_provider.py +0 -0
  226. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_release.py +0 -0
  227. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/model_render.py +0 -0
  228. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/owner_fields.py +0 -0
  229. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation.py +0 -0
  230. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation_accept.py +0 -0
  231. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation_render.py +0 -0
  232. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation_render_invited_by.py +0 -0
  233. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation_render_workspace.py +0 -0
  234. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pending_invitation_workspace_details.py +0 -0
  235. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/pod_template_spec.py +0 -0
  236. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/policy.py +0 -0
  237. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/policy_location.py +0 -0
  238. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/policy_spec.py +0 -0
  239. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/private_cluster.py +0 -0
  240. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/private_location.py +0 -0
  241. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/provider_config.py +0 -0
  242. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/qps.py +0 -0
  243. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/repository.py +0 -0
  244. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/repository_type_0.py +0 -0
  245. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_duration_over_time_metric.py +0 -0
  246. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_duration_over_time_metrics.py +0 -0
  247. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_total_by_origin_metric.py +0 -0
  248. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_total_by_origin_metric_request_total_by_origin.py +0 -0
  249. {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
  250. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_total_metric.py +0 -0
  251. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_total_metric_request_total_per_code.py +0 -0
  252. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/request_total_metric_rps_per_code.py +0 -0
  253. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_deployment_metrics.py +0 -0
  254. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_deployment_metrics_inference_per_second_per_region.py +0 -0
  255. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_deployment_metrics_query_per_second_per_region_per_code.py +0 -0
  256. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics.py +0 -0
  257. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_inference_per_region.py +0 -0
  258. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_inference_per_second_per_region.py +0 -0
  259. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_query_per_region_per_code.py +0 -0
  260. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_query_per_second_per_region_per_code.py +0 -0
  261. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_request_total_per_code.py +0 -0
  262. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_environment_metrics_rps_per_code.py +0 -0
  263. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_log.py +0 -0
  264. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/resource_metrics.py +0 -0
  265. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/runtime.py +0 -0
  266. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/runtime_readiness_probe.py +0 -0
  267. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/runtime_resources.py +0 -0
  268. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/serverless_config.py +0 -0
  269. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/spec_configuration.py +0 -0
  270. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_agent.py +0 -0
  271. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_agent_labels.py +0 -0
  272. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_configuration.py +0 -0
  273. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_configuration_option.py +0 -0
  274. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_function.py +0 -0
  275. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_function_kit.py +0 -0
  276. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_function_labels.py +0 -0
  277. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/store_function_parameter.py +0 -0
  278. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/time_fields.py +0 -0
  279. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/token_rate_metric.py +0 -0
  280. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/token_rate_metrics.py +0 -0
  281. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/token_total_metric.py +0 -0
  282. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/trace_ids_response.py +0 -0
  283. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/update_workspace_service_account_body.py +0 -0
  284. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/update_workspace_service_account_response_200.py +0 -0
  285. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/update_workspace_user_role_body.py +0 -0
  286. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/websocket_channel.py +0 -0
  287. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/workspace_labels.py +0 -0
  288. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/models/workspace_user.py +0 -0
  289. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/py.typed +0 -0
  290. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/run.py +0 -0
  291. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/serve/middlewares/__init__.py +0 -0
  292. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/serve/middlewares/accesslog.py +0 -0
  293. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/serve/middlewares/processtime.py +0 -0
  294. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/beamlit/types.py +0 -0
  295. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/integrationtest/agent.py +0 -0
  296. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/integrationtest/beamlit.yaml +0 -0
  297. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/integrationtest/functions/helloworld.py +0 -0
  298. {beamlit-0.0.34rc78 → beamlit-0.0.34rc80}/src/integrationtest/pyproject.toml +0 -0
  299. {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.34rc78
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-78"
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 FastAPIInstrumentor
17
- from opentelemetry.instrumentation.httpx import HTTPXClientInstrumentor
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
- HTTPXClientInstrumentor().instrument()
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