daytona_api_client 0.21.5a7__tar.gz → 0.21.8__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.

Potentially problematic release.


This version of daytona_api_client might be problematic. Click here for more details.

Files changed (122) hide show
  1. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/PKG-INFO +1 -1
  2. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/__init__.py +1 -0
  3. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/sandbox_api.py +29 -5
  4. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/snapshots_api.py +280 -0
  5. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/__init__.py +1 -0
  6. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/port_preview_url.py +5 -3
  7. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/sandbox.py +4 -1
  8. daytona_api_client-0.21.8/daytona_api_client/models/sandbox_desired_state.py +41 -0
  9. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/snapshot_state.py +1 -0
  10. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/workspace.py +4 -1
  11. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client.egg-info/PKG-INFO +1 -1
  12. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client.egg-info/SOURCES.txt +2 -0
  13. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/pyproject.toml +1 -1
  14. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/setup.py +1 -1
  15. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/LICENSE +0 -0
  16. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/README.md +0 -0
  17. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/__init__.py +0 -0
  18. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/api_keys_api.py +0 -0
  19. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/docker_registry_api.py +0 -0
  20. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/object_storage_api.py +0 -0
  21. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/organizations_api.py +0 -0
  22. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/preview_api.py +0 -0
  23. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/runners_api.py +0 -0
  24. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/toolbox_api.py +0 -0
  25. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/users_api.py +0 -0
  26. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/volumes_api.py +0 -0
  27. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api/workspace_api.py +0 -0
  28. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api_client.py +0 -0
  29. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/api_response.py +0 -0
  30. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/configuration.py +0 -0
  31. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/exceptions.py +0 -0
  32. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/account_provider.py +0 -0
  33. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/api_key_list.py +0 -0
  34. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/api_key_response.py +0 -0
  35. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/build_info.py +0 -0
  36. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/command.py +0 -0
  37. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/completion_context.py +0 -0
  38. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/completion_item.py +0 -0
  39. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/completion_list.py +0 -0
  40. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_api_key.py +0 -0
  41. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_build_info.py +0 -0
  42. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_docker_registry.py +0 -0
  43. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_linked_account.py +0 -0
  44. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_organization.py +0 -0
  45. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_organization_invitation.py +0 -0
  46. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_organization_quota.py +0 -0
  47. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_organization_role.py +0 -0
  48. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_runner.py +0 -0
  49. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_sandbox.py +0 -0
  50. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_session_request.py +0 -0
  51. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_snapshot.py +0 -0
  52. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_user.py +0 -0
  53. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_volume.py +0 -0
  54. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/create_workspace.py +0 -0
  55. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/docker_registry.py +0 -0
  56. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/execute_request.py +0 -0
  57. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/execute_response.py +0 -0
  58. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/file_info.py +0 -0
  59. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/file_status.py +0 -0
  60. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/git_add_request.py +0 -0
  61. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/git_branch_request.py +0 -0
  62. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/git_checkout_request.py +0 -0
  63. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/git_clone_request.py +0 -0
  64. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/git_commit_info.py +0 -0
  65. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/git_commit_request.py +0 -0
  66. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/git_commit_response.py +0 -0
  67. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/git_delete_branch_request.py +0 -0
  68. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/git_repo_request.py +0 -0
  69. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/git_status.py +0 -0
  70. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/list_branch_response.py +0 -0
  71. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/lsp_completion_params.py +0 -0
  72. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/lsp_document_request.py +0 -0
  73. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/lsp_location.py +0 -0
  74. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/lsp_server_request.py +0 -0
  75. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/lsp_symbol.py +0 -0
  76. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/match.py +0 -0
  77. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/organization.py +0 -0
  78. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/organization_invitation.py +0 -0
  79. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/organization_role.py +0 -0
  80. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/organization_suspension.py +0 -0
  81. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/organization_user.py +0 -0
  82. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/paginated_snapshots_dto.py +0 -0
  83. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/position.py +0 -0
  84. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/project_dir_response.py +0 -0
  85. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/range.py +0 -0
  86. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/registry_push_access_dto.py +0 -0
  87. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/replace_request.py +0 -0
  88. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/replace_result.py +0 -0
  89. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/runner.py +0 -0
  90. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/runner_region.py +0 -0
  91. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/runner_snapshot_dto.py +0 -0
  92. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/runner_state.py +0 -0
  93. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/sandbox_class.py +0 -0
  94. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/sandbox_info.py +0 -0
  95. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/sandbox_labels.py +0 -0
  96. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/sandbox_state.py +0 -0
  97. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/sandbox_volume.py +0 -0
  98. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/search_files_response.py +0 -0
  99. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/session.py +0 -0
  100. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/session_execute_request.py +0 -0
  101. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/session_execute_response.py +0 -0
  102. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/set_snapshot_general_status_dto.py +0 -0
  103. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/snapshot_dto.py +0 -0
  104. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/storage_access_dto.py +0 -0
  105. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/toggle_state.py +0 -0
  106. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/update_assigned_organization_roles.py +0 -0
  107. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/update_docker_registry.py +0 -0
  108. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/update_organization_invitation.py +0 -0
  109. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/update_organization_member_role.py +0 -0
  110. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/update_organization_quota.py +0 -0
  111. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/update_organization_role.py +0 -0
  112. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/usage_overview.py +0 -0
  113. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/user.py +0 -0
  114. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/user_public_key.py +0 -0
  115. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/volume_dto.py +0 -0
  116. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/models/volume_state.py +0 -0
  117. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/py.typed +0 -0
  118. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client/rest.py +0 -0
  119. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client.egg-info/dependency_links.txt +0 -0
  120. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client.egg-info/requires.txt +0 -0
  121. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/daytona_api_client.egg-info/top_level.txt +0 -0
  122. {daytona_api_client-0.21.5a7 → daytona_api_client-0.21.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: daytona_api_client
3
- Version: 0.21.5a7
3
+ Version: 0.21.8
4
4
  Summary: Daytona
5
5
  Home-page:
6
6
  Author: Daytona Platforms Inc.
@@ -107,6 +107,7 @@ from daytona_api_client.models.runner_snapshot_dto import RunnerSnapshotDto
107
107
  from daytona_api_client.models.runner_state import RunnerState
108
108
  from daytona_api_client.models.sandbox import Sandbox
109
109
  from daytona_api_client.models.sandbox_class import SandboxClass
110
+ from daytona_api_client.models.sandbox_desired_state import SandboxDesiredState
110
111
  from daytona_api_client.models.sandbox_info import SandboxInfo
111
112
  from daytona_api_client.models.sandbox_labels import SandboxLabels
112
113
  from daytona_api_client.models.sandbox_state import SandboxState
@@ -2025,6 +2025,7 @@ class SandboxApi:
2025
2025
  x_daytona_organization_id: Annotated[Optional[StrictStr], Field(description="Use with JWT to specify the organization ID")] = None,
2026
2026
  verbose: Annotated[Optional[StrictBool], Field(description="Include verbose output")] = None,
2027
2027
  labels: Annotated[Optional[StrictStr], Field(description="JSON encoded labels to filter by")] = None,
2028
+ include_errored_deleted: Annotated[Optional[StrictBool], Field(description="Include errored and deleted sandboxes")] = None,
2028
2029
  _request_timeout: Union[
2029
2030
  None,
2030
2031
  Annotated[StrictFloat, Field(gt=0)],
@@ -2047,6 +2048,8 @@ class SandboxApi:
2047
2048
  :type verbose: bool
2048
2049
  :param labels: JSON encoded labels to filter by
2049
2050
  :type labels: str
2051
+ :param include_errored_deleted: Include errored and deleted sandboxes
2052
+ :type include_errored_deleted: bool
2050
2053
  :param _request_timeout: timeout setting for this request. If one
2051
2054
  number provided, it will be total request
2052
2055
  timeout. It can also be a pair (tuple) of
@@ -2073,6 +2076,7 @@ class SandboxApi:
2073
2076
  x_daytona_organization_id=x_daytona_organization_id,
2074
2077
  verbose=verbose,
2075
2078
  labels=labels,
2079
+ include_errored_deleted=include_errored_deleted,
2076
2080
  _request_auth=_request_auth,
2077
2081
  _content_type=_content_type,
2078
2082
  _headers=_headers,
@@ -2099,6 +2103,7 @@ class SandboxApi:
2099
2103
  x_daytona_organization_id: Annotated[Optional[StrictStr], Field(description="Use with JWT to specify the organization ID")] = None,
2100
2104
  verbose: Annotated[Optional[StrictBool], Field(description="Include verbose output")] = None,
2101
2105
  labels: Annotated[Optional[StrictStr], Field(description="JSON encoded labels to filter by")] = None,
2106
+ include_errored_deleted: Annotated[Optional[StrictBool], Field(description="Include errored and deleted sandboxes")] = None,
2102
2107
  _request_timeout: Union[
2103
2108
  None,
2104
2109
  Annotated[StrictFloat, Field(gt=0)],
@@ -2121,6 +2126,8 @@ class SandboxApi:
2121
2126
  :type verbose: bool
2122
2127
  :param labels: JSON encoded labels to filter by
2123
2128
  :type labels: str
2129
+ :param include_errored_deleted: Include errored and deleted sandboxes
2130
+ :type include_errored_deleted: bool
2124
2131
  :param _request_timeout: timeout setting for this request. If one
2125
2132
  number provided, it will be total request
2126
2133
  timeout. It can also be a pair (tuple) of
@@ -2147,6 +2154,7 @@ class SandboxApi:
2147
2154
  x_daytona_organization_id=x_daytona_organization_id,
2148
2155
  verbose=verbose,
2149
2156
  labels=labels,
2157
+ include_errored_deleted=include_errored_deleted,
2150
2158
  _request_auth=_request_auth,
2151
2159
  _content_type=_content_type,
2152
2160
  _headers=_headers,
@@ -2173,6 +2181,7 @@ class SandboxApi:
2173
2181
  x_daytona_organization_id: Annotated[Optional[StrictStr], Field(description="Use with JWT to specify the organization ID")] = None,
2174
2182
  verbose: Annotated[Optional[StrictBool], Field(description="Include verbose output")] = None,
2175
2183
  labels: Annotated[Optional[StrictStr], Field(description="JSON encoded labels to filter by")] = None,
2184
+ include_errored_deleted: Annotated[Optional[StrictBool], Field(description="Include errored and deleted sandboxes")] = None,
2176
2185
  _request_timeout: Union[
2177
2186
  None,
2178
2187
  Annotated[StrictFloat, Field(gt=0)],
@@ -2195,6 +2204,8 @@ class SandboxApi:
2195
2204
  :type verbose: bool
2196
2205
  :param labels: JSON encoded labels to filter by
2197
2206
  :type labels: str
2207
+ :param include_errored_deleted: Include errored and deleted sandboxes
2208
+ :type include_errored_deleted: bool
2198
2209
  :param _request_timeout: timeout setting for this request. If one
2199
2210
  number provided, it will be total request
2200
2211
  timeout. It can also be a pair (tuple) of
@@ -2221,6 +2232,7 @@ class SandboxApi:
2221
2232
  x_daytona_organization_id=x_daytona_organization_id,
2222
2233
  verbose=verbose,
2223
2234
  labels=labels,
2235
+ include_errored_deleted=include_errored_deleted,
2224
2236
  _request_auth=_request_auth,
2225
2237
  _content_type=_content_type,
2226
2238
  _headers=_headers,
@@ -2242,6 +2254,7 @@ class SandboxApi:
2242
2254
  x_daytona_organization_id,
2243
2255
  verbose,
2244
2256
  labels,
2257
+ include_errored_deleted,
2245
2258
  _request_auth,
2246
2259
  _content_type,
2247
2260
  _headers,
@@ -2272,6 +2285,10 @@ class SandboxApi:
2272
2285
 
2273
2286
  _query_params.append(('labels', labels))
2274
2287
 
2288
+ if include_errored_deleted is not None:
2289
+
2290
+ _query_params.append(('includeErroredDeleted', include_errored_deleted))
2291
+
2275
2292
  # process the header parameters
2276
2293
  if x_daytona_organization_id is not None:
2277
2294
  _header_params['X-Daytona-Organization-ID'] = x_daytona_organization_id
@@ -3195,7 +3212,7 @@ class SandboxApi:
3195
3212
  _content_type: Optional[StrictStr] = None,
3196
3213
  _headers: Optional[Dict[StrictStr, Any]] = None,
3197
3214
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3198
- ) -> None:
3215
+ ) -> Sandbox:
3199
3216
  """Start sandbox
3200
3217
 
3201
3218
 
@@ -3235,7 +3252,7 @@ class SandboxApi:
3235
3252
  )
3236
3253
 
3237
3254
  _response_types_map: Dict[str, Optional[str]] = {
3238
- '200': None,
3255
+ '200': "Sandbox",
3239
3256
  }
3240
3257
  response_data = self.api_client.call_api(
3241
3258
  *_param,
@@ -3265,7 +3282,7 @@ class SandboxApi:
3265
3282
  _content_type: Optional[StrictStr] = None,
3266
3283
  _headers: Optional[Dict[StrictStr, Any]] = None,
3267
3284
  _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3268
- ) -> ApiResponse[None]:
3285
+ ) -> ApiResponse[Sandbox]:
3269
3286
  """Start sandbox
3270
3287
 
3271
3288
 
@@ -3305,7 +3322,7 @@ class SandboxApi:
3305
3322
  )
3306
3323
 
3307
3324
  _response_types_map: Dict[str, Optional[str]] = {
3308
- '200': None,
3325
+ '200': "Sandbox",
3309
3326
  }
3310
3327
  response_data = self.api_client.call_api(
3311
3328
  *_param,
@@ -3375,7 +3392,7 @@ class SandboxApi:
3375
3392
  )
3376
3393
 
3377
3394
  _response_types_map: Dict[str, Optional[str]] = {
3378
- '200': None,
3395
+ '200': "Sandbox",
3379
3396
  }
3380
3397
  response_data = self.api_client.call_api(
3381
3398
  *_param,
@@ -3419,6 +3436,13 @@ class SandboxApi:
3419
3436
  # process the body parameter
3420
3437
 
3421
3438
 
3439
+ # set the HTTP header `Accept`
3440
+ if 'Accept' not in _header_params:
3441
+ _header_params['Accept'] = self.api_client.select_header_accept(
3442
+ [
3443
+ 'application/json'
3444
+ ]
3445
+ )
3422
3446
 
3423
3447
 
3424
3448
  # authentication setting
@@ -44,6 +44,286 @@ class SnapshotsApi:
44
44
  self.api_client = api_client
45
45
 
46
46
 
47
+ @validate_call
48
+ def activate_snapshot(
49
+ self,
50
+ id: Annotated[StrictStr, Field(description="Snapshot ID")],
51
+ x_daytona_organization_id: Annotated[Optional[StrictStr], Field(description="Use with JWT to specify the organization ID")] = None,
52
+ _request_timeout: Union[
53
+ None,
54
+ Annotated[StrictFloat, Field(gt=0)],
55
+ Tuple[
56
+ Annotated[StrictFloat, Field(gt=0)],
57
+ Annotated[StrictFloat, Field(gt=0)]
58
+ ]
59
+ ] = None,
60
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
61
+ _content_type: Optional[StrictStr] = None,
62
+ _headers: Optional[Dict[StrictStr, Any]] = None,
63
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
64
+ ) -> SnapshotDto:
65
+ """Activate a snapshot
66
+
67
+
68
+ :param id: Snapshot ID (required)
69
+ :type id: str
70
+ :param x_daytona_organization_id: Use with JWT to specify the organization ID
71
+ :type x_daytona_organization_id: str
72
+ :param _request_timeout: timeout setting for this request. If one
73
+ number provided, it will be total request
74
+ timeout. It can also be a pair (tuple) of
75
+ (connection, read) timeouts.
76
+ :type _request_timeout: int, tuple(int, int), optional
77
+ :param _request_auth: set to override the auth_settings for an a single
78
+ request; this effectively ignores the
79
+ authentication in the spec for a single request.
80
+ :type _request_auth: dict, optional
81
+ :param _content_type: force content-type for the request.
82
+ :type _content_type: str, Optional
83
+ :param _headers: set to override the headers for a single
84
+ request; this effectively ignores the headers
85
+ in the spec for a single request.
86
+ :type _headers: dict, optional
87
+ :param _host_index: set to override the host_index for a single
88
+ request; this effectively ignores the host_index
89
+ in the spec for a single request.
90
+ :type _host_index: int, optional
91
+ :return: Returns the result object.
92
+ """ # noqa: E501
93
+
94
+ _param = self._activate_snapshot_serialize(
95
+ id=id,
96
+ x_daytona_organization_id=x_daytona_organization_id,
97
+ _request_auth=_request_auth,
98
+ _content_type=_content_type,
99
+ _headers=_headers,
100
+ _host_index=_host_index
101
+ )
102
+
103
+ _response_types_map: Dict[str, Optional[str]] = {
104
+ '200': "SnapshotDto",
105
+ '400': None,
106
+ '404': None,
107
+ }
108
+ response_data = self.api_client.call_api(
109
+ *_param,
110
+ _request_timeout=_request_timeout
111
+ )
112
+ response_data.read()
113
+ return self.api_client.response_deserialize(
114
+ response_data=response_data,
115
+ response_types_map=_response_types_map,
116
+ ).data
117
+
118
+
119
+ @validate_call
120
+ def activate_snapshot_with_http_info(
121
+ self,
122
+ id: Annotated[StrictStr, Field(description="Snapshot ID")],
123
+ x_daytona_organization_id: Annotated[Optional[StrictStr], Field(description="Use with JWT to specify the organization ID")] = None,
124
+ _request_timeout: Union[
125
+ None,
126
+ Annotated[StrictFloat, Field(gt=0)],
127
+ Tuple[
128
+ Annotated[StrictFloat, Field(gt=0)],
129
+ Annotated[StrictFloat, Field(gt=0)]
130
+ ]
131
+ ] = None,
132
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
133
+ _content_type: Optional[StrictStr] = None,
134
+ _headers: Optional[Dict[StrictStr, Any]] = None,
135
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
136
+ ) -> ApiResponse[SnapshotDto]:
137
+ """Activate a snapshot
138
+
139
+
140
+ :param id: Snapshot ID (required)
141
+ :type id: str
142
+ :param x_daytona_organization_id: Use with JWT to specify the organization ID
143
+ :type x_daytona_organization_id: str
144
+ :param _request_timeout: timeout setting for this request. If one
145
+ number provided, it will be total request
146
+ timeout. It can also be a pair (tuple) of
147
+ (connection, read) timeouts.
148
+ :type _request_timeout: int, tuple(int, int), optional
149
+ :param _request_auth: set to override the auth_settings for an a single
150
+ request; this effectively ignores the
151
+ authentication in the spec for a single request.
152
+ :type _request_auth: dict, optional
153
+ :param _content_type: force content-type for the request.
154
+ :type _content_type: str, Optional
155
+ :param _headers: set to override the headers for a single
156
+ request; this effectively ignores the headers
157
+ in the spec for a single request.
158
+ :type _headers: dict, optional
159
+ :param _host_index: set to override the host_index for a single
160
+ request; this effectively ignores the host_index
161
+ in the spec for a single request.
162
+ :type _host_index: int, optional
163
+ :return: Returns the result object.
164
+ """ # noqa: E501
165
+
166
+ _param = self._activate_snapshot_serialize(
167
+ id=id,
168
+ x_daytona_organization_id=x_daytona_organization_id,
169
+ _request_auth=_request_auth,
170
+ _content_type=_content_type,
171
+ _headers=_headers,
172
+ _host_index=_host_index
173
+ )
174
+
175
+ _response_types_map: Dict[str, Optional[str]] = {
176
+ '200': "SnapshotDto",
177
+ '400': None,
178
+ '404': None,
179
+ }
180
+ response_data = self.api_client.call_api(
181
+ *_param,
182
+ _request_timeout=_request_timeout
183
+ )
184
+ response_data.read()
185
+ return self.api_client.response_deserialize(
186
+ response_data=response_data,
187
+ response_types_map=_response_types_map,
188
+ )
189
+
190
+
191
+ @validate_call
192
+ def activate_snapshot_without_preload_content(
193
+ self,
194
+ id: Annotated[StrictStr, Field(description="Snapshot ID")],
195
+ x_daytona_organization_id: Annotated[Optional[StrictStr], Field(description="Use with JWT to specify the organization ID")] = None,
196
+ _request_timeout: Union[
197
+ None,
198
+ Annotated[StrictFloat, Field(gt=0)],
199
+ Tuple[
200
+ Annotated[StrictFloat, Field(gt=0)],
201
+ Annotated[StrictFloat, Field(gt=0)]
202
+ ]
203
+ ] = None,
204
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
205
+ _content_type: Optional[StrictStr] = None,
206
+ _headers: Optional[Dict[StrictStr, Any]] = None,
207
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
208
+ ) -> RESTResponseType:
209
+ """Activate a snapshot
210
+
211
+
212
+ :param id: Snapshot ID (required)
213
+ :type id: str
214
+ :param x_daytona_organization_id: Use with JWT to specify the organization ID
215
+ :type x_daytona_organization_id: str
216
+ :param _request_timeout: timeout setting for this request. If one
217
+ number provided, it will be total request
218
+ timeout. It can also be a pair (tuple) of
219
+ (connection, read) timeouts.
220
+ :type _request_timeout: int, tuple(int, int), optional
221
+ :param _request_auth: set to override the auth_settings for an a single
222
+ request; this effectively ignores the
223
+ authentication in the spec for a single request.
224
+ :type _request_auth: dict, optional
225
+ :param _content_type: force content-type for the request.
226
+ :type _content_type: str, Optional
227
+ :param _headers: set to override the headers for a single
228
+ request; this effectively ignores the headers
229
+ in the spec for a single request.
230
+ :type _headers: dict, optional
231
+ :param _host_index: set to override the host_index for a single
232
+ request; this effectively ignores the host_index
233
+ in the spec for a single request.
234
+ :type _host_index: int, optional
235
+ :return: Returns the result object.
236
+ """ # noqa: E501
237
+
238
+ _param = self._activate_snapshot_serialize(
239
+ id=id,
240
+ x_daytona_organization_id=x_daytona_organization_id,
241
+ _request_auth=_request_auth,
242
+ _content_type=_content_type,
243
+ _headers=_headers,
244
+ _host_index=_host_index
245
+ )
246
+
247
+ _response_types_map: Dict[str, Optional[str]] = {
248
+ '200': "SnapshotDto",
249
+ '400': None,
250
+ '404': None,
251
+ }
252
+ response_data = self.api_client.call_api(
253
+ *_param,
254
+ _request_timeout=_request_timeout
255
+ )
256
+ return response_data.response
257
+
258
+
259
+ def _activate_snapshot_serialize(
260
+ self,
261
+ id,
262
+ x_daytona_organization_id,
263
+ _request_auth,
264
+ _content_type,
265
+ _headers,
266
+ _host_index,
267
+ ) -> RequestSerialized:
268
+
269
+ _host = None
270
+
271
+ _collection_formats: Dict[str, str] = {
272
+ }
273
+
274
+ _path_params: Dict[str, str] = {}
275
+ _query_params: List[Tuple[str, str]] = []
276
+ _header_params: Dict[str, Optional[str]] = _headers or {}
277
+ _form_params: List[Tuple[str, str]] = []
278
+ _files: Dict[
279
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
280
+ ] = {}
281
+ _body_params: Optional[bytes] = None
282
+
283
+ # process the path parameters
284
+ if id is not None:
285
+ _path_params['id'] = id
286
+ # process the query parameters
287
+ # process the header parameters
288
+ if x_daytona_organization_id is not None:
289
+ _header_params['X-Daytona-Organization-ID'] = x_daytona_organization_id
290
+ # process the form parameters
291
+ # process the body parameter
292
+
293
+
294
+ # set the HTTP header `Accept`
295
+ if 'Accept' not in _header_params:
296
+ _header_params['Accept'] = self.api_client.select_header_accept(
297
+ [
298
+ 'application/json'
299
+ ]
300
+ )
301
+
302
+
303
+ # authentication setting
304
+ _auth_settings: List[str] = [
305
+ 'bearer',
306
+ 'oauth2'
307
+ ]
308
+
309
+ return self.api_client.param_serialize(
310
+ method='POST',
311
+ resource_path='/snapshots/{id}/activate',
312
+ path_params=_path_params,
313
+ query_params=_query_params,
314
+ header_params=_header_params,
315
+ body=_body_params,
316
+ post_params=_form_params,
317
+ files=_files,
318
+ auth_settings=_auth_settings,
319
+ collection_formats=_collection_formats,
320
+ _host=_host,
321
+ _request_auth=_request_auth
322
+ )
323
+
324
+
325
+
326
+
47
327
  @validate_call
48
328
  def create_snapshot(
49
329
  self,
@@ -79,6 +79,7 @@ from daytona_api_client.models.runner_snapshot_dto import RunnerSnapshotDto
79
79
  from daytona_api_client.models.runner_state import RunnerState
80
80
  from daytona_api_client.models.sandbox import Sandbox
81
81
  from daytona_api_client.models.sandbox_class import SandboxClass
82
+ from daytona_api_client.models.sandbox_desired_state import SandboxDesiredState
82
83
  from daytona_api_client.models.sandbox_info import SandboxInfo
83
84
  from daytona_api_client.models.sandbox_labels import SandboxLabels
84
85
  from daytona_api_client.models.sandbox_state import SandboxState
@@ -19,7 +19,7 @@ import re # noqa: F401
19
19
  import json
20
20
 
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictStr
22
- from typing import Any, ClassVar, Dict, List
22
+ from typing import Any, ClassVar, Dict, List, Optional
23
23
  from typing import Optional, Set
24
24
  from typing_extensions import Self
25
25
 
@@ -29,8 +29,9 @@ class PortPreviewUrl(BaseModel):
29
29
  """ # noqa: E501
30
30
  url: StrictStr = Field(description="Preview url")
31
31
  token: StrictStr = Field(description="Access token")
32
+ legacy_proxy_url: Optional[StrictStr] = Field(default=None, description="Legacy preview url using runner domain", alias="legacyProxyUrl")
32
33
  additional_properties: Dict[str, Any] = {}
33
- __properties: ClassVar[List[str]] = ["url", "token"]
34
+ __properties: ClassVar[List[str]] = ["url", "token", "legacyProxyUrl"]
34
35
 
35
36
  model_config = ConfigDict(
36
37
  populate_by_name=True,
@@ -91,7 +92,8 @@ class PortPreviewUrl(BaseModel):
91
92
 
92
93
  _obj = cls.model_validate({
93
94
  "url": obj.get("url"),
94
- "token": obj.get("token")
95
+ "token": obj.get("token"),
96
+ "legacyProxyUrl": obj.get("legacyProxyUrl")
95
97
  })
96
98
  # store additional fields in additional_properties
97
99
  for _key in obj.keys():
@@ -21,6 +21,7 @@ import json
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List, Optional, Union
23
23
  from daytona_api_client.models.build_info import BuildInfo
24
+ from daytona_api_client.models.sandbox_desired_state import SandboxDesiredState
24
25
  from daytona_api_client.models.sandbox_state import SandboxState
25
26
  from daytona_api_client.models.sandbox_volume import SandboxVolume
26
27
  from typing import Optional, Set
@@ -43,6 +44,7 @@ class Sandbox(BaseModel):
43
44
  memory: Union[StrictFloat, StrictInt] = Field(description="The memory quota for the sandbox")
44
45
  disk: Union[StrictFloat, StrictInt] = Field(description="The disk quota for the sandbox")
45
46
  state: Optional[SandboxState] = Field(default=None, description="The state of the sandbox")
47
+ desired_state: Optional[SandboxDesiredState] = Field(default=None, description="The desired state of the sandbox", alias="desiredState")
46
48
  error_reason: Optional[StrictStr] = Field(default=None, description="The error reason of the sandbox", alias="errorReason")
47
49
  backup_state: Optional[StrictStr] = Field(default=None, description="The state of the backup", alias="backupState")
48
50
  backup_created_at: Optional[StrictStr] = Field(default=None, description="The creation timestamp of the last backup", alias="backupCreatedAt")
@@ -56,7 +58,7 @@ class Sandbox(BaseModel):
56
58
  var_class: Optional[StrictStr] = Field(default=None, description="The class of the sandbox", alias="class")
57
59
  daemon_version: Optional[StrictStr] = Field(default=None, description="The version of the daemon running in the sandbox", alias="daemonVersion")
58
60
  additional_properties: Dict[str, Any] = {}
59
- __properties: ClassVar[List[str]] = ["id", "organizationId", "snapshot", "user", "env", "labels", "public", "target", "cpu", "gpu", "memory", "disk", "state", "errorReason", "backupState", "backupCreatedAt", "autoStopInterval", "autoArchiveInterval", "runnerDomain", "volumes", "buildInfo", "createdAt", "updatedAt", "class", "daemonVersion"]
61
+ __properties: ClassVar[List[str]] = ["id", "organizationId", "snapshot", "user", "env", "labels", "public", "target", "cpu", "gpu", "memory", "disk", "state", "desiredState", "errorReason", "backupState", "backupCreatedAt", "autoStopInterval", "autoArchiveInterval", "runnerDomain", "volumes", "buildInfo", "createdAt", "updatedAt", "class", "daemonVersion"]
60
62
 
61
63
  @field_validator('backup_state')
62
64
  def backup_state_validate_enum(cls, value):
@@ -159,6 +161,7 @@ class Sandbox(BaseModel):
159
161
  "memory": obj.get("memory"),
160
162
  "disk": obj.get("disk"),
161
163
  "state": obj.get("state"),
164
+ "desiredState": obj.get("desiredState"),
162
165
  "errorReason": obj.get("errorReason"),
163
166
  "backupState": obj.get("backupState"),
164
167
  "backupCreatedAt": obj.get("backupCreatedAt"),
@@ -0,0 +1,41 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Daytona
5
+
6
+ Daytona AI platform API Docs
7
+
8
+ The version of the OpenAPI document: 1.0
9
+ Contact: support@daytona.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ from __future__ import annotations
17
+ import json
18
+ from enum import Enum
19
+ from typing_extensions import Self
20
+
21
+
22
+ class SandboxDesiredState(str, Enum):
23
+ """
24
+ The desired state of the sandbox
25
+ """
26
+
27
+ """
28
+ allowed enum values
29
+ """
30
+ DESTROYED = 'destroyed'
31
+ STARTED = 'started'
32
+ STOPPED = 'stopped'
33
+ RESIZED = 'resized'
34
+ ARCHIVED = 'archived'
35
+
36
+ @classmethod
37
+ def from_json(cls, json_str: str) -> Self:
38
+ """Create an instance of SandboxDesiredState from a JSON string"""
39
+ return cls(json.loads(json_str))
40
+
41
+
@@ -34,6 +34,7 @@ class SnapshotState(str, Enum):
34
34
  PENDING_VALIDATION = 'pending_validation'
35
35
  VALIDATING = 'validating'
36
36
  ACTIVE = 'active'
37
+ INACTIVE = 'inactive'
37
38
  ERROR = 'error'
38
39
  BUILD_FAILED = 'build_failed'
39
40
  REMOVING = 'removing'
@@ -21,6 +21,7 @@ import json
21
21
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
22
22
  from typing import Any, ClassVar, Dict, List, Optional, Union
23
23
  from daytona_api_client.models.build_info import BuildInfo
24
+ from daytona_api_client.models.sandbox_desired_state import SandboxDesiredState
24
25
  from daytona_api_client.models.sandbox_info import SandboxInfo
25
26
  from daytona_api_client.models.sandbox_state import SandboxState
26
27
  from daytona_api_client.models.sandbox_volume import SandboxVolume
@@ -44,6 +45,7 @@ class Workspace(BaseModel):
44
45
  memory: Union[StrictFloat, StrictInt] = Field(description="The memory quota for the sandbox")
45
46
  disk: Union[StrictFloat, StrictInt] = Field(description="The disk quota for the sandbox")
46
47
  state: Optional[SandboxState] = Field(default=None, description="The state of the sandbox")
48
+ desired_state: Optional[SandboxDesiredState] = Field(default=None, description="The desired state of the sandbox", alias="desiredState")
47
49
  error_reason: Optional[StrictStr] = Field(default=None, description="The error reason of the sandbox", alias="errorReason")
48
50
  backup_state: Optional[StrictStr] = Field(default=None, description="The state of the backup", alias="backupState")
49
51
  backup_created_at: Optional[StrictStr] = Field(default=None, description="The creation timestamp of the last backup", alias="backupCreatedAt")
@@ -62,7 +64,7 @@ class Workspace(BaseModel):
62
64
  snapshot_created_at: Optional[StrictStr] = Field(default=None, description="The creation timestamp of the last snapshot", alias="snapshotCreatedAt")
63
65
  info: Optional[SandboxInfo] = Field(default=None, description="Additional information about the sandbox")
64
66
  additional_properties: Dict[str, Any] = {}
65
- __properties: ClassVar[List[str]] = ["id", "organizationId", "snapshot", "user", "env", "labels", "public", "target", "cpu", "gpu", "memory", "disk", "state", "errorReason", "backupState", "backupCreatedAt", "autoStopInterval", "autoArchiveInterval", "runnerDomain", "volumes", "buildInfo", "createdAt", "updatedAt", "class", "daemonVersion", "name", "image", "snapshotState", "snapshotCreatedAt", "info"]
67
+ __properties: ClassVar[List[str]] = ["id", "organizationId", "snapshot", "user", "env", "labels", "public", "target", "cpu", "gpu", "memory", "disk", "state", "desiredState", "errorReason", "backupState", "backupCreatedAt", "autoStopInterval", "autoArchiveInterval", "runnerDomain", "volumes", "buildInfo", "createdAt", "updatedAt", "class", "daemonVersion", "name", "image", "snapshotState", "snapshotCreatedAt", "info"]
66
68
 
67
69
  @field_validator('backup_state')
68
70
  def backup_state_validate_enum(cls, value):
@@ -178,6 +180,7 @@ class Workspace(BaseModel):
178
180
  "memory": obj.get("memory"),
179
181
  "disk": obj.get("disk"),
180
182
  "state": obj.get("state"),
183
+ "desiredState": obj.get("desiredState"),
181
184
  "errorReason": obj.get("errorReason"),
182
185
  "backupState": obj.get("backupState"),
183
186
  "backupCreatedAt": obj.get("backupCreatedAt"),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: daytona_api_client
3
- Version: 0.21.5a7
3
+ Version: 0.21.8
4
4
  Summary: Daytona
5
5
  Home-page:
6
6
  Author: Daytona Platforms Inc.
@@ -88,6 +88,7 @@ setup.py
88
88
  ./daytona_api_client/models/runner_state.py
89
89
  ./daytona_api_client/models/sandbox.py
90
90
  ./daytona_api_client/models/sandbox_class.py
91
+ ./daytona_api_client/models/sandbox_desired_state.py
91
92
  ./daytona_api_client/models/sandbox_info.py
92
93
  ./daytona_api_client/models/sandbox_labels.py
93
94
  ./daytona_api_client/models/sandbox_state.py
@@ -203,6 +204,7 @@ daytona_api_client/models/runner_snapshot_dto.py
203
204
  daytona_api_client/models/runner_state.py
204
205
  daytona_api_client/models/sandbox.py
205
206
  daytona_api_client/models/sandbox_class.py
207
+ daytona_api_client/models/sandbox_desired_state.py
206
208
  daytona_api_client/models/sandbox_info.py
207
209
  daytona_api_client/models/sandbox_labels.py
208
210
  daytona_api_client/models/sandbox_state.py
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "daytona_api_client"
3
- version = "0.21.5a7"
3
+ version = "0.21.8"
4
4
  description = "Daytona"
5
5
  authors = ["Daytona Platforms Inc. <support@daytona.com>"]
6
6
  license = "Apache-2.0"
@@ -22,7 +22,7 @@ from setuptools import setup, find_packages # noqa: H301
22
22
  # prerequisite: setuptools
23
23
  # http://pypi.python.org/pypi/setuptools
24
24
  NAME = "daytona_api_client"
25
- VERSION = "0.21.5a7"
25
+ VERSION = "0.21.8"
26
26
  PYTHON_REQUIRES = ">= 3.8"
27
27
  REQUIRES = [
28
28
  "urllib3 >= 1.25.3, < 3.0.0",