e2b 2.29.2__tar.gz → 2.29.4__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 (235) hide show
  1. {e2b-2.29.2 → e2b-2.29.4}/PKG-INFO +6 -2
  2. {e2b-2.29.2 → e2b-2.29.4}/README.md +5 -1
  3. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/__init__.py +12 -29
  4. {e2b-2.29.2 → e2b-2.29.4}/e2b/connection_config.py +2 -0
  5. {e2b-2.29.2 → e2b-2.29.4}/e2b/template_async/main.py +0 -14
  6. {e2b-2.29.2 → e2b-2.29.4}/e2b/template_sync/main.py +0 -14
  7. {e2b-2.29.2 → e2b-2.29.4}/pyproject.toml +1 -1
  8. {e2b-2.29.2 → e2b-2.29.4}/LICENSE +0 -0
  9. {e2b-2.29.2 → e2b-2.29.4}/e2b/__init__.py +0 -0
  10. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/__init__.py +0 -0
  11. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/__init__.py +0 -0
  12. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/__init__.py +0 -0
  13. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/delete_sandboxes_sandbox_id.py +0 -0
  14. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/get_sandboxes.py +0 -0
  15. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/get_sandboxes_metrics.py +0 -0
  16. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/get_sandboxes_sandbox_id.py +0 -0
  17. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/get_sandboxes_sandbox_id_logs.py +0 -0
  18. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/get_sandboxes_sandbox_id_metrics.py +0 -0
  19. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/get_v2_sandboxes.py +0 -0
  20. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/get_v_2_sandboxes_sandbox_id_logs.py +0 -0
  21. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/post_sandboxes.py +0 -0
  22. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/post_sandboxes_sandbox_id_connect.py +0 -0
  23. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/post_sandboxes_sandbox_id_pause.py +0 -0
  24. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/post_sandboxes_sandbox_id_refreshes.py +0 -0
  25. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/post_sandboxes_sandbox_id_resume.py +0 -0
  26. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/post_sandboxes_sandbox_id_snapshots.py +0 -0
  27. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/post_sandboxes_sandbox_id_timeout.py +0 -0
  28. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/sandboxes/put_sandboxes_sandbox_id_network.py +0 -0
  29. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/snapshots/__init__.py +0 -0
  30. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/snapshots/get_snapshots.py +0 -0
  31. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/tags/__init__.py +0 -0
  32. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/tags/delete_templates_tags.py +0 -0
  33. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/tags/get_templates_template_id_tags.py +0 -0
  34. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/tags/post_templates_tags.py +0 -0
  35. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/__init__.py +0 -0
  36. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/delete_templates_template_id.py +0 -0
  37. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/get_templates.py +0 -0
  38. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/get_templates_aliases_alias.py +0 -0
  39. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/get_templates_template_id.py +0 -0
  40. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/get_templates_template_id_builds_build_id_logs.py +0 -0
  41. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/get_templates_template_id_builds_build_id_status.py +0 -0
  42. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/get_templates_template_id_files_hash.py +0 -0
  43. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/patch_templates_template_id.py +0 -0
  44. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/patch_v_2_templates_template_id.py +0 -0
  45. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/post_templates.py +0 -0
  46. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/post_templates_template_id.py +0 -0
  47. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/post_templates_template_id_builds_build_id.py +0 -0
  48. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/post_v2_templates.py +0 -0
  49. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/post_v3_templates.py +0 -0
  50. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/templates/post_v_2_templates_template_id_builds_build_id.py +0 -0
  51. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/volumes/__init__.py +0 -0
  52. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/volumes/delete_volumes_volume_id.py +0 -0
  53. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/volumes/get_volumes.py +0 -0
  54. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/volumes/get_volumes_volume_id.py +0 -0
  55. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/api/volumes/post_volumes.py +0 -0
  56. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/client.py +0 -0
  57. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/errors.py +0 -0
  58. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/__init__.py +0 -0
  59. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/admin_build_cancel_result.py +0 -0
  60. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/admin_sandbox_kill_result.py +0 -0
  61. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/assign_template_tags_request.py +0 -0
  62. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/assigned_template_tags.py +0 -0
  63. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/aws_registry.py +0 -0
  64. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/aws_registry_type.py +0 -0
  65. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/build_log_entry.py +0 -0
  66. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/build_status_reason.py +0 -0
  67. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/connect_sandbox.py +0 -0
  68. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/created_access_token.py +0 -0
  69. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/created_team_api_key.py +0 -0
  70. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/delete_template_tags_request.py +0 -0
  71. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/disk_metrics.py +0 -0
  72. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/error.py +0 -0
  73. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/gcp_registry.py +0 -0
  74. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/gcp_registry_type.py +0 -0
  75. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/general_registry.py +0 -0
  76. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/general_registry_type.py +0 -0
  77. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/identifier_masking_details.py +0 -0
  78. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/listed_sandbox.py +0 -0
  79. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/log_level.py +0 -0
  80. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/logs_direction.py +0 -0
  81. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/logs_source.py +0 -0
  82. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/machine_info.py +0 -0
  83. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/max_team_metric.py +0 -0
  84. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/mcp_type_0.py +0 -0
  85. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/new_access_token.py +0 -0
  86. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/new_sandbox.py +0 -0
  87. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/new_team_api_key.py +0 -0
  88. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/new_volume.py +0 -0
  89. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/node.py +0 -0
  90. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/node_detail.py +0 -0
  91. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/node_metrics.py +0 -0
  92. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/node_status.py +0 -0
  93. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/node_status_change.py +0 -0
  94. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/post_sandboxes_sandbox_id_refreshes_body.py +0 -0
  95. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/post_sandboxes_sandbox_id_snapshots_body.py +0 -0
  96. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/post_sandboxes_sandbox_id_timeout_body.py +0 -0
  97. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/resumed_sandbox.py +0 -0
  98. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox.py +0 -0
  99. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_auto_resume_config.py +0 -0
  100. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_detail.py +0 -0
  101. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_lifecycle.py +0 -0
  102. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_log.py +0 -0
  103. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_log_entry.py +0 -0
  104. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_log_entry_fields.py +0 -0
  105. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_logs.py +0 -0
  106. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_logs_v2_response.py +0 -0
  107. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_metric.py +0 -0
  108. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_network_config.py +0 -0
  109. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_network_config_rules.py +0 -0
  110. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_network_rule.py +0 -0
  111. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_network_transform.py +0 -0
  112. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_network_transform_headers.py +0 -0
  113. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_network_update_config.py +0 -0
  114. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_network_update_config_rules.py +0 -0
  115. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_on_timeout.py +0 -0
  116. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_state.py +0 -0
  117. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandbox_volume_mount.py +0 -0
  118. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/sandboxes_with_metrics.py +0 -0
  119. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/snapshot_info.py +0 -0
  120. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/team.py +0 -0
  121. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/team_api_key.py +0 -0
  122. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/team_metric.py +0 -0
  123. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/team_user.py +0 -0
  124. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template.py +0 -0
  125. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_alias_response.py +0 -0
  126. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_build.py +0 -0
  127. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_build_file_upload.py +0 -0
  128. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_build_info.py +0 -0
  129. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_build_logs_response.py +0 -0
  130. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_build_request.py +0 -0
  131. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_build_request_v2.py +0 -0
  132. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_build_request_v3.py +0 -0
  133. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_build_start_v2.py +0 -0
  134. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_build_status.py +0 -0
  135. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_legacy.py +0 -0
  136. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_request_response_v3.py +0 -0
  137. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_step.py +0 -0
  138. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_tag.py +0 -0
  139. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_update_request.py +0 -0
  140. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_update_response.py +0 -0
  141. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/template_with_builds.py +0 -0
  142. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/update_team_api_key.py +0 -0
  143. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/volume.py +0 -0
  144. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/volume_and_token.py +0 -0
  145. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/models/volume_token.py +0 -0
  146. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/py.typed +0 -0
  147. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client/types.py +0 -0
  148. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client_async/__init__.py +0 -0
  149. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/client_sync/__init__.py +0 -0
  150. {e2b-2.29.2 → e2b-2.29.4}/e2b/api/metadata.py +0 -0
  151. {e2b-2.29.2 → e2b-2.29.4}/e2b/envd/api.py +0 -0
  152. {e2b-2.29.2 → e2b-2.29.4}/e2b/envd/filesystem/filesystem_connect.py +0 -0
  153. {e2b-2.29.2 → e2b-2.29.4}/e2b/envd/filesystem/filesystem_pb2.py +0 -0
  154. {e2b-2.29.2 → e2b-2.29.4}/e2b/envd/filesystem/filesystem_pb2.pyi +0 -0
  155. {e2b-2.29.2 → e2b-2.29.4}/e2b/envd/process/process_connect.py +0 -0
  156. {e2b-2.29.2 → e2b-2.29.4}/e2b/envd/process/process_pb2.py +0 -0
  157. {e2b-2.29.2 → e2b-2.29.4}/e2b/envd/process/process_pb2.pyi +0 -0
  158. {e2b-2.29.2 → e2b-2.29.4}/e2b/envd/rpc.py +0 -0
  159. {e2b-2.29.2 → e2b-2.29.4}/e2b/envd/versions.py +0 -0
  160. {e2b-2.29.2 → e2b-2.29.4}/e2b/exceptions.py +0 -0
  161. {e2b-2.29.2 → e2b-2.29.4}/e2b/py.typed +0 -0
  162. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/_git/__init__.py +0 -0
  163. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/_git/args.py +0 -0
  164. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/_git/auth.py +0 -0
  165. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/_git/config.py +0 -0
  166. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/_git/parse.py +0 -0
  167. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/_git/types.py +0 -0
  168. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/commands/command_handle.py +0 -0
  169. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/commands/main.py +0 -0
  170. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/filesystem/filesystem.py +0 -0
  171. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/filesystem/watch_handle.py +0 -0
  172. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/main.py +0 -0
  173. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/mcp.py +0 -0
  174. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/network.py +0 -0
  175. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/sandbox_api.py +0 -0
  176. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/signature.py +0 -0
  177. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox/utils.py +0 -0
  178. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_async/commands/command.py +0 -0
  179. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_async/commands/command_handle.py +0 -0
  180. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_async/commands/pty.py +0 -0
  181. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_async/filesystem/filesystem.py +0 -0
  182. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_async/filesystem/watch_handle.py +0 -0
  183. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_async/git.py +0 -0
  184. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_async/main.py +0 -0
  185. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_async/paginator.py +0 -0
  186. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_async/sandbox_api.py +0 -0
  187. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_async/utils.py +0 -0
  188. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_domains.py +0 -0
  189. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_sync/commands/command.py +0 -0
  190. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_sync/commands/command_handle.py +0 -0
  191. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_sync/commands/pty.py +0 -0
  192. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_sync/filesystem/filesystem.py +0 -0
  193. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_sync/filesystem/watch_handle.py +0 -0
  194. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_sync/git.py +0 -0
  195. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_sync/main.py +0 -0
  196. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_sync/paginator.py +0 -0
  197. {e2b-2.29.2 → e2b-2.29.4}/e2b/sandbox_sync/sandbox_api.py +0 -0
  198. {e2b-2.29.2 → e2b-2.29.4}/e2b/template/consts.py +0 -0
  199. {e2b-2.29.2 → e2b-2.29.4}/e2b/template/dockerfile_parser.py +0 -0
  200. {e2b-2.29.2 → e2b-2.29.4}/e2b/template/logger.py +0 -0
  201. {e2b-2.29.2 → e2b-2.29.4}/e2b/template/main.py +0 -0
  202. {e2b-2.29.2 → e2b-2.29.4}/e2b/template/readycmd.py +0 -0
  203. {e2b-2.29.2 → e2b-2.29.4}/e2b/template/types.py +0 -0
  204. {e2b-2.29.2 → e2b-2.29.4}/e2b/template/utils.py +0 -0
  205. {e2b-2.29.2 → e2b-2.29.4}/e2b/template_async/build_api.py +0 -0
  206. {e2b-2.29.2 → e2b-2.29.4}/e2b/template_sync/build_api.py +0 -0
  207. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/__init__.py +0 -0
  208. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/api/__init__.py +0 -0
  209. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/api/volumes/__init__.py +0 -0
  210. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/api/volumes/delete_volumecontent_volume_id_path.py +0 -0
  211. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/api/volumes/get_volumecontent_volume_id_dir.py +0 -0
  212. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/api/volumes/get_volumecontent_volume_id_file.py +0 -0
  213. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/api/volumes/get_volumecontent_volume_id_path.py +0 -0
  214. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/api/volumes/patch_volumecontent_volume_id_path.py +0 -0
  215. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/api/volumes/post_volumecontent_volume_id_dir.py +0 -0
  216. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/api/volumes/put_volumecontent_volume_id_file.py +0 -0
  217. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/client.py +0 -0
  218. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/errors.py +0 -0
  219. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/models/__init__.py +0 -0
  220. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/models/error.py +0 -0
  221. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/models/patch_volumecontent_volume_id_path_body.py +0 -0
  222. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/models/volume_entry_stat.py +0 -0
  223. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/models/volume_entry_stat_type.py +0 -0
  224. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/py.typed +0 -0
  225. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client/types.py +0 -0
  226. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client_async/__init__.py +0 -0
  227. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/client_sync/__init__.py +0 -0
  228. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/connection_config.py +0 -0
  229. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/types.py +0 -0
  230. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/utils.py +0 -0
  231. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/volume_async.py +0 -0
  232. {e2b-2.29.2 → e2b-2.29.4}/e2b/volume/volume_sync.py +0 -0
  233. {e2b-2.29.2 → e2b-2.29.4}/e2b_connect/__init__.py +0 -0
  234. {e2b-2.29.2 → e2b-2.29.4}/e2b_connect/client.py +0 -0
  235. {e2b-2.29.2 → e2b-2.29.4}/e2b_connect/py.typed +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: e2b
3
- Version: 2.29.2
3
+ Version: 2.29.4
4
4
  Summary: E2B SDK that give agents cloud environments
5
5
  License: MIT
6
6
  Author: e2b
@@ -29,7 +29,11 @@ Project-URL: Repository, https://github.com/e2b-dev/e2b/tree/main/packages/pytho
29
29
  Description-Content-Type: text/markdown
30
30
 
31
31
  <p align="center">
32
- <img width="100" src="https://raw.githubusercontent.com/e2b-dev/E2B/refs/heads/main/readme-assets/logo-circle.png" alt="e2b logo">
32
+ <picture>
33
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/e2b-dev/E2B/refs/heads/main/readme-assets/logo-white.png">
34
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/e2b-dev/E2B/refs/heads/main/readme-assets/logo-black.png">
35
+ <img alt="E2B Logo" src="https://raw.githubusercontent.com/e2b-dev/E2B/refs/heads/main/readme-assets/logo-black.png" width="200">
36
+ </picture>
33
37
  </p>
34
38
 
35
39
  <h4 align="center">
@@ -1,5 +1,9 @@
1
1
  <p align="center">
2
- <img width="100" src="https://raw.githubusercontent.com/e2b-dev/E2B/refs/heads/main/readme-assets/logo-circle.png" alt="e2b logo">
2
+ <picture>
3
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/e2b-dev/E2B/refs/heads/main/readme-assets/logo-white.png">
4
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/e2b-dev/E2B/refs/heads/main/readme-assets/logo-black.png">
5
+ <img alt="E2B Logo" src="https://raw.githubusercontent.com/e2b-dev/E2B/refs/heads/main/readme-assets/logo-black.png" width="200">
6
+ </picture>
3
7
  </p>
4
8
 
5
9
  <h4 align="center">
@@ -105,8 +105,6 @@ class ApiClient(AuthenticatedClient):
105
105
  def __init__(
106
106
  self,
107
107
  config: ConnectionConfig,
108
- require_api_key: bool = True,
109
- require_access_token: bool = False,
110
108
  transport: Optional[Union[BaseTransport, AsyncBaseTransport]] = None,
111
109
  transport_factory: Optional[Callable[[], BaseTransport]] = None,
112
110
  async_transport_factory: Optional[Callable[[], AsyncBaseTransport]] = None,
@@ -129,45 +127,30 @@ class ApiClient(AuthenticatedClient):
129
127
  ] = weakref.WeakKeyDictionary()
130
128
  self._proxy = config.proxy
131
129
 
132
- if require_api_key and require_access_token:
130
+ if config.api_key is None:
133
131
  raise AuthenticationException(
134
- "Only one of api_key or access_token can be required, not both",
132
+ "API key is required, please visit the API Keys tab at https://e2b.dev/dashboard?tab=keys to get your API key. "
133
+ "You can either set the environment variable `E2B_API_KEY` "
134
+ 'or you can pass it directly to the method like api_key="e2b_..."',
135
135
  )
136
136
 
137
- if not require_api_key and not require_access_token:
138
- raise AuthenticationException(
139
- "Either api_key or access_token is required",
140
- )
141
-
142
- token = None
143
- if require_api_key:
144
- if config.api_key is None:
145
- raise AuthenticationException(
146
- "API key is required, please visit the Team tab at https://e2b.dev/dashboard to get your API key. "
147
- "You can either set the environment variable `E2B_API_KEY` "
148
- 'or you can pass it directly to the method like api_key="e2b_..."',
149
- )
150
- token = config.api_key
151
-
152
137
  if config.api_key is not None and config.validate_api_key:
153
138
  validate_api_key(config.api_key)
154
139
 
155
- if require_access_token:
156
- if config.access_token is None:
157
- raise AuthenticationException(
158
- "Access token is required, please visit the Personal tab at https://e2b.dev/dashboard to get your access token. "
159
- "You can set the environment variable `E2B_ACCESS_TOKEN` or pass the `access_token` in options.",
160
- )
161
- token = config.access_token
162
-
163
- auth_header_name = "X-API-KEY" if require_api_key else "Authorization"
164
- prefix = "" if require_api_key else "Bearer"
140
+ token = config.api_key
141
+ auth_header_name = "X-API-KEY"
142
+ prefix = ""
165
143
 
166
144
  headers = {
167
145
  **default_headers,
168
146
  **(config.headers or {}),
169
147
  }
170
148
 
149
+ # Deprecated: send the access token alongside the API key when one is
150
+ # available, mirroring the JS SDK. Prefer `api_headers` instead.
151
+ if config.access_token is not None:
152
+ headers["Authorization"] = f"Bearer {config.access_token}"
153
+
171
154
  # Prevent passing these parameters twice
172
155
  more_headers: Optional[dict] = kwargs.pop("headers", None)
173
156
  if more_headers:
@@ -128,6 +128,8 @@ class ConnectionConfig:
128
128
  if validate_api_key is not None
129
129
  else ConnectionConfig._validate_api_key()
130
130
  )
131
+ # Deprecated: pass the token through `api_headers` instead, e.g.
132
+ # api_headers={"Authorization": f"Bearer {token}"}.
131
133
  self.access_token = access_token or ConnectionConfig._access_token()
132
134
  self.integration = integration
133
135
  self.headers = {**(headers or {}), **(api_headers or {})}
@@ -237,8 +237,6 @@ class AsyncTemplate(TemplateBase):
237
237
  config = ConnectionConfig(**opts)
238
238
  api_client = get_api_client(
239
239
  config,
240
- require_api_key=True,
241
- require_access_token=False,
242
240
  )
243
241
 
244
242
  data = await AsyncTemplate._build(
@@ -328,8 +326,6 @@ class AsyncTemplate(TemplateBase):
328
326
  config = ConnectionConfig(**opts)
329
327
  api_client = get_api_client(
330
328
  config,
331
- require_api_key=True,
332
- require_access_token=False,
333
329
  )
334
330
 
335
331
  return await AsyncTemplate._build(
@@ -367,8 +363,6 @@ class AsyncTemplate(TemplateBase):
367
363
  config = ConnectionConfig(**opts)
368
364
  api_client = get_api_client(
369
365
  config,
370
- require_api_key=True,
371
- require_access_token=False,
372
366
  )
373
367
  return await get_build_status(
374
368
  api_client,
@@ -425,8 +419,6 @@ class AsyncTemplate(TemplateBase):
425
419
  config = ConnectionConfig(**opts)
426
420
  api_client = get_api_client(
427
421
  config,
428
- require_api_key=True,
429
- require_access_token=False,
430
422
  )
431
423
 
432
424
  return await check_alias_exists(api_client, alias)
@@ -458,8 +450,6 @@ class AsyncTemplate(TemplateBase):
458
450
  config = ConnectionConfig(**opts)
459
451
  api_client = get_api_client(
460
452
  config,
461
- require_api_key=True,
462
- require_access_token=False,
463
453
  )
464
454
 
465
455
  normalized_tags = [tags] if isinstance(tags, str) else tags
@@ -491,8 +481,6 @@ class AsyncTemplate(TemplateBase):
491
481
  config = ConnectionConfig(**opts)
492
482
  api_client = get_api_client(
493
483
  config,
494
- require_api_key=True,
495
- require_access_token=False,
496
484
  )
497
485
 
498
486
  normalized_tags = [tags] if isinstance(tags, str) else tags
@@ -521,8 +509,6 @@ class AsyncTemplate(TemplateBase):
521
509
  config = ConnectionConfig(**opts)
522
510
  api_client = get_api_client(
523
511
  config,
524
- require_api_key=True,
525
- require_access_token=False,
526
512
  )
527
513
 
528
514
  return await get_template_tags(api_client, template_id)
@@ -237,8 +237,6 @@ class Template(TemplateBase):
237
237
  config = ConnectionConfig(**opts)
238
238
  api_client = get_api_client(
239
239
  config,
240
- require_api_key=True,
241
- require_access_token=False,
242
240
  )
243
241
 
244
242
  data = Template._build(
@@ -328,8 +326,6 @@ class Template(TemplateBase):
328
326
  config = ConnectionConfig(**opts)
329
327
  api_client = get_api_client(
330
328
  config,
331
- require_api_key=True,
332
- require_access_token=False,
333
329
  )
334
330
 
335
331
  return Template._build(
@@ -367,8 +363,6 @@ class Template(TemplateBase):
367
363
  config = ConnectionConfig(**opts)
368
364
  api_client = get_api_client(
369
365
  config,
370
- require_api_key=True,
371
- require_access_token=False,
372
366
  )
373
367
 
374
368
  return get_build_status(
@@ -426,8 +420,6 @@ class Template(TemplateBase):
426
420
  config = ConnectionConfig(**opts)
427
421
  api_client = get_api_client(
428
422
  config,
429
- require_api_key=True,
430
- require_access_token=False,
431
423
  )
432
424
 
433
425
  return check_alias_exists(api_client, alias)
@@ -459,8 +451,6 @@ class Template(TemplateBase):
459
451
  config = ConnectionConfig(**opts)
460
452
  api_client = get_api_client(
461
453
  config,
462
- require_api_key=True,
463
- require_access_token=False,
464
454
  )
465
455
 
466
456
  normalized_tags = [tags] if isinstance(tags, str) else tags
@@ -492,8 +482,6 @@ class Template(TemplateBase):
492
482
  config = ConnectionConfig(**opts)
493
483
  api_client = get_api_client(
494
484
  config,
495
- require_api_key=True,
496
- require_access_token=False,
497
485
  )
498
486
 
499
487
  normalized_tags = [tags] if isinstance(tags, str) else tags
@@ -522,8 +510,6 @@ class Template(TemplateBase):
522
510
  config = ConnectionConfig(**opts)
523
511
  api_client = get_api_client(
524
512
  config,
525
- require_api_key=True,
526
- require_access_token=False,
527
513
  )
528
514
 
529
515
  return get_template_tags(api_client, template_id)
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "e2b"
3
- version = "2.29.2"
3
+ version = "2.29.4"
4
4
  description = "E2B SDK that give agents cloud environments"
5
5
  authors = ["e2b <hello@e2b.dev>"]
6
6
  license = "MIT"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes