beamlit 0.0.26rc22__tar.gz → 0.0.27__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (255) hide show
  1. {beamlit-0.0.26rc22 → beamlit-0.0.27}/PKG-INFO +8 -1
  2. {beamlit-0.0.26rc22 → beamlit-0.0.27}/pyproject.toml +8 -1
  3. beamlit-0.0.27/src/beamlit/common/instrumentation.py +101 -0
  4. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/deploy/deploy.py +2 -2
  5. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/serve/app.py +16 -1
  6. {beamlit-0.0.26rc22 → beamlit-0.0.27}/uv.lock +909 -5
  7. {beamlit-0.0.26rc22 → beamlit-0.0.27}/.gitignore +0 -0
  8. {beamlit-0.0.26rc22 → beamlit-0.0.27}/README.md +0 -0
  9. {beamlit-0.0.26rc22 → beamlit-0.0.27}/beamlit.yaml +0 -0
  10. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/__init__.py +0 -0
  11. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/agents/__init__.py +0 -0
  12. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/agents/chat.py +0 -0
  13. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/agents/decorator.py +0 -0
  14. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/__init__.py +0 -0
  15. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/__init__.py +0 -0
  16. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/create_agent.py +0 -0
  17. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/create_agent_release.py +0 -0
  18. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/delete_agent.py +0 -0
  19. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/delete_agent_history.py +0 -0
  20. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/get_agent.py +0 -0
  21. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/get_agent_environment_logs.py +0 -0
  22. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/get_agent_history.py +0 -0
  23. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/get_agent_metrics.py +0 -0
  24. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/list_agent_history.py +0 -0
  25. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/list_agents.py +0 -0
  26. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/put_agent_history.py +0 -0
  27. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/agents/update_agent.py +0 -0
  28. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/configurations/__init__.py +0 -0
  29. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/configurations/get_configuration.py +0 -0
  30. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/environments/__init__.py +0 -0
  31. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/environments/create_environment.py +0 -0
  32. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/environments/delete_environment.py +0 -0
  33. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/environments/get_environment.py +0 -0
  34. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/environments/get_environment_metrics.py +0 -0
  35. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/environments/list_environments.py +0 -0
  36. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/environments/update_environment.py +0 -0
  37. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/functions/__init__.py +0 -0
  38. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/functions/create_function.py +0 -0
  39. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/functions/create_function_release.py +0 -0
  40. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/functions/delete_function.py +0 -0
  41. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/functions/get_function.py +0 -0
  42. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/functions/get_function_environment_logs.py +0 -0
  43. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/functions/get_function_metrics.py +0 -0
  44. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/functions/list_functions.py +0 -0
  45. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/functions/update_function.py +0 -0
  46. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/history/__init__.py +0 -0
  47. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/history/get_agents_history.py +0 -0
  48. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/history/list_agents_history.py +0 -0
  49. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/integrations/__init__.py +0 -0
  50. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/integrations/create_integration_connection.py +0 -0
  51. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/integrations/delete_integration_connection.py +0 -0
  52. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/integrations/get_integration.py +0 -0
  53. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/integrations/get_integration_connection.py +0 -0
  54. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/integrations/get_integration_connection_model.py +0 -0
  55. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/integrations/get_integration_model.py +0 -0
  56. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/integrations/list_integration_connection_models.py +0 -0
  57. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/integrations/list_integration_connections.py +0 -0
  58. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/integrations/list_integration_models.py +0 -0
  59. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/integrations/update_integration_connection.py +0 -0
  60. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/invitations/__init__.py +0 -0
  61. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/invitations/list_all_pending_invitations.py +0 -0
  62. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/locations/__init__.py +0 -0
  63. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/locations/list_locations.py +0 -0
  64. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/metrics/__init__.py +0 -0
  65. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/metrics/get_metrics.py +0 -0
  66. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/model_providers/__init__.py +0 -0
  67. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/model_providers/create_model_provider.py +0 -0
  68. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/model_providers/delete_model_provider.py +0 -0
  69. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/model_providers/get_model_provider.py +0 -0
  70. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/model_providers/list_model_providers.py +0 -0
  71. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/model_providers/update_model_provider.py +0 -0
  72. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/models/__init__.py +0 -0
  73. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/models/create_model.py +0 -0
  74. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/models/delete_model.py +0 -0
  75. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/models/get_model.py +0 -0
  76. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/models/get_model_environment_logs.py +0 -0
  77. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/models/get_model_metrics.py +0 -0
  78. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/models/list_models.py +0 -0
  79. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/models/release_model.py +0 -0
  80. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/models/update_model.py +0 -0
  81. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/policies/__init__.py +0 -0
  82. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/policies/create_policy.py +0 -0
  83. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/policies/delete_policy.py +0 -0
  84. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/policies/get_policy.py +0 -0
  85. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/policies/list_policies.py +0 -0
  86. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/policies/update_policy.py +0 -0
  87. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/privateclusters/__init__.py +0 -0
  88. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/privateclusters/create_private_cluster.py +0 -0
  89. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/privateclusters/delete_private_cluster.py +0 -0
  90. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/privateclusters/get_private_cluster.py +0 -0
  91. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/privateclusters/get_private_cluster_health.py +0 -0
  92. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/privateclusters/list_private_clusters.py +0 -0
  93. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/privateclusters/update_private_cluster.py +0 -0
  94. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/privateclusters/update_private_cluster_health.py +0 -0
  95. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/service_accounts/__init__.py +0 -0
  96. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/service_accounts/create_api_key_for_service_account.py +0 -0
  97. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/service_accounts/create_workspace_service_account.py +0 -0
  98. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/service_accounts/delete_api_key_for_service_account.py +0 -0
  99. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/service_accounts/delete_workspace_service_account.py +0 -0
  100. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/service_accounts/get_workspace_service_accounts.py +0 -0
  101. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/service_accounts/list_api_keys_for_service_account.py +0 -0
  102. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/service_accounts/update_workspace_service_account.py +0 -0
  103. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/store/__init__.py +0 -0
  104. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/store/get_store_agent.py +0 -0
  105. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/store/get_store_function.py +0 -0
  106. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/store/list_store_agents.py +0 -0
  107. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/store/list_store_functions.py +0 -0
  108. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/__init__.py +0 -0
  109. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/accept_workspace_invitation.py +0 -0
  110. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/create_worspace.py +0 -0
  111. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/decline_workspace_invitation.py +0 -0
  112. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/delete_workspace.py +0 -0
  113. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/get_workspace.py +0 -0
  114. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/invite_workspace_user.py +0 -0
  115. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/leave_workspace.py +0 -0
  116. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/list_workspace_users.py +0 -0
  117. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/list_workspaces.py +0 -0
  118. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/remove_workspace_user.py +0 -0
  119. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/update_workspace.py +0 -0
  120. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/api/workspaces/update_workspace_user_role.py +0 -0
  121. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/authentication/__init__.py +0 -0
  122. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/authentication/apikey.py +0 -0
  123. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/authentication/authentication.py +0 -0
  124. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/authentication/clientcredentials.py +0 -0
  125. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/authentication/credentials.py +0 -0
  126. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/authentication/device_mode.py +0 -0
  127. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/client.py +0 -0
  128. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/common/__init__.py +0 -0
  129. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/common/generate.py +0 -0
  130. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/common/logger.py +0 -0
  131. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/common/secrets.py +0 -0
  132. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/common/settings.py +0 -0
  133. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/common/utils.py +0 -0
  134. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/deploy/__init__.py +0 -0
  135. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/deploy/format.py +0 -0
  136. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/deploy/parser.py +0 -0
  137. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/errors.py +0 -0
  138. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/__init__.py +0 -0
  139. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/decorator.py +0 -0
  140. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/github/__init__.py +0 -0
  141. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/github/github.py +0 -0
  142. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/github/kit/__init__.py +0 -0
  143. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/github/kit/pull_request.py +0 -0
  144. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/math/__init__.py +0 -0
  145. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/math/math.py +0 -0
  146. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/mcp/mcp.py +0 -0
  147. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/remote/remote.py +0 -0
  148. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/search/__init__.py +0 -0
  149. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/functions/search/search.py +0 -0
  150. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/__init__.py +0 -0
  151. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/acl.py +0 -0
  152. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/agent.py +0 -0
  153. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/agent_chain.py +0 -0
  154. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/agent_history.py +0 -0
  155. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/agent_history_event.py +0 -0
  156. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/agent_metadata.py +0 -0
  157. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/agent_release.py +0 -0
  158. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/agent_spec.py +0 -0
  159. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/api_key.py +0 -0
  160. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/configuration.py +0 -0
  161. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/continent.py +0 -0
  162. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/core_spec.py +0 -0
  163. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/core_spec_configurations.py +0 -0
  164. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/core_status.py +0 -0
  165. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/country.py +0 -0
  166. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/create_api_key_for_service_account_body.py +0 -0
  167. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/create_workspace_service_account_body.py +0 -0
  168. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/create_workspace_service_account_response_200.py +0 -0
  169. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/delete_workspace_service_account_response_200.py +0 -0
  170. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/environment.py +0 -0
  171. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/environment_metadata.py +0 -0
  172. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/environment_metrics.py +0 -0
  173. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/environment_spec.py +0 -0
  174. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/flavor.py +0 -0
  175. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/function.py +0 -0
  176. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/function_kit.py +0 -0
  177. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/function_metadata.py +0 -0
  178. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/function_release.py +0 -0
  179. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/function_spec.py +0 -0
  180. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/get_workspace_service_accounts_response_200_item.py +0 -0
  181. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/increase_and_rate_metric.py +0 -0
  182. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/integration_config.py +0 -0
  183. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/integration_connection.py +0 -0
  184. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/integration_connection_config.py +0 -0
  185. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/integration_connection_secret.py +0 -0
  186. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/integration_connection_spec.py +0 -0
  187. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/integration_model.py +0 -0
  188. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/invite_workspace_user_body.py +0 -0
  189. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/location_response.py +0 -0
  190. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/metadata.py +0 -0
  191. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/metadata_labels.py +0 -0
  192. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/metric.py +0 -0
  193. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/metrics.py +0 -0
  194. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/model.py +0 -0
  195. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/model_metadata.py +0 -0
  196. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/model_private_cluster.py +0 -0
  197. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/model_provider.py +0 -0
  198. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/model_release.py +0 -0
  199. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/model_spec.py +0 -0
  200. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/owner_fields.py +0 -0
  201. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/pending_invitation.py +0 -0
  202. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/pending_invitation_accept.py +0 -0
  203. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/pending_invitation_render.py +0 -0
  204. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/pending_invitation_render_invited_by.py +0 -0
  205. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/pending_invitation_render_workspace.py +0 -0
  206. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/pending_invitation_workspace_details.py +0 -0
  207. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/pod_template_spec.py +0 -0
  208. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/policy.py +0 -0
  209. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/policy_location.py +0 -0
  210. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/policy_spec.py +0 -0
  211. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/private_cluster.py +0 -0
  212. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/private_location.py +0 -0
  213. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/provider_config.py +0 -0
  214. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/qps.py +0 -0
  215. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/resource_deployment_metrics.py +0 -0
  216. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/resource_deployment_metrics_inference_per_second_per_region.py +0 -0
  217. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/resource_deployment_metrics_query_per_second_per_region_per_code.py +0 -0
  218. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/resource_environment_metrics.py +0 -0
  219. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/resource_environment_metrics_inference_per_region.py +0 -0
  220. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/resource_environment_metrics_inference_per_second_per_region.py +0 -0
  221. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/resource_environment_metrics_query_per_region_per_code.py +0 -0
  222. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/resource_environment_metrics_query_per_second_per_region_per_code.py +0 -0
  223. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/resource_log.py +0 -0
  224. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/resource_metrics.py +0 -0
  225. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/runtime.py +0 -0
  226. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/runtime_readiness_probe.py +0 -0
  227. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/runtime_resources.py +0 -0
  228. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/serverless_config.py +0 -0
  229. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/spec_configuration.py +0 -0
  230. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/store_agent.py +0 -0
  231. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/store_agent_labels.py +0 -0
  232. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/store_configuration.py +0 -0
  233. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/store_configuration_option.py +0 -0
  234. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/store_function.py +0 -0
  235. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/store_function_kit.py +0 -0
  236. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/store_function_labels.py +0 -0
  237. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/store_function_parameter.py +0 -0
  238. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/time_fields.py +0 -0
  239. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/update_workspace_service_account_body.py +0 -0
  240. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/update_workspace_service_account_response_200.py +0 -0
  241. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/update_workspace_user_role_body.py +0 -0
  242. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/websocket_channel.py +0 -0
  243. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/workspace.py +0 -0
  244. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/workspace_labels.py +0 -0
  245. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/models/workspace_user.py +0 -0
  246. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/py.typed +0 -0
  247. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/run.py +0 -0
  248. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/serve/middlewares/__init__.py +0 -0
  249. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/serve/middlewares/accesslog.py +0 -0
  250. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/serve/middlewares/processtime.py +0 -0
  251. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/beamlit/types.py +0 -0
  252. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/integrationtest/agent.py +0 -0
  253. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/integrationtest/beamlit.yaml +0 -0
  254. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/integrationtest/functions/helloworld.py +0 -0
  255. {beamlit-0.0.26rc22 → beamlit-0.0.27}/src/integrationtest/main.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: beamlit
3
- Version: 0.0.26rc22
3
+ Version: 0.0.27
4
4
  Summary: Add your description here
5
5
  Author-email: cploujoux <ch.ploujoux@gmail.com>
6
6
  Requires-Python: >=3.12
@@ -13,11 +13,18 @@ Requires-Dist: langchain-core<0.4.0,>=0.3.13
13
13
  Requires-Dist: langchain-openai<0.3.0,>=0.2.4
14
14
  Requires-Dist: langgraph<0.3.0,>=0.2.40
15
15
  Requires-Dist: mcp>=1.1.2
16
+ Requires-Dist: opentelemetry-api>=1.28.2
17
+ Requires-Dist: opentelemetry-exporter-otlp>=1.28.2
18
+ Requires-Dist: opentelemetry-instrumentation-fastapi>=0.49b2
19
+ Requires-Dist: opentelemetry-instrumentation-httpx>=0.49b2
20
+ Requires-Dist: opentelemetry-instrumentation-logging>=0.49b2
21
+ Requires-Dist: opentelemetry-sdk>=1.28.2
16
22
  Requires-Dist: pydantic-settings<2.7.0,>=2.6.1
17
23
  Requires-Dist: pydantic<2.11.0,>=2.10.3
18
24
  Requires-Dist: python-dateutil>=2.8.0
19
25
  Requires-Dist: pyyaml<6.1.0,>=6.0.2
20
26
  Requires-Dist: requests<2.33.0,>=2.32.3
27
+ Requires-Dist: traceloop-sdk>=0.33.12
21
28
  Description-Content-Type: text/markdown
22
29
 
23
30
  # beamlit
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "beamlit"
3
- version = "0.0.26.pre-22"
3
+ version = "0.0.27"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -26,6 +26,13 @@ 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
+ "opentelemetry-sdk>=1.28.2",
31
+ "opentelemetry-exporter-otlp>=1.28.2",
32
+ "opentelemetry-api>=1.28.2",
33
+ "opentelemetry-instrumentation-fastapi>=0.49b2",
34
+ "opentelemetry-instrumentation-httpx>=0.49b2",
35
+ "opentelemetry-instrumentation-logging>=0.49b2"
29
36
  ]
30
37
  [dependency-groups]
31
38
  dev = [
@@ -0,0 +1,101 @@
1
+ from typing import Any
2
+
3
+ from fastapi import FastAPI
4
+ from opentelemetry import metrics, trace
5
+ from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import (
6
+ OTLPMetricExporter,
7
+ )
8
+ from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import (
9
+ OTLPSpanExporter,
10
+ )
11
+ from opentelemetry.instrumentation.fastapi import ( # type: ignore
12
+ FastAPIInstrumentor,
13
+ )
14
+ from opentelemetry.instrumentation.httpx import ( # type: ignore
15
+ HTTPXClientInstrumentor,
16
+ )
17
+ from opentelemetry.instrumentation.logging import ( # type: ignore
18
+ LoggingInstrumentor,
19
+ )
20
+ from opentelemetry.sdk.metrics import MeterProvider
21
+ from opentelemetry.sdk.metrics.export import (
22
+ PeriodicExportingMetricReader,
23
+ )
24
+ from opentelemetry.sdk.resources import Resource
25
+ from opentelemetry.sdk.trace import TracerProvider
26
+ from opentelemetry.sdk.trace.export import BatchSpanProcessor
27
+ from typing_extensions import Dict
28
+
29
+ from .settings import get_settings
30
+
31
+ tracer: trace.Tracer | None = None
32
+ meter: metrics.Meter | None = None
33
+
34
+
35
+ def get_tracer() -> trace.Tracer:
36
+ if tracer is None:
37
+ raise Exception("Tracer is not initialized")
38
+ return tracer
39
+
40
+
41
+ def get_meter() -> metrics.Meter:
42
+ if meter is None:
43
+ raise Exception("Meter is not initialized")
44
+ return meter
45
+
46
+
47
+ def get_resource_attributes() -> Dict[str, Any]:
48
+ resources = Resource.create()
49
+ resources_dict: Dict[str, Any] = {}
50
+ for key in resources.attributes:
51
+ resources_dict[key] = resources.attributes[key]
52
+ settings = get_settings()
53
+ if settings is None:
54
+ raise Exception("Settings are not initialized")
55
+ resources_dict["workspace"] = settings.workspace
56
+ resources_dict["service.name"] = settings.name
57
+ return resources_dict
58
+
59
+
60
+ def get_metrics_exporter() -> OTLPMetricExporter:
61
+ return OTLPMetricExporter()
62
+
63
+
64
+ def get_span_exporter() -> OTLPSpanExporter:
65
+ return OTLPSpanExporter()
66
+
67
+
68
+ def instrument_app(app: FastAPI):
69
+ global tracer
70
+ global meter
71
+ settings = get_settings()
72
+ if settings is None:
73
+ raise Exception("Settings are not initialized")
74
+ resource = Resource.create(
75
+ {
76
+ "service.name": settings.name,
77
+ "service.namespace": settings.workspace,
78
+ "service.workspace": settings.workspace,
79
+ }
80
+ )
81
+ # Set up the TracerProvider
82
+ trace_provider = TracerProvider(resource=resource)
83
+ span_processor = BatchSpanProcessor(get_span_exporter())
84
+ trace_provider.add_span_processor(span_processor)
85
+ trace.set_tracer_provider(trace_provider)
86
+ tracer = trace_provider.get_tracer(__name__)
87
+
88
+ metrics_exporter = PeriodicExportingMetricReader(get_metrics_exporter())
89
+ meter_provider = MeterProvider(
90
+ resource=resource, metric_readers=[metrics_exporter]
91
+ )
92
+ metrics.set_meter_provider(meter_provider)
93
+ meter = meter_provider.get_meter(__name__)
94
+
95
+ FastAPIInstrumentor.instrument_app( # type: ignore
96
+ app=app, tracer_provider=trace_provider, meter_provider=meter_provider
97
+ )
98
+ HTTPXClientInstrumentor().instrument(meter_provider=meter_provider) # type: ignore
99
+ LoggingInstrumentor(tracer_provider=trace_provider).instrument(
100
+ set_logging_format=True
101
+ )
@@ -199,8 +199,8 @@ COPY pyproject.toml /beamlit/pyproject.toml
199
199
  COPY uv.lock /beamlit/uv.lock
200
200
  RUN uv sync --no-cache
201
201
 
202
- COPY README.md /beamlit/README.md
203
- COPY LICENSE /beamlit/LICENSE
202
+ COPY README.m[d] /beamlit/README.md
203
+ COPY LICENS[E] /beamlit/LICENSE
204
204
  COPY src /beamlit/src
205
205
 
206
206
  ENV PATH="/beamlit/.venv/bin:$PATH"
@@ -8,8 +8,15 @@ from uuid import uuid4
8
8
 
9
9
  from asgi_correlation_id import CorrelationIdMiddleware
10
10
  from beamlit.common.settings import get_settings, init
11
+ from beamlit.common.instrumentation import (
12
+ get_metrics_exporter,
13
+ get_resource_attributes,
14
+ get_span_exporter,
15
+ instrument_app,
16
+ )
11
17
  from fastapi import FastAPI, Request, Response
12
18
  from fastapi.responses import JSONResponse
19
+ from traceloop.sdk import Traceloop
13
20
 
14
21
  from .middlewares import AccessLogMiddleware, AddProcessTimeHeader
15
22
 
@@ -33,6 +40,14 @@ logger.info(
33
40
  f" on {settings.server.host}:{settings.server.port}"
34
41
  )
35
42
 
43
+ Traceloop.init(
44
+ app_name=settings.name,
45
+ exporter=get_span_exporter(),
46
+ metrics_exporter=get_metrics_exporter(),
47
+ resource_attributes=get_resource_attributes(),
48
+ should_enrich_metrics=os.getenv("ENRICHED_METRICS", "false") == "true",
49
+ )
50
+
36
51
  app = FastAPI(docs_url=None, redoc_url=None)
37
52
  app.add_middleware(
38
53
  CorrelationIdMiddleware,
@@ -41,7 +56,7 @@ app.add_middleware(
41
56
  )
42
57
  app.add_middleware(AddProcessTimeHeader)
43
58
  app.add_middleware(AccessLogMiddleware)
44
-
59
+ instrument_app(app)
45
60
 
46
61
  @app.get("/health")
47
62
  async def health():