bytekit-sdk 0.5.0__tar.gz → 0.5.2__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.
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/CHANGELOG.md +82 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/PKG-INFO +1 -1
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/pyproject.toml +1 -1
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/bulk/create_bulk.py +4 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/bulk/get_bulk.py +15 -10
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/fetch/get_fetch.py +4 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/fetch/post_fetch.py +4 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/fetch_bulk/create_fetch_bulk.py +4 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/fetch_bulk/get_fetch_bulk.py +15 -10
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/scrape/create_scrape.py +4 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/scrape_bulk/create_scrape_bulk.py +4 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/scrape_bulk/get_scrape_bulk.py +15 -10
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/sitemap/create_sitemap.py +4 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/__init__.py +18 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/account_bearer_response.py +4 -1
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/bandwidth_balance.py +4 -1
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body.py +3 -1
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_defaults_formats_item.py +1 -2
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_items_item_formats_item.py +1 -2
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_fetch_bulk_body.py +3 -1
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_scrape_bulk_body.py +3 -1
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_scrape_bulk_body_defaults_formats_item.py +1 -2
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_scrape_bulk_body_items_item_formats_item.py +1 -2
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/credit_balance.py +2 -1
- bytekit_sdk-0.5.0/src/bytekit/models/get_scrape_bulk_response_200.py → bytekit_sdk-0.5.2/src/bytekit/models/get_bulk_response_202.py +9 -9
- bytekit_sdk-0.5.2/src/bytekit/models/get_bulk_response_202_status.py +8 -0
- bytekit_sdk-0.5.2/src/bytekit/models/get_fetch_bulk_response_202.py +201 -0
- bytekit_sdk-0.5.2/src/bytekit/models/get_fetch_bulk_response_202_items_item.py +264 -0
- bytekit_sdk-0.5.2/src/bytekit/models/get_fetch_bulk_response_202_items_item_status.py +12 -0
- bytekit_sdk-0.5.2/src/bytekit/models/get_fetch_bulk_response_202_status.py +9 -0
- bytekit_sdk-0.5.2/src/bytekit/models/get_scrape_bulk_response_200.py +249 -0
- bytekit_sdk-0.5.2/src/bytekit/models/get_scrape_bulk_response_202.py +248 -0
- bytekit_sdk-0.5.2/src/bytekit/models/get_scrape_bulk_response_202_status.py +8 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_usage_by_endpoint_response_200_rows_item.py +5 -2
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_usage_response_200.py +10 -6
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_create_request.py +3 -1
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_create_response.py +2 -1
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_update_request.py +3 -1
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_formats.py +8 -16
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_request.py +10 -10
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_request_formats_item.py +1 -2
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_success_envelope.py +11 -13
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/sitemap_request.py +3 -1
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/.gitignore +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/LICENSE +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/README.md +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/account/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/account/get_account.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/bulk/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/bulk/delete_bulk.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/bulk/list_bulk_screenshots.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/fetch/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/fetch_bulk/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/monitors/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/monitors/create_monitor.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/monitors/delete_monitor.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/monitors/get_monitor.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/monitors/list_monitor_captures.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/monitors/list_monitors.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/monitors/update_monitor.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/scrape/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/scrape/get_scrape.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/scrape_bulk/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/screenshots/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/screenshots/create_screenshot.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/screenshots/get_screenshot.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/search/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/search/create_search.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/sitemap/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/sitemap/get_sitemap.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/usage/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/usage/get_usage.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/usage/get_usage_by_endpoint.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/usage/get_usage_daily.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/webhooks/__init__.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/webhooks/list_webhook_deliveries.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/api/webhooks/retry_webhook_delivery.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/client.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/errors.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/account_bearer_response_api_key.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/account_bearer_response_api_key_environment.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/account_bearer_response_auto_topup.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/account_bearer_response_plan.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/account_bearer_response_subscription.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/account_bearer_response_subscription_plan.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/account_bearer_response_subscription_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/account_session_response.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/account_session_response_notifications.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/account_session_response_plan.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/billing_factor.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/billing_factor_name.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/billing_node.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/capture_response.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/capture_response_outcome.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/clip.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_defaults.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_defaults_device.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_1.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_2_type_1.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_defaults_device_scale_factor_type_3_type_1.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_defaults_type.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_defaults_viewport_type_0.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_defaults_wait_until.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_items_item.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_items_item_device.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_items_item_scenario.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_items_item_type.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_items_item_viewport_type_0.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_body_items_item_wait_until.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_response_202.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_bulk_response_202_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_fetch_bulk_body_defaults.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_fetch_bulk_body_urls_item_type_1.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_fetch_bulk_response_202.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_fetch_bulk_response_202_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_scrape_bulk_body_custom.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_scrape_bulk_body_defaults.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_scrape_bulk_body_items_item.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_scrape_bulk_body_items_item_custom.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_scrape_bulk_response_202.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_scrape_bulk_response_202_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_search_body.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_search_body_date_range.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_search_body_type.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_search_response_200.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_search_response_200_results_item.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_search_response_200_results_item_image.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_search_response_502.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/create_search_response_502_error.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/delete_bulk_response_200.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/delete_bulk_response_200_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/error.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/error_error.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/error_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/fetch_request.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/fetch_request_cache_ttl_type_1.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/fetch_request_custom.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_bulk_response_200.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_bulk_response_200_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_fetch_bulk_response_200.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_fetch_bulk_response_200_items_item.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_fetch_bulk_response_200_items_item_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_fetch_bulk_response_200_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_fetch_cache_ttl_type_1.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_scrape_bulk_response_200_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_usage_by_endpoint_response_200.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_usage_by_endpoint_response_200_rows_item_endpoint.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_usage_by_endpoint_response_200_totals.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_usage_daily_response_200.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_usage_daily_response_200_data_item.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/get_usage_response_200_plan_type.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/list_bulk_screenshots_response_200.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/list_bulk_screenshots_response_200_items_item.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/list_bulk_screenshots_response_200_items_item_type.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/list_monitor_captures_response_200.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/list_monitors_response_200.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/list_monitors_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/list_webhook_deliveries_response_200.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/list_webhook_deliveries_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/metadata.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_create_request_interval_type.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_create_request_notify_on.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_create_request_options.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_create_request_scrape_options.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_create_request_type.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_create_request_webhook_headers.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_response.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_response_interval_type.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_response_metadata_type_0.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_response_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_response_type.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_response_webhook_headers_type_0.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_update_request_interval_type.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_update_request_notify_on.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_update_request_options.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_update_request_scrape_options.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_update_request_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/monitor_update_request_webhook_headers.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_error_envelope.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_error_envelope_error.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_error_envelope_error_code.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_error_envelope_schema_version.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_error_envelope_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_markdown_tokens.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_metadata.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_queued_envelope.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_queued_envelope_schema_version.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_queued_envelope_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_request_cache_ttl_type_1.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_request_custom.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_request_events_item.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_request_markdown_images.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_request_markdown_links.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_request_markdown_mode.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_request_token_encoding.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_request_x_internal_scrape_path.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_scored_image.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_scored_link.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_stats.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_success_envelope_cache.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_success_envelope_custom.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_success_envelope_schema_version.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_success_envelope_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_table.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_table_kind.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_warning.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/scrape_warning_code.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/screenshot_request.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/screenshot_request_device.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/screenshot_request_device_scale_factor_type_1.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/screenshot_request_device_scale_factor_type_2_type_1.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/screenshot_request_device_scale_factor_type_3_type_1.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/screenshot_request_format.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/screenshot_request_wait_until.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/screenshot_response.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/screenshot_response_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/sitemap_request_process_type_0.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/sitemap_request_process_type_0_options.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/sitemap_request_strategy.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/sitemap_response.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/sitemap_response_cache.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/sitemap_response_metadata_type_0.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/sitemap_response_process_type_0.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/sitemap_response_sources_type_0.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/sitemap_response_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/viewport.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/webhook_delivery_response.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/webhook_delivery_response_event_type.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/models/webhook_delivery_response_status.py +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/py.typed +0 -0
- {bytekit_sdk-0.5.0 → bytekit_sdk-0.5.2}/src/bytekit/types.py +0 -0
|
@@ -5,6 +5,88 @@ PyPI distribution: `bytekit-sdk`. Import name: `bytekit`.
|
|
|
5
5
|
|
|
6
6
|
## Unreleased
|
|
7
7
|
|
|
8
|
+
## 0.5.2
|
|
9
|
+
|
|
10
|
+
_Release cut 2026-09-03._
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **Breaking (API):** the scrape `formats` vocabulary is now `raw | markdown | links | images`
|
|
15
|
+
(#3775). `ScrapeRequestFormatsItem` drops the two retired members and gains `RAW`, and the
|
|
16
|
+
response model exposes `ScrapeFormats.raw` in place of the old raw-HTML and cleaned-HTML
|
|
17
|
+
fields. The server accepts no alias, so a request naming a retired value returns `422`:
|
|
18
|
+
|
|
19
|
+
```python
|
|
20
|
+
body = ScrapeRequest(url="https://example.com", formats=[ScrapeRequestFormatsItem.RAW])
|
|
21
|
+
resp = create_scrape.sync_detailed(client=client, body=body)
|
|
22
|
+
print(resp.parsed.formats.raw)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- `402 Payment Required` now returns a typed `Error` instead of raising `UnexpectedStatus` on
|
|
28
|
+
`create_scrape`, `get_fetch`, `post_fetch`, `create_fetch_bulk`, `create_scrape_bulk`,
|
|
29
|
+
`create_bulk` and `create_sitemap` (#3784). Those operations enforce quota but never declared
|
|
30
|
+
`402` in the spec, so the generated client had no arm for it while `create_search` and
|
|
31
|
+
`create_screenshot` did — the same exhausted account raised on one call and returned a parsed
|
|
32
|
+
error on the next. Regenerated from the corrected spec:
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
resp = create_scrape.sync_detailed(client=client, body=body)
|
|
36
|
+
if resp.status_code == 402:
|
|
37
|
+
print(resp.parsed.error.code) # quota_exceeded | spending_cap_reached | …
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- The generated `events` field docstring on `ScrapeRequest` now documents the widened server
|
|
43
|
+
default (`queued`, `completed`, `failed`) and that a caller may send an explicit subset to
|
|
44
|
+
receive fewer deliveries (#3777). Types/docs only — this regeneration followed a server-side
|
|
45
|
+
default change; the SDK carried no logic tied to the old default.
|
|
46
|
+
|
|
47
|
+
## 0.5.1
|
|
48
|
+
|
|
49
|
+
_Release cut 2026-08-25._
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
|
|
53
|
+
- `GetScrapeBulkResponse200` now exposes the `items` a completed scrape-bulk poll returns
|
|
54
|
+
(#3632). `get_scrape_bulk` parsed the terminal `200` into a model with no `items` field, so
|
|
55
|
+
a create-then-poll flow surfaced typed envelopes on every non-terminal poll and lost them on
|
|
56
|
+
the terminal one, where the results actually live:
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
polled = get_scrape_bulk.sync(id=job.id, client=client)
|
|
60
|
+
for item in polled.items: # typed ScrapeSuccessEnvelope / ScrapeErrorEnvelope / ScrapeQueuedEnvelope
|
|
61
|
+
...
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Server behavior is unchanged — the field was always on the wire.
|
|
65
|
+
|
|
66
|
+
- Polling a bulk job that is still running no longer raises `UnexpectedStatus: 202` (#3533).
|
|
67
|
+
`get_scrape_bulk`, `get_fetch_bulk` and `get_bulk` return HTTP 202 with the job envelope
|
|
68
|
+
while the job is non-terminal and 200 once it is terminal, but only the 200 was documented,
|
|
69
|
+
so the first poll of the obvious create-then-poll workflow raised (or returned `None` with
|
|
70
|
+
`raise_on_unexpected_status=False`). Each of the three now parses the 202 into its own typed
|
|
71
|
+
model — `GetScrapeBulkResponse202`, `GetFetchBulkResponse202`, `GetBulkResponse202` — which
|
|
72
|
+
carries the same fields as the matching 200 model:
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
job = create_scrape_bulk.sync(client=client, body=body)
|
|
76
|
+
polled = get_scrape_bulk.sync_detailed(id=job.id, client=client)
|
|
77
|
+
# polled.status_code is 202 while processing, 200 once terminal; .parsed is typed in both
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Server behavior is unchanged — this is a client-side parsing fix.
|
|
81
|
+
|
|
82
|
+
### Changed
|
|
83
|
+
|
|
84
|
+
- `GetUsageResponse200.topup_balance_bytes` now documents itself as the remaining purchased
|
|
85
|
+
top-up bytes, already net of any overage consumed against them (#3459). Documentation only:
|
|
86
|
+
the field's name, type and wire format are unchanged. The server previously subtracted the
|
|
87
|
+
consumed overage a second time when computing this value, so the number a client reads is
|
|
88
|
+
larger than before for accounts that ran past their included allowance.
|
|
89
|
+
|
|
8
90
|
## 0.5.0
|
|
9
91
|
|
|
10
92
|
_Release cut 2026-08-20._
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# `pip install bytekit-sdk` yields a working `import bytekit`. Mirrors the npm sibling
|
|
8
8
|
# @hunt-labs/bytekit-sdk.
|
|
9
9
|
name = "bytekit-sdk"
|
|
10
|
-
version = "0.5.
|
|
10
|
+
version = "0.5.2"
|
|
11
11
|
description = "Official Python SDK for the ByteKit API"
|
|
12
12
|
readme = "README.md"
|
|
13
13
|
requires-python = ">=3.10"
|
|
@@ -40,6 +40,10 @@ def _parse_response(
|
|
|
40
40
|
response_400 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
41
41
|
|
|
42
42
|
return response_400
|
|
43
|
+
if response.status_code == 402:
|
|
44
|
+
response_402 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
45
|
+
|
|
46
|
+
return response_402
|
|
43
47
|
if response.status_code == 422:
|
|
44
48
|
response_422 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
45
49
|
|
|
@@ -7,6 +7,7 @@ from ... import errors
|
|
|
7
7
|
from ...client import AuthenticatedClient, Client
|
|
8
8
|
from ...models.error import Error
|
|
9
9
|
from ...models.get_bulk_response_200 import GetBulkResponse200
|
|
10
|
+
from ...models.get_bulk_response_202 import GetBulkResponse202
|
|
10
11
|
from ...types import Response
|
|
11
12
|
|
|
12
13
|
|
|
@@ -23,11 +24,15 @@ def _get_kwargs(
|
|
|
23
24
|
|
|
24
25
|
def _parse_response(
|
|
25
26
|
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
26
|
-
) -> Optional[Union[Error, GetBulkResponse200]]:
|
|
27
|
+
) -> Optional[Union[Error, GetBulkResponse200, GetBulkResponse202]]:
|
|
27
28
|
if response.status_code == 200:
|
|
28
29
|
response_200 = errors.bytekit_parse(GetBulkResponse200.from_dict, client=client, response=response)
|
|
29
30
|
|
|
30
31
|
return response_200
|
|
32
|
+
if response.status_code == 202:
|
|
33
|
+
response_202 = errors.bytekit_parse(GetBulkResponse202.from_dict, client=client, response=response)
|
|
34
|
+
|
|
35
|
+
return response_202
|
|
31
36
|
if response.status_code == 404:
|
|
32
37
|
response_404 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
33
38
|
|
|
@@ -40,7 +45,7 @@ def _parse_response(
|
|
|
40
45
|
|
|
41
46
|
def _build_response(
|
|
42
47
|
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
43
|
-
) -> Response[Union[Error, GetBulkResponse200]]:
|
|
48
|
+
) -> Response[Union[Error, GetBulkResponse200, GetBulkResponse202]]:
|
|
44
49
|
return Response(
|
|
45
50
|
status_code=errors.bytekit_status_code(response.status_code), # BYTEKIT-STATUS-COERCE
|
|
46
51
|
content=response.content,
|
|
@@ -53,7 +58,7 @@ def sync_detailed(
|
|
|
53
58
|
id: str,
|
|
54
59
|
*,
|
|
55
60
|
client: Union[AuthenticatedClient, Client],
|
|
56
|
-
) -> Response[Union[Error, GetBulkResponse200]]:
|
|
61
|
+
) -> Response[Union[Error, GetBulkResponse200, GetBulkResponse202]]:
|
|
57
62
|
"""Get bulk job status
|
|
58
63
|
|
|
59
64
|
Args:
|
|
@@ -64,7 +69,7 @@ def sync_detailed(
|
|
|
64
69
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
65
70
|
|
|
66
71
|
Returns:
|
|
67
|
-
Response[Union[Error, GetBulkResponse200]]
|
|
72
|
+
Response[Union[Error, GetBulkResponse200, GetBulkResponse202]]
|
|
68
73
|
"""
|
|
69
74
|
|
|
70
75
|
kwargs = _get_kwargs(
|
|
@@ -82,7 +87,7 @@ def sync(
|
|
|
82
87
|
id: str,
|
|
83
88
|
*,
|
|
84
89
|
client: Union[AuthenticatedClient, Client],
|
|
85
|
-
) -> Optional[Union[Error, GetBulkResponse200]]:
|
|
90
|
+
) -> Optional[Union[Error, GetBulkResponse200, GetBulkResponse202]]:
|
|
86
91
|
"""Get bulk job status
|
|
87
92
|
|
|
88
93
|
Args:
|
|
@@ -93,7 +98,7 @@ def sync(
|
|
|
93
98
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
94
99
|
|
|
95
100
|
Returns:
|
|
96
|
-
Union[Error, GetBulkResponse200]
|
|
101
|
+
Union[Error, GetBulkResponse200, GetBulkResponse202]
|
|
97
102
|
"""
|
|
98
103
|
|
|
99
104
|
return sync_detailed(
|
|
@@ -106,7 +111,7 @@ async def asyncio_detailed(
|
|
|
106
111
|
id: str,
|
|
107
112
|
*,
|
|
108
113
|
client: Union[AuthenticatedClient, Client],
|
|
109
|
-
) -> Response[Union[Error, GetBulkResponse200]]:
|
|
114
|
+
) -> Response[Union[Error, GetBulkResponse200, GetBulkResponse202]]:
|
|
110
115
|
"""Get bulk job status
|
|
111
116
|
|
|
112
117
|
Args:
|
|
@@ -117,7 +122,7 @@ async def asyncio_detailed(
|
|
|
117
122
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
118
123
|
|
|
119
124
|
Returns:
|
|
120
|
-
Response[Union[Error, GetBulkResponse200]]
|
|
125
|
+
Response[Union[Error, GetBulkResponse200, GetBulkResponse202]]
|
|
121
126
|
"""
|
|
122
127
|
|
|
123
128
|
kwargs = _get_kwargs(
|
|
@@ -133,7 +138,7 @@ async def asyncio(
|
|
|
133
138
|
id: str,
|
|
134
139
|
*,
|
|
135
140
|
client: Union[AuthenticatedClient, Client],
|
|
136
|
-
) -> Optional[Union[Error, GetBulkResponse200]]:
|
|
141
|
+
) -> Optional[Union[Error, GetBulkResponse200, GetBulkResponse202]]:
|
|
137
142
|
"""Get bulk job status
|
|
138
143
|
|
|
139
144
|
Args:
|
|
@@ -144,7 +149,7 @@ async def asyncio(
|
|
|
144
149
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
145
150
|
|
|
146
151
|
Returns:
|
|
147
|
-
Union[Error, GetBulkResponse200]
|
|
152
|
+
Union[Error, GetBulkResponse200, GetBulkResponse202]
|
|
148
153
|
"""
|
|
149
154
|
|
|
150
155
|
return (
|
|
@@ -54,6 +54,10 @@ def _parse_response(
|
|
|
54
54
|
response_400 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
55
55
|
|
|
56
56
|
return response_400
|
|
57
|
+
if response.status_code == 402:
|
|
58
|
+
response_402 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
59
|
+
|
|
60
|
+
return response_402
|
|
57
61
|
if response.status_code == 422:
|
|
58
62
|
response_422 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
59
63
|
|
|
@@ -38,6 +38,10 @@ def _parse_response(
|
|
|
38
38
|
response_400 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
39
39
|
|
|
40
40
|
return response_400
|
|
41
|
+
if response.status_code == 402:
|
|
42
|
+
response_402 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
43
|
+
|
|
44
|
+
return response_402
|
|
41
45
|
if response.status_code == 422:
|
|
42
46
|
response_422 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
43
47
|
|
|
@@ -40,6 +40,10 @@ def _parse_response(
|
|
|
40
40
|
response_400 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
41
41
|
|
|
42
42
|
return response_400
|
|
43
|
+
if response.status_code == 402:
|
|
44
|
+
response_402 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
45
|
+
|
|
46
|
+
return response_402
|
|
43
47
|
if response.status_code == 422:
|
|
44
48
|
response_422 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
45
49
|
|
|
@@ -7,6 +7,7 @@ from ... import errors
|
|
|
7
7
|
from ...client import AuthenticatedClient, Client
|
|
8
8
|
from ...models.error import Error
|
|
9
9
|
from ...models.get_fetch_bulk_response_200 import GetFetchBulkResponse200
|
|
10
|
+
from ...models.get_fetch_bulk_response_202 import GetFetchBulkResponse202
|
|
10
11
|
from ...types import Response
|
|
11
12
|
|
|
12
13
|
|
|
@@ -23,11 +24,15 @@ def _get_kwargs(
|
|
|
23
24
|
|
|
24
25
|
def _parse_response(
|
|
25
26
|
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
26
|
-
) -> Optional[Union[Error, GetFetchBulkResponse200]]:
|
|
27
|
+
) -> Optional[Union[Error, GetFetchBulkResponse200, GetFetchBulkResponse202]]:
|
|
27
28
|
if response.status_code == 200:
|
|
28
29
|
response_200 = errors.bytekit_parse(GetFetchBulkResponse200.from_dict, client=client, response=response)
|
|
29
30
|
|
|
30
31
|
return response_200
|
|
32
|
+
if response.status_code == 202:
|
|
33
|
+
response_202 = errors.bytekit_parse(GetFetchBulkResponse202.from_dict, client=client, response=response)
|
|
34
|
+
|
|
35
|
+
return response_202
|
|
31
36
|
if response.status_code == 404:
|
|
32
37
|
response_404 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
33
38
|
|
|
@@ -40,7 +45,7 @@ def _parse_response(
|
|
|
40
45
|
|
|
41
46
|
def _build_response(
|
|
42
47
|
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
43
|
-
) -> Response[Union[Error, GetFetchBulkResponse200]]:
|
|
48
|
+
) -> Response[Union[Error, GetFetchBulkResponse200, GetFetchBulkResponse202]]:
|
|
44
49
|
return Response(
|
|
45
50
|
status_code=errors.bytekit_status_code(response.status_code), # BYTEKIT-STATUS-COERCE
|
|
46
51
|
content=response.content,
|
|
@@ -53,7 +58,7 @@ def sync_detailed(
|
|
|
53
58
|
id: str,
|
|
54
59
|
*,
|
|
55
60
|
client: Union[AuthenticatedClient, Client],
|
|
56
|
-
) -> Response[Union[Error, GetFetchBulkResponse200]]:
|
|
61
|
+
) -> Response[Union[Error, GetFetchBulkResponse200, GetFetchBulkResponse202]]:
|
|
57
62
|
"""Get fetch bulk job status
|
|
58
63
|
|
|
59
64
|
Returns the job envelope plus its per-URL items.
|
|
@@ -75,7 +80,7 @@ def sync_detailed(
|
|
|
75
80
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
76
81
|
|
|
77
82
|
Returns:
|
|
78
|
-
Response[Union[Error, GetFetchBulkResponse200]]
|
|
83
|
+
Response[Union[Error, GetFetchBulkResponse200, GetFetchBulkResponse202]]
|
|
79
84
|
"""
|
|
80
85
|
|
|
81
86
|
kwargs = _get_kwargs(
|
|
@@ -93,7 +98,7 @@ def sync(
|
|
|
93
98
|
id: str,
|
|
94
99
|
*,
|
|
95
100
|
client: Union[AuthenticatedClient, Client],
|
|
96
|
-
) -> Optional[Union[Error, GetFetchBulkResponse200]]:
|
|
101
|
+
) -> Optional[Union[Error, GetFetchBulkResponse200, GetFetchBulkResponse202]]:
|
|
97
102
|
"""Get fetch bulk job status
|
|
98
103
|
|
|
99
104
|
Returns the job envelope plus its per-URL items.
|
|
@@ -115,7 +120,7 @@ def sync(
|
|
|
115
120
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
116
121
|
|
|
117
122
|
Returns:
|
|
118
|
-
Union[Error, GetFetchBulkResponse200]
|
|
123
|
+
Union[Error, GetFetchBulkResponse200, GetFetchBulkResponse202]
|
|
119
124
|
"""
|
|
120
125
|
|
|
121
126
|
return sync_detailed(
|
|
@@ -128,7 +133,7 @@ async def asyncio_detailed(
|
|
|
128
133
|
id: str,
|
|
129
134
|
*,
|
|
130
135
|
client: Union[AuthenticatedClient, Client],
|
|
131
|
-
) -> Response[Union[Error, GetFetchBulkResponse200]]:
|
|
136
|
+
) -> Response[Union[Error, GetFetchBulkResponse200, GetFetchBulkResponse202]]:
|
|
132
137
|
"""Get fetch bulk job status
|
|
133
138
|
|
|
134
139
|
Returns the job envelope plus its per-URL items.
|
|
@@ -150,7 +155,7 @@ async def asyncio_detailed(
|
|
|
150
155
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
151
156
|
|
|
152
157
|
Returns:
|
|
153
|
-
Response[Union[Error, GetFetchBulkResponse200]]
|
|
158
|
+
Response[Union[Error, GetFetchBulkResponse200, GetFetchBulkResponse202]]
|
|
154
159
|
"""
|
|
155
160
|
|
|
156
161
|
kwargs = _get_kwargs(
|
|
@@ -166,7 +171,7 @@ async def asyncio(
|
|
|
166
171
|
id: str,
|
|
167
172
|
*,
|
|
168
173
|
client: Union[AuthenticatedClient, Client],
|
|
169
|
-
) -> Optional[Union[Error, GetFetchBulkResponse200]]:
|
|
174
|
+
) -> Optional[Union[Error, GetFetchBulkResponse200, GetFetchBulkResponse202]]:
|
|
170
175
|
"""Get fetch bulk job status
|
|
171
176
|
|
|
172
177
|
Returns the job envelope plus its per-URL items.
|
|
@@ -188,7 +193,7 @@ async def asyncio(
|
|
|
188
193
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
189
194
|
|
|
190
195
|
Returns:
|
|
191
|
-
Union[Error, GetFetchBulkResponse200]
|
|
196
|
+
Union[Error, GetFetchBulkResponse200, GetFetchBulkResponse202]
|
|
192
197
|
"""
|
|
193
198
|
|
|
194
199
|
return (
|
|
@@ -45,6 +45,10 @@ def _parse_response(
|
|
|
45
45
|
response_400 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
46
46
|
|
|
47
47
|
return response_400
|
|
48
|
+
if response.status_code == 402:
|
|
49
|
+
response_402 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
50
|
+
|
|
51
|
+
return response_402
|
|
48
52
|
if response.status_code == 422:
|
|
49
53
|
response_422 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
50
54
|
|
|
@@ -40,6 +40,10 @@ def _parse_response(
|
|
|
40
40
|
response_400 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
41
41
|
|
|
42
42
|
return response_400
|
|
43
|
+
if response.status_code == 402:
|
|
44
|
+
response_402 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
45
|
+
|
|
46
|
+
return response_402
|
|
43
47
|
if response.status_code == 422:
|
|
44
48
|
response_422 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
45
49
|
|
|
@@ -7,6 +7,7 @@ from ... import errors
|
|
|
7
7
|
from ...client import AuthenticatedClient, Client
|
|
8
8
|
from ...models.error import Error
|
|
9
9
|
from ...models.get_scrape_bulk_response_200 import GetScrapeBulkResponse200
|
|
10
|
+
from ...models.get_scrape_bulk_response_202 import GetScrapeBulkResponse202
|
|
10
11
|
from ...types import Response
|
|
11
12
|
|
|
12
13
|
|
|
@@ -23,11 +24,15 @@ def _get_kwargs(
|
|
|
23
24
|
|
|
24
25
|
def _parse_response(
|
|
25
26
|
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
26
|
-
) -> Optional[Union[Error, GetScrapeBulkResponse200]]:
|
|
27
|
+
) -> Optional[Union[Error, GetScrapeBulkResponse200, GetScrapeBulkResponse202]]:
|
|
27
28
|
if response.status_code == 200:
|
|
28
29
|
response_200 = errors.bytekit_parse(GetScrapeBulkResponse200.from_dict, client=client, response=response)
|
|
29
30
|
|
|
30
31
|
return response_200
|
|
32
|
+
if response.status_code == 202:
|
|
33
|
+
response_202 = errors.bytekit_parse(GetScrapeBulkResponse202.from_dict, client=client, response=response)
|
|
34
|
+
|
|
35
|
+
return response_202
|
|
31
36
|
if response.status_code == 404:
|
|
32
37
|
response_404 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
33
38
|
|
|
@@ -40,7 +45,7 @@ def _parse_response(
|
|
|
40
45
|
|
|
41
46
|
def _build_response(
|
|
42
47
|
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
43
|
-
) -> Response[Union[Error, GetScrapeBulkResponse200]]:
|
|
48
|
+
) -> Response[Union[Error, GetScrapeBulkResponse200, GetScrapeBulkResponse202]]:
|
|
44
49
|
return Response(
|
|
45
50
|
status_code=errors.bytekit_status_code(response.status_code), # BYTEKIT-STATUS-COERCE
|
|
46
51
|
content=response.content,
|
|
@@ -53,7 +58,7 @@ def sync_detailed(
|
|
|
53
58
|
id: str,
|
|
54
59
|
*,
|
|
55
60
|
client: Union[AuthenticatedClient, Client],
|
|
56
|
-
) -> Response[Union[Error, GetScrapeBulkResponse200]]:
|
|
61
|
+
) -> Response[Union[Error, GetScrapeBulkResponse200, GetScrapeBulkResponse202]]:
|
|
57
62
|
"""Get scrape bulk job status
|
|
58
63
|
|
|
59
64
|
Args:
|
|
@@ -64,7 +69,7 @@ def sync_detailed(
|
|
|
64
69
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
65
70
|
|
|
66
71
|
Returns:
|
|
67
|
-
Response[Union[Error, GetScrapeBulkResponse200]]
|
|
72
|
+
Response[Union[Error, GetScrapeBulkResponse200, GetScrapeBulkResponse202]]
|
|
68
73
|
"""
|
|
69
74
|
|
|
70
75
|
kwargs = _get_kwargs(
|
|
@@ -82,7 +87,7 @@ def sync(
|
|
|
82
87
|
id: str,
|
|
83
88
|
*,
|
|
84
89
|
client: Union[AuthenticatedClient, Client],
|
|
85
|
-
) -> Optional[Union[Error, GetScrapeBulkResponse200]]:
|
|
90
|
+
) -> Optional[Union[Error, GetScrapeBulkResponse200, GetScrapeBulkResponse202]]:
|
|
86
91
|
"""Get scrape bulk job status
|
|
87
92
|
|
|
88
93
|
Args:
|
|
@@ -93,7 +98,7 @@ def sync(
|
|
|
93
98
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
94
99
|
|
|
95
100
|
Returns:
|
|
96
|
-
Union[Error, GetScrapeBulkResponse200]
|
|
101
|
+
Union[Error, GetScrapeBulkResponse200, GetScrapeBulkResponse202]
|
|
97
102
|
"""
|
|
98
103
|
|
|
99
104
|
return sync_detailed(
|
|
@@ -106,7 +111,7 @@ async def asyncio_detailed(
|
|
|
106
111
|
id: str,
|
|
107
112
|
*,
|
|
108
113
|
client: Union[AuthenticatedClient, Client],
|
|
109
|
-
) -> Response[Union[Error, GetScrapeBulkResponse200]]:
|
|
114
|
+
) -> Response[Union[Error, GetScrapeBulkResponse200, GetScrapeBulkResponse202]]:
|
|
110
115
|
"""Get scrape bulk job status
|
|
111
116
|
|
|
112
117
|
Args:
|
|
@@ -117,7 +122,7 @@ async def asyncio_detailed(
|
|
|
117
122
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
118
123
|
|
|
119
124
|
Returns:
|
|
120
|
-
Response[Union[Error, GetScrapeBulkResponse200]]
|
|
125
|
+
Response[Union[Error, GetScrapeBulkResponse200, GetScrapeBulkResponse202]]
|
|
121
126
|
"""
|
|
122
127
|
|
|
123
128
|
kwargs = _get_kwargs(
|
|
@@ -133,7 +138,7 @@ async def asyncio(
|
|
|
133
138
|
id: str,
|
|
134
139
|
*,
|
|
135
140
|
client: Union[AuthenticatedClient, Client],
|
|
136
|
-
) -> Optional[Union[Error, GetScrapeBulkResponse200]]:
|
|
141
|
+
) -> Optional[Union[Error, GetScrapeBulkResponse200, GetScrapeBulkResponse202]]:
|
|
137
142
|
"""Get scrape bulk job status
|
|
138
143
|
|
|
139
144
|
Args:
|
|
@@ -144,7 +149,7 @@ async def asyncio(
|
|
|
144
149
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
145
150
|
|
|
146
151
|
Returns:
|
|
147
|
-
Union[Error, GetScrapeBulkResponse200]
|
|
152
|
+
Union[Error, GetScrapeBulkResponse200, GetScrapeBulkResponse202]
|
|
148
153
|
"""
|
|
149
154
|
|
|
150
155
|
return (
|
|
@@ -40,6 +40,10 @@ def _parse_response(
|
|
|
40
40
|
response_400 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
41
41
|
|
|
42
42
|
return response_400
|
|
43
|
+
if response.status_code == 402:
|
|
44
|
+
response_402 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
45
|
+
|
|
46
|
+
return response_402
|
|
43
47
|
if response.status_code == 422:
|
|
44
48
|
response_422 = errors.bytekit_parse(Error.from_dict, client=client, response=response)
|
|
45
49
|
|
|
@@ -94,15 +94,25 @@ from .fetch_request_cache_ttl_type_1 import FetchRequestCacheTtlType1
|
|
|
94
94
|
from .fetch_request_custom import FetchRequestCustom
|
|
95
95
|
from .get_bulk_response_200 import GetBulkResponse200
|
|
96
96
|
from .get_bulk_response_200_status import GetBulkResponse200Status
|
|
97
|
+
from .get_bulk_response_202 import GetBulkResponse202
|
|
98
|
+
from .get_bulk_response_202_status import GetBulkResponse202Status
|
|
97
99
|
from .get_fetch_bulk_response_200 import GetFetchBulkResponse200
|
|
98
100
|
from .get_fetch_bulk_response_200_items_item import GetFetchBulkResponse200ItemsItem
|
|
99
101
|
from .get_fetch_bulk_response_200_items_item_status import (
|
|
100
102
|
GetFetchBulkResponse200ItemsItemStatus,
|
|
101
103
|
)
|
|
102
104
|
from .get_fetch_bulk_response_200_status import GetFetchBulkResponse200Status
|
|
105
|
+
from .get_fetch_bulk_response_202 import GetFetchBulkResponse202
|
|
106
|
+
from .get_fetch_bulk_response_202_items_item import GetFetchBulkResponse202ItemsItem
|
|
107
|
+
from .get_fetch_bulk_response_202_items_item_status import (
|
|
108
|
+
GetFetchBulkResponse202ItemsItemStatus,
|
|
109
|
+
)
|
|
110
|
+
from .get_fetch_bulk_response_202_status import GetFetchBulkResponse202Status
|
|
103
111
|
from .get_fetch_cache_ttl_type_1 import GetFetchCacheTtlType1
|
|
104
112
|
from .get_scrape_bulk_response_200 import GetScrapeBulkResponse200
|
|
105
113
|
from .get_scrape_bulk_response_200_status import GetScrapeBulkResponse200Status
|
|
114
|
+
from .get_scrape_bulk_response_202 import GetScrapeBulkResponse202
|
|
115
|
+
from .get_scrape_bulk_response_202_status import GetScrapeBulkResponse202Status
|
|
106
116
|
from .get_usage_by_endpoint_response_200 import GetUsageByEndpointResponse200
|
|
107
117
|
from .get_usage_by_endpoint_response_200_rows_item import (
|
|
108
118
|
GetUsageByEndpointResponse200RowsItem,
|
|
@@ -288,13 +298,21 @@ __all__ = (
|
|
|
288
298
|
"FetchRequestCustom",
|
|
289
299
|
"GetBulkResponse200",
|
|
290
300
|
"GetBulkResponse200Status",
|
|
301
|
+
"GetBulkResponse202",
|
|
302
|
+
"GetBulkResponse202Status",
|
|
291
303
|
"GetFetchBulkResponse200",
|
|
292
304
|
"GetFetchBulkResponse200ItemsItem",
|
|
293
305
|
"GetFetchBulkResponse200ItemsItemStatus",
|
|
294
306
|
"GetFetchBulkResponse200Status",
|
|
307
|
+
"GetFetchBulkResponse202",
|
|
308
|
+
"GetFetchBulkResponse202ItemsItem",
|
|
309
|
+
"GetFetchBulkResponse202ItemsItemStatus",
|
|
310
|
+
"GetFetchBulkResponse202Status",
|
|
295
311
|
"GetFetchCacheTtlType1",
|
|
296
312
|
"GetScrapeBulkResponse200",
|
|
297
313
|
"GetScrapeBulkResponse200Status",
|
|
314
|
+
"GetScrapeBulkResponse202",
|
|
315
|
+
"GetScrapeBulkResponse202Status",
|
|
298
316
|
"GetUsageByEndpointResponse200",
|
|
299
317
|
"GetUsageByEndpointResponse200RowsItem",
|
|
300
318
|
"GetUsageByEndpointResponse200RowsItemEndpoint",
|
|
@@ -40,7 +40,10 @@ class AccountBearerResponse:
|
|
|
40
40
|
subscription (AccountBearerResponseSubscription):
|
|
41
41
|
auto_topup (AccountBearerResponseAutoTopup):
|
|
42
42
|
cancelled_at (Union[None, datetime.datetime]):
|
|
43
|
-
grace_period_expires_at (Union[None, datetime.datetime]):
|
|
43
|
+
grace_period_expires_at (Union[None, datetime.datetime]): Reserved, and always `null` today: it reflects the
|
|
44
|
+
account's cancellation grace deadline, which no current code path sets. It is not the payment-failure grace
|
|
45
|
+
period — that deadline is tracked per invoice (7 days from the failed payment) in `billing_dunning_graces` and
|
|
46
|
+
is not exposed on this response.
|
|
44
47
|
created_at (datetime.datetime):
|
|
45
48
|
"""
|
|
46
49
|
|
|
@@ -20,7 +20,10 @@ class BandwidthBalance:
|
|
|
20
20
|
Starter-grant bytes are excluded.
|
|
21
21
|
granted_topup_bytes (int): Bytes remaining in starter-grant lots, after active refund reservations. Purchased
|
|
22
22
|
top-up bytes are excluded.
|
|
23
|
-
rollover_bytes (int):
|
|
23
|
+
rollover_bytes (int): Unspent subscription allowance carried over from earlier billing periods: bytes remaining
|
|
24
|
+
in allowance lots granted before the current period started, after active refund reservations. Carried value is
|
|
25
|
+
spent before the current period's allowance, so this falls to `0` before `limit_bytes` reaches the current
|
|
26
|
+
allowance alone.
|
|
24
27
|
"""
|
|
25
28
|
|
|
26
29
|
used_bytes: int
|
|
@@ -50,7 +50,9 @@ class CreateBulkBody:
|
|
|
50
50
|
items (Union[Unset, list['CreateBulkBodyItemsItem']]): Per-item configs. Provide urls OR items, not both.
|
|
51
51
|
defaults (Union[Unset, CreateBulkBodyDefaults]): Default behaviour applied to every entry unless the item
|
|
52
52
|
overrides it.
|
|
53
|
-
webhook_secret (Union[Unset, str]):
|
|
53
|
+
webhook_secret (Union[Unset, str]): HMAC secret used to sign webhook deliveries. Each delivery carries
|
|
54
|
+
`X-Webhook-Timestamp` and `X-Webhook-Signature` (`sha256=` + the hex HMAC-SHA256 of `timestamp.body`). See
|
|
55
|
+
https://bytekit.com/docs/guides/webhooks for verification code.
|
|
54
56
|
metadata (Union[Unset, Metadata]): Arbitrary key-value metadata. Max 4096 bytes when JSON-serialized.
|
|
55
57
|
"""
|
|
56
58
|
|
|
@@ -31,7 +31,9 @@ class CreateFetchBulkBody:
|
|
|
31
31
|
webhook_url (str): Webhook endpoint URL (HTTPS only; http:// rejected with 400 invalid_url, reason
|
|
32
32
|
scheme_unsupported)
|
|
33
33
|
defaults (Union[Unset, CreateFetchBulkBodyDefaults]):
|
|
34
|
-
webhook_secret (Union[Unset, str]):
|
|
34
|
+
webhook_secret (Union[Unset, str]): HMAC secret used to sign webhook deliveries. Each delivery carries
|
|
35
|
+
`X-Webhook-Timestamp` and `X-Webhook-Signature` (`sha256=` + the hex HMAC-SHA256 of `timestamp.body`). See
|
|
36
|
+
https://bytekit.com/docs/guides/webhooks for verification code.
|
|
35
37
|
metadata (Union[Unset, Metadata]): Arbitrary key-value metadata. Max 4096 bytes when JSON-serialized.
|
|
36
38
|
"""
|
|
37
39
|
|
|
@@ -33,7 +33,9 @@ class CreateScrapeBulkBody:
|
|
|
33
33
|
urls (Union[Unset, list[str]]): Simple URL list. Provide urls OR items, not both.
|
|
34
34
|
items (Union[Unset, list['CreateScrapeBulkBodyItemsItem']]): Per-item configs. Provide urls OR items, not both.
|
|
35
35
|
defaults (Union[Unset, CreateScrapeBulkBodyDefaults]):
|
|
36
|
-
webhook_secret (Union[Unset, str]):
|
|
36
|
+
webhook_secret (Union[Unset, str]): HMAC secret used to sign webhook deliveries. Each delivery carries
|
|
37
|
+
`X-Webhook-Timestamp` and `X-Webhook-Signature` (`sha256=` + the hex HMAC-SHA256 of `timestamp.body`). See
|
|
38
|
+
https://bytekit.com/docs/guides/webhooks for verification code.
|
|
37
39
|
metadata (Union[Unset, Metadata]): Arbitrary key-value metadata. Max 4096 bytes when JSON-serialized.
|
|
38
40
|
custom (Union[Unset, CreateScrapeBulkBodyCustom]): Top-level user-supplied JSON payload, capped at 4096 UTF-8
|
|
39
41
|
bytes. Applied to every scrape-type entry that does not
|
|
@@ -2,11 +2,10 @@ from enum import Enum
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class CreateScrapeBulkBodyDefaultsFormatsItem(str, Enum):
|
|
5
|
-
HTML = "html"
|
|
6
5
|
IMAGES = "images"
|
|
7
6
|
LINKS = "links"
|
|
8
7
|
MARKDOWN = "markdown"
|
|
9
|
-
|
|
8
|
+
RAW = "raw"
|
|
10
9
|
|
|
11
10
|
def __str__(self) -> str:
|
|
12
11
|
return str(self.value)
|