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.

Files changed (204) hide show
  1. {apify-2.4.0b4 → apify-2.4.0b6}/CHANGELOG.md +3 -3
  2. {apify-2.4.0b4 → apify-2.4.0b6}/PKG-INFO +1 -1
  3. {apify-2.4.0b4 → apify-2.4.0b6}/pyproject.toml +4 -6
  4. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_actor.py +4 -4
  5. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/requests.py +1 -1
  6. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_lifecycle.py +7 -5
  7. {apify-2.4.0b4 → apify-2.4.0b6}/uv.lock +41 -57
  8. {apify-2.4.0b4 → apify-2.4.0b6}/website/package-lock.json +291 -318
  9. {apify-2.4.0b4 → apify-2.4.0b6}/.editorconfig +0 -0
  10. {apify-2.4.0b4 → apify-2.4.0b6}/.github/CODEOWNERS +0 -0
  11. {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/build_and_deploy_docs.yaml +0 -0
  12. {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/check_pr_title.yaml +0 -0
  13. {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/pre_release.yaml +0 -0
  14. {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/release.yaml +0 -0
  15. {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/run_code_checks.yaml +0 -0
  16. {apify-2.4.0b4 → apify-2.4.0b6}/.github/workflows/update_new_issue.yaml +0 -0
  17. {apify-2.4.0b4 → apify-2.4.0b6}/.gitignore +0 -0
  18. {apify-2.4.0b4 → apify-2.4.0b6}/.markdownlint.yaml +0 -0
  19. {apify-2.4.0b4 → apify-2.4.0b6}/.pre-commit-config.yaml +0 -0
  20. {apify-2.4.0b4 → apify-2.4.0b6}/CONTRIBUTING.md +0 -0
  21. {apify-2.4.0b4 → apify-2.4.0b6}/LICENSE +0 -0
  22. {apify-2.4.0b4 → apify-2.4.0b6}/Makefile +0 -0
  23. {apify-2.4.0b4 → apify-2.4.0b6}/README.md +0 -0
  24. {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/01_introduction.mdx +0 -0
  25. {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/02_running_actors_locally.mdx +0 -0
  26. {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/03_actor_structure.mdx +0 -0
  27. {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/code/01_introduction.py +0 -0
  28. {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/code/actor_structure/__init__.py +0 -0
  29. {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/code/actor_structure/__main__.py +0 -0
  30. {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/code/actor_structure/main.py +0 -0
  31. {apify-2.4.0b4 → apify-2.4.0b6}/docs/01_overview/code/actor_structure/py.typed +0 -0
  32. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/01_beautifulsoup_httpx.mdx +0 -0
  33. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/02_crawlee.mdx +0 -0
  34. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/03_playwright.mdx +0 -0
  35. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/04_selenium.mdx +0 -0
  36. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/05_scrapy.mdx +0 -0
  37. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/01_beautifulsoup_httpx.py +0 -0
  38. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/02_crawlee_beautifulsoup.py +0 -0
  39. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/02_crawlee_playwright.py +0 -0
  40. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/03_playwright.py +0 -0
  41. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/04_selenium.py +0 -0
  42. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/__init__.py +0 -0
  43. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/__main__.py +0 -0
  44. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/items.py +0 -0
  45. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/main.py +0 -0
  46. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/py.typed +0 -0
  47. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/settings.py +0 -0
  48. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/spiders/__init__.py +0 -0
  49. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/spiders/py.typed +0 -0
  50. {apify-2.4.0b4 → apify-2.4.0b6}/docs/02_guides/code/scrapy_project/src/spiders/title.py +0 -0
  51. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/01_actor_lifecycle.mdx +0 -0
  52. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/02_actor_input.mdx +0 -0
  53. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/03_storages.mdx +0 -0
  54. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/04_actor_events.mdx +0 -0
  55. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/05_proxy_management.mdx +0 -0
  56. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/06_interacting_with_other_actors.mdx +0 -0
  57. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/07_webhooks.mdx +0 -0
  58. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/08_access_apify_api.mdx +0 -0
  59. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/09_running_webserver.mdx +0 -0
  60. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/10_logging.mdx +0 -0
  61. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/11_configuration.mdx +0 -0
  62. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/12_pay_per_event.mdx +0 -0
  63. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/01_context_manager.py +0 -0
  64. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/01_init_exit.py +0 -0
  65. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/01_reboot.py +0 -0
  66. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/01_status_message.py +0 -0
  67. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/02_input.py +0 -0
  68. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_dataset_exports.py +0 -0
  69. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_dataset_read_write.py +0 -0
  70. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_deleting_storages.py +0 -0
  71. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_kvs_iterating.py +0 -0
  72. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_kvs_public_url.py +0 -0
  73. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_kvs_read_write.py +0 -0
  74. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_opening_storages.py +0 -0
  75. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/03_rq.py +0 -0
  76. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/04_actor_events.py +0 -0
  77. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_apify_proxy.py +0 -0
  78. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_apify_proxy_config.py +0 -0
  79. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_custom_proxy.py +0 -0
  80. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_custom_proxy_function.py +0 -0
  81. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_proxy_actor_input.py +0 -0
  82. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_proxy_httpx.py +0 -0
  83. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/05_proxy_rotation.py +0 -0
  84. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/06_interacting_call.py +0 -0
  85. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/06_interacting_call_task.py +0 -0
  86. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/06_interacting_metamorph.py +0 -0
  87. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/06_interacting_start.py +0 -0
  88. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/07_webhook.py +0 -0
  89. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/07_webhook_preventing.py +0 -0
  90. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/08_actor_client.py +0 -0
  91. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/08_actor_new_client.py +0 -0
  92. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/09_webserver.py +0 -0
  93. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/10_log_config.py +0 -0
  94. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/10_logger_usage.py +0 -0
  95. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/11_config.py +0 -0
  96. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/actor_charge.py +0 -0
  97. {apify-2.4.0b4 → apify-2.4.0b6}/docs/03_concepts/code/conditional_actor_charge.py +0 -0
  98. {apify-2.4.0b4 → apify-2.4.0b6}/docs/04_upgrading/upgrading_to_v2.md +0 -0
  99. {apify-2.4.0b4 → apify-2.4.0b6}/docs/pyproject.toml +0 -0
  100. {apify-2.4.0b4 → apify-2.4.0b6}/renovate.json +0 -0
  101. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/__init__.py +0 -0
  102. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_charging.py +0 -0
  103. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_configuration.py +0 -0
  104. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_consts.py +0 -0
  105. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_crypto.py +0 -0
  106. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_models.py +0 -0
  107. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_platform_event_manager.py +0 -0
  108. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_proxy_configuration.py +0 -0
  109. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/_utils.py +0 -0
  110. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/__init__.py +0 -0
  111. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_apify_storage_client.py +0 -0
  112. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_dataset_client.py +0 -0
  113. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_dataset_collection_client.py +0 -0
  114. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_key_value_store_client.py +0 -0
  115. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_key_value_store_collection_client.py +0 -0
  116. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_request_queue_client.py +0 -0
  117. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/_request_queue_collection_client.py +0 -0
  118. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/apify_storage_client/py.typed +0 -0
  119. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/log.py +0 -0
  120. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/py.typed +0 -0
  121. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/__init__.py +0 -0
  122. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/_actor_runner.py +0 -0
  123. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/_async_thread.py +0 -0
  124. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/_logging_config.py +0 -0
  125. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/middlewares/__init__.py +0 -0
  126. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/middlewares/apify_proxy.py +0 -0
  127. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/middlewares/py.typed +0 -0
  128. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/pipelines/__init__.py +0 -0
  129. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/pipelines/actor_dataset_push.py +0 -0
  130. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/pipelines/py.typed +0 -0
  131. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/py.typed +0 -0
  132. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/scheduler.py +0 -0
  133. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/scrapy/utils.py +0 -0
  134. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/storages/__init__.py +0 -0
  135. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/storages/_request_list.py +0 -0
  136. {apify-2.4.0b4 → apify-2.4.0b6}/src/apify/storages/py.typed +0 -0
  137. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/README.md +0 -0
  138. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/__init__.py +0 -0
  139. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/_utils.py +0 -0
  140. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/actor_source_base/Dockerfile +0 -0
  141. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/actor_source_base/requirements.txt +0 -0
  142. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/actor_source_base/src/__init__.py +0 -0
  143. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/actor_source_base/src/__main__.py +0 -0
  144. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/actor_source_base/src/main.py +0 -0
  145. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/conftest.py +0 -0
  146. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_api_helpers.py +0 -0
  147. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_charge.py +0 -0
  148. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_create_proxy_configuration.py +0 -0
  149. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_dataset.py +0 -0
  150. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_events.py +0 -0
  151. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_key_value_store.py +0 -0
  152. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_lifecycle.py +0 -0
  153. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_log.py +0 -0
  154. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_request_queue.py +0 -0
  155. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_actor_scrapy.py +0 -0
  156. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_fixtures.py +0 -0
  157. {apify-2.4.0b4 → apify-2.4.0b6}/tests/integration/test_request_queue.py +0 -0
  158. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/__init__.py +0 -0
  159. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/__init__.py +0 -0
  160. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_create_proxy_configuration.py +0 -0
  161. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_dataset.py +0 -0
  162. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_env_helpers.py +0 -0
  163. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_helpers.py +0 -0
  164. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_key_value_store.py +0 -0
  165. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_log.py +0 -0
  166. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_non_default_instance.py +0 -0
  167. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_actor_request_queue.py +0 -0
  168. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/actor/test_request_list.py +0 -0
  169. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/conftest.py +0 -0
  170. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/__init__.py +0 -0
  171. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/middlewares/__init__.py +0 -0
  172. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/middlewares/test_apify_proxy.py +0 -0
  173. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/pipelines/__init__.py +0 -0
  174. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/pipelines/test_actor_dataset_push.py +0 -0
  175. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/requests/__init__.py +0 -0
  176. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/requests/test_to_apify_request.py +0 -0
  177. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/requests/test_to_scrapy_request.py +0 -0
  178. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/utils/__init__.py +0 -0
  179. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/utils/test_apply_apify_settings.py +0 -0
  180. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/scrapy/utils/test_get_basic_auth_header.py +0 -0
  181. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/test_crypto.py +0 -0
  182. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/test_platform_event_manager.py +0 -0
  183. {apify-2.4.0b4 → apify-2.4.0b6}/tests/unit/test_proxy_configuration.py +0 -0
  184. {apify-2.4.0b4 → apify-2.4.0b6}/website/.eslintrc.json +0 -0
  185. {apify-2.4.0b4 → apify-2.4.0b6}/website/babel.config.js +0 -0
  186. {apify-2.4.0b4 → apify-2.4.0b6}/website/build_api_reference.sh +0 -0
  187. {apify-2.4.0b4 → apify-2.4.0b6}/website/docusaurus.config.js +0 -0
  188. {apify-2.4.0b4 → apify-2.4.0b6}/website/generate_module_shortcuts.py +0 -0
  189. {apify-2.4.0b4 → apify-2.4.0b6}/website/package.json +0 -0
  190. {apify-2.4.0b4 → apify-2.4.0b6}/website/sidebars.js +0 -0
  191. {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/ApiLink.jsx +0 -0
  192. {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/Gradients.jsx +0 -0
  193. {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/Highlights.jsx +0 -0
  194. {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/Highlights.module.css +0 -0
  195. {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/RunnableCodeBlock.jsx +0 -0
  196. {apify-2.4.0b4 → apify-2.4.0b6}/website/src/components/RunnableCodeBlock.module.css +0 -0
  197. {apify-2.4.0b4 → apify-2.4.0b6}/website/src/css/custom.css +0 -0
  198. {apify-2.4.0b4 → apify-2.4.0b6}/website/src/pages/home_page_example.py +0 -0
  199. {apify-2.4.0b4 → apify-2.4.0b6}/website/src/pages/index.js +0 -0
  200. {apify-2.4.0b4 → apify-2.4.0b6}/website/src/pages/index.module.css +0 -0
  201. {apify-2.4.0b4 → apify-2.4.0b6}/website/static/.nojekyll +0 -0
  202. {apify-2.4.0b4 → apify-2.4.0b6}/website/static/img/docs-og.png +0 -0
  203. {apify-2.4.0b4 → apify-2.4.0b6}/website/tools/docs-prettier.config.js +0 -0
  204. {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
- <!-- git-cliff-unreleased-start -->
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apify
3
- Version: 2.4.0b4
3
+ Version: 2.4.0b6
4
4
  Summary: Apify SDK for Python
5
5
  Project-URL: Homepage, https://docs.apify.com/sdk/python/
6
6
  Project-URL: Apify homepage, https://apify.com
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "apify"
7
- version = "2.4.0b4"
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.9.0",
75
- "setuptools~=75.8.0", # setuptools are used by pytest but not explicitly required
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.9.0" },
100
- { name = "setuptools", specifier = "~=75.8.0" },
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.0"
115
+ version = "1.3.1"
120
116
  source = { registry = "https://pypi.org/simple" }
121
- sdist = { url = "https://files.pythonhosted.org/packages/26/0f/61f47cfa1febdb3a961a4105e2cfa5743bcc83d46f1eb51054a014d668e5/apify_shared-1.3.0.tar.gz", hash = "sha256:f88937cf1756a58bbffd33c0dcc60143fe20d7fe5bb2718872e25fdf4cb11c0a", size = 13546 }
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/9e/d5/a75b2dbfbb8713cbd64c61e91e764d98c425adcf744f760cefa1a0af0c8d/apify_shared-1.3.0-py3-none-any.whl", hash = "sha256:9177b9fd1e4b4b6f0f6af7941a6e4698e61607b154a85324bf1581a650455ad1", size = 12360 },
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.17.0"
818
+ version = "3.18.0"
823
819
  source = { registry = "https://pypi.org/simple" }
824
- sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027 }
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/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164 },
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.8"
931
+ version = "2.6.9"
936
932
  source = { registry = "https://pypi.org/simple" }
937
- sdist = { url = "https://files.pythonhosted.org/packages/f9/fa/5eb460539e6f5252a7c5a931b53426e49258cde17e3d50685031c300a8fd/identify-2.6.8.tar.gz", hash = "sha256:61491417ea2c0c5c670484fd8abbb34de34cdae1e5f39a73ee65e48e4bb663fc", size = 99249 }
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/78/8c/4bfcab2d8286473b8d83ea742716f4b79290172e75f91142bc1534b05b9a/identify-2.6.8-py2.py3-none-any.whl", hash = "sha256:83657f0f766a3c8d0eaea16d4ef42494b39b34629a4b3192a9d020d349b3e255", size = 99109 },
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.5"
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/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", size = 244674 }
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/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596 },
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.9.9"
2089
- source = { registry = "https://pypi.org/simple" }
2090
- sdist = { url = "https://files.pythonhosted.org/packages/6f/c3/418441a8170e8d53d05c0b9dad69760dbc7b8a12c10dbe6db1e1205d2377/ruff-0.9.9.tar.gz", hash = "sha256:0062ed13f22173e85f8f7056f9a24016e692efeea8704d1a5e8011b8aa850933", size = 3717448 }
2091
- wheels = [
2092
- { url = "https://files.pythonhosted.org/packages/bc/c3/2c4afa9ba467555d074b146d9aed0633a56ccdb900839fb008295d037b89/ruff-0.9.9-py3-none-linux_armv6l.whl", hash = "sha256:628abb5ea10345e53dff55b167595a159d3e174d6720bf19761f5e467e68d367", size = 10027252 },
2093
- { url = "https://files.pythonhosted.org/packages/33/d1/439e58487cf9eac26378332e25e7d5ade4b800ce1eec7dc2cfc9b0d7ca96/ruff-0.9.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b6cd1428e834b35d7493354723543b28cc11dc14d1ce19b685f6e68e07c05ec7", size = 10840721 },
2094
- { url = "https://files.pythonhosted.org/packages/50/44/fead822c38281ba0122f1b76b460488a175a9bd48b130650a6fb6dbcbcf9/ruff-0.9.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5ee162652869120ad260670706f3cd36cd3f32b0c651f02b6da142652c54941d", size = 10161439 },
2095
- { url = "https://files.pythonhosted.org/packages/11/ae/d404a2ab8e61ddf6342e09cc6b7f7846cce6b243e45c2007dbe0ca928a5d/ruff-0.9.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3aa0f6b75082c9be1ec5a1db78c6d4b02e2375c3068438241dc19c7c306cc61a", size = 10336264 },
2096
- { url = "https://files.pythonhosted.org/packages/6a/4e/7c268aa7d84cd709fb6f046b8972313142cffb40dfff1d2515c5e6288d54/ruff-0.9.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:584cc66e89fb5f80f84b05133dd677a17cdd86901d6479712c96597a3f28e7fe", size = 9908774 },
2097
- { url = "https://files.pythonhosted.org/packages/cc/26/c618a878367ef1b76270fd027ca93692657d3f6122b84ba48911ef5f2edc/ruff-0.9.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abf3369325761a35aba75cd5c55ba1b5eb17d772f12ab168fbfac54be85cf18c", size = 11428127 },
2098
- { url = "https://files.pythonhosted.org/packages/d7/9a/c5588a93d9bfed29f565baf193fe802fa676a0c837938137ea6cf0576d8c/ruff-0.9.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:3403a53a32a90ce929aa2f758542aca9234befa133e29f4933dcef28a24317be", size = 12133187 },
2099
- { url = "https://files.pythonhosted.org/packages/3e/ff/e7980a7704a60905ed7e156a8d73f604c846d9bd87deda9cabfa6cba073a/ruff-0.9.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:18454e7fa4e4d72cffe28a37cf6a73cb2594f81ec9f4eca31a0aaa9ccdfb1590", size = 11602937 },
2100
- { url = "https://files.pythonhosted.org/packages/24/78/3690444ad9e3cab5c11abe56554c35f005b51d1d118b429765249095269f/ruff-0.9.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fadfe2c88724c9617339f62319ed40dcdadadf2888d5afb88bf3adee7b35bfb", size = 13771698 },
2101
- { url = "https://files.pythonhosted.org/packages/6e/bf/e477c2faf86abe3988e0b5fd22a7f3520e820b2ee335131aca2e16120038/ruff-0.9.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6df104d08c442a1aabcfd254279b8cc1e2cbf41a605aa3e26610ba1ec4acf0b0", size = 11249026 },
2102
- { url = "https://files.pythonhosted.org/packages/f7/82/cdaffd59e5a8cb5b14c408c73d7a555a577cf6645faaf83e52fe99521715/ruff-0.9.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:d7c62939daf5b2a15af48abbd23bea1efdd38c312d6e7c4cedf5a24e03207e17", size = 10220432 },
2103
- { url = "https://files.pythonhosted.org/packages/fe/a4/2507d0026225efa5d4412b6e294dfe54725a78652a5c7e29e6bd0fc492f3/ruff-0.9.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9494ba82a37a4b81b6a798076e4a3251c13243fc37967e998efe4cce58c8a8d1", size = 9874602 },
2104
- { url = "https://files.pythonhosted.org/packages/d5/be/f3aab1813846b476c4bcffe052d232244979c3cd99d751c17afb530ca8e4/ruff-0.9.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:4efd7a96ed6d36ef011ae798bf794c5501a514be369296c672dab7921087fa57", size = 10851212 },
2105
- { url = "https://files.pythonhosted.org/packages/8b/45/8e5fd559bea0d2f57c4e12bf197a2fade2fac465aa518284f157dfbca92b/ruff-0.9.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:ab90a7944c5a1296f3ecb08d1cbf8c2da34c7e68114b1271a431a3ad30cb660e", size = 11327490 },
2106
- { url = "https://files.pythonhosted.org/packages/42/55/e6c90f13880aeef327746052907e7e930681f26a164fe130ddac28b08269/ruff-0.9.9-py3-none-win32.whl", hash = "sha256:6b4c376d929c25ecd6d87e182a230fa4377b8e5125a4ff52d506ee8c087153c1", size = 10227912 },
2107
- { url = "https://files.pythonhosted.org/packages/35/b2/da925693cb82a1208aa34966c0f36cb222baca94e729dd22a587bc22d0f3/ruff-0.9.9-py3-none-win_amd64.whl", hash = "sha256:837982ea24091d4c1700ddb2f63b7070e5baec508e43b01de013dc7eff974ff1", size = 11355632 },
2108
- { url = "https://files.pythonhosted.org/packages/31/d8/de873d1c1b020d668d8ec9855d390764cb90cf8f6486c0983da52be8b7b7/ruff-0.9.9-py3-none-win_arm64.whl", hash = "sha256:3ac78f127517209fe6d96ab00f3ba97cafe38718b23b1db3e96d8b2d39e37ddf", size = 10435860 },
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 = "75.8.2"
2141
+ version = "76.0.0"
2158
2142
  source = { registry = "https://pypi.org/simple" }
2159
- sdist = { url = "https://files.pythonhosted.org/packages/d1/53/43d99d7687e8cdef5ab5f9ec5eaf2c0423c2b35133a2b7e7bc276fc32b21/setuptools-75.8.2.tar.gz", hash = "sha256:4880473a969e5f23f2a2be3646b2dfd84af9028716d398e46192f84bc36900d2", size = 1344083 }
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/a9/38/7d7362e031bd6dc121e5081d8cb6aa6f6fedf2b67bf889962134c6da4705/setuptools-75.8.2-py3-none-any.whl", hash = "sha256:558e47c15f1811c1fa7adbd0096669bf76c1d3f433f58324df69f3f5ecac4e8f", size = 1229385 },
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.2"
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/f1/88/dacc875dd54a8acadb4bcbfd4e3e86df8be75527116c91d8f9784f5e9cab/virtualenv-20.29.2.tar.gz", hash = "sha256:fdaabebf6d03b5ba83ae0a02cfe96f48a716f4fae556461d180825866f75b728", size = 4320272 }
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/93/fa/849483d56773ae29740ae70043ad88e068f98a6401aa819b5d6bee604683/virtualenv-20.29.2-py3-none-any.whl", hash = "sha256:febddfc3d1ea571bdb1dc0f98d7b45d24def7428214d4fb73cc486c9568cce6a", size = 4301478 },
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]]