apify 2.4.0b4__tar.gz → 2.4.0b6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of apify might be problematic. Click here for more details.
- {apify-2.4.0b4 → apify-2.4.0b6}/CHANGELOG.md +3 -3
- {apify-2.4.0b4 → apify-2.4.0b6}/PKG-INFO +1 -1
- {apify-2.4.0b4 → apify-2.4.0b6}/pyproject.toml +4 -6
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_actor.py +4 -4
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/requests.py +1 -1
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_lifecycle.py +7 -5
- {apify-2.4.0b4 → apify-2.4.0b6}/uv.lock +41 -57
- {apify-2.4.0b4 → apify-2.4.0b6}/website/package-lock.json +291 -318
- {apify-2.4.0b4 → apify-2.4.0b6}/.editorconfig +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/.github/CODEOWNERS +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/build_and_deploy_docs.yaml +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/check_pr_title.yaml +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/pre_release.yaml +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/release.yaml +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/run_code_checks.yaml +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/update_new_issue.yaml +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/.gitignore +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/.markdownlint.yaml +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/.pre-commit-config.yaml +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/CONTRIBUTING.md +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/LICENSE +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/Makefile +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/README.md +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/01_introduction.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/02_running_actors_locally.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/03_actor_structure.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/code/01_introduction.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/code/actor_structure/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/code/actor_structure/__main__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/code/actor_structure/main.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/code/actor_structure/py.typed +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/01_beautifulsoup_httpx.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/02_crawlee.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/03_playwright.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/04_selenium.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/05_scrapy.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/01_beautifulsoup_httpx.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/02_crawlee_beautifulsoup.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/02_crawlee_playwright.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/03_playwright.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/04_selenium.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/__main__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/items.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/main.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/py.typed +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/settings.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/spiders/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/spiders/py.typed +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/spiders/title.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/01_actor_lifecycle.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/02_actor_input.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/03_storages.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/04_actor_events.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/05_proxy_management.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/06_interacting_with_other_actors.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/07_webhooks.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/08_access_apify_api.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/09_running_webserver.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/10_logging.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/11_configuration.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/12_pay_per_event.mdx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/01_context_manager.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/01_init_exit.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/01_reboot.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/01_status_message.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/02_input.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_dataset_exports.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_dataset_read_write.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_deleting_storages.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_kvs_iterating.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_kvs_public_url.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_kvs_read_write.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_opening_storages.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_rq.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/04_actor_events.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_apify_proxy.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_apify_proxy_config.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_custom_proxy.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_custom_proxy_function.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_proxy_actor_input.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_proxy_httpx.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_proxy_rotation.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/06_interacting_call.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/06_interacting_call_task.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/06_interacting_metamorph.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/06_interacting_start.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/07_webhook.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/07_webhook_preventing.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/08_actor_client.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/08_actor_new_client.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/09_webserver.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/10_log_config.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/10_logger_usage.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/11_config.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/actor_charge.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/conditional_actor_charge.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/04_upgrading/upgrading_to_v2.md +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/docs/pyproject.toml +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/renovate.json +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_charging.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_configuration.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_consts.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_crypto.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_models.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_platform_event_manager.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_proxy_configuration.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_utils.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_apify_storage_client.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_dataset_client.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_dataset_collection_client.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_key_value_store_client.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_key_value_store_collection_client.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_request_queue_client.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_request_queue_collection_client.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/py.typed +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/log.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/py.typed +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/_actor_runner.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/_async_thread.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/_logging_config.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/middlewares/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/middlewares/apify_proxy.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/middlewares/py.typed +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/pipelines/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/pipelines/actor_dataset_push.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/pipelines/py.typed +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/py.typed +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/scheduler.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/utils.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/storages/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/storages/_request_list.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/storages/py.typed +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/README.md +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/_utils.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/actor_source_base/Dockerfile +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/actor_source_base/requirements.txt +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/actor_source_base/src/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/actor_source_base/src/__main__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/actor_source_base/src/main.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/conftest.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_api_helpers.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_charge.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_create_proxy_configuration.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_dataset.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_events.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_key_value_store.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_lifecycle.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_log.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_request_queue.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_scrapy.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_fixtures.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_request_queue.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_create_proxy_configuration.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_dataset.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_env_helpers.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_helpers.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_key_value_store.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_log.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_non_default_instance.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_request_queue.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_request_list.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/conftest.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/middlewares/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/middlewares/test_apify_proxy.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/pipelines/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/pipelines/test_actor_dataset_push.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/requests/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/requests/test_to_apify_request.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/requests/test_to_scrapy_request.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/utils/__init__.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/utils/test_apply_apify_settings.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/utils/test_get_basic_auth_header.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/test_crypto.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/test_platform_event_manager.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/test_proxy_configuration.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/.eslintrc.json +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/babel.config.js +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/build_api_reference.sh +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/docusaurus.config.js +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/generate_module_shortcuts.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/package.json +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/sidebars.js +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/ApiLink.jsx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/Gradients.jsx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/Highlights.jsx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/Highlights.module.css +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/RunnableCodeBlock.jsx +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/RunnableCodeBlock.module.css +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/src/css/custom.css +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/src/pages/home_page_example.py +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/src/pages/index.js +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/src/pages/index.module.css +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/static/.nojekyll +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/static/img/docs-og.png +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/tools/docs-prettier.config.js +0 -0
- {apify-2.4.0b4 → apify-2.4.0b6}/website/tools/utils/externalLink.js +0 -0
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
## 2.4.0 - **not yet released**
|
|
5
|
+
## [2.4.0](https://github.com/apify/apify-sdk-python/releases/tag/v2.4.0) (2025-03-07)
|
|
7
6
|
|
|
8
7
|
### 🚀 Features
|
|
9
8
|
|
|
10
9
|
- Update to Crawlee v0.6 ([#420](https://github.com/apify/apify-sdk-python/pull/420)) ([9be4336](https://github.com/apify/apify-sdk-python/commit/9be433667231cc5739861fa693d7a726860d6aca)) by [@vdusek](https://github.com/vdusek)
|
|
11
10
|
- Add Actor `exit_process` option ([#424](https://github.com/apify/apify-sdk-python/pull/424)) ([994c832](https://github.com/apify/apify-sdk-python/commit/994c8323b994e009db0ccdcb624891a2fef97070)) by [@vdusek](https://github.com/vdusek), closes [#396](https://github.com/apify/apify-sdk-python/issues/396), [#401](https://github.com/apify/apify-sdk-python/issues/401)
|
|
11
|
+
- Upgrade websockets to v14 to adapt to library API changes ([#425](https://github.com/apify/apify-sdk-python/pull/425)) ([5f49275](https://github.com/apify/apify-sdk-python/commit/5f49275ca1177e5ba56856ffe3860f6b97bee9ee)) by [@Mantisus](https://github.com/Mantisus), closes [#325](https://github.com/apify/apify-sdk-python/issues/325)
|
|
12
|
+
- Add signing of public URL ([#407](https://github.com/apify/apify-sdk-python/pull/407)) ([a865461](https://github.com/apify/apify-sdk-python/commit/a865461c703aea01d91317f4fdf38c1bedd35f00)) by [@danpoletaev](https://github.com/danpoletaev)
|
|
12
13
|
|
|
13
14
|
|
|
14
|
-
<!-- git-cliff-unreleased-end -->
|
|
15
15
|
## [2.3.1](https://github.com/apify/apify-sdk-python/releases/tag/v2.3.1) (2025-02-25)
|
|
16
16
|
|
|
17
17
|
### 🐛 Bug Fixes
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "apify"
|
|
7
|
-
version = "2.4.
|
|
7
|
+
version = "2.4.0b6"
|
|
8
8
|
description = "Apify SDK for Python"
|
|
9
9
|
authors = [{ name = "Apify Technologies s.r.o.", email = "support@apify.com" }]
|
|
10
10
|
license = { file = "LICENSE" }
|
|
@@ -59,20 +59,18 @@ scrapy = ["scrapy>=2.11.0"]
|
|
|
59
59
|
[dependency-groups]
|
|
60
60
|
dev = [
|
|
61
61
|
"build~=1.2.0",
|
|
62
|
-
"filelock~=3.17.0",
|
|
63
62
|
"griffe~=1.6.0",
|
|
64
63
|
"mypy~=1.15.0",
|
|
65
64
|
"pre-commit~=4.1.0",
|
|
66
65
|
"pydoc-markdown~=4.8.0",
|
|
67
|
-
"pytest~=8.3.0",
|
|
68
66
|
"pytest-asyncio~=0.25.0",
|
|
69
67
|
"pytest-cov~=6.0.0",
|
|
70
68
|
"pytest-only~=2.1.0",
|
|
71
|
-
"pytest-timeout~=2.3.0",
|
|
72
69
|
"pytest-xdist~=3.6.0",
|
|
70
|
+
"pytest~=8.3.0",
|
|
73
71
|
"respx~=0.22.0",
|
|
74
|
-
"ruff~=0.
|
|
75
|
-
"setuptools~=
|
|
72
|
+
"ruff~=0.11.0",
|
|
73
|
+
"setuptools~=76.0.0", # setuptools are used by pytest but not explicitly required
|
|
76
74
|
]
|
|
77
75
|
|
|
78
76
|
[tool.hatch.build.targets.wheel]
|
|
@@ -141,7 +141,7 @@ class _ActorType:
|
|
|
141
141
|
await self.exit()
|
|
142
142
|
|
|
143
143
|
def __repr__(self) -> str:
|
|
144
|
-
if self is cast(Proxy, Actor).__wrapped__:
|
|
144
|
+
if self is cast('Proxy', Actor).__wrapped__:
|
|
145
145
|
return '<apify.Actor>'
|
|
146
146
|
|
|
147
147
|
return super().__repr__()
|
|
@@ -222,7 +222,7 @@ class _ActorType:
|
|
|
222
222
|
self.log.warning('Repeated Actor initialization detected - this is non-standard usage, proceed with care')
|
|
223
223
|
|
|
224
224
|
# Make sure that the currently initialized instance is also available through the global `Actor` proxy
|
|
225
|
-
cast(Proxy, Actor).__wrapped__ = self
|
|
225
|
+
cast('Proxy', Actor).__wrapped__ = self
|
|
226
226
|
|
|
227
227
|
self._is_exiting = False
|
|
228
228
|
self._was_final_persist_state_emitted = False
|
|
@@ -674,7 +674,7 @@ class _ActorType:
|
|
|
674
674
|
elif isinstance(field.validation_alias, str):
|
|
675
675
|
aliases = [field.validation_alias]
|
|
676
676
|
elif isinstance(field.validation_alias, AliasChoices):
|
|
677
|
-
aliases = cast(list[str], field.validation_alias.choices)
|
|
677
|
+
aliases = cast('list[str]', field.validation_alias.choices)
|
|
678
678
|
else:
|
|
679
679
|
aliases = [field_name]
|
|
680
680
|
|
|
@@ -1158,5 +1158,5 @@ class _ActorType:
|
|
|
1158
1158
|
return True
|
|
1159
1159
|
|
|
1160
1160
|
|
|
1161
|
-
Actor = cast(_ActorType, Proxy(_ActorType))
|
|
1161
|
+
Actor = cast('_ActorType', Proxy(_ActorType))
|
|
1162
1162
|
"""The entry point of the SDK, through which all the Actor operations should be done."""
|
|
@@ -93,7 +93,7 @@ def to_scrapy_request(apify_request: ApifyRequest, spider: Spider) -> ScrapyRequ
|
|
|
93
93
|
Returns:
|
|
94
94
|
The converted Scrapy request.
|
|
95
95
|
"""
|
|
96
|
-
if not isinstance(cast(Any, apify_request), ApifyRequest):
|
|
96
|
+
if not isinstance(cast('Any', apify_request), ApifyRequest):
|
|
97
97
|
raise TypeError('apify_request must be a crawlee.ScrapyRequest instance')
|
|
98
98
|
|
|
99
99
|
logger.debug(f'to_scrapy_request was called (apify_request={apify_request})...')
|
|
@@ -5,12 +5,11 @@ import contextlib
|
|
|
5
5
|
import json
|
|
6
6
|
import sys
|
|
7
7
|
from datetime import datetime, timezone
|
|
8
|
-
from typing import Any, Callable, cast
|
|
8
|
+
from typing import TYPE_CHECKING, Any, Callable, cast
|
|
9
9
|
from unittest.mock import AsyncMock, Mock
|
|
10
10
|
|
|
11
11
|
import pytest
|
|
12
12
|
import websockets.asyncio.server
|
|
13
|
-
from lazy_object_proxy import Proxy
|
|
14
13
|
|
|
15
14
|
from apify_shared.consts import ActorEnvVars, ApifyEnvVars
|
|
16
15
|
from crawlee.events._types import Event, EventPersistStateData
|
|
@@ -19,12 +18,15 @@ import apify._actor
|
|
|
19
18
|
from apify import Actor
|
|
20
19
|
from apify._actor import _ActorType
|
|
21
20
|
|
|
21
|
+
if TYPE_CHECKING:
|
|
22
|
+
from lazy_object_proxy import Proxy
|
|
23
|
+
|
|
22
24
|
|
|
23
25
|
async def test_actor_properly_init_with_async() -> None:
|
|
24
26
|
async with Actor:
|
|
25
|
-
assert cast(Proxy, apify._actor.Actor).__wrapped__ is not None
|
|
26
|
-
assert cast(Proxy, apify._actor.Actor).__wrapped__._is_initialized
|
|
27
|
-
assert not cast(Proxy, apify._actor.Actor).__wrapped__._is_initialized
|
|
27
|
+
assert cast('Proxy', apify._actor.Actor).__wrapped__ is not None
|
|
28
|
+
assert cast('Proxy', apify._actor.Actor).__wrapped__._is_initialized
|
|
29
|
+
assert not cast('Proxy', apify._actor.Actor).__wrapped__._is_initialized
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
async def test_actor_init() -> None:
|
|
@@ -50,7 +50,6 @@ scrapy = [
|
|
|
50
50
|
[package.dev-dependencies]
|
|
51
51
|
dev = [
|
|
52
52
|
{ name = "build" },
|
|
53
|
-
{ name = "filelock" },
|
|
54
53
|
{ name = "griffe" },
|
|
55
54
|
{ name = "mypy" },
|
|
56
55
|
{ name = "pre-commit" },
|
|
@@ -59,7 +58,6 @@ dev = [
|
|
|
59
58
|
{ name = "pytest-asyncio" },
|
|
60
59
|
{ name = "pytest-cov" },
|
|
61
60
|
{ name = "pytest-only" },
|
|
62
|
-
{ name = "pytest-timeout" },
|
|
63
61
|
{ name = "pytest-xdist" },
|
|
64
62
|
{ name = "respx" },
|
|
65
63
|
{ name = "ruff" },
|
|
@@ -84,7 +82,6 @@ provides-extras = ["scrapy"]
|
|
|
84
82
|
[package.metadata.requires-dev]
|
|
85
83
|
dev = [
|
|
86
84
|
{ name = "build", specifier = "~=1.2.0" },
|
|
87
|
-
{ name = "filelock", specifier = "~=3.17.0" },
|
|
88
85
|
{ name = "griffe", specifier = "~=1.6.0" },
|
|
89
86
|
{ name = "mypy", specifier = "~=1.15.0" },
|
|
90
87
|
{ name = "pre-commit", specifier = "~=4.1.0" },
|
|
@@ -93,11 +90,10 @@ dev = [
|
|
|
93
90
|
{ name = "pytest-asyncio", specifier = "~=0.25.0" },
|
|
94
91
|
{ name = "pytest-cov", specifier = "~=6.0.0" },
|
|
95
92
|
{ name = "pytest-only", specifier = "~=2.1.0" },
|
|
96
|
-
{ name = "pytest-timeout", specifier = "~=2.3.0" },
|
|
97
93
|
{ name = "pytest-xdist", specifier = "~=3.6.0" },
|
|
98
94
|
{ name = "respx", specifier = "~=0.22.0" },
|
|
99
|
-
{ name = "ruff", specifier = "~=0.
|
|
100
|
-
{ name = "setuptools", specifier = "~=
|
|
95
|
+
{ name = "ruff", specifier = "~=0.11.0" },
|
|
96
|
+
{ name = "setuptools", specifier = "~=76.0.0" },
|
|
101
97
|
]
|
|
102
98
|
|
|
103
99
|
[[package]]
|
|
@@ -116,11 +112,11 @@ wheels = [
|
|
|
116
112
|
|
|
117
113
|
[[package]]
|
|
118
114
|
name = "apify-shared"
|
|
119
|
-
version = "1.3.
|
|
115
|
+
version = "1.3.1"
|
|
120
116
|
source = { registry = "https://pypi.org/simple" }
|
|
121
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
117
|
+
sdist = { url = "https://files.pythonhosted.org/packages/67/f4/4ab1dbbc9fe4c3c2467275df66fda137b254c750d1de95cd8ba75a34830a/apify_shared-1.3.1.tar.gz", hash = "sha256:58f123f5627a0cb9e8e7ac0e6f3f27bed76d93af17c80ae2d19fad9c83783bc7", size = 13560 }
|
|
122
118
|
wheels = [
|
|
123
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
119
|
+
{ url = "https://files.pythonhosted.org/packages/50/23/bfe508e33844f4ac9256d72164166281a76f7a1f21745f3e5a76411333aa/apify_shared-1.3.1-py3-none-any.whl", hash = "sha256:3d2630934683911e0fb1e741389abcb885aebfd282f17670e16a0e175af68d7d", size = 12379 },
|
|
124
120
|
]
|
|
125
121
|
|
|
126
122
|
[[package]]
|
|
@@ -819,11 +815,11 @@ wheels = [
|
|
|
819
815
|
|
|
820
816
|
[[package]]
|
|
821
817
|
name = "filelock"
|
|
822
|
-
version = "3.
|
|
818
|
+
version = "3.18.0"
|
|
823
819
|
source = { registry = "https://pypi.org/simple" }
|
|
824
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
820
|
+
sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075 }
|
|
825
821
|
wheels = [
|
|
826
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
822
|
+
{ url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215 },
|
|
827
823
|
]
|
|
828
824
|
|
|
829
825
|
[[package]]
|
|
@@ -932,11 +928,11 @@ wheels = [
|
|
|
932
928
|
|
|
933
929
|
[[package]]
|
|
934
930
|
name = "identify"
|
|
935
|
-
version = "2.6.
|
|
931
|
+
version = "2.6.9"
|
|
936
932
|
source = { registry = "https://pypi.org/simple" }
|
|
937
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
933
|
+
sdist = { url = "https://files.pythonhosted.org/packages/9b/98/a71ab060daec766acc30fb47dfca219d03de34a70d616a79a38c6066c5bf/identify-2.6.9.tar.gz", hash = "sha256:d40dfe3142a1421d8518e3d3985ef5ac42890683e32306ad614a29490abeb6bf", size = 99249 }
|
|
938
934
|
wheels = [
|
|
939
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
935
|
+
{ url = "https://files.pythonhosted.org/packages/07/ce/0845144ed1f0e25db5e7a79c2354c1da4b5ce392b8966449d5db8dca18f1/identify-2.6.9-py2.py3-none-any.whl", hash = "sha256:c98b4322da415a8e5a70ff6e51fbc2d2932c015532d77e9f8537b4ba7813b150", size = 99101 },
|
|
940
936
|
]
|
|
941
937
|
|
|
942
938
|
[[package]]
|
|
@@ -1007,14 +1003,14 @@ wheels = [
|
|
|
1007
1003
|
|
|
1008
1004
|
[[package]]
|
|
1009
1005
|
name = "jinja2"
|
|
1010
|
-
version = "3.1.
|
|
1006
|
+
version = "3.1.6"
|
|
1011
1007
|
source = { registry = "https://pypi.org/simple" }
|
|
1012
1008
|
dependencies = [
|
|
1013
1009
|
{ name = "markupsafe" },
|
|
1014
1010
|
]
|
|
1015
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1011
|
+
sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115 }
|
|
1016
1012
|
wheels = [
|
|
1017
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1013
|
+
{ url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899 },
|
|
1018
1014
|
]
|
|
1019
1015
|
|
|
1020
1016
|
[[package]]
|
|
@@ -1934,18 +1930,6 @@ wheels = [
|
|
|
1934
1930
|
{ url = "https://files.pythonhosted.org/packages/da/95/3cf1a035048ee224a5dc701a3f41a5ec8684b030d217517bdf7da2f545aa/pytest_only-2.1.2-py3-none-any.whl", hash = "sha256:04dffe2aed64a741145ce5ad25b5df3ae4212e01ff885a8821fd2318eb509e91", size = 6456 },
|
|
1935
1931
|
]
|
|
1936
1932
|
|
|
1937
|
-
[[package]]
|
|
1938
|
-
name = "pytest-timeout"
|
|
1939
|
-
version = "2.3.1"
|
|
1940
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1941
|
-
dependencies = [
|
|
1942
|
-
{ name = "pytest" },
|
|
1943
|
-
]
|
|
1944
|
-
sdist = { url = "https://files.pythonhosted.org/packages/93/0d/04719abc7a4bdb3a7a1f968f24b0f5253d698c9cc94975330e9d3145befb/pytest-timeout-2.3.1.tar.gz", hash = "sha256:12397729125c6ecbdaca01035b9e5239d4db97352320af155b3f5de1ba5165d9", size = 17697 }
|
|
1945
|
-
wheels = [
|
|
1946
|
-
{ url = "https://files.pythonhosted.org/packages/03/27/14af9ef8321f5edc7527e47def2a21d8118c6f329a9342cc61387a0c0599/pytest_timeout-2.3.1-py3-none-any.whl", hash = "sha256:68188cb703edfc6a18fad98dc25a3c61e9f24d644b0b70f33af545219fc7813e", size = 14148 },
|
|
1947
|
-
]
|
|
1948
|
-
|
|
1949
1933
|
[[package]]
|
|
1950
1934
|
name = "pytest-xdist"
|
|
1951
1935
|
version = "3.6.1"
|
|
@@ -2085,27 +2069,27 @@ wheels = [
|
|
|
2085
2069
|
|
|
2086
2070
|
[[package]]
|
|
2087
2071
|
name = "ruff"
|
|
2088
|
-
version = "0.
|
|
2089
|
-
source = { registry = "https://pypi.org/simple" }
|
|
2090
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2091
|
-
wheels = [
|
|
2092
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2093
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2094
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2095
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2096
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2097
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2098
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2099
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2100
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2101
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2102
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2103
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2104
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2105
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2106
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2107
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2108
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2072
|
+
version = "0.11.0"
|
|
2073
|
+
source = { registry = "https://pypi.org/simple" }
|
|
2074
|
+
sdist = { url = "https://files.pythonhosted.org/packages/77/2b/7ca27e854d92df5e681e6527dc0f9254c9dc06c8408317893cf96c851cdd/ruff-0.11.0.tar.gz", hash = "sha256:e55c620690a4a7ee6f1cccb256ec2157dc597d109400ae75bbf944fc9d6462e2", size = 3799407 }
|
|
2075
|
+
wheels = [
|
|
2076
|
+
{ url = "https://files.pythonhosted.org/packages/48/40/3d0340a9e5edc77d37852c0cd98c5985a5a8081fc3befaeb2ae90aaafd2b/ruff-0.11.0-py3-none-linux_armv6l.whl", hash = "sha256:dc67e32bc3b29557513eb7eeabb23efdb25753684b913bebb8a0c62495095acb", size = 10098158 },
|
|
2077
|
+
{ url = "https://files.pythonhosted.org/packages/ec/a9/d8f5abb3b87b973b007649ac7bf63665a05b2ae2b2af39217b09f52abbbf/ruff-0.11.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:38c23fd9bdec4eb437b4c1e3595905a0a8edfccd63a790f818b28c78fe345639", size = 10879071 },
|
|
2078
|
+
{ url = "https://files.pythonhosted.org/packages/ab/62/aaa198614c6211677913ec480415c5e6509586d7b796356cec73a2f8a3e6/ruff-0.11.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:7c8661b0be91a38bd56db593e9331beaf9064a79028adee2d5f392674bbc5e88", size = 10247944 },
|
|
2079
|
+
{ url = "https://files.pythonhosted.org/packages/9f/52/59e0a9f2cf1ce5e6cbe336b6dd0144725c8ea3b97cac60688f4e7880bf13/ruff-0.11.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6c0e8d3d2db7e9f6efd884f44b8dc542d5b6b590fc4bb334fdbc624d93a29a2", size = 10421725 },
|
|
2080
|
+
{ url = "https://files.pythonhosted.org/packages/a6/c3/dcd71acc6dff72ce66d13f4be5bca1dbed4db678dff2f0f6f307b04e5c02/ruff-0.11.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c3156d3f4b42e57247275a0a7e15a851c165a4fc89c5e8fa30ea6da4f7407b8", size = 9954435 },
|
|
2081
|
+
{ url = "https://files.pythonhosted.org/packages/a6/9a/342d336c7c52dbd136dee97d4c7797e66c3f92df804f8f3b30da59b92e9c/ruff-0.11.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:490b1e147c1260545f6d041c4092483e3f6d8eba81dc2875eaebcf9140b53905", size = 11492664 },
|
|
2082
|
+
{ url = "https://files.pythonhosted.org/packages/84/35/6e7defd2d7ca95cc385ac1bd9f7f2e4a61b9cc35d60a263aebc8e590c462/ruff-0.11.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1bc09a7419e09662983b1312f6fa5dab829d6ab5d11f18c3760be7ca521c9329", size = 12207856 },
|
|
2083
|
+
{ url = "https://files.pythonhosted.org/packages/22/78/da669c8731bacf40001c880ada6d31bcfb81f89cc996230c3b80d319993e/ruff-0.11.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bcfa478daf61ac8002214eb2ca5f3e9365048506a9d52b11bea3ecea822bb844", size = 11645156 },
|
|
2084
|
+
{ url = "https://files.pythonhosted.org/packages/ee/47/e27d17d83530a208f4a9ab2e94f758574a04c51e492aa58f91a3ed7cbbcb/ruff-0.11.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6fbb2aed66fe742a6a3a0075ed467a459b7cedc5ae01008340075909d819df1e", size = 13884167 },
|
|
2085
|
+
{ url = "https://files.pythonhosted.org/packages/9f/5e/42ffbb0a5d4b07bbc642b7d58357b4e19a0f4774275ca6ca7d1f7b5452cd/ruff-0.11.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92c0c1ff014351c0b0cdfdb1e35fa83b780f1e065667167bb9502d47ca41e6db", size = 11348311 },
|
|
2086
|
+
{ url = "https://files.pythonhosted.org/packages/c8/51/dc3ce0c5ce1a586727a3444a32f98b83ba99599bb1ebca29d9302886e87f/ruff-0.11.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e4fd5ff5de5f83e0458a138e8a869c7c5e907541aec32b707f57cf9a5e124445", size = 10305039 },
|
|
2087
|
+
{ url = "https://files.pythonhosted.org/packages/60/e0/475f0c2f26280f46f2d6d1df1ba96b3399e0234cf368cc4c88e6ad10dcd9/ruff-0.11.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:96bc89a5c5fd21a04939773f9e0e276308be0935de06845110f43fd5c2e4ead7", size = 9937939 },
|
|
2088
|
+
{ url = "https://files.pythonhosted.org/packages/e2/d3/3e61b7fd3e9cdd1e5b8c7ac188bec12975c824e51c5cd3d64caf81b0331e/ruff-0.11.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a9352b9d767889ec5df1483f94870564e8102d4d7e99da52ebf564b882cdc2c7", size = 10923259 },
|
|
2089
|
+
{ url = "https://files.pythonhosted.org/packages/30/32/cd74149ebb40b62ddd14bd2d1842149aeb7f74191fb0f49bd45c76909ff2/ruff-0.11.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:049a191969a10897fe052ef9cc7491b3ef6de79acd7790af7d7897b7a9bfbcb6", size = 11406212 },
|
|
2090
|
+
{ url = "https://files.pythonhosted.org/packages/00/ef/033022a6b104be32e899b00de704d7c6d1723a54d4c9e09d147368f14b62/ruff-0.11.0-py3-none-win32.whl", hash = "sha256:3191e9116b6b5bbe187447656f0c8526f0d36b6fd89ad78ccaad6bdc2fad7df2", size = 10310905 },
|
|
2091
|
+
{ url = "https://files.pythonhosted.org/packages/ed/8a/163f2e78c37757d035bd56cd60c8d96312904ca4a6deeab8442d7b3cbf89/ruff-0.11.0-py3-none-win_amd64.whl", hash = "sha256:c58bfa00e740ca0a6c43d41fb004cd22d165302f360aaa56f7126d544db31a21", size = 11411730 },
|
|
2092
|
+
{ url = "https://files.pythonhosted.org/packages/4e/f7/096f6efabe69b49d7ca61052fc70289c05d8d35735c137ef5ba5ef423662/ruff-0.11.0-py3-none-win_arm64.whl", hash = "sha256:868364fc23f5aa122b00c6f794211e85f7e78f5dffdf7c590ab90b8c4e69b657", size = 10538956 },
|
|
2109
2093
|
]
|
|
2110
2094
|
|
|
2111
2095
|
[[package]]
|
|
@@ -2154,11 +2138,11 @@ wheels = [
|
|
|
2154
2138
|
|
|
2155
2139
|
[[package]]
|
|
2156
2140
|
name = "setuptools"
|
|
2157
|
-
version = "
|
|
2141
|
+
version = "76.0.0"
|
|
2158
2142
|
source = { registry = "https://pypi.org/simple" }
|
|
2159
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2143
|
+
sdist = { url = "https://files.pythonhosted.org/packages/32/d2/7b171caf085ba0d40d8391f54e1c75a1cda9255f542becf84575cfd8a732/setuptools-76.0.0.tar.gz", hash = "sha256:43b4ee60e10b0d0ee98ad11918e114c70701bc6051662a9a675a0496c1a158f4", size = 1349387 }
|
|
2160
2144
|
wheels = [
|
|
2161
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2145
|
+
{ url = "https://files.pythonhosted.org/packages/37/66/d2d7e6ad554f3a7c7297c3f8ef6e22643ad3d35ef5c63bf488bc89f32f31/setuptools-76.0.0-py3-none-any.whl", hash = "sha256:199466a166ff664970d0ee145839f5582cb9bca7a0a3a2e795b6a9cb2308e9c6", size = 1236106 },
|
|
2162
2146
|
]
|
|
2163
2147
|
|
|
2164
2148
|
[[package]]
|
|
@@ -2304,16 +2288,16 @@ wheels = [
|
|
|
2304
2288
|
|
|
2305
2289
|
[[package]]
|
|
2306
2290
|
name = "virtualenv"
|
|
2307
|
-
version = "20.29.
|
|
2291
|
+
version = "20.29.3"
|
|
2308
2292
|
source = { registry = "https://pypi.org/simple" }
|
|
2309
2293
|
dependencies = [
|
|
2310
2294
|
{ name = "distlib" },
|
|
2311
2295
|
{ name = "filelock" },
|
|
2312
2296
|
{ name = "platformdirs" },
|
|
2313
2297
|
]
|
|
2314
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
2298
|
+
sdist = { url = "https://files.pythonhosted.org/packages/c7/9c/57d19fa093bcf5ac61a48087dd44d00655f85421d1aa9722f8befbf3f40a/virtualenv-20.29.3.tar.gz", hash = "sha256:95e39403fcf3940ac45bc717597dba16110b74506131845d9b687d5e73d947ac", size = 4320280 }
|
|
2315
2299
|
wheels = [
|
|
2316
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
2300
|
+
{ url = "https://files.pythonhosted.org/packages/c2/eb/c6db6e3001d58c6a9e67c74bb7b4206767caa3ccc28c6b9eaf4c23fb4e34/virtualenv-20.29.3-py3-none-any.whl", hash = "sha256:3e3d00f5807e83b234dfb6122bf37cfadf4be216c53a49ac059d02414f819170", size = 4301458 },
|
|
2317
2301
|
]
|
|
2318
2302
|
|
|
2319
2303
|
[[package]]
|