kernel 0.47.0__tar.gz → 0.48.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.48.0/.release-please-manifest.json +3 -0
- {kernel-0.47.0 → kernel-0.48.0}/CHANGELOG.md +18 -0
- {kernel-0.47.0 → kernel-0.48.0}/PKG-INFO +1 -1
- {kernel-0.47.0 → kernel-0.48.0}/api.md +29 -0
- {kernel-0.47.0 → kernel-0.48.0}/pyproject.toml +1 -1
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_base_client.py +4 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_client.py +44 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_version.py +1 -1
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/__init__.py +14 -0
- kernel-0.48.0/src/kernel/resources/projects/__init__.py +33 -0
- kernel-0.48.0/src/kernel/resources/projects/limits.py +309 -0
- kernel-0.48.0/src/kernel/resources/projects/projects.py +586 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/__init__.py +4 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_create_response.py +3 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_list_response.py +3 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_pool_acquire_response.py +3 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_retrieve_response.py +3 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_update_response.py +3 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/invocation_list_browsers_response.py +3 -0
- kernel-0.48.0/src/kernel/types/project.py +25 -0
- kernel-0.48.0/src/kernel/types/project_create_params.py +12 -0
- kernel-0.48.0/src/kernel/types/project_list_params.py +15 -0
- kernel-0.48.0/src/kernel/types/project_update_params.py +15 -0
- kernel-0.48.0/src/kernel/types/projects/__init__.py +6 -0
- kernel-0.48.0/src/kernel/types/projects/limit_update_params.py +34 -0
- kernel-0.48.0/src/kernel/types/projects/project_limits.py +33 -0
- kernel-0.48.0/tests/api_resources/projects/__init__.py +1 -0
- kernel-0.48.0/tests/api_resources/projects/test_limits.py +216 -0
- kernel-0.48.0/tests/api_resources/test_projects.py +439 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_client.py +48 -0
- kernel-0.47.0/.release-please-manifest.json +0 -3
- {kernel-0.47.0 → kernel-0.48.0}/.gitignore +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/CONTRIBUTING.md +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/LICENSE +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/README.md +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/SECURITY.md +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/bin/check-release-environment +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/bin/publish-pypi +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/examples/.keep +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/noxfile.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/release-please-config.json +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/requirements-dev.lock +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/requirements.lock +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_compat.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_constants.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_exceptions.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_files.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_models.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_qs.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_resource.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_streaming.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_types.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_compat.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_datetime_parse.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_json.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_logs.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_path.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_proxy.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_reflection.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_resources_proxy.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_streams.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_sync.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_transform.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_typing.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/_utils/_utils.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/app_framework.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/lib/.keep +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/pagination.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/py.typed +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/apps.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/auth/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/auth/auth.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/auth/connections.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/browser_pools.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/browsers/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/browsers/browsers.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/browsers/computer.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/browsers/fs/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/browsers/fs/fs.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/browsers/fs/watch.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/browsers/logs.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/browsers/playwright.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/browsers/process.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/browsers/replays.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/credential_providers.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/credentials.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/deployments.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/extensions.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/invocations.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/profiles.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/resources/proxies.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/app_list_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/app_list_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/auth/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/auth/connection_create_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/auth/connection_follow_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/auth/connection_list_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/auth/connection_login_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/auth/connection_submit_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/auth/connection_update_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/auth/login_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/auth/managed_auth.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/auth/submit_fields_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_create_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_delete_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_list_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_load_extensions_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_persistence.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_persistence_param.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_pool.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_pool_acquire_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_pool_create_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_pool_delete_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_pool_list_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_pool_ref.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_pool_release_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_pool_update_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_retrieve_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_update_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browser_usage.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_batch_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_capture_screenshot_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_click_mouse_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_drag_mouse_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_get_mouse_position_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_move_mouse_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_press_key_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_read_clipboard_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_scroll_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_set_cursor_visibility_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_set_cursor_visibility_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_type_text_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/computer_write_clipboard_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_create_directory_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_delete_directory_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_delete_file_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_download_dir_zip_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_file_info_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_file_info_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_list_files_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_list_files_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_move_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_read_file_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_set_file_permissions_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_upload_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_upload_zip_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/f_write_file_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/fs/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/fs/watch_events_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/fs/watch_start_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/fs/watch_start_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/log_stream_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/playwright_execute_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/playwright_execute_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_exec_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_exec_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_kill_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_kill_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_resize_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_resize_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_spawn_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_spawn_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_status_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_stdin_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_stdin_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/process_stdout_stream_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/replay_list_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/replay_start_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/browsers/replay_start_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential_create_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential_list_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential_provider.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential_provider_create_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential_provider_item.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential_provider_list_items_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential_provider_list_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential_provider_test_result.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential_provider_update_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential_totp_code_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/credential_update_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/deployment_create_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/deployment_create_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/deployment_follow_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/deployment_follow_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/deployment_list_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/deployment_list_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/deployment_retrieve_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/deployment_state_event.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/extension_download_from_chrome_store_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/extension_list_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/extension_upload_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/extension_upload_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/invocation_create_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/invocation_create_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/invocation_follow_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/invocation_follow_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/invocation_list_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/invocation_list_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/invocation_retrieve_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/invocation_state_event.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/invocation_update_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/invocation_update_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/profile.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/profile_create_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/profile_list_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/proxy_check_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/proxy_check_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/proxy_create_params.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/proxy_create_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/proxy_list_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/proxy_retrieve_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared/app_action.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared/browser_extension.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared/browser_profile.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared/browser_viewport.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared/error_detail.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared/error_event.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared/error_model.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared/heartbeat_event.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared/log_event.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared_params/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared_params/browser_extension.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared_params/browser_profile.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/src/kernel/types/shared_params/browser_viewport.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/auth/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/auth/test_connections.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/browsers/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/browsers/fs/__init__.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/browsers/fs/test_watch.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/browsers/test_computer.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/browsers/test_fs.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/browsers/test_logs.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/browsers/test_playwright.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/browsers/test_process.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/browsers/test_replays.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/test_apps.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/test_browser_pools.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/test_browsers.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/test_credential_providers.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/test_credentials.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/test_deployments.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/test_extensions.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/test_invocations.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/test_profiles.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/api_resources/test_proxies.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/conftest.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/sample_file.txt +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_deepcopy.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_extract_files.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_files.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_models.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_qs.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_required_args.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_response.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_streaming.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_transform.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_utils/test_json.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_utils/test_path.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_utils/test_proxy.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/test_utils/test_typing.py +0 -0
- {kernel-0.47.0 → kernel-0.48.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.48.0 (2026-04-10)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.47.0...v0.48.0](https://github.com/kernel/kernel-python-sdk/compare/v0.47.0...v0.48.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* [kernel-1116] add base_url field to browser session response ([335d9e0](https://github.com/kernel/kernel-python-sdk/commit/335d9e04998dd9e581f47d8869dd7f07a8f2db74))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **client:** preserve hardcoded query params when merging with user params ([6dfd882](https://github.com/kernel/kernel-python-sdk/commit/6dfd8826b84ed191d72ac114df986c398fa83c5c))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Chores
|
|
18
|
+
|
|
19
|
+
* retrigger Stainless codegen for projects resource ([ca22fd9](https://github.com/kernel/kernel-python-sdk/commit/ca22fd9dc4b5f4cd70e15ecb1ddd3607d8a99df8))
|
|
20
|
+
|
|
3
21
|
## 0.47.0 (2026-04-07)
|
|
4
22
|
|
|
5
23
|
Full Changelog: [v0.46.0...v0.47.0](https://github.com/kernel/kernel-python-sdk/compare/v0.46.0...v0.47.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: kernel
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.48.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
|
|
@@ -341,6 +341,35 @@ Methods:
|
|
|
341
341
|
- <code title="delete /credentials/{id_or_name}">client.credentials.<a href="./src/kernel/resources/credentials.py">delete</a>(id_or_name) -> None</code>
|
|
342
342
|
- <code title="get /credentials/{id_or_name}/totp-code">client.credentials.<a href="./src/kernel/resources/credentials.py">totp_code</a>(id_or_name) -> <a href="./src/kernel/types/credential_totp_code_response.py">CredentialTotpCodeResponse</a></code>
|
|
343
343
|
|
|
344
|
+
# Projects
|
|
345
|
+
|
|
346
|
+
Types:
|
|
347
|
+
|
|
348
|
+
```python
|
|
349
|
+
from kernel.types import CreateProjectRequest, Project, UpdateProjectRequest
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
Methods:
|
|
353
|
+
|
|
354
|
+
- <code title="post /projects">client.projects.<a href="./src/kernel/resources/projects/projects.py">create</a>(\*\*<a href="src/kernel/types/project_create_params.py">params</a>) -> <a href="./src/kernel/types/project.py">Project</a></code>
|
|
355
|
+
- <code title="get /projects/{id}">client.projects.<a href="./src/kernel/resources/projects/projects.py">retrieve</a>(id) -> <a href="./src/kernel/types/project.py">Project</a></code>
|
|
356
|
+
- <code title="patch /projects/{id}">client.projects.<a href="./src/kernel/resources/projects/projects.py">update</a>(id, \*\*<a href="src/kernel/types/project_update_params.py">params</a>) -> <a href="./src/kernel/types/project.py">Project</a></code>
|
|
357
|
+
- <code title="get /projects">client.projects.<a href="./src/kernel/resources/projects/projects.py">list</a>(\*\*<a href="src/kernel/types/project_list_params.py">params</a>) -> <a href="./src/kernel/types/project.py">SyncOffsetPagination[Project]</a></code>
|
|
358
|
+
- <code title="delete /projects/{id}">client.projects.<a href="./src/kernel/resources/projects/projects.py">delete</a>(id) -> None</code>
|
|
359
|
+
|
|
360
|
+
## Limits
|
|
361
|
+
|
|
362
|
+
Types:
|
|
363
|
+
|
|
364
|
+
```python
|
|
365
|
+
from kernel.types.projects import ProjectLimits, UpdateProjectLimitsRequest
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
Methods:
|
|
369
|
+
|
|
370
|
+
- <code title="get /projects/{id}/limits">client.projects.limits.<a href="./src/kernel/resources/projects/limits.py">retrieve</a>(id) -> <a href="./src/kernel/types/projects/project_limits.py">ProjectLimits</a></code>
|
|
371
|
+
- <code title="patch /projects/{id}/limits">client.projects.limits.<a href="./src/kernel/resources/projects/limits.py">update</a>(id, \*\*<a href="src/kernel/types/projects/limit_update_params.py">params</a>) -> <a href="./src/kernel/types/projects/project_limits.py">ProjectLimits</a></code>
|
|
372
|
+
|
|
344
373
|
# CredentialProviders
|
|
345
374
|
|
|
346
375
|
Types:
|
|
@@ -540,6 +540,10 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
540
540
|
files = cast(HttpxRequestFiles, ForceMultipartDict())
|
|
541
541
|
|
|
542
542
|
prepared_url = self._prepare_url(options.url)
|
|
543
|
+
# preserve hard-coded query params from the url
|
|
544
|
+
if params and prepared_url.query:
|
|
545
|
+
params = {**dict(prepared_url.params.items()), **params}
|
|
546
|
+
prepared_url = prepared_url.copy_with(raw_path=prepared_url.raw_path.split(b"?", 1)[0])
|
|
543
547
|
if "_" in prepared_url.host:
|
|
544
548
|
# work around https://github.com/encode/httpx/discussions/2880
|
|
545
549
|
kwargs["extensions"] = {"sni_hostname": prepared_url.host.replace("_", "-")}
|
|
@@ -37,6 +37,7 @@ if TYPE_CHECKING:
|
|
|
37
37
|
proxies,
|
|
38
38
|
browsers,
|
|
39
39
|
profiles,
|
|
40
|
+
projects,
|
|
40
41
|
extensions,
|
|
41
42
|
credentials,
|
|
42
43
|
deployments,
|
|
@@ -54,6 +55,7 @@ if TYPE_CHECKING:
|
|
|
54
55
|
from .resources.invocations import InvocationsResource, AsyncInvocationsResource
|
|
55
56
|
from .resources.browser_pools import BrowserPoolsResource, AsyncBrowserPoolsResource
|
|
56
57
|
from .resources.browsers.browsers import BrowsersResource, AsyncBrowsersResource
|
|
58
|
+
from .resources.projects.projects import ProjectsResource, AsyncProjectsResource
|
|
57
59
|
from .resources.credential_providers import CredentialProvidersResource, AsyncCredentialProvidersResource
|
|
58
60
|
|
|
59
61
|
__all__ = [
|
|
@@ -222,6 +224,13 @@ class Kernel(SyncAPIClient):
|
|
|
222
224
|
|
|
223
225
|
return CredentialsResource(self)
|
|
224
226
|
|
|
227
|
+
@cached_property
|
|
228
|
+
def projects(self) -> ProjectsResource:
|
|
229
|
+
"""Create and manage projects for resource isolation within an organization."""
|
|
230
|
+
from .resources.projects import ProjectsResource
|
|
231
|
+
|
|
232
|
+
return ProjectsResource(self)
|
|
233
|
+
|
|
225
234
|
@cached_property
|
|
226
235
|
def credential_providers(self) -> CredentialProvidersResource:
|
|
227
236
|
"""Configure external credential providers like 1Password."""
|
|
@@ -492,6 +501,13 @@ class AsyncKernel(AsyncAPIClient):
|
|
|
492
501
|
|
|
493
502
|
return AsyncCredentialsResource(self)
|
|
494
503
|
|
|
504
|
+
@cached_property
|
|
505
|
+
def projects(self) -> AsyncProjectsResource:
|
|
506
|
+
"""Create and manage projects for resource isolation within an organization."""
|
|
507
|
+
from .resources.projects import AsyncProjectsResource
|
|
508
|
+
|
|
509
|
+
return AsyncProjectsResource(self)
|
|
510
|
+
|
|
495
511
|
@cached_property
|
|
496
512
|
def credential_providers(self) -> AsyncCredentialProvidersResource:
|
|
497
513
|
"""Configure external credential providers like 1Password."""
|
|
@@ -689,6 +705,13 @@ class KernelWithRawResponse:
|
|
|
689
705
|
|
|
690
706
|
return CredentialsResourceWithRawResponse(self._client.credentials)
|
|
691
707
|
|
|
708
|
+
@cached_property
|
|
709
|
+
def projects(self) -> projects.ProjectsResourceWithRawResponse:
|
|
710
|
+
"""Create and manage projects for resource isolation within an organization."""
|
|
711
|
+
from .resources.projects import ProjectsResourceWithRawResponse
|
|
712
|
+
|
|
713
|
+
return ProjectsResourceWithRawResponse(self._client.projects)
|
|
714
|
+
|
|
692
715
|
@cached_property
|
|
693
716
|
def credential_providers(self) -> credential_providers.CredentialProvidersResourceWithRawResponse:
|
|
694
717
|
"""Configure external credential providers like 1Password."""
|
|
@@ -772,6 +795,13 @@ class AsyncKernelWithRawResponse:
|
|
|
772
795
|
|
|
773
796
|
return AsyncCredentialsResourceWithRawResponse(self._client.credentials)
|
|
774
797
|
|
|
798
|
+
@cached_property
|
|
799
|
+
def projects(self) -> projects.AsyncProjectsResourceWithRawResponse:
|
|
800
|
+
"""Create and manage projects for resource isolation within an organization."""
|
|
801
|
+
from .resources.projects import AsyncProjectsResourceWithRawResponse
|
|
802
|
+
|
|
803
|
+
return AsyncProjectsResourceWithRawResponse(self._client.projects)
|
|
804
|
+
|
|
775
805
|
@cached_property
|
|
776
806
|
def credential_providers(self) -> credential_providers.AsyncCredentialProvidersResourceWithRawResponse:
|
|
777
807
|
"""Configure external credential providers like 1Password."""
|
|
@@ -855,6 +885,13 @@ class KernelWithStreamedResponse:
|
|
|
855
885
|
|
|
856
886
|
return CredentialsResourceWithStreamingResponse(self._client.credentials)
|
|
857
887
|
|
|
888
|
+
@cached_property
|
|
889
|
+
def projects(self) -> projects.ProjectsResourceWithStreamingResponse:
|
|
890
|
+
"""Create and manage projects for resource isolation within an organization."""
|
|
891
|
+
from .resources.projects import ProjectsResourceWithStreamingResponse
|
|
892
|
+
|
|
893
|
+
return ProjectsResourceWithStreamingResponse(self._client.projects)
|
|
894
|
+
|
|
858
895
|
@cached_property
|
|
859
896
|
def credential_providers(self) -> credential_providers.CredentialProvidersResourceWithStreamingResponse:
|
|
860
897
|
"""Configure external credential providers like 1Password."""
|
|
@@ -938,6 +975,13 @@ class AsyncKernelWithStreamedResponse:
|
|
|
938
975
|
|
|
939
976
|
return AsyncCredentialsResourceWithStreamingResponse(self._client.credentials)
|
|
940
977
|
|
|
978
|
+
@cached_property
|
|
979
|
+
def projects(self) -> projects.AsyncProjectsResourceWithStreamingResponse:
|
|
980
|
+
"""Create and manage projects for resource isolation within an organization."""
|
|
981
|
+
from .resources.projects import AsyncProjectsResourceWithStreamingResponse
|
|
982
|
+
|
|
983
|
+
return AsyncProjectsResourceWithStreamingResponse(self._client.projects)
|
|
984
|
+
|
|
941
985
|
@cached_property
|
|
942
986
|
def credential_providers(self) -> credential_providers.AsyncCredentialProvidersResourceWithStreamingResponse:
|
|
943
987
|
"""Configure external credential providers like 1Password."""
|
|
@@ -40,6 +40,14 @@ from .profiles import (
|
|
|
40
40
|
ProfilesResourceWithStreamingResponse,
|
|
41
41
|
AsyncProfilesResourceWithStreamingResponse,
|
|
42
42
|
)
|
|
43
|
+
from .projects import (
|
|
44
|
+
ProjectsResource,
|
|
45
|
+
AsyncProjectsResource,
|
|
46
|
+
ProjectsResourceWithRawResponse,
|
|
47
|
+
AsyncProjectsResourceWithRawResponse,
|
|
48
|
+
ProjectsResourceWithStreamingResponse,
|
|
49
|
+
AsyncProjectsResourceWithStreamingResponse,
|
|
50
|
+
)
|
|
43
51
|
from .extensions import (
|
|
44
52
|
ExtensionsResource,
|
|
45
53
|
AsyncExtensionsResource,
|
|
@@ -150,6 +158,12 @@ __all__ = [
|
|
|
150
158
|
"AsyncCredentialsResourceWithRawResponse",
|
|
151
159
|
"CredentialsResourceWithStreamingResponse",
|
|
152
160
|
"AsyncCredentialsResourceWithStreamingResponse",
|
|
161
|
+
"ProjectsResource",
|
|
162
|
+
"AsyncProjectsResource",
|
|
163
|
+
"ProjectsResourceWithRawResponse",
|
|
164
|
+
"AsyncProjectsResourceWithRawResponse",
|
|
165
|
+
"ProjectsResourceWithStreamingResponse",
|
|
166
|
+
"AsyncProjectsResourceWithStreamingResponse",
|
|
153
167
|
"CredentialProvidersResource",
|
|
154
168
|
"AsyncCredentialProvidersResource",
|
|
155
169
|
"CredentialProvidersResourceWithRawResponse",
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from .limits import (
|
|
4
|
+
LimitsResource,
|
|
5
|
+
AsyncLimitsResource,
|
|
6
|
+
LimitsResourceWithRawResponse,
|
|
7
|
+
AsyncLimitsResourceWithRawResponse,
|
|
8
|
+
LimitsResourceWithStreamingResponse,
|
|
9
|
+
AsyncLimitsResourceWithStreamingResponse,
|
|
10
|
+
)
|
|
11
|
+
from .projects import (
|
|
12
|
+
ProjectsResource,
|
|
13
|
+
AsyncProjectsResource,
|
|
14
|
+
ProjectsResourceWithRawResponse,
|
|
15
|
+
AsyncProjectsResourceWithRawResponse,
|
|
16
|
+
ProjectsResourceWithStreamingResponse,
|
|
17
|
+
AsyncProjectsResourceWithStreamingResponse,
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
__all__ = [
|
|
21
|
+
"LimitsResource",
|
|
22
|
+
"AsyncLimitsResource",
|
|
23
|
+
"LimitsResourceWithRawResponse",
|
|
24
|
+
"AsyncLimitsResourceWithRawResponse",
|
|
25
|
+
"LimitsResourceWithStreamingResponse",
|
|
26
|
+
"AsyncLimitsResourceWithStreamingResponse",
|
|
27
|
+
"ProjectsResource",
|
|
28
|
+
"AsyncProjectsResource",
|
|
29
|
+
"ProjectsResourceWithRawResponse",
|
|
30
|
+
"AsyncProjectsResourceWithRawResponse",
|
|
31
|
+
"ProjectsResourceWithStreamingResponse",
|
|
32
|
+
"AsyncProjectsResourceWithStreamingResponse",
|
|
33
|
+
]
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import Optional
|
|
6
|
+
|
|
7
|
+
import httpx
|
|
8
|
+
|
|
9
|
+
from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
|
|
10
|
+
from ..._utils import path_template, maybe_transform, async_maybe_transform
|
|
11
|
+
from ..._compat import cached_property
|
|
12
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
13
|
+
from ..._response import (
|
|
14
|
+
to_raw_response_wrapper,
|
|
15
|
+
to_streamed_response_wrapper,
|
|
16
|
+
async_to_raw_response_wrapper,
|
|
17
|
+
async_to_streamed_response_wrapper,
|
|
18
|
+
)
|
|
19
|
+
from ..._base_client import make_request_options
|
|
20
|
+
from ...types.projects import limit_update_params
|
|
21
|
+
from ...types.projects.project_limits import ProjectLimits
|
|
22
|
+
|
|
23
|
+
__all__ = ["LimitsResource", "AsyncLimitsResource"]
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class LimitsResource(SyncAPIResource):
|
|
27
|
+
"""Create and manage projects for resource isolation within an organization."""
|
|
28
|
+
|
|
29
|
+
@cached_property
|
|
30
|
+
def with_raw_response(self) -> LimitsResourceWithRawResponse:
|
|
31
|
+
"""
|
|
32
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
33
|
+
the raw response object instead of the parsed content.
|
|
34
|
+
|
|
35
|
+
For more information, see https://www.github.com/kernel/kernel-python-sdk#accessing-raw-response-data-eg-headers
|
|
36
|
+
"""
|
|
37
|
+
return LimitsResourceWithRawResponse(self)
|
|
38
|
+
|
|
39
|
+
@cached_property
|
|
40
|
+
def with_streaming_response(self) -> LimitsResourceWithStreamingResponse:
|
|
41
|
+
"""
|
|
42
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
43
|
+
|
|
44
|
+
For more information, see https://www.github.com/kernel/kernel-python-sdk#with_streaming_response
|
|
45
|
+
"""
|
|
46
|
+
return LimitsResourceWithStreamingResponse(self)
|
|
47
|
+
|
|
48
|
+
def retrieve(
|
|
49
|
+
self,
|
|
50
|
+
id: str,
|
|
51
|
+
*,
|
|
52
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
53
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
54
|
+
extra_headers: Headers | None = None,
|
|
55
|
+
extra_query: Query | None = None,
|
|
56
|
+
extra_body: Body | None = None,
|
|
57
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
58
|
+
) -> ProjectLimits:
|
|
59
|
+
"""Get the resource limit overrides for a project.
|
|
60
|
+
|
|
61
|
+
Null values mean no
|
|
62
|
+
project-level cap (org limit applies).
|
|
63
|
+
|
|
64
|
+
Args:
|
|
65
|
+
extra_headers: Send extra headers
|
|
66
|
+
|
|
67
|
+
extra_query: Add additional query parameters to the request
|
|
68
|
+
|
|
69
|
+
extra_body: Add additional JSON properties to the request
|
|
70
|
+
|
|
71
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
72
|
+
"""
|
|
73
|
+
if not id:
|
|
74
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
75
|
+
return self._get(
|
|
76
|
+
path_template("/projects/{id}/limits", id=id),
|
|
77
|
+
options=make_request_options(
|
|
78
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
79
|
+
),
|
|
80
|
+
cast_to=ProjectLimits,
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
def update(
|
|
84
|
+
self,
|
|
85
|
+
id: str,
|
|
86
|
+
*,
|
|
87
|
+
max_concurrent_invocations: Optional[int] | Omit = omit,
|
|
88
|
+
max_concurrent_sessions: Optional[int] | Omit = omit,
|
|
89
|
+
max_persistent_sessions: Optional[int] | Omit = omit,
|
|
90
|
+
max_pooled_sessions: Optional[int] | Omit = omit,
|
|
91
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
92
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
93
|
+
extra_headers: Headers | None = None,
|
|
94
|
+
extra_query: Query | None = None,
|
|
95
|
+
extra_body: Body | None = None,
|
|
96
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
97
|
+
) -> ProjectLimits:
|
|
98
|
+
"""Update resource limit overrides for a project.
|
|
99
|
+
|
|
100
|
+
Only fields present in the
|
|
101
|
+
request are modified. Set a field to 0 to remove that limit cap; omit a field to
|
|
102
|
+
leave it unchanged.
|
|
103
|
+
|
|
104
|
+
Args:
|
|
105
|
+
max_concurrent_invocations: Maximum concurrent app invocations for this project. Set to 0 to remove the cap;
|
|
106
|
+
omit to leave unchanged.
|
|
107
|
+
|
|
108
|
+
max_concurrent_sessions: Maximum concurrent browser sessions for this project. Set to 0 to remove the
|
|
109
|
+
cap; omit to leave unchanged.
|
|
110
|
+
|
|
111
|
+
max_persistent_sessions: Maximum persistent browser sessions for this project. Set to 0 to remove the
|
|
112
|
+
cap; omit to leave unchanged.
|
|
113
|
+
|
|
114
|
+
max_pooled_sessions: Maximum pooled sessions capacity for this project. Set to 0 to remove the cap;
|
|
115
|
+
omit to leave unchanged.
|
|
116
|
+
|
|
117
|
+
extra_headers: Send extra headers
|
|
118
|
+
|
|
119
|
+
extra_query: Add additional query parameters to the request
|
|
120
|
+
|
|
121
|
+
extra_body: Add additional JSON properties to the request
|
|
122
|
+
|
|
123
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
124
|
+
"""
|
|
125
|
+
if not id:
|
|
126
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
127
|
+
return self._patch(
|
|
128
|
+
path_template("/projects/{id}/limits", id=id),
|
|
129
|
+
body=maybe_transform(
|
|
130
|
+
{
|
|
131
|
+
"max_concurrent_invocations": max_concurrent_invocations,
|
|
132
|
+
"max_concurrent_sessions": max_concurrent_sessions,
|
|
133
|
+
"max_persistent_sessions": max_persistent_sessions,
|
|
134
|
+
"max_pooled_sessions": max_pooled_sessions,
|
|
135
|
+
},
|
|
136
|
+
limit_update_params.LimitUpdateParams,
|
|
137
|
+
),
|
|
138
|
+
options=make_request_options(
|
|
139
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
140
|
+
),
|
|
141
|
+
cast_to=ProjectLimits,
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
class AsyncLimitsResource(AsyncAPIResource):
|
|
146
|
+
"""Create and manage projects for resource isolation within an organization."""
|
|
147
|
+
|
|
148
|
+
@cached_property
|
|
149
|
+
def with_raw_response(self) -> AsyncLimitsResourceWithRawResponse:
|
|
150
|
+
"""
|
|
151
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
152
|
+
the raw response object instead of the parsed content.
|
|
153
|
+
|
|
154
|
+
For more information, see https://www.github.com/kernel/kernel-python-sdk#accessing-raw-response-data-eg-headers
|
|
155
|
+
"""
|
|
156
|
+
return AsyncLimitsResourceWithRawResponse(self)
|
|
157
|
+
|
|
158
|
+
@cached_property
|
|
159
|
+
def with_streaming_response(self) -> AsyncLimitsResourceWithStreamingResponse:
|
|
160
|
+
"""
|
|
161
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
162
|
+
|
|
163
|
+
For more information, see https://www.github.com/kernel/kernel-python-sdk#with_streaming_response
|
|
164
|
+
"""
|
|
165
|
+
return AsyncLimitsResourceWithStreamingResponse(self)
|
|
166
|
+
|
|
167
|
+
async def retrieve(
|
|
168
|
+
self,
|
|
169
|
+
id: str,
|
|
170
|
+
*,
|
|
171
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
172
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
173
|
+
extra_headers: Headers | None = None,
|
|
174
|
+
extra_query: Query | None = None,
|
|
175
|
+
extra_body: Body | None = None,
|
|
176
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
177
|
+
) -> ProjectLimits:
|
|
178
|
+
"""Get the resource limit overrides for a project.
|
|
179
|
+
|
|
180
|
+
Null values mean no
|
|
181
|
+
project-level cap (org limit applies).
|
|
182
|
+
|
|
183
|
+
Args:
|
|
184
|
+
extra_headers: Send extra headers
|
|
185
|
+
|
|
186
|
+
extra_query: Add additional query parameters to the request
|
|
187
|
+
|
|
188
|
+
extra_body: Add additional JSON properties to the request
|
|
189
|
+
|
|
190
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
191
|
+
"""
|
|
192
|
+
if not id:
|
|
193
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
194
|
+
return await self._get(
|
|
195
|
+
path_template("/projects/{id}/limits", id=id),
|
|
196
|
+
options=make_request_options(
|
|
197
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
198
|
+
),
|
|
199
|
+
cast_to=ProjectLimits,
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
async def update(
|
|
203
|
+
self,
|
|
204
|
+
id: str,
|
|
205
|
+
*,
|
|
206
|
+
max_concurrent_invocations: Optional[int] | Omit = omit,
|
|
207
|
+
max_concurrent_sessions: Optional[int] | Omit = omit,
|
|
208
|
+
max_persistent_sessions: Optional[int] | Omit = omit,
|
|
209
|
+
max_pooled_sessions: Optional[int] | Omit = omit,
|
|
210
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
211
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
212
|
+
extra_headers: Headers | None = None,
|
|
213
|
+
extra_query: Query | None = None,
|
|
214
|
+
extra_body: Body | None = None,
|
|
215
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
216
|
+
) -> ProjectLimits:
|
|
217
|
+
"""Update resource limit overrides for a project.
|
|
218
|
+
|
|
219
|
+
Only fields present in the
|
|
220
|
+
request are modified. Set a field to 0 to remove that limit cap; omit a field to
|
|
221
|
+
leave it unchanged.
|
|
222
|
+
|
|
223
|
+
Args:
|
|
224
|
+
max_concurrent_invocations: Maximum concurrent app invocations for this project. Set to 0 to remove the cap;
|
|
225
|
+
omit to leave unchanged.
|
|
226
|
+
|
|
227
|
+
max_concurrent_sessions: Maximum concurrent browser sessions for this project. Set to 0 to remove the
|
|
228
|
+
cap; omit to leave unchanged.
|
|
229
|
+
|
|
230
|
+
max_persistent_sessions: Maximum persistent browser sessions for this project. Set to 0 to remove the
|
|
231
|
+
cap; omit to leave unchanged.
|
|
232
|
+
|
|
233
|
+
max_pooled_sessions: Maximum pooled sessions capacity for this project. Set to 0 to remove the cap;
|
|
234
|
+
omit to leave unchanged.
|
|
235
|
+
|
|
236
|
+
extra_headers: Send extra headers
|
|
237
|
+
|
|
238
|
+
extra_query: Add additional query parameters to the request
|
|
239
|
+
|
|
240
|
+
extra_body: Add additional JSON properties to the request
|
|
241
|
+
|
|
242
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
243
|
+
"""
|
|
244
|
+
if not id:
|
|
245
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
246
|
+
return await self._patch(
|
|
247
|
+
path_template("/projects/{id}/limits", id=id),
|
|
248
|
+
body=await async_maybe_transform(
|
|
249
|
+
{
|
|
250
|
+
"max_concurrent_invocations": max_concurrent_invocations,
|
|
251
|
+
"max_concurrent_sessions": max_concurrent_sessions,
|
|
252
|
+
"max_persistent_sessions": max_persistent_sessions,
|
|
253
|
+
"max_pooled_sessions": max_pooled_sessions,
|
|
254
|
+
},
|
|
255
|
+
limit_update_params.LimitUpdateParams,
|
|
256
|
+
),
|
|
257
|
+
options=make_request_options(
|
|
258
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
259
|
+
),
|
|
260
|
+
cast_to=ProjectLimits,
|
|
261
|
+
)
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
class LimitsResourceWithRawResponse:
|
|
265
|
+
def __init__(self, limits: LimitsResource) -> None:
|
|
266
|
+
self._limits = limits
|
|
267
|
+
|
|
268
|
+
self.retrieve = to_raw_response_wrapper(
|
|
269
|
+
limits.retrieve,
|
|
270
|
+
)
|
|
271
|
+
self.update = to_raw_response_wrapper(
|
|
272
|
+
limits.update,
|
|
273
|
+
)
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
class AsyncLimitsResourceWithRawResponse:
|
|
277
|
+
def __init__(self, limits: AsyncLimitsResource) -> None:
|
|
278
|
+
self._limits = limits
|
|
279
|
+
|
|
280
|
+
self.retrieve = async_to_raw_response_wrapper(
|
|
281
|
+
limits.retrieve,
|
|
282
|
+
)
|
|
283
|
+
self.update = async_to_raw_response_wrapper(
|
|
284
|
+
limits.update,
|
|
285
|
+
)
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
class LimitsResourceWithStreamingResponse:
|
|
289
|
+
def __init__(self, limits: LimitsResource) -> None:
|
|
290
|
+
self._limits = limits
|
|
291
|
+
|
|
292
|
+
self.retrieve = to_streamed_response_wrapper(
|
|
293
|
+
limits.retrieve,
|
|
294
|
+
)
|
|
295
|
+
self.update = to_streamed_response_wrapper(
|
|
296
|
+
limits.update,
|
|
297
|
+
)
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
class AsyncLimitsResourceWithStreamingResponse:
|
|
301
|
+
def __init__(self, limits: AsyncLimitsResource) -> None:
|
|
302
|
+
self._limits = limits
|
|
303
|
+
|
|
304
|
+
self.retrieve = async_to_streamed_response_wrapper(
|
|
305
|
+
limits.retrieve,
|
|
306
|
+
)
|
|
307
|
+
self.update = async_to_streamed_response_wrapper(
|
|
308
|
+
limits.update,
|
|
309
|
+
)
|