beamlit 0.0.33rc45__tar.gz → 0.0.33rc47__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (272) hide show
  1. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/PKG-INFO +1 -1
  2. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/pyproject.toml +1 -1
  3. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/agents/decorator.py +28 -18
  4. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/common/__init__.py +2 -0
  5. beamlit-0.0.33rc47/src/beamlit/common/slugify.py +2 -0
  6. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/deploy/deploy.py +1 -3
  7. beamlit-0.0.33rc47/src/beamlit/functions/decorator.py +48 -0
  8. beamlit-0.0.33rc45/src/beamlit/functions/decorator.py +0 -104
  9. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/.gitignore +0 -0
  10. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/README.md +0 -0
  11. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/beamlit.yaml +0 -0
  12. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/__init__.py +0 -0
  13. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/agents/__init__.py +0 -0
  14. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/agents/chain.py +0 -0
  15. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/agents/chat.py +0 -0
  16. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/__init__.py +0 -0
  17. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/__init__.py +0 -0
  18. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/create_agent.py +0 -0
  19. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/create_agent_release.py +0 -0
  20. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/delete_agent.py +0 -0
  21. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/delete_agent_history.py +0 -0
  22. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/get_agent.py +0 -0
  23. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/get_agent_environment_logs.py +0 -0
  24. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/get_agent_history.py +0 -0
  25. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/get_agent_metrics.py +0 -0
  26. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/get_agent_trace_ids.py +0 -0
  27. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/list_agent_history.py +0 -0
  28. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/list_agents.py +0 -0
  29. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/put_agent_history.py +0 -0
  30. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/agents/update_agent.py +0 -0
  31. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/configurations/__init__.py +0 -0
  32. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/configurations/get_configuration.py +0 -0
  33. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/default/__init__.py +0 -0
  34. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/default/get_trace.py +0 -0
  35. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/default/get_trace_ids.py +0 -0
  36. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/default/get_trace_logs.py +0 -0
  37. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/environments/__init__.py +0 -0
  38. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/environments/create_environment.py +0 -0
  39. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/environments/delete_environment.py +0 -0
  40. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/environments/get_environment.py +0 -0
  41. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/environments/get_environment_metrics.py +0 -0
  42. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/environments/list_environments.py +0 -0
  43. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/environments/update_environment.py +0 -0
  44. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/functions/__init__.py +0 -0
  45. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/functions/create_function.py +0 -0
  46. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/functions/create_function_release.py +0 -0
  47. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/functions/delete_function.py +0 -0
  48. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/functions/get_function.py +0 -0
  49. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/functions/get_function_environment_logs.py +0 -0
  50. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/functions/get_function_metrics.py +0 -0
  51. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/functions/get_function_trace_ids.py +0 -0
  52. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/functions/list_functions.py +0 -0
  53. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/functions/update_function.py +0 -0
  54. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/history/__init__.py +0 -0
  55. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/history/get_agents_history.py +0 -0
  56. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/history/list_agents_history.py +0 -0
  57. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/integrations/__init__.py +0 -0
  58. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/integrations/create_integration_connection.py +0 -0
  59. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/integrations/delete_integration_connection.py +0 -0
  60. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/integrations/get_integration.py +0 -0
  61. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/integrations/get_integration_connection.py +0 -0
  62. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/integrations/get_integration_connection_model.py +0 -0
  63. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/integrations/get_integration_model.py +0 -0
  64. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/integrations/list_integration_connection_models.py +0 -0
  65. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/integrations/list_integration_connections.py +0 -0
  66. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/integrations/list_integration_models.py +0 -0
  67. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/integrations/update_integration_connection.py +0 -0
  68. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/invitations/__init__.py +0 -0
  69. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/invitations/list_all_pending_invitations.py +0 -0
  70. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/locations/__init__.py +0 -0
  71. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/locations/list_locations.py +0 -0
  72. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/metrics/__init__.py +0 -0
  73. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/metrics/get_metrics.py +0 -0
  74. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/model_providers/__init__.py +0 -0
  75. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/model_providers/create_model_provider.py +0 -0
  76. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/model_providers/delete_model_provider.py +0 -0
  77. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/model_providers/get_model_provider.py +0 -0
  78. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/model_providers/list_model_providers.py +0 -0
  79. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/model_providers/update_model_provider.py +0 -0
  80. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/models/__init__.py +0 -0
  81. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/models/create_model.py +0 -0
  82. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/models/delete_model.py +0 -0
  83. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/models/get_model.py +0 -0
  84. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/models/get_model_environment_logs.py +0 -0
  85. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/models/get_model_metrics.py +0 -0
  86. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/models/get_model_trace_ids.py +0 -0
  87. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/models/list_models.py +0 -0
  88. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/models/release_model.py +0 -0
  89. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/models/update_model.py +0 -0
  90. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/policies/__init__.py +0 -0
  91. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/policies/create_policy.py +0 -0
  92. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/policies/delete_policy.py +0 -0
  93. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/policies/get_policy.py +0 -0
  94. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/policies/list_policies.py +0 -0
  95. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/policies/update_policy.py +0 -0
  96. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/privateclusters/__init__.py +0 -0
  97. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/privateclusters/create_private_cluster.py +0 -0
  98. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/privateclusters/delete_private_cluster.py +0 -0
  99. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/privateclusters/get_private_cluster.py +0 -0
  100. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/privateclusters/get_private_cluster_health.py +0 -0
  101. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/privateclusters/list_private_clusters.py +0 -0
  102. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/privateclusters/update_private_cluster.py +0 -0
  103. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/privateclusters/update_private_cluster_health.py +0 -0
  104. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/service_accounts/__init__.py +0 -0
  105. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/service_accounts/create_api_key_for_service_account.py +0 -0
  106. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/service_accounts/create_workspace_service_account.py +0 -0
  107. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/service_accounts/delete_api_key_for_service_account.py +0 -0
  108. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/service_accounts/delete_workspace_service_account.py +0 -0
  109. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/service_accounts/get_workspace_service_accounts.py +0 -0
  110. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/service_accounts/list_api_keys_for_service_account.py +0 -0
  111. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/service_accounts/update_workspace_service_account.py +0 -0
  112. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/store/__init__.py +0 -0
  113. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/store/get_store_agent.py +0 -0
  114. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/store/get_store_function.py +0 -0
  115. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/store/list_store_agents.py +0 -0
  116. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/store/list_store_functions.py +0 -0
  117. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/__init__.py +0 -0
  118. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/accept_workspace_invitation.py +0 -0
  119. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/create_worspace.py +0 -0
  120. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/decline_workspace_invitation.py +0 -0
  121. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/delete_workspace.py +0 -0
  122. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/get_workspace.py +0 -0
  123. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/invite_workspace_user.py +0 -0
  124. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/leave_workspace.py +0 -0
  125. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/list_workspace_users.py +0 -0
  126. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/list_workspaces.py +0 -0
  127. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/remove_workspace_user.py +0 -0
  128. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/update_workspace.py +0 -0
  129. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/api/workspaces/update_workspace_user_role.py +0 -0
  130. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/authentication/__init__.py +0 -0
  131. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/authentication/apikey.py +0 -0
  132. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/authentication/authentication.py +0 -0
  133. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/authentication/clientcredentials.py +0 -0
  134. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/authentication/credentials.py +0 -0
  135. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/authentication/device_mode.py +0 -0
  136. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/client.py +0 -0
  137. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/common/error.py +0 -0
  138. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/common/generate.py +0 -0
  139. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/common/instrumentation.py +0 -0
  140. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/common/logger.py +0 -0
  141. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/common/secrets.py +0 -0
  142. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/common/settings.py +0 -0
  143. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/common/utils.py +0 -0
  144. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/deploy/__init__.py +0 -0
  145. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/deploy/format.py +0 -0
  146. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/deploy/parser.py +0 -0
  147. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/errors.py +0 -0
  148. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/functions/__init__.py +0 -0
  149. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/functions/github/__init__.py +0 -0
  150. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/functions/github/github.py +0 -0
  151. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/functions/github/kit/__init__.py +0 -0
  152. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/functions/github/kit/pull_request.py +0 -0
  153. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/functions/math/__init__.py +0 -0
  154. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/functions/math/math.py +0 -0
  155. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/functions/mcp/mcp.py +0 -0
  156. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/functions/remote/remote.py +0 -0
  157. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/functions/search/__init__.py +0 -0
  158. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/functions/search/search.py +0 -0
  159. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/__init__.py +0 -0
  160. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/acl.py +0 -0
  161. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/agent.py +0 -0
  162. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/agent_chain.py +0 -0
  163. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/agent_history.py +0 -0
  164. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/agent_history_event.py +0 -0
  165. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/agent_metadata.py +0 -0
  166. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/agent_release.py +0 -0
  167. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/agent_spec.py +0 -0
  168. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/api_key.py +0 -0
  169. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/configuration.py +0 -0
  170. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/continent.py +0 -0
  171. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/core_spec.py +0 -0
  172. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/core_spec_configurations.py +0 -0
  173. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/core_status.py +0 -0
  174. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/country.py +0 -0
  175. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/create_api_key_for_service_account_body.py +0 -0
  176. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/create_workspace_service_account_body.py +0 -0
  177. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/create_workspace_service_account_response_200.py +0 -0
  178. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/delete_workspace_service_account_response_200.py +0 -0
  179. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/environment.py +0 -0
  180. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/environment_metadata.py +0 -0
  181. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/environment_metrics.py +0 -0
  182. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/environment_spec.py +0 -0
  183. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/flavor.py +0 -0
  184. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/function.py +0 -0
  185. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/function_kit.py +0 -0
  186. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/function_metadata.py +0 -0
  187. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/function_release.py +0 -0
  188. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/function_spec.py +0 -0
  189. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/get_trace_ids_response_200.py +0 -0
  190. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/get_trace_logs_response_200.py +0 -0
  191. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/get_trace_response_200.py +0 -0
  192. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/get_workspace_service_accounts_response_200_item.py +0 -0
  193. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/increase_and_rate_metric.py +0 -0
  194. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/integration_config.py +0 -0
  195. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/integration_connection.py +0 -0
  196. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/integration_connection_config.py +0 -0
  197. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/integration_connection_secret.py +0 -0
  198. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/integration_connection_spec.py +0 -0
  199. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/integration_model.py +0 -0
  200. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/invite_workspace_user_body.py +0 -0
  201. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/location_response.py +0 -0
  202. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/metadata.py +0 -0
  203. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/metadata_labels.py +0 -0
  204. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/metric.py +0 -0
  205. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/metrics.py +0 -0
  206. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/model.py +0 -0
  207. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/model_metadata.py +0 -0
  208. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/model_private_cluster.py +0 -0
  209. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/model_provider.py +0 -0
  210. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/model_release.py +0 -0
  211. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/model_spec.py +0 -0
  212. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/owner_fields.py +0 -0
  213. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/pending_invitation.py +0 -0
  214. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/pending_invitation_accept.py +0 -0
  215. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/pending_invitation_render.py +0 -0
  216. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/pending_invitation_render_invited_by.py +0 -0
  217. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/pending_invitation_render_workspace.py +0 -0
  218. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/pending_invitation_workspace_details.py +0 -0
  219. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/pod_template_spec.py +0 -0
  220. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/policy.py +0 -0
  221. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/policy_location.py +0 -0
  222. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/policy_spec.py +0 -0
  223. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/private_cluster.py +0 -0
  224. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/private_location.py +0 -0
  225. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/provider_config.py +0 -0
  226. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/qps.py +0 -0
  227. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/resource_deployment_metrics.py +0 -0
  228. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/resource_deployment_metrics_inference_per_second_per_region.py +0 -0
  229. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/resource_deployment_metrics_query_per_second_per_region_per_code.py +0 -0
  230. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/resource_environment_metrics.py +0 -0
  231. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/resource_environment_metrics_inference_per_region.py +0 -0
  232. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/resource_environment_metrics_inference_per_second_per_region.py +0 -0
  233. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/resource_environment_metrics_query_per_region_per_code.py +0 -0
  234. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/resource_environment_metrics_query_per_second_per_region_per_code.py +0 -0
  235. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/resource_log.py +0 -0
  236. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/resource_metrics.py +0 -0
  237. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/runtime.py +0 -0
  238. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/runtime_readiness_probe.py +0 -0
  239. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/runtime_resources.py +0 -0
  240. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/serverless_config.py +0 -0
  241. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/spec_configuration.py +0 -0
  242. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/store_agent.py +0 -0
  243. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/store_agent_labels.py +0 -0
  244. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/store_configuration.py +0 -0
  245. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/store_configuration_option.py +0 -0
  246. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/store_function.py +0 -0
  247. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/store_function_kit.py +0 -0
  248. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/store_function_labels.py +0 -0
  249. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/store_function_parameter.py +0 -0
  250. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/time_fields.py +0 -0
  251. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/trace_ids_response.py +0 -0
  252. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/update_workspace_service_account_body.py +0 -0
  253. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/update_workspace_service_account_response_200.py +0 -0
  254. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/update_workspace_user_role_body.py +0 -0
  255. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/websocket_channel.py +0 -0
  256. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/workspace.py +0 -0
  257. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/workspace_labels.py +0 -0
  258. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/models/workspace_user.py +0 -0
  259. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/py.typed +0 -0
  260. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/run.py +0 -0
  261. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/serve/app.py +0 -0
  262. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/serve/middlewares/__init__.py +0 -0
  263. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/serve/middlewares/accesslog.py +0 -0
  264. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/serve/middlewares/processtime.py +0 -0
  265. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/beamlit/types.py +0 -0
  266. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/integrationtest/agent.py +0 -0
  267. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/integrationtest/beamlit.yaml +0 -0
  268. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/integrationtest/functions/helloworld.py +0 -0
  269. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/integrationtest/main.py +0 -0
  270. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/integrationtest/pyproject.toml +0 -0
  271. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/src/integrationtest/uv.lock +0 -0
  272. {beamlit-0.0.33rc45 → beamlit-0.0.33rc47}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: beamlit
3
- Version: 0.0.33rc45
3
+ Version: 0.0.33rc47
4
4
  Summary: Add your description here
5
5
  Author-email: cploujoux <ch.ploujoux@gmail.com>
6
6
  Requires-Python: >=3.12
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "beamlit"
3
- version = "0.0.33.pre-45"
3
+ version = "0.0.33.pre-47"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -12,7 +12,8 @@ from langgraph.prebuilt import create_react_agent
12
12
 
13
13
  from beamlit.api.models import get_model
14
14
  from beamlit.authentication import new_client
15
- from beamlit.common.settings import init
15
+ from beamlit.common.settings import init, get_settings
16
+ from beamlit.common import slugify
16
17
  from beamlit.errors import UnexpectedStatus
17
18
  from beamlit.functions.mcp.mcp import MCPClient, MCPToolkit
18
19
  from beamlit.functions.remote.remote import RemoteToolkit
@@ -22,9 +23,10 @@ from .chain import ChainToolkit
22
23
  from .chat import get_chat_model
23
24
 
24
25
 
25
- def get_functions(dir="src/functions", from_decorator="function", remote_functions_empty=True):
26
+ def get_functions(client, dir="src/functions", from_decorator="function", remote_functions_empty=True):
26
27
  functions = []
27
28
  logger = getLogger(__name__)
29
+ settings = get_settings()
28
30
 
29
31
  # Walk through all Python files in functions directory and subdirectories
30
32
  if not os.path.exists(dir):
@@ -73,8 +75,9 @@ def get_functions(dir="src/functions", from_decorator="function", remote_functio
73
75
  keyword.value, ast.Constant
74
76
  ):
75
77
  is_kit = keyword.value.value
76
- if is_kit:
78
+ if is_kit and not settings.remote:
77
79
  kit_functions = get_functions(
80
+ client,
78
81
  dir=os.path.join(root),
79
82
  from_decorator="kit",
80
83
  remote_functions_empty=remote_functions_empty,
@@ -84,23 +87,28 @@ def get_functions(dir="src/functions", from_decorator="function", remote_functio
84
87
  # Get the decorated function
85
88
  if not is_kit and hasattr(module, func_name):
86
89
  func = getattr(module, func_name)
87
- if asyncio.iscoroutinefunction(func):
88
- functions.append(
89
- Tool(
90
- name=func.__name__,
91
- description=func.__doc__,
92
- func=func,
93
- coroutine=func,
94
- )
95
- )
90
+ if settings.remote:
91
+ toolkit = RemoteToolkit(client, slugify(func.__name__))
92
+ toolkit.initialize()
93
+ functions.extend(toolkit.get_tools())
96
94
  else:
97
- functions.append(
98
- Tool(
99
- name=func.__name__,
100
- description=func.__doc__,
101
- func=func,
95
+ if asyncio.iscoroutinefunction(func):
96
+ functions.append(
97
+ Tool(
98
+ name=func.__name__,
99
+ description=func.__doc__,
100
+ func=func,
101
+ coroutine=func,
102
+ )
103
+ )
104
+ else:
105
+ functions.append(
106
+ Tool(
107
+ name=func.__name__,
108
+ description=func.__doc__,
109
+ func=func,
110
+ )
102
111
  )
103
- )
104
112
  except Exception as e:
105
113
  logger.warning(f"Error processing {file_path}: {e!s}")
106
114
  return functions
@@ -139,9 +147,11 @@ def agent(
139
147
 
140
148
  # Initialize functions array to store decorated functions
141
149
  functions = get_functions(
150
+ client,
142
151
  dir=settings.agent.functions_directory,
143
152
  remote_functions_empty=not remote_functions,
144
153
  )
154
+
145
155
  settings.agent.functions = functions
146
156
 
147
157
  if agent is not None:
@@ -3,6 +3,7 @@ from .logger import init as init_logger
3
3
  from .secrets import Secret
4
4
  from .settings import Settings, get_settings, init, init_agent
5
5
  from .utils import copy_folder
6
+ from .slugify import slugify
6
7
 
7
8
  __all__ = [
8
9
  "Secret",
@@ -13,4 +14,5 @@ __all__ = [
13
14
  "copy_folder",
14
15
  "init_logger",
15
16
  "HTTPError",
17
+ "slugify"
16
18
  ]
@@ -0,0 +1,2 @@
1
+ def slugify(name: str) -> str:
2
+ return name.lower().replace(" ", "-").replace("_", "-")
@@ -16,7 +16,7 @@ from beamlit.models import (
16
16
  FunctionSpec,
17
17
  Runtime,
18
18
  )
19
-
19
+ from beamlit.common import slugify
20
20
  from .format import arg_to_dict, format_agent_chain, format_parameters
21
21
  from .parser import Resource, get_description, get_parameters, get_resources
22
22
 
@@ -24,8 +24,6 @@ sys.path.insert(0, os.getcwd())
24
24
  sys.path.insert(0, os.path.join(os.getcwd(), "src"))
25
25
 
26
26
  random_id = str(uuid.uuid4())[:8]
27
- def slugify(name: str) -> str:
28
- return name.lower().replace(" ", "-").replace("_", "-")
29
27
 
30
28
  def get_runtime_image(type: str, name: str) -> str:
31
29
  settings = get_settings()
@@ -0,0 +1,48 @@
1
+ """Decorators for creating function tools with Beamlit and LangChain integration."""
2
+
3
+ import functools
4
+ import json
5
+ from collections.abc import Callable
6
+ from logging import getLogger
7
+
8
+ from fastapi import Request
9
+
10
+ from beamlit.common.settings import get_settings
11
+ from beamlit.models import Function, FunctionKit
12
+
13
+ logger = getLogger(__name__)
14
+
15
+ def kit(bl_kit: FunctionKit = None, **kwargs: dict) -> Callable:
16
+ """Create function tools with Beamlit and LangChain integration."""
17
+
18
+ def wrapper(func: Callable) -> Callable:
19
+ if bl_kit and not func.__doc__ and bl_kit.description:
20
+ func.__doc__ = bl_kit.description
21
+ return func
22
+
23
+ return wrapper
24
+
25
+
26
+ def function(*args, function: Function | dict = None, kit=False, **kwargs: dict) -> Callable:
27
+ """Create function tools with Beamlit and LangChain integration."""
28
+ settings = get_settings()
29
+ if function is not None and not isinstance(function, dict):
30
+ raise Exception(
31
+ 'function must be a dictionary, example: @function(function={"metadata": {"name": "my_function"}})'
32
+ )
33
+ if isinstance(function, dict):
34
+ function = Function(**function)
35
+
36
+ def wrapper(func: Callable) -> Callable:
37
+ if function and not func.__doc__ and function.spec and function.spec.description:
38
+ func.__doc__ = function.spec.description
39
+
40
+ @functools.wraps(func)
41
+ async def wrapped(*args, **kwargs):
42
+ if len(args) > 0 and isinstance(args[0], Request):
43
+ body = await args[0].json()
44
+ args = [body.get(param) for param in func.__code__.co_varnames[:func.__code__.co_argcount]]
45
+ return func(*args, **kwargs)
46
+ return wrapped
47
+
48
+ return wrapper
@@ -1,104 +0,0 @@
1
- """Decorators for creating function tools with Beamlit and LangChain integration."""
2
-
3
- import functools
4
- import json
5
- from collections.abc import Callable
6
- from logging import getLogger
7
-
8
- from fastapi import Request
9
- from langchain_core.tools import create_schema_from_function
10
-
11
- from beamlit.authentication import new_client
12
- from beamlit.common.settings import get_settings
13
- from beamlit.models import Function, FunctionKit
14
- from beamlit.run import RunClient
15
-
16
- logger = getLogger(__name__)
17
-
18
-
19
- def get_remote_function(func: Callable, function: Function):
20
- settings = get_settings()
21
- name = (function and function.metadata and function.metadata.name) or func.__name__
22
-
23
- def _partial(*args, **kwargs):
24
- # Get function signature parameters
25
- try:
26
- client = new_client()
27
- run_client = RunClient(client)
28
- logger.debug(
29
- f"Calling remote function: NAME={name}"
30
- f" PARAMS={kwargs} ENVIRONMENT={settings.environment}"
31
- )
32
- response = run_client.run(
33
- resource_type="function",
34
- resource_name=name,
35
- environment=settings.environment,
36
- method="POST",
37
- headers={"Content-Type": "application/json"},
38
- data=json.dumps(kwargs),
39
- )
40
- content = response.text
41
- if response.status_code >= 400:
42
- content = f"{response.status_code}:{response.text}"
43
- logger.error(f"Error calling remote function: {content}")
44
- return f"Error calling remote function: {content}"
45
- logger.debug(
46
- f"Response from remote function: NAME={name}"
47
- f" RESPONSE={content} ENVIRONMENT={settings.environment}"
48
- )
49
- if response.headers.get("content-type") == "application/json":
50
- return response.json()
51
- return content
52
- except Exception as e:
53
- logger.error(f"Error calling function {name}: {e}")
54
- raise e
55
-
56
- remote_func = _partial
57
- remote_func.__name__ = func.__name__
58
- remote_func.__doc__ = func.__doc__
59
- return remote_func
60
-
61
-
62
- def kit(bl_kit: FunctionKit = None, **kwargs: dict) -> Callable:
63
- """Create function tools with Beamlit and LangChain integration."""
64
-
65
- def wrapper(func: Callable) -> Callable:
66
- if bl_kit and not func.__doc__ and bl_kit.description:
67
- func.__doc__ = bl_kit.description
68
- return func
69
-
70
- return wrapper
71
-
72
-
73
- def function(*args, function: Function | dict = None, kit=False, **kwargs: dict) -> Callable:
74
- """Create function tools with Beamlit and LangChain integration."""
75
- settings = get_settings()
76
- if function is not None and not isinstance(function, dict):
77
- raise Exception(
78
- 'function must be a dictionary, example: @function(function={"metadata": {"name": "my_function"}})'
79
- )
80
- if isinstance(function, dict):
81
- function = Function(**function)
82
-
83
- def wrapper(func: Callable) -> Callable:
84
- if function and not func.__doc__ and function.spec and function.spec.description:
85
- func.__doc__ = function.spec.description
86
- if settings.remote:
87
- remote_func = get_remote_function(func, function)
88
- if not kwargs.get("args_schema"):
89
- kwargs["args_schema"] = create_schema_from_function(
90
- func.__name__,
91
- func,
92
- parse_docstring=func.__doc__,
93
- )
94
- return remote_func
95
-
96
- @functools.wraps(func)
97
- async def wrapped(*args, **kwargs):
98
- if isinstance(args[0], Request):
99
- body = await args[0].json()
100
- args = [body.get(param) for param in func.__code__.co_varnames[:func.__code__.co_argcount]]
101
- return func(*args, **kwargs)
102
- return wrapped
103
-
104
- return wrapper
File without changes
File without changes
File without changes