kernel 0.64.0__tar.gz → 0.65.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.
- kernel-0.65.0/.release-please-manifest.json +3 -0
- {kernel-0.64.0 → kernel-0.65.0}/CHANGELOG.md +9 -0
- {kernel-0.64.0 → kernel-0.65.0}/PKG-INFO +1 -1
- {kernel-0.64.0 → kernel-0.65.0}/api.md +3 -3
- {kernel-0.64.0 → kernel-0.65.0}/pyproject.toml +1 -1
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_version.py +1 -1
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browser_pools.py +33 -2
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/browsers.py +26 -26
- kernel-0.65.0/src/kernel/types/browser_pool_acquire_params.py +33 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_browser_pools.py +10 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_browsers.py +26 -26
- kernel-0.64.0/.release-please-manifest.json +0 -3
- kernel-0.64.0/src/kernel/types/browser_pool_acquire_params.py +0 -16
- {kernel-0.64.0 → kernel-0.65.0}/.gitignore +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/CONTRIBUTING.md +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/LICENSE +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/README.md +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/SECURITY.md +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/bin/check-release-environment +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/bin/publish-pypi +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/examples/.keep +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/examples/browser_routing.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/examples/browser_telemetry.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/noxfile.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/release-please-config.json +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/requirements-dev.lock +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/requirements.lock +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_base_client.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_client.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_compat.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_constants.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_exceptions.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_files.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_models.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_qs.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_resource.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_streaming.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_types.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_compat.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_datetime_parse.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_json.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_logs.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_path.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_proxy.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_reflection.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_resources_proxy.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_streams.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_sync.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_transform.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_typing.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_utils.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/app_framework.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/lib/.keep +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/raw_http.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/routing.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/util.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/pagination.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/py.typed +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/api_keys.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/apps.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/auth/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/auth/auth.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/auth/connections.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/computer.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/fs/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/fs/fs.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/fs/watch.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/logs.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/playwright.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/process.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/replays.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/telemetry.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/credential_providers.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/credentials.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/deployments.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/extensions.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/invocations.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/profiles.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/projects/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/projects/limits.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/projects/projects.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/proxies.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/api_key.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/api_key_create_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/api_key_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/api_key_update_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/app_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/app_list_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_create_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_follow_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_login_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_submit_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_update_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/login_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/managed_auth.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/submit_fields_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_create_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_create_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_curl_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_curl_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_list_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_load_extensions_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_acquire_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_create_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_delete_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_ref.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_release_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_update_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_retrieve_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_retrieve_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_update_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_update_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_usage.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_api_call_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_call_stack.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_captcha_solve_result_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_cdp_connect_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_cdp_disconnect_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_console_error_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_console_log_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_event_context.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_event_source.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_http_headers.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_interaction_click_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_interaction_key_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_interaction_scroll_settled_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_live_view_connect_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_live_view_disconnect_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_disconnected_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_init_failed_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_reconnect_failed_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_reconnected_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_screenshot_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_idle_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_loading_failed_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_request_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_response_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_dom_content_loaded_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_layout_settled_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_layout_shift_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_lcp_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_load_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_navigation_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_navigation_settled_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_tab_opened_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_service_crashed_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_system_oom_kill_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_categories_config.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_categories_config_param.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_category_config.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_category_config_param.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_config.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_batch_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_capture_screenshot_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_click_mouse_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_drag_mouse_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_get_mouse_position_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_move_mouse_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_press_key_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_read_clipboard_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_scroll_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_set_cursor_visibility_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_set_cursor_visibility_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_type_text_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_write_clipboard_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_create_directory_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_delete_directory_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_delete_file_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_download_dir_zip_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_file_info_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_file_info_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_list_files_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_list_files_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_move_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_read_file_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_set_file_permissions_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_upload_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_upload_zip_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_write_file_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/watch_events_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/watch_start_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/watch_start_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/log_stream_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/playwright_execute_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/playwright_execute_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_exec_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_exec_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_kill_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_kill_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_resize_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_resize_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_spawn_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_spawn_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_status_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_stdin_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_stdin_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_stdout_stream_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/replay_list_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/replay_start_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/replay_start_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/telemetry_stream_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/created_api_key.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_create_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_create_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_item.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_list_items_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_test_result.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_update_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_totp_code_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_update_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_create_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_create_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_follow_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_follow_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_list_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_retrieve_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_state_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/extension_download_from_chrome_store_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/extension_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/extension_list_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/extension_upload_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/extension_upload_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_create_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_create_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_follow_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_follow_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_list_browsers_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_list_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_retrieve_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_state_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_update_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_update_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/profile.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/profile_create_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/profile_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/project.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/project_create_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/project_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/project_update_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/projects/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/projects/limit_update_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/projects/project_limits.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_check_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_check_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_create_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_create_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_list_params.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_list_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_retrieve_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/app_action.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/browser_extension.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/browser_profile.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/browser_viewport.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/error_detail.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/error_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/error_model.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/heartbeat_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/log_event.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared_params/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared_params/browser_extension.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared_params/browser_profile.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared_params/browser_viewport.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/tags.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/tags_param.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/auth/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/auth/test_connections.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/fs/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/fs/test_watch.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_computer.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_fs.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_logs.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_playwright.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_process.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_replays.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_telemetry.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/projects/__init__.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/projects/test_limits.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_api_keys.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_apps.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_credential_providers.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_credentials.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_deployments.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_extensions.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_invocations.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_profiles.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_projects.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_proxies.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/conftest.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/sample_file.txt +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_browser_routing.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_client.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_extract_files.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_files.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_models.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_qs.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_required_args.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_response.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_streaming.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_transform.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_utils/test_json.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_utils/test_path.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_utils/test_proxy.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/test_utils/test_typing.py +0 -0
- {kernel-0.64.0 → kernel-0.65.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.65.0 (2026-06-08)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.64.0...v0.65.0](https://github.com/kernel/kernel-python-sdk/compare/v0.64.0...v0.65.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** allow setting a name and tags on a pool-acquired browser session ([2977911](https://github.com/kernel/kernel-python-sdk/commit/2977911151def0f4193c5e8063ab33800d167585))
|
|
10
|
+
* **api:** support id-or-name lookup on browser session get/patch/delete ([7e6d287](https://github.com/kernel/kernel-python-sdk/commit/7e6d28795b4b2b9f9e14cf14711a72053530b576))
|
|
11
|
+
|
|
3
12
|
## 0.64.0 (2026-06-05)
|
|
4
13
|
|
|
5
14
|
Full Changelog: [v0.63.0...v0.64.0](https://github.com/kernel/kernel-python-sdk/compare/v0.63.0...v0.64.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: kernel
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.65.0
|
|
4
4
|
Summary: The official Python library for the kernel API
|
|
5
5
|
Project-URL: Homepage, https://github.com/kernel/kernel-python-sdk
|
|
6
6
|
Project-URL: Repository, https://github.com/kernel/kernel-python-sdk
|
|
@@ -95,11 +95,11 @@ from kernel.types import (
|
|
|
95
95
|
Methods:
|
|
96
96
|
|
|
97
97
|
- <code title="post /browsers">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">create</a>(\*\*<a href="src/kernel/types/browser_create_params.py">params</a>) -> <a href="./src/kernel/types/browser_create_response.py">BrowserCreateResponse</a></code>
|
|
98
|
-
- <code title="get /browsers/{
|
|
99
|
-
- <code title="patch /browsers/{
|
|
98
|
+
- <code title="get /browsers/{id_or_name}">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">retrieve</a>(id_or_name, \*\*<a href="src/kernel/types/browser_retrieve_params.py">params</a>) -> <a href="./src/kernel/types/browser_retrieve_response.py">BrowserRetrieveResponse</a></code>
|
|
99
|
+
- <code title="patch /browsers/{id_or_name}">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">update</a>(id_or_name, \*\*<a href="src/kernel/types/browser_update_params.py">params</a>) -> <a href="./src/kernel/types/browser_update_response.py">BrowserUpdateResponse</a></code>
|
|
100
100
|
- <code title="get /browsers">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">list</a>(\*\*<a href="src/kernel/types/browser_list_params.py">params</a>) -> <a href="./src/kernel/types/browser_list_response.py">SyncOffsetPagination[BrowserListResponse]</a></code>
|
|
101
101
|
- <code title="post /browsers/{id}/curl">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">curl</a>(id, \*\*<a href="src/kernel/types/browser_curl_params.py">params</a>) -> <a href="./src/kernel/types/browser_curl_response.py">BrowserCurlResponse</a></code>
|
|
102
|
-
- <code title="delete /browsers/{
|
|
102
|
+
- <code title="delete /browsers/{id_or_name}">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">delete_by_id</a>(id_or_name) -> None</code>
|
|
103
103
|
- <code title="post /browsers/{id}/extensions">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">load_extensions</a>(id, \*\*<a href="src/kernel/types/browser_load_extensions_params.py">params</a>) -> None</code>
|
|
104
104
|
|
|
105
105
|
## Telemetry
|
|
@@ -26,6 +26,7 @@ from .._response import (
|
|
|
26
26
|
)
|
|
27
27
|
from ..pagination import SyncOffsetPagination, AsyncOffsetPagination
|
|
28
28
|
from .._base_client import AsyncPaginator, make_request_options
|
|
29
|
+
from ..types.tags_param import TagsParam
|
|
29
30
|
from ..types.browser_pool import BrowserPool
|
|
30
31
|
from ..types.browser_pool_acquire_response import BrowserPoolAcquireResponse
|
|
31
32
|
from ..types.shared_params.browser_profile import BrowserProfile
|
|
@@ -417,6 +418,8 @@ class BrowserPoolsResource(SyncAPIResource):
|
|
|
417
418
|
id_or_name: str,
|
|
418
419
|
*,
|
|
419
420
|
acquire_timeout_seconds: int | Omit = omit,
|
|
421
|
+
name: str | Omit = omit,
|
|
422
|
+
tags: TagsParam | Omit = omit,
|
|
420
423
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
421
424
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
422
425
|
extra_headers: Headers | None = None,
|
|
@@ -436,6 +439,15 @@ class BrowserPoolsResource(SyncAPIResource):
|
|
|
436
439
|
calculated time it would take to fill the pool at the currently configured fill
|
|
437
440
|
rate.
|
|
438
441
|
|
|
442
|
+
name: Optional human-readable name for the acquired browser session, used to find it
|
|
443
|
+
later in the dashboard. Must be unique among active sessions within the pool's
|
|
444
|
+
project. Applies to this lease only and is cleared when the browser is released
|
|
445
|
+
back to the pool.
|
|
446
|
+
|
|
447
|
+
tags: Optional user-defined key-value tags for the acquired browser session, used to
|
|
448
|
+
find and group sessions later. Applies to this lease only and are cleared when
|
|
449
|
+
the browser is released back to the pool. Up to 50 pairs.
|
|
450
|
+
|
|
439
451
|
extra_headers: Send extra headers
|
|
440
452
|
|
|
441
453
|
extra_query: Add additional query parameters to the request
|
|
@@ -449,7 +461,11 @@ class BrowserPoolsResource(SyncAPIResource):
|
|
|
449
461
|
return self._post(
|
|
450
462
|
path_template("/browser_pools/{id_or_name}/acquire", id_or_name=id_or_name),
|
|
451
463
|
body=maybe_transform(
|
|
452
|
-
{
|
|
464
|
+
{
|
|
465
|
+
"acquire_timeout_seconds": acquire_timeout_seconds,
|
|
466
|
+
"name": name,
|
|
467
|
+
"tags": tags,
|
|
468
|
+
},
|
|
453
469
|
browser_pool_acquire_params.BrowserPoolAcquireParams,
|
|
454
470
|
),
|
|
455
471
|
options=make_request_options(
|
|
@@ -923,6 +939,8 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
|
|
|
923
939
|
id_or_name: str,
|
|
924
940
|
*,
|
|
925
941
|
acquire_timeout_seconds: int | Omit = omit,
|
|
942
|
+
name: str | Omit = omit,
|
|
943
|
+
tags: TagsParam | Omit = omit,
|
|
926
944
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
927
945
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
928
946
|
extra_headers: Headers | None = None,
|
|
@@ -942,6 +960,15 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
|
|
|
942
960
|
calculated time it would take to fill the pool at the currently configured fill
|
|
943
961
|
rate.
|
|
944
962
|
|
|
963
|
+
name: Optional human-readable name for the acquired browser session, used to find it
|
|
964
|
+
later in the dashboard. Must be unique among active sessions within the pool's
|
|
965
|
+
project. Applies to this lease only and is cleared when the browser is released
|
|
966
|
+
back to the pool.
|
|
967
|
+
|
|
968
|
+
tags: Optional user-defined key-value tags for the acquired browser session, used to
|
|
969
|
+
find and group sessions later. Applies to this lease only and are cleared when
|
|
970
|
+
the browser is released back to the pool. Up to 50 pairs.
|
|
971
|
+
|
|
945
972
|
extra_headers: Send extra headers
|
|
946
973
|
|
|
947
974
|
extra_query: Add additional query parameters to the request
|
|
@@ -955,7 +982,11 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
|
|
|
955
982
|
return await self._post(
|
|
956
983
|
path_template("/browser_pools/{id_or_name}/acquire", id_or_name=id_or_name),
|
|
957
984
|
body=await async_maybe_transform(
|
|
958
|
-
{
|
|
985
|
+
{
|
|
986
|
+
"acquire_timeout_seconds": acquire_timeout_seconds,
|
|
987
|
+
"name": name,
|
|
988
|
+
"tags": tags,
|
|
989
|
+
},
|
|
959
990
|
browser_pool_acquire_params.BrowserPoolAcquireParams,
|
|
960
991
|
),
|
|
961
992
|
options=make_request_options(
|
|
@@ -292,7 +292,7 @@ class BrowsersResource(SyncAPIResource):
|
|
|
292
292
|
|
|
293
293
|
def retrieve(
|
|
294
294
|
self,
|
|
295
|
-
|
|
295
|
+
id_or_name: str,
|
|
296
296
|
*,
|
|
297
297
|
include_deleted: bool | Omit = omit,
|
|
298
298
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -316,10 +316,10 @@ class BrowsersResource(SyncAPIResource):
|
|
|
316
316
|
|
|
317
317
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
318
318
|
"""
|
|
319
|
-
if not
|
|
320
|
-
raise ValueError(f"Expected a non-empty value for `
|
|
319
|
+
if not id_or_name:
|
|
320
|
+
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
|
|
321
321
|
return self._get(
|
|
322
|
-
path_template("/browsers/{
|
|
322
|
+
path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
|
|
323
323
|
options=make_request_options(
|
|
324
324
|
extra_headers=extra_headers,
|
|
325
325
|
extra_query=extra_query,
|
|
@@ -334,7 +334,7 @@ class BrowsersResource(SyncAPIResource):
|
|
|
334
334
|
|
|
335
335
|
def update(
|
|
336
336
|
self,
|
|
337
|
-
|
|
337
|
+
id_or_name: str,
|
|
338
338
|
*,
|
|
339
339
|
disable_default_proxy: bool | Omit = omit,
|
|
340
340
|
profile: BrowserProfile | Omit = omit,
|
|
@@ -377,10 +377,10 @@ class BrowsersResource(SyncAPIResource):
|
|
|
377
377
|
|
|
378
378
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
379
379
|
"""
|
|
380
|
-
if not
|
|
381
|
-
raise ValueError(f"Expected a non-empty value for `
|
|
380
|
+
if not id_or_name:
|
|
381
|
+
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
|
|
382
382
|
return self._patch(
|
|
383
|
-
path_template("/browsers/{
|
|
383
|
+
path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
|
|
384
384
|
body=maybe_transform(
|
|
385
385
|
{
|
|
386
386
|
"disable_default_proxy": disable_default_proxy,
|
|
@@ -590,7 +590,7 @@ class BrowsersResource(SyncAPIResource):
|
|
|
590
590
|
|
|
591
591
|
def delete_by_id(
|
|
592
592
|
self,
|
|
593
|
-
|
|
593
|
+
id_or_name: str,
|
|
594
594
|
*,
|
|
595
595
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
596
596
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -600,7 +600,7 @@ class BrowsersResource(SyncAPIResource):
|
|
|
600
600
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
601
601
|
) -> None:
|
|
602
602
|
"""
|
|
603
|
-
Delete a browser session by ID
|
|
603
|
+
Delete a browser session by ID or name
|
|
604
604
|
|
|
605
605
|
Args:
|
|
606
606
|
extra_headers: Send extra headers
|
|
@@ -611,11 +611,11 @@ class BrowsersResource(SyncAPIResource):
|
|
|
611
611
|
|
|
612
612
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
613
613
|
"""
|
|
614
|
-
if not
|
|
615
|
-
raise ValueError(f"Expected a non-empty value for `
|
|
614
|
+
if not id_or_name:
|
|
615
|
+
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
|
|
616
616
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
617
617
|
return self._delete(
|
|
618
|
-
path_template("/browsers/{
|
|
618
|
+
path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
|
|
619
619
|
options=make_request_options(
|
|
620
620
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
621
621
|
),
|
|
@@ -857,7 +857,7 @@ class AsyncBrowsersResource(AsyncAPIResource):
|
|
|
857
857
|
|
|
858
858
|
async def retrieve(
|
|
859
859
|
self,
|
|
860
|
-
|
|
860
|
+
id_or_name: str,
|
|
861
861
|
*,
|
|
862
862
|
include_deleted: bool | Omit = omit,
|
|
863
863
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -881,10 +881,10 @@ class AsyncBrowsersResource(AsyncAPIResource):
|
|
|
881
881
|
|
|
882
882
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
883
883
|
"""
|
|
884
|
-
if not
|
|
885
|
-
raise ValueError(f"Expected a non-empty value for `
|
|
884
|
+
if not id_or_name:
|
|
885
|
+
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
|
|
886
886
|
return await self._get(
|
|
887
|
-
path_template("/browsers/{
|
|
887
|
+
path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
|
|
888
888
|
options=make_request_options(
|
|
889
889
|
extra_headers=extra_headers,
|
|
890
890
|
extra_query=extra_query,
|
|
@@ -899,7 +899,7 @@ class AsyncBrowsersResource(AsyncAPIResource):
|
|
|
899
899
|
|
|
900
900
|
async def update(
|
|
901
901
|
self,
|
|
902
|
-
|
|
902
|
+
id_or_name: str,
|
|
903
903
|
*,
|
|
904
904
|
disable_default_proxy: bool | Omit = omit,
|
|
905
905
|
profile: BrowserProfile | Omit = omit,
|
|
@@ -942,10 +942,10 @@ class AsyncBrowsersResource(AsyncAPIResource):
|
|
|
942
942
|
|
|
943
943
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
944
944
|
"""
|
|
945
|
-
if not
|
|
946
|
-
raise ValueError(f"Expected a non-empty value for `
|
|
945
|
+
if not id_or_name:
|
|
946
|
+
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
|
|
947
947
|
return await self._patch(
|
|
948
|
-
path_template("/browsers/{
|
|
948
|
+
path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
|
|
949
949
|
body=await async_maybe_transform(
|
|
950
950
|
{
|
|
951
951
|
"disable_default_proxy": disable_default_proxy,
|
|
@@ -1155,7 +1155,7 @@ class AsyncBrowsersResource(AsyncAPIResource):
|
|
|
1155
1155
|
|
|
1156
1156
|
async def delete_by_id(
|
|
1157
1157
|
self,
|
|
1158
|
-
|
|
1158
|
+
id_or_name: str,
|
|
1159
1159
|
*,
|
|
1160
1160
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1161
1161
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
@@ -1165,7 +1165,7 @@ class AsyncBrowsersResource(AsyncAPIResource):
|
|
|
1165
1165
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
1166
1166
|
) -> None:
|
|
1167
1167
|
"""
|
|
1168
|
-
Delete a browser session by ID
|
|
1168
|
+
Delete a browser session by ID or name
|
|
1169
1169
|
|
|
1170
1170
|
Args:
|
|
1171
1171
|
extra_headers: Send extra headers
|
|
@@ -1176,11 +1176,11 @@ class AsyncBrowsersResource(AsyncAPIResource):
|
|
|
1176
1176
|
|
|
1177
1177
|
timeout: Override the client-level default timeout for this request, in seconds
|
|
1178
1178
|
"""
|
|
1179
|
-
if not
|
|
1180
|
-
raise ValueError(f"Expected a non-empty value for `
|
|
1179
|
+
if not id_or_name:
|
|
1180
|
+
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
|
|
1181
1181
|
extra_headers = {"Accept": "*/*", **(extra_headers or {})}
|
|
1182
1182
|
return await self._delete(
|
|
1183
|
-
path_template("/browsers/{
|
|
1183
|
+
path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
|
|
1184
1184
|
options=make_request_options(
|
|
1185
1185
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
1186
1186
|
),
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
from .tags_param import TagsParam
|
|
8
|
+
|
|
9
|
+
__all__ = ["BrowserPoolAcquireParams"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class BrowserPoolAcquireParams(TypedDict, total=False):
|
|
13
|
+
acquire_timeout_seconds: int
|
|
14
|
+
"""Maximum number of seconds to wait for a browser to be available.
|
|
15
|
+
|
|
16
|
+
Defaults to the calculated time it would take to fill the pool at the currently
|
|
17
|
+
configured fill rate.
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
name: str
|
|
21
|
+
"""
|
|
22
|
+
Optional human-readable name for the acquired browser session, used to find it
|
|
23
|
+
later in the dashboard. Must be unique among active sessions within the pool's
|
|
24
|
+
project. Applies to this lease only and is cleared when the browser is released
|
|
25
|
+
back to the pool.
|
|
26
|
+
"""
|
|
27
|
+
|
|
28
|
+
tags: TagsParam
|
|
29
|
+
"""
|
|
30
|
+
Optional user-defined key-value tags for the acquired browser session, used to
|
|
31
|
+
find and group sessions later. Applies to this lease only and are cleared when
|
|
32
|
+
the browser is released back to the pool. Up to 50 pairs.
|
|
33
|
+
"""
|
|
@@ -309,6 +309,11 @@ class TestBrowserPools:
|
|
|
309
309
|
browser_pool = client.browser_pools.acquire(
|
|
310
310
|
id_or_name="id_or_name",
|
|
311
311
|
acquire_timeout_seconds=0,
|
|
312
|
+
name="checkout-flow-1",
|
|
313
|
+
tags={
|
|
314
|
+
"team": "backend",
|
|
315
|
+
"env": "staging",
|
|
316
|
+
},
|
|
312
317
|
)
|
|
313
318
|
assert_matches_type(BrowserPoolAcquireResponse, browser_pool, path=["response"])
|
|
314
319
|
|
|
@@ -738,6 +743,11 @@ class TestAsyncBrowserPools:
|
|
|
738
743
|
browser_pool = await async_client.browser_pools.acquire(
|
|
739
744
|
id_or_name="id_or_name",
|
|
740
745
|
acquire_timeout_seconds=0,
|
|
746
|
+
name="checkout-flow-1",
|
|
747
|
+
tags={
|
|
748
|
+
"team": "backend",
|
|
749
|
+
"env": "staging",
|
|
750
|
+
},
|
|
741
751
|
)
|
|
742
752
|
assert_matches_type(BrowserPoolAcquireResponse, browser_pool, path=["response"])
|
|
743
753
|
|
|
@@ -107,7 +107,7 @@ class TestBrowsers:
|
|
|
107
107
|
@parametrize
|
|
108
108
|
def test_method_retrieve(self, client: Kernel) -> None:
|
|
109
109
|
browser = client.browsers.retrieve(
|
|
110
|
-
|
|
110
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
111
111
|
)
|
|
112
112
|
assert_matches_type(BrowserRetrieveResponse, browser, path=["response"])
|
|
113
113
|
|
|
@@ -115,7 +115,7 @@ class TestBrowsers:
|
|
|
115
115
|
@parametrize
|
|
116
116
|
def test_method_retrieve_with_all_params(self, client: Kernel) -> None:
|
|
117
117
|
browser = client.browsers.retrieve(
|
|
118
|
-
|
|
118
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
119
119
|
include_deleted=True,
|
|
120
120
|
)
|
|
121
121
|
assert_matches_type(BrowserRetrieveResponse, browser, path=["response"])
|
|
@@ -124,7 +124,7 @@ class TestBrowsers:
|
|
|
124
124
|
@parametrize
|
|
125
125
|
def test_raw_response_retrieve(self, client: Kernel) -> None:
|
|
126
126
|
response = client.browsers.with_raw_response.retrieve(
|
|
127
|
-
|
|
127
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
128
128
|
)
|
|
129
129
|
|
|
130
130
|
assert response.is_closed is True
|
|
@@ -136,7 +136,7 @@ class TestBrowsers:
|
|
|
136
136
|
@parametrize
|
|
137
137
|
def test_streaming_response_retrieve(self, client: Kernel) -> None:
|
|
138
138
|
with client.browsers.with_streaming_response.retrieve(
|
|
139
|
-
|
|
139
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
140
140
|
) as response:
|
|
141
141
|
assert not response.is_closed
|
|
142
142
|
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
@@ -149,16 +149,16 @@ class TestBrowsers:
|
|
|
149
149
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
150
150
|
@parametrize
|
|
151
151
|
def test_path_params_retrieve(self, client: Kernel) -> None:
|
|
152
|
-
with pytest.raises(ValueError, match=r"Expected a non-empty value for `
|
|
152
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
|
|
153
153
|
client.browsers.with_raw_response.retrieve(
|
|
154
|
-
|
|
154
|
+
id_or_name="",
|
|
155
155
|
)
|
|
156
156
|
|
|
157
157
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
158
158
|
@parametrize
|
|
159
159
|
def test_method_update(self, client: Kernel) -> None:
|
|
160
160
|
browser = client.browsers.update(
|
|
161
|
-
|
|
161
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
162
162
|
)
|
|
163
163
|
assert_matches_type(BrowserUpdateResponse, browser, path=["response"])
|
|
164
164
|
|
|
@@ -166,7 +166,7 @@ class TestBrowsers:
|
|
|
166
166
|
@parametrize
|
|
167
167
|
def test_method_update_with_all_params(self, client: Kernel) -> None:
|
|
168
168
|
browser = client.browsers.update(
|
|
169
|
-
|
|
169
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
170
170
|
disable_default_proxy=True,
|
|
171
171
|
profile={
|
|
172
172
|
"id": "id",
|
|
@@ -201,7 +201,7 @@ class TestBrowsers:
|
|
|
201
201
|
@parametrize
|
|
202
202
|
def test_raw_response_update(self, client: Kernel) -> None:
|
|
203
203
|
response = client.browsers.with_raw_response.update(
|
|
204
|
-
|
|
204
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
205
205
|
)
|
|
206
206
|
|
|
207
207
|
assert response.is_closed is True
|
|
@@ -213,7 +213,7 @@ class TestBrowsers:
|
|
|
213
213
|
@parametrize
|
|
214
214
|
def test_streaming_response_update(self, client: Kernel) -> None:
|
|
215
215
|
with client.browsers.with_streaming_response.update(
|
|
216
|
-
|
|
216
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
217
217
|
) as response:
|
|
218
218
|
assert not response.is_closed
|
|
219
219
|
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
@@ -226,9 +226,9 @@ class TestBrowsers:
|
|
|
226
226
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
227
227
|
@parametrize
|
|
228
228
|
def test_path_params_update(self, client: Kernel) -> None:
|
|
229
|
-
with pytest.raises(ValueError, match=r"Expected a non-empty value for `
|
|
229
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
|
|
230
230
|
client.browsers.with_raw_response.update(
|
|
231
|
-
|
|
231
|
+
id_or_name="",
|
|
232
232
|
)
|
|
233
233
|
|
|
234
234
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
@@ -369,7 +369,7 @@ class TestBrowsers:
|
|
|
369
369
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
370
370
|
@parametrize
|
|
371
371
|
def test_path_params_delete_by_id(self, client: Kernel) -> None:
|
|
372
|
-
with pytest.raises(ValueError, match=r"Expected a non-empty value for `
|
|
372
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
|
|
373
373
|
client.browsers.with_raw_response.delete_by_id(
|
|
374
374
|
"",
|
|
375
375
|
)
|
|
@@ -529,7 +529,7 @@ class TestAsyncBrowsers:
|
|
|
529
529
|
@parametrize
|
|
530
530
|
async def test_method_retrieve(self, async_client: AsyncKernel) -> None:
|
|
531
531
|
browser = await async_client.browsers.retrieve(
|
|
532
|
-
|
|
532
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
533
533
|
)
|
|
534
534
|
assert_matches_type(BrowserRetrieveResponse, browser, path=["response"])
|
|
535
535
|
|
|
@@ -537,7 +537,7 @@ class TestAsyncBrowsers:
|
|
|
537
537
|
@parametrize
|
|
538
538
|
async def test_method_retrieve_with_all_params(self, async_client: AsyncKernel) -> None:
|
|
539
539
|
browser = await async_client.browsers.retrieve(
|
|
540
|
-
|
|
540
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
541
541
|
include_deleted=True,
|
|
542
542
|
)
|
|
543
543
|
assert_matches_type(BrowserRetrieveResponse, browser, path=["response"])
|
|
@@ -546,7 +546,7 @@ class TestAsyncBrowsers:
|
|
|
546
546
|
@parametrize
|
|
547
547
|
async def test_raw_response_retrieve(self, async_client: AsyncKernel) -> None:
|
|
548
548
|
response = await async_client.browsers.with_raw_response.retrieve(
|
|
549
|
-
|
|
549
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
550
550
|
)
|
|
551
551
|
|
|
552
552
|
assert response.is_closed is True
|
|
@@ -558,7 +558,7 @@ class TestAsyncBrowsers:
|
|
|
558
558
|
@parametrize
|
|
559
559
|
async def test_streaming_response_retrieve(self, async_client: AsyncKernel) -> None:
|
|
560
560
|
async with async_client.browsers.with_streaming_response.retrieve(
|
|
561
|
-
|
|
561
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
562
562
|
) as response:
|
|
563
563
|
assert not response.is_closed
|
|
564
564
|
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
@@ -571,16 +571,16 @@ class TestAsyncBrowsers:
|
|
|
571
571
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
572
572
|
@parametrize
|
|
573
573
|
async def test_path_params_retrieve(self, async_client: AsyncKernel) -> None:
|
|
574
|
-
with pytest.raises(ValueError, match=r"Expected a non-empty value for `
|
|
574
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
|
|
575
575
|
await async_client.browsers.with_raw_response.retrieve(
|
|
576
|
-
|
|
576
|
+
id_or_name="",
|
|
577
577
|
)
|
|
578
578
|
|
|
579
579
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
580
580
|
@parametrize
|
|
581
581
|
async def test_method_update(self, async_client: AsyncKernel) -> None:
|
|
582
582
|
browser = await async_client.browsers.update(
|
|
583
|
-
|
|
583
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
584
584
|
)
|
|
585
585
|
assert_matches_type(BrowserUpdateResponse, browser, path=["response"])
|
|
586
586
|
|
|
@@ -588,7 +588,7 @@ class TestAsyncBrowsers:
|
|
|
588
588
|
@parametrize
|
|
589
589
|
async def test_method_update_with_all_params(self, async_client: AsyncKernel) -> None:
|
|
590
590
|
browser = await async_client.browsers.update(
|
|
591
|
-
|
|
591
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
592
592
|
disable_default_proxy=True,
|
|
593
593
|
profile={
|
|
594
594
|
"id": "id",
|
|
@@ -623,7 +623,7 @@ class TestAsyncBrowsers:
|
|
|
623
623
|
@parametrize
|
|
624
624
|
async def test_raw_response_update(self, async_client: AsyncKernel) -> None:
|
|
625
625
|
response = await async_client.browsers.with_raw_response.update(
|
|
626
|
-
|
|
626
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
627
627
|
)
|
|
628
628
|
|
|
629
629
|
assert response.is_closed is True
|
|
@@ -635,7 +635,7 @@ class TestAsyncBrowsers:
|
|
|
635
635
|
@parametrize
|
|
636
636
|
async def test_streaming_response_update(self, async_client: AsyncKernel) -> None:
|
|
637
637
|
async with async_client.browsers.with_streaming_response.update(
|
|
638
|
-
|
|
638
|
+
id_or_name="htzv5orfit78e1m2biiifpbv",
|
|
639
639
|
) as response:
|
|
640
640
|
assert not response.is_closed
|
|
641
641
|
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
|
|
@@ -648,9 +648,9 @@ class TestAsyncBrowsers:
|
|
|
648
648
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
649
649
|
@parametrize
|
|
650
650
|
async def test_path_params_update(self, async_client: AsyncKernel) -> None:
|
|
651
|
-
with pytest.raises(ValueError, match=r"Expected a non-empty value for `
|
|
651
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
|
|
652
652
|
await async_client.browsers.with_raw_response.update(
|
|
653
|
-
|
|
653
|
+
id_or_name="",
|
|
654
654
|
)
|
|
655
655
|
|
|
656
656
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
@@ -791,7 +791,7 @@ class TestAsyncBrowsers:
|
|
|
791
791
|
@pytest.mark.skip(reason="Mock server tests are disabled")
|
|
792
792
|
@parametrize
|
|
793
793
|
async def test_path_params_delete_by_id(self, async_client: AsyncKernel) -> None:
|
|
794
|
-
with pytest.raises(ValueError, match=r"Expected a non-empty value for `
|
|
794
|
+
with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
|
|
795
795
|
await async_client.browsers.with_raw_response.delete_by_id(
|
|
796
796
|
"",
|
|
797
797
|
)
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
-
|
|
3
|
-
from __future__ import annotations
|
|
4
|
-
|
|
5
|
-
from typing_extensions import TypedDict
|
|
6
|
-
|
|
7
|
-
__all__ = ["BrowserPoolAcquireParams"]
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class BrowserPoolAcquireParams(TypedDict, total=False):
|
|
11
|
-
acquire_timeout_seconds: int
|
|
12
|
-
"""Maximum number of seconds to wait for a browser to be available.
|
|
13
|
-
|
|
14
|
-
Defaults to the calculated time it would take to fill the pool at the currently
|
|
15
|
-
configured fill rate.
|
|
16
|
-
"""
|
|
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
|