anchorbrowser 0.1.1__tar.gz → 0.2.0__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 (182) hide show
  1. anchorbrowser-0.2.0/.release-please-manifest.json +3 -0
  2. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/CHANGELOG.md +22 -0
  3. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/PKG-INFO +6 -6
  4. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/README.md +1 -0
  5. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/api.md +38 -5
  6. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/pyproject.toml +5 -6
  7. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/requirements-dev.lock +2 -2
  8. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/requirements.lock +2 -2
  9. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_client.py +18 -1
  10. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_models.py +3 -0
  11. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_version.py +1 -1
  12. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/__init__.py +28 -0
  13. anchorbrowser-0.2.0/src/anchorbrowser/resources/batch_sessions.py +288 -0
  14. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/profiles.py +1 -115
  15. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/sessions/__init__.py +14 -0
  16. anchorbrowser-0.2.0/src/anchorbrowser/resources/sessions/agent/__init__.py +33 -0
  17. anchorbrowser-0.2.0/src/anchorbrowser/resources/sessions/agent/agent.py +273 -0
  18. anchorbrowser-0.2.0/src/anchorbrowser/resources/sessions/agent/files.py +280 -0
  19. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/sessions/mouse.py +1 -233
  20. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/sessions/sessions.py +39 -1
  21. anchorbrowser-0.2.0/src/anchorbrowser/resources/task/__init__.py +33 -0
  22. anchorbrowser-0.2.0/src/anchorbrowser/resources/task/run.py +225 -0
  23. anchorbrowser-0.2.0/src/anchorbrowser/resources/task/task.py +358 -0
  24. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/__init__.py +7 -1
  25. anchorbrowser-0.2.0/src/anchorbrowser/types/batch_session_create_params.py +487 -0
  26. anchorbrowser-0.2.0/src/anchorbrowser/types/batch_session_create_response.py +27 -0
  27. anchorbrowser-0.2.0/src/anchorbrowser/types/batch_session_retrieve_response.py +90 -0
  28. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_create_params.py +52 -9
  29. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/__init__.py +0 -4
  30. anchorbrowser-0.2.0/src/anchorbrowser/types/sessions/agent/__init__.py +7 -0
  31. anchorbrowser-0.2.0/src/anchorbrowser/types/sessions/agent/file_list_response.py +32 -0
  32. anchorbrowser-0.2.0/src/anchorbrowser/types/sessions/agent/file_upload_params.py +14 -0
  33. anchorbrowser-0.2.0/src/anchorbrowser/types/sessions/agent/file_upload_response.py +17 -0
  34. anchorbrowser-0.2.0/src/anchorbrowser/types/task/__init__.py +6 -0
  35. anchorbrowser-0.2.0/src/anchorbrowser/types/task/run_execute_params.py +324 -0
  36. anchorbrowser-0.2.0/src/anchorbrowser/types/task/run_execute_response.py +33 -0
  37. anchorbrowser-0.2.0/src/anchorbrowser/types/task_create_params.py +317 -0
  38. anchorbrowser-0.2.0/src/anchorbrowser/types/task_create_response.py +345 -0
  39. anchorbrowser-0.2.0/src/anchorbrowser/types/task_list_params.py +15 -0
  40. anchorbrowser-0.2.0/src/anchorbrowser/types/task_list_response.py +361 -0
  41. anchorbrowser-0.2.0/tests/api_resources/sessions/agent/test_files.py +200 -0
  42. anchorbrowser-0.2.0/tests/api_resources/sessions/test_agent.py +192 -0
  43. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/sessions/test_clipboard.py +8 -8
  44. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/sessions/test_keyboard.py +24 -24
  45. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/sessions/test_mouse.py +0 -246
  46. anchorbrowser-0.2.0/tests/api_resources/task/__init__.py +1 -0
  47. anchorbrowser-0.2.0/tests/api_resources/task/test_run.py +154 -0
  48. anchorbrowser-0.2.0/tests/api_resources/test_batch_sessions.py +288 -0
  49. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/test_events.py +16 -16
  50. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/test_extensions.py +18 -18
  51. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/test_profiles.py +27 -136
  52. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/test_sessions.py +122 -108
  53. anchorbrowser-0.2.0/tests/api_resources/test_task.py +226 -0
  54. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/test_tools.py +31 -65
  55. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_client.py +10 -10
  56. anchorbrowser-0.1.1/.release-please-manifest.json +0 -3
  57. anchorbrowser-0.1.1/src/anchorbrowser/types/profile_update_params.py +0 -21
  58. anchorbrowser-0.1.1/src/anchorbrowser/types/sessions/mouse_down_params.py +0 -18
  59. anchorbrowser-0.1.1/src/anchorbrowser/types/sessions/mouse_down_response.py +0 -11
  60. anchorbrowser-0.1.1/src/anchorbrowser/types/sessions/mouse_up_params.py +0 -18
  61. anchorbrowser-0.1.1/src/anchorbrowser/types/sessions/mouse_up_response.py +0 -11
  62. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/.gitignore +0 -0
  63. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/CONTRIBUTING.md +0 -0
  64. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/LICENSE +0 -0
  65. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/SECURITY.md +0 -0
  66. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/bin/check-release-environment +0 -0
  67. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/bin/publish-pypi +0 -0
  68. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/examples/.keep +0 -0
  69. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/noxfile.py +0 -0
  70. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/release-please-config.json +0 -0
  71. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/__init__.py +0 -0
  72. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_base_client.py +0 -0
  73. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_compat.py +0 -0
  74. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_constants.py +0 -0
  75. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_exceptions.py +0 -0
  76. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_files.py +0 -0
  77. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_qs.py +0 -0
  78. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_resource.py +0 -0
  79. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_response.py +0 -0
  80. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_streaming.py +0 -0
  81. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_types.py +0 -0
  82. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/__init__.py +0 -0
  83. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/_compat.py +0 -0
  84. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/_datetime_parse.py +0 -0
  85. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/_logs.py +0 -0
  86. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/_proxy.py +0 -0
  87. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/_reflection.py +0 -0
  88. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/_resources_proxy.py +0 -0
  89. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/_streams.py +0 -0
  90. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/_sync.py +0 -0
  91. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/_transform.py +0 -0
  92. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/_typing.py +0 -0
  93. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/_utils/_utils.py +0 -0
  94. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/lib/.keep +0 -0
  95. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/lib/agent.py +0 -0
  96. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/lib/browser.py +0 -0
  97. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/py.typed +0 -0
  98. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/agent.py +0 -0
  99. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/browser.py +0 -0
  100. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/events.py +0 -0
  101. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/extensions.py +0 -0
  102. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/sessions/all.py +0 -0
  103. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/sessions/clipboard.py +0 -0
  104. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/sessions/keyboard.py +0 -0
  105. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/sessions/recordings/__init__.py +0 -0
  106. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/sessions/recordings/primary.py +0 -0
  107. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/sessions/recordings/recordings.py +0 -0
  108. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/resources/tools.py +0 -0
  109. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/event_signal_params.py +0 -0
  110. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/event_wait_for_params.py +0 -0
  111. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/event_wait_for_response.py +0 -0
  112. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/extension_delete_response.py +0 -0
  113. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/extension_list_response.py +0 -0
  114. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/extension_manifest.py +0 -0
  115. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/extension_retrieve_response.py +0 -0
  116. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/extension_upload_params.py +0 -0
  117. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/extension_upload_response.py +0 -0
  118. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/profile_create_params.py +0 -0
  119. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/profile_list_response.py +0 -0
  120. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/profile_retrieve_response.py +0 -0
  121. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_copy_response.py +0 -0
  122. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_create_response.py +0 -0
  123. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_drag_and_drop_params.py +0 -0
  124. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_drag_and_drop_response.py +0 -0
  125. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_goto_params.py +0 -0
  126. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_goto_response.py +0 -0
  127. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_list_pages_response.py +0 -0
  128. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_paste_params.py +0 -0
  129. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_paste_response.py +0 -0
  130. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_retrieve_downloads_response.py +0 -0
  131. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_retrieve_response.py +0 -0
  132. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_scroll_params.py +0 -0
  133. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_scroll_response.py +0 -0
  134. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_upload_file_params.py +0 -0
  135. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/session_upload_file_response.py +0 -0
  136. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/all_status_response.py +0 -0
  137. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/clipboard_get_response.py +0 -0
  138. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/clipboard_set_params.py +0 -0
  139. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/clipboard_set_response.py +0 -0
  140. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/keyboard_shortcut_params.py +0 -0
  141. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/keyboard_shortcut_response.py +0 -0
  142. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/keyboard_type_params.py +0 -0
  143. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/keyboard_type_response.py +0 -0
  144. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/mouse_click_params.py +0 -0
  145. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/mouse_click_response.py +0 -0
  146. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/mouse_double_click_params.py +0 -0
  147. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/mouse_double_click_response.py +0 -0
  148. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/mouse_move_params.py +0 -0
  149. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/mouse_move_response.py +0 -0
  150. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/recording_list_response.py +0 -0
  151. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/recording_pause_response.py +0 -0
  152. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/recording_resume_response.py +0 -0
  153. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/sessions/recordings/__init__.py +0 -0
  154. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/shared/__init__.py +0 -0
  155. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/shared/success_response.py +0 -0
  156. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/tool_fetch_webpage_params.py +0 -0
  157. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/tool_fetch_webpage_response.py +0 -0
  158. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/tool_perform_web_task_params.py +0 -0
  159. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/tool_perform_web_task_response.py +0 -0
  160. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/src/anchorbrowser/types/tool_screenshot_webpage_params.py +0 -0
  161. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/__init__.py +0 -0
  162. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/__init__.py +0 -0
  163. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/sessions/__init__.py +0 -0
  164. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/sessions/recordings/__init__.py +0 -0
  165. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/sessions/recordings/test_primary.py +0 -0
  166. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/sessions/test_all.py +0 -0
  167. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/api_resources/sessions/test_recordings.py +0 -0
  168. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/conftest.py +0 -0
  169. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/sample_file.txt +0 -0
  170. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_deepcopy.py +0 -0
  171. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_extract_files.py +0 -0
  172. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_files.py +0 -0
  173. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_models.py +0 -0
  174. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_qs.py +0 -0
  175. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_required_args.py +0 -0
  176. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_response.py +0 -0
  177. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_streaming.py +0 -0
  178. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_transform.py +0 -0
  179. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_utils/test_datetime_parse.py +0 -0
  180. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_utils/test_proxy.py +0 -0
  181. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/test_utils/test_typing.py +0 -0
  182. {anchorbrowser-0.1.1 → anchorbrowser-0.2.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.2.0"
3
+ }
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.0 (2025-10-20)
4
+
5
+ Full Changelog: [v0.1.1...v0.2.0](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.1.1...v0.2.0)
6
+
7
+ ### Features
8
+
9
+ * added batch and cursor rules ([db09e9b](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/db09e9b9fb753744809924e7b7eab822055c4b38))
10
+ * **api:** manual updates ([5847952](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/58479526f72df0bb37f42957243b416418e4f0d8))
11
+ * Bro 908 1 password integration 2 ([a63dc90](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/a63dc908ecf9de43296b3143574b756b6c94089e))
12
+ * BRO-959 us as default proxy country code ([a3d9294](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/a3d9294f0d20e07f49386dd07e8d8344a32d1d10))
13
+ * BRO-976 docs: add extra_stealth to openai and sdk ([d7aea94](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/d7aea94bd209bbafc08777a022203f8ab89697e3))
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * agent pause resume is back ([77d8397](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/77d8397b3742e77faacb39b89682d4fabaeb7ed1))
19
+
20
+
21
+ ### Chores
22
+
23
+ * bump `httpx-aiohttp` version to 0.1.9 ([316d40e](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/316d40e4bb48b4c6b2a38afd75b7c855fc80f126))
24
+
3
25
  ## 0.1.1 (2025-10-11)
4
26
 
5
27
  Full Changelog: [v0.1.0...v0.1.1](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.1.0...v0.1.1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: anchorbrowser
3
- Version: 0.1.1
3
+ Version: 0.2.0
4
4
  Summary: The official Python library for the anchorbrowser API
5
5
  Project-URL: Homepage, https://github.com/anchorbrowser/AnchorBrowser-SDK-Python
6
6
  Project-URL: Repository, https://github.com/anchorbrowser/AnchorBrowser-SDK-Python
@@ -13,7 +13,6 @@ Classifier: Operating System :: Microsoft :: Windows
13
13
  Classifier: Operating System :: OS Independent
14
14
  Classifier: Operating System :: POSIX
15
15
  Classifier: Operating System :: POSIX :: Linux
16
- Classifier: Programming Language :: Python :: 3.8
17
16
  Classifier: Programming Language :: Python :: 3.9
18
17
  Classifier: Programming Language :: Python :: 3.10
19
18
  Classifier: Programming Language :: Python :: 3.11
@@ -21,18 +20,18 @@ Classifier: Programming Language :: Python :: 3.12
21
20
  Classifier: Programming Language :: Python :: 3.13
22
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
22
  Classifier: Typing :: Typed
24
- Requires-Python: >=3.8
23
+ Requires-Python: >=3.9
25
24
  Requires-Dist: anyio<5,>=3.5.0
26
25
  Requires-Dist: distro<2,>=1.7.0
27
- Requires-Dist: httpx<1,>=0.23.0
26
+ Requires-Dist: httpx>=0.28.1
28
27
  Requires-Dist: playwright>=1.55.0
29
28
  Requires-Dist: pydantic<3,>=1.9.0
30
29
  Requires-Dist: sniffio
31
- Requires-Dist: typing-extensions<5,>=4.10
30
+ Requires-Dist: typing-extensions>=4.15.0
32
31
  Requires-Dist: websockets>=15.0.1
33
32
  Provides-Extra: aiohttp
34
33
  Requires-Dist: aiohttp; extra == 'aiohttp'
35
- Requires-Dist: httpx-aiohttp>=0.1.8; extra == 'aiohttp'
34
+ Requires-Dist: httpx-aiohttp>=0.1.9; extra == 'aiohttp'
36
35
  Description-Content-Type: text/markdown
37
36
 
38
37
  # Anchorbrowser Python API library
@@ -174,6 +173,7 @@ from anchorbrowser import Anchorbrowser
174
173
  client = Anchorbrowser()
175
174
 
176
175
  client.sessions.upload_file(
176
+ session_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
177
177
  file=Path("/path/to/file"),
178
178
  )
179
179
  ```
@@ -137,6 +137,7 @@ from anchorbrowser import Anchorbrowser
137
137
  client = Anchorbrowser()
138
138
 
139
139
  client.sessions.upload_file(
140
+ session_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
140
141
  file=Path("/path/to/file"),
141
142
  )
142
143
  ```
@@ -16,7 +16,6 @@ Methods:
16
16
 
17
17
  - <code title="post /v1/profiles">client.profiles.<a href="./src/anchorbrowser/resources/profiles.py">create</a>(\*\*<a href="src/anchorbrowser/types/profile_create_params.py">params</a>) -> <a href="./src/anchorbrowser/types/shared/success_response.py">SuccessResponse</a></code>
18
18
  - <code title="get /v1/profiles/{name}">client.profiles.<a href="./src/anchorbrowser/resources/profiles.py">retrieve</a>(name) -> <a href="./src/anchorbrowser/types/profile_retrieve_response.py">ProfileRetrieveResponse</a></code>
19
- - <code title="put /v1/profiles/{name}">client.profiles.<a href="./src/anchorbrowser/resources/profiles.py">update</a>(name, \*\*<a href="src/anchorbrowser/types/profile_update_params.py">params</a>) -> <a href="./src/anchorbrowser/types/shared/success_response.py">SuccessResponse</a></code>
20
19
  - <code title="get /v1/profiles">client.profiles.<a href="./src/anchorbrowser/resources/profiles.py">list</a>() -> <a href="./src/anchorbrowser/types/profile_list_response.py">ProfileListResponse</a></code>
21
20
  - <code title="delete /v1/profiles/{name}">client.profiles.<a href="./src/anchorbrowser/resources/profiles.py">delete</a>(name) -> <a href="./src/anchorbrowser/types/shared/success_response.py">SuccessResponse</a></code>
22
21
 
@@ -99,9 +98,7 @@ Types:
99
98
  from anchorbrowser.types.sessions import (
100
99
  MouseClickResponse,
101
100
  MouseDoubleClickResponse,
102
- MouseDownResponse,
103
101
  MouseMoveResponse,
104
- MouseUpResponse,
105
102
  )
106
103
  ```
107
104
 
@@ -109,9 +106,7 @@ Methods:
109
106
 
110
107
  - <code title="post /v1/sessions/{sessionId}/mouse/click">client.sessions.mouse.<a href="./src/anchorbrowser/resources/sessions/mouse.py">click</a>(session_id, \*\*<a href="src/anchorbrowser/types/sessions/mouse_click_params.py">params</a>) -> <a href="./src/anchorbrowser/types/sessions/mouse_click_response.py">MouseClickResponse</a></code>
111
108
  - <code title="post /v1/sessions/{sessionId}/mouse/doubleClick">client.sessions.mouse.<a href="./src/anchorbrowser/resources/sessions/mouse.py">double_click</a>(session_id, \*\*<a href="src/anchorbrowser/types/sessions/mouse_double_click_params.py">params</a>) -> <a href="./src/anchorbrowser/types/sessions/mouse_double_click_response.py">MouseDoubleClickResponse</a></code>
112
- - <code title="post /v1/sessions/{sessionId}/mouse/down">client.sessions.mouse.<a href="./src/anchorbrowser/resources/sessions/mouse.py">down</a>(session_id, \*\*<a href="src/anchorbrowser/types/sessions/mouse_down_params.py">params</a>) -> <a href="./src/anchorbrowser/types/sessions/mouse_down_response.py">MouseDownResponse</a></code>
113
109
  - <code title="post /v1/sessions/{sessionId}/mouse/move">client.sessions.mouse.<a href="./src/anchorbrowser/resources/sessions/mouse.py">move</a>(session_id, \*\*<a href="src/anchorbrowser/types/sessions/mouse_move_params.py">params</a>) -> <a href="./src/anchorbrowser/types/sessions/mouse_move_response.py">MouseMoveResponse</a></code>
114
- - <code title="post /v1/sessions/{sessionId}/mouse/up">client.sessions.mouse.<a href="./src/anchorbrowser/resources/sessions/mouse.py">up</a>(session_id, \*\*<a href="src/anchorbrowser/types/sessions/mouse_up_params.py">params</a>) -> <a href="./src/anchorbrowser/types/sessions/mouse_up_response.py">MouseUpResponse</a></code>
115
110
 
116
111
  ## Keyboard
117
112
 
@@ -206,3 +201,41 @@ Methods:
206
201
 
207
202
  - <code title="post /v1/events/{event_name}">client.events.<a href="./src/anchorbrowser/resources/events.py">signal</a>(event_name, \*\*<a href="src/anchorbrowser/types/event_signal_params.py">params</a>) -> <a href="./src/anchorbrowser/types/shared/success_response.py">SuccessResponse</a></code>
208
203
  - <code title="post /v1/events/{event_name}/wait">client.events.<a href="./src/anchorbrowser/resources/events.py">wait_for</a>(event_name, \*\*<a href="src/anchorbrowser/types/event_wait_for_params.py">params</a>) -> <a href="./src/anchorbrowser/types/event_wait_for_response.py">EventWaitForResponse</a></code>
204
+
205
+ # BatchSessions
206
+
207
+ Types:
208
+
209
+ ```python
210
+ from anchorbrowser.types import BatchSessionCreateResponse, BatchSessionRetrieveResponse
211
+ ```
212
+
213
+ Methods:
214
+
215
+ - <code title="post /v1/batch-sessions">client.batch_sessions.<a href="./src/anchorbrowser/resources/batch_sessions.py">create</a>(\*\*<a href="src/anchorbrowser/types/batch_session_create_params.py">params</a>) -> <a href="./src/anchorbrowser/types/batch_session_create_response.py">BatchSessionCreateResponse</a></code>
216
+ - <code title="get /v1/batch-sessions/{batch_id}">client.batch_sessions.<a href="./src/anchorbrowser/resources/batch_sessions.py">retrieve</a>(batch_id) -> <a href="./src/anchorbrowser/types/batch_session_retrieve_response.py">BatchSessionRetrieveResponse</a></code>
217
+
218
+ # Task
219
+
220
+ Types:
221
+
222
+ ```python
223
+ from anchorbrowser.types import TaskCreateResponse, TaskListResponse
224
+ ```
225
+
226
+ Methods:
227
+
228
+ - <code title="post /v1/task">client.task.<a href="./src/anchorbrowser/resources/task/task.py">create</a>(\*\*<a href="src/anchorbrowser/types/task_create_params.py">params</a>) -> <a href="./src/anchorbrowser/types/task_create_response.py">TaskCreateResponse</a></code>
229
+ - <code title="get /v1/task">client.task.<a href="./src/anchorbrowser/resources/task/task.py">list</a>(\*\*<a href="src/anchorbrowser/types/task_list_params.py">params</a>) -> <a href="./src/anchorbrowser/types/task_list_response.py">TaskListResponse</a></code>
230
+
231
+ ## Run
232
+
233
+ Types:
234
+
235
+ ```python
236
+ from anchorbrowser.types.task import RunExecuteResponse
237
+ ```
238
+
239
+ Methods:
240
+
241
+ - <code title="post /v1/task/run">client.task.run.<a href="./src/anchorbrowser/resources/task/run.py">execute</a>(\*\*<a href="src/anchorbrowser/types/task/run_execute_params.py">params</a>) -> <a href="./src/anchorbrowser/types/task/run_execute_response.py">RunExecuteResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "anchorbrowser"
3
- version = "0.1.1"
3
+ version = "0.2.0"
4
4
  description = "The official Python library for the anchorbrowser API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -8,20 +8,19 @@ authors = [
8
8
  { name = "Anchorbrowser", email = "support@anchorbrowser.io" },
9
9
  ]
10
10
  dependencies = [
11
- "httpx>=0.23.0, <1",
11
+ "httpx>=0.28.1",
12
12
  "pydantic>=1.9.0, <3",
13
- "typing-extensions>=4.10, <5",
13
+ "typing-extensions>=4.15.0",
14
14
  "anyio>=3.5.0, <5",
15
15
  "distro>=1.7.0, <2",
16
16
  "sniffio",
17
17
  "websockets>=15.0.1",
18
18
  "playwright>=1.55.0",
19
19
  ]
20
- requires-python = ">= 3.8"
20
+ requires-python = ">= 3.9"
21
21
  classifiers = [
22
22
  "Typing :: Typed",
23
23
  "Intended Audience :: Developers",
24
- "Programming Language :: Python :: 3.8",
25
24
  "Programming Language :: Python :: 3.9",
26
25
  "Programming Language :: Python :: 3.10",
27
26
  "Programming Language :: Python :: 3.11",
@@ -41,7 +40,7 @@ Homepage = "https://github.com/anchorbrowser/AnchorBrowser-SDK-Python"
41
40
  Repository = "https://github.com/anchorbrowser/AnchorBrowser-SDK-Python"
42
41
 
43
42
  [project.optional-dependencies]
44
- aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.8"]
43
+ aiohttp = ["aiohttp", "httpx_aiohttp>=0.1.9"]
45
44
 
46
45
  [tool.rye]
47
46
  managed = true
@@ -58,7 +58,7 @@ httpx==0.28.1
58
58
  # via anchorbrowser
59
59
  # via httpx-aiohttp
60
60
  # via respx
61
- httpx-aiohttp==0.1.8
61
+ httpx-aiohttp==0.1.9
62
62
  # via anchorbrowser
63
63
  idna==3.4
64
64
  # via anyio
@@ -124,7 +124,7 @@ time-machine==2.9.0
124
124
  tomli==2.3.0
125
125
  # via mypy
126
126
  # via pytest
127
- typing-extensions==4.12.2
127
+ typing-extensions==4.15.0
128
128
  # via anchorbrowser
129
129
  # via anyio
130
130
  # via exceptiongroup
@@ -45,7 +45,7 @@ httpcore==1.0.9
45
45
  httpx==0.28.1
46
46
  # via anchorbrowser
47
47
  # via httpx-aiohttp
48
- httpx-aiohttp==0.1.8
48
+ httpx-aiohttp==0.1.9
49
49
  # via anchorbrowser
50
50
  idna==3.4
51
51
  # via anyio
@@ -68,7 +68,7 @@ pyee==13.0.0
68
68
  sniffio==1.3.0
69
69
  # via anchorbrowser
70
70
  # via anyio
71
- typing-extensions==4.12.2
71
+ typing-extensions==4.15.0
72
72
  # via anchorbrowser
73
73
  # via anyio
74
74
  # via exceptiongroup
@@ -21,7 +21,7 @@ from ._types import (
21
21
  )
22
22
  from ._utils import is_given, get_async_library
23
23
  from ._version import __version__
24
- from .resources import agent, tools, events, browser, profiles, extensions
24
+ from .resources import agent, tools, events, browser, profiles, extensions, batch_sessions
25
25
  from ._streaming import Stream as Stream, AsyncStream as AsyncStream
26
26
  from ._exceptions import APIStatusError, AnchorbrowserError
27
27
  from ._base_client import (
@@ -29,6 +29,7 @@ from ._base_client import (
29
29
  SyncAPIClient,
30
30
  AsyncAPIClient,
31
31
  )
32
+ from .resources.task import task
32
33
  from .resources.sessions import sessions
33
34
 
34
35
  __all__ = [
@@ -51,6 +52,8 @@ class Anchorbrowser(SyncAPIClient):
51
52
  browser: browser.BrowserResource
52
53
  agent: agent.AgentResource
53
54
  events: events.EventsResource
55
+ batch_sessions: batch_sessions.BatchSessionsResource
56
+ task: task.TaskResource
54
57
  with_raw_response: AnchorbrowserWithRawResponse
55
58
  with_streaming_response: AnchorbrowserWithStreamedResponse
56
59
 
@@ -115,6 +118,8 @@ class Anchorbrowser(SyncAPIClient):
115
118
  self.browser = browser.BrowserResource(self)
116
119
  self.agent = agent.AgentResource(self)
117
120
  self.events = events.EventsResource(self)
121
+ self.batch_sessions = batch_sessions.BatchSessionsResource(self)
122
+ self.task = task.TaskResource(self)
118
123
  self.with_raw_response = AnchorbrowserWithRawResponse(self)
119
124
  self.with_streaming_response = AnchorbrowserWithStreamedResponse(self)
120
125
 
@@ -231,6 +236,8 @@ class AsyncAnchorbrowser(AsyncAPIClient):
231
236
  browser: browser.AsyncBrowserResource
232
237
  agent: agent.AsyncAgentResource
233
238
  events: events.AsyncEventsResource
239
+ batch_sessions: batch_sessions.AsyncBatchSessionsResource
240
+ task: task.AsyncTaskResource
234
241
  with_raw_response: AsyncAnchorbrowserWithRawResponse
235
242
  with_streaming_response: AsyncAnchorbrowserWithStreamedResponse
236
243
 
@@ -295,6 +302,8 @@ class AsyncAnchorbrowser(AsyncAPIClient):
295
302
  self.browser = browser.AsyncBrowserResource(self)
296
303
  self.agent = agent.AsyncAgentResource(self)
297
304
  self.events = events.AsyncEventsResource(self)
305
+ self.batch_sessions = batch_sessions.AsyncBatchSessionsResource(self)
306
+ self.task = task.AsyncTaskResource(self)
298
307
  self.with_raw_response = AsyncAnchorbrowserWithRawResponse(self)
299
308
  self.with_streaming_response = AsyncAnchorbrowserWithStreamedResponse(self)
300
309
 
@@ -412,6 +421,8 @@ class AnchorbrowserWithRawResponse:
412
421
  self.browser = browser.BrowserResourceWithRawResponse(client.browser)
413
422
  self.agent = agent.AgentResourceWithRawResponse(client.agent)
414
423
  self.events = events.EventsResourceWithRawResponse(client.events)
424
+ self.batch_sessions = batch_sessions.BatchSessionsResourceWithRawResponse(client.batch_sessions)
425
+ self.task = task.TaskResourceWithRawResponse(client.task)
415
426
 
416
427
 
417
428
  class AsyncAnchorbrowserWithRawResponse:
@@ -423,6 +434,8 @@ class AsyncAnchorbrowserWithRawResponse:
423
434
  self.browser = browser.AsyncBrowserResourceWithRawResponse(client.browser)
424
435
  self.agent = agent.AsyncAgentResourceWithRawResponse(client.agent)
425
436
  self.events = events.AsyncEventsResourceWithRawResponse(client.events)
437
+ self.batch_sessions = batch_sessions.AsyncBatchSessionsResourceWithRawResponse(client.batch_sessions)
438
+ self.task = task.AsyncTaskResourceWithRawResponse(client.task)
426
439
 
427
440
 
428
441
  class AnchorbrowserWithStreamedResponse:
@@ -434,6 +447,8 @@ class AnchorbrowserWithStreamedResponse:
434
447
  self.browser = browser.BrowserResourceWithStreamingResponse(client.browser)
435
448
  self.agent = agent.AgentResourceWithStreamingResponse(client.agent)
436
449
  self.events = events.EventsResourceWithStreamingResponse(client.events)
450
+ self.batch_sessions = batch_sessions.BatchSessionsResourceWithStreamingResponse(client.batch_sessions)
451
+ self.task = task.TaskResourceWithStreamingResponse(client.task)
437
452
 
438
453
 
439
454
  class AsyncAnchorbrowserWithStreamedResponse:
@@ -445,6 +460,8 @@ class AsyncAnchorbrowserWithStreamedResponse:
445
460
  self.browser = browser.AsyncBrowserResourceWithStreamingResponse(client.browser)
446
461
  self.agent = agent.AsyncAgentResourceWithStreamingResponse(client.agent)
447
462
  self.events = events.AsyncEventsResourceWithStreamingResponse(client.events)
463
+ self.batch_sessions = batch_sessions.AsyncBatchSessionsResourceWithStreamingResponse(client.batch_sessions)
464
+ self.task = task.AsyncTaskResourceWithStreamingResponse(client.task)
448
465
 
449
466
 
450
467
  Client = Anchorbrowser
@@ -260,6 +260,7 @@ class BaseModel(pydantic.BaseModel):
260
260
  exclude_unset: bool = False,
261
261
  exclude_defaults: bool = False,
262
262
  exclude_none: bool = False,
263
+ exclude_computed_fields: bool = False,
263
264
  round_trip: bool = False,
264
265
  warnings: bool | Literal["none", "warn", "error"] = True,
265
266
  context: dict[str, Any] | None = None,
@@ -320,11 +321,13 @@ class BaseModel(pydantic.BaseModel):
320
321
  exclude_unset: bool = False,
321
322
  exclude_defaults: bool = False,
322
323
  exclude_none: bool = False,
324
+ exclude_computed_fields: bool = False,
323
325
  round_trip: bool = False,
324
326
  warnings: bool | Literal["none", "warn", "error"] = True,
325
327
  context: dict[str, Any] | None = None,
326
328
  fallback: Callable[[Any], Any] | None = None,
327
329
  serialize_as_any: bool = False,
330
+ ensure_ascii: bool = True,
328
331
  ) -> str:
329
332
  """Usage docs: https://docs.pydantic.dev/2.4/concepts/serialization/#modelmodel_dump_json
330
333
 
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "anchorbrowser"
4
- __version__ = "0.1.1" # x-release-please-version
4
+ __version__ = "0.2.0" # x-release-please-version
@@ -1,5 +1,13 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from .task import (
4
+ TaskResource,
5
+ AsyncTaskResource,
6
+ TaskResourceWithRawResponse,
7
+ AsyncTaskResourceWithRawResponse,
8
+ TaskResourceWithStreamingResponse,
9
+ AsyncTaskResourceWithStreamingResponse,
10
+ )
3
11
  from .tools import (
4
12
  ToolsResource,
5
13
  AsyncToolsResource,
@@ -40,6 +48,14 @@ from .extensions import (
40
48
  ExtensionsResourceWithStreamingResponse,
41
49
  AsyncExtensionsResourceWithStreamingResponse,
42
50
  )
51
+ from .batch_sessions import (
52
+ BatchSessionsResource,
53
+ AsyncBatchSessionsResource,
54
+ BatchSessionsResourceWithRawResponse,
55
+ AsyncBatchSessionsResourceWithRawResponse,
56
+ BatchSessionsResourceWithStreamingResponse,
57
+ AsyncBatchSessionsResourceWithStreamingResponse,
58
+ )
43
59
 
44
60
  __all__ = [
45
61
  "ProfilesResource",
@@ -72,4 +88,16 @@ __all__ = [
72
88
  "AsyncEventsResourceWithRawResponse",
73
89
  "EventsResourceWithStreamingResponse",
74
90
  "AsyncEventsResourceWithStreamingResponse",
91
+ "BatchSessionsResource",
92
+ "AsyncBatchSessionsResource",
93
+ "BatchSessionsResourceWithRawResponse",
94
+ "AsyncBatchSessionsResourceWithRawResponse",
95
+ "BatchSessionsResourceWithStreamingResponse",
96
+ "AsyncBatchSessionsResourceWithStreamingResponse",
97
+ "TaskResource",
98
+ "AsyncTaskResource",
99
+ "TaskResourceWithRawResponse",
100
+ "AsyncTaskResourceWithRawResponse",
101
+ "TaskResourceWithStreamingResponse",
102
+ "AsyncTaskResourceWithStreamingResponse",
75
103
  ]