apify 2.7.1b17__tar.gz → 2.7.1b18__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 (238) hide show
  1. {apify-2.7.1b17 → apify-2.7.1b18}/CHANGELOG.md +13 -0
  2. {apify-2.7.1b17 → apify-2.7.1b18}/PKG-INFO +2 -2
  3. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/09_running_webserver.mdx +2 -2
  4. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/07_webhook_preventing.py +1 -1
  5. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/09_webserver.py +2 -2
  6. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/conditional_actor_charge.py +1 -1
  7. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/03_playwright.py +1 -1
  8. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/04_selenium.py +1 -1
  9. apify-2.7.1b18/docs/04_upgrading/upgrading_to_v3.md +54 -0
  10. {apify-2.7.1b17 → apify-2.7.1b18}/pyproject.toml +2 -2
  11. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/_actor.py +132 -79
  12. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/_configuration.py +36 -5
  13. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/_apify/_dataset_client.py +14 -13
  14. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/_apify/_key_value_store_client.py +15 -13
  15. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/_apify/_request_queue_client.py +14 -13
  16. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/_apify/_storage_client.py +26 -25
  17. apify-2.7.1b18/src/apify/storage_clients/_apify/_utils.py +167 -0
  18. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/actor_source_base/requirements.txt +1 -1
  19. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/conftest.py +5 -8
  20. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_actor_create_proxy_configuration.py +4 -1
  21. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_actor_key_value_store.py +2 -2
  22. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_actor_lifecycle.py +41 -0
  23. apify-2.7.1b18/tests/integration/test_apify_storages.py +34 -0
  24. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/actor/test_actor_lifecycle.py +17 -17
  25. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/actor/test_actor_non_default_instance.py +1 -1
  26. apify-2.7.1b18/tests/unit/actor/test_configuration.py +257 -0
  27. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/conftest.py +5 -8
  28. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/events/test_apify_event_manager.py +1 -2
  29. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/storage_clients/test_file_system.py +1 -5
  30. apify-2.7.1b18/tests/unit/test_apify_storages.py +63 -0
  31. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/test_proxy_configuration.py +5 -3
  32. {apify-2.7.1b17 → apify-2.7.1b18}/uv.lock +5 -5
  33. apify-2.7.1b17/docs/04_upgrading/upgrading_to_v3.md +0 -18
  34. apify-2.7.1b17/src/apify/storage_clients/_apify/_utils.py +0 -117
  35. apify-2.7.1b17/tests/unit/actor/test_configuration.py +0 -21
  36. {apify-2.7.1b17 → apify-2.7.1b18}/.editorconfig +0 -0
  37. {apify-2.7.1b17 → apify-2.7.1b18}/.github/CODEOWNERS +0 -0
  38. {apify-2.7.1b17 → apify-2.7.1b18}/.github/workflows/build_and_deploy_docs.yaml +0 -0
  39. {apify-2.7.1b17 → apify-2.7.1b18}/.github/workflows/check_pr_title.yaml +0 -0
  40. {apify-2.7.1b17 → apify-2.7.1b18}/.github/workflows/pre_release.yaml +0 -0
  41. {apify-2.7.1b17 → apify-2.7.1b18}/.github/workflows/release.yaml +0 -0
  42. {apify-2.7.1b17 → apify-2.7.1b18}/.github/workflows/run_code_checks.yaml +0 -0
  43. {apify-2.7.1b17 → apify-2.7.1b18}/.github/workflows/update_new_issue.yaml +0 -0
  44. {apify-2.7.1b17 → apify-2.7.1b18}/.gitignore +0 -0
  45. {apify-2.7.1b17 → apify-2.7.1b18}/.markdownlint.yaml +0 -0
  46. {apify-2.7.1b17 → apify-2.7.1b18}/.pre-commit-config.yaml +0 -0
  47. {apify-2.7.1b17 → apify-2.7.1b18}/CONTRIBUTING.md +0 -0
  48. {apify-2.7.1b17 → apify-2.7.1b18}/LICENSE +0 -0
  49. {apify-2.7.1b17 → apify-2.7.1b18}/Makefile +0 -0
  50. {apify-2.7.1b17 → apify-2.7.1b18}/README.md +0 -0
  51. {apify-2.7.1b17 → apify-2.7.1b18}/docs/01_overview/01_introduction.mdx +0 -0
  52. {apify-2.7.1b17 → apify-2.7.1b18}/docs/01_overview/02_running_actors_locally.mdx +0 -0
  53. {apify-2.7.1b17 → apify-2.7.1b18}/docs/01_overview/03_actor_structure.mdx +0 -0
  54. {apify-2.7.1b17 → apify-2.7.1b18}/docs/01_overview/code/01_introduction.py +0 -0
  55. {apify-2.7.1b17 → apify-2.7.1b18}/docs/01_overview/code/actor_structure/__init__.py +0 -0
  56. {apify-2.7.1b17 → apify-2.7.1b18}/docs/01_overview/code/actor_structure/__main__.py +0 -0
  57. {apify-2.7.1b17 → apify-2.7.1b18}/docs/01_overview/code/actor_structure/main.py +0 -0
  58. {apify-2.7.1b17 → apify-2.7.1b18}/docs/01_overview/code/actor_structure/py.typed +0 -0
  59. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/01_actor_lifecycle.mdx +0 -0
  60. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/02_actor_input.mdx +0 -0
  61. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/03_storages.mdx +0 -0
  62. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/04_actor_events.mdx +0 -0
  63. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/05_proxy_management.mdx +0 -0
  64. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/06_interacting_with_other_actors.mdx +0 -0
  65. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/07_webhooks.mdx +0 -0
  66. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/08_access_apify_api.mdx +0 -0
  67. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/10_logging.mdx +0 -0
  68. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/11_configuration.mdx +0 -0
  69. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/12_pay_per_event.mdx +0 -0
  70. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/01_context_manager.py +0 -0
  71. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/01_init_exit.py +0 -0
  72. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/01_reboot.py +0 -0
  73. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/01_status_message.py +0 -0
  74. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/02_input.py +0 -0
  75. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/03_dataset_exports.py +0 -0
  76. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/03_dataset_read_write.py +0 -0
  77. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/03_deleting_storages.py +0 -0
  78. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/03_kvs_iterating.py +0 -0
  79. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/03_kvs_public_url.py +0 -0
  80. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/03_kvs_read_write.py +0 -0
  81. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/03_opening_storages.py +0 -0
  82. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/03_rq.py +0 -0
  83. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/04_actor_events.py +0 -0
  84. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/05_apify_proxy.py +0 -0
  85. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/05_apify_proxy_config.py +0 -0
  86. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/05_custom_proxy.py +0 -0
  87. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/05_custom_proxy_function.py +0 -0
  88. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/05_proxy_actor_input.py +0 -0
  89. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/05_proxy_httpx.py +0 -0
  90. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/05_proxy_rotation.py +0 -0
  91. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/06_interacting_call.py +0 -0
  92. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/06_interacting_call_task.py +0 -0
  93. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/06_interacting_metamorph.py +0 -0
  94. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/06_interacting_start.py +0 -0
  95. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/07_webhook.py +0 -0
  96. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/08_actor_client.py +0 -0
  97. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/08_actor_new_client.py +0 -0
  98. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/10_log_config.py +0 -0
  99. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/10_logger_usage.py +0 -0
  100. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/10_redirect_log.py +0 -0
  101. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/10_redirect_log_existing_run.py +0 -0
  102. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/11_config.py +0 -0
  103. {apify-2.7.1b17 → apify-2.7.1b18}/docs/02_concepts/code/actor_charge.py +0 -0
  104. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/01_beautifulsoup_httpx.mdx +0 -0
  105. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/02_parsel_impit.mdx +0 -0
  106. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/03_playwright.mdx +0 -0
  107. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/04_selenium.mdx +0 -0
  108. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/05_crawlee.mdx +0 -0
  109. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/06_scrapy.mdx +0 -0
  110. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/01_beautifulsoup_httpx.py +0 -0
  111. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/02_parsel_impit.py +0 -0
  112. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/05_crawlee_beautifulsoup.py +0 -0
  113. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/05_crawlee_parsel.py +0 -0
  114. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/05_crawlee_playwright.py +0 -0
  115. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/scrapy_project/src/__init__.py +0 -0
  116. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/scrapy_project/src/__main__.py +0 -0
  117. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/scrapy_project/src/items.py +0 -0
  118. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/scrapy_project/src/main.py +0 -0
  119. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/scrapy_project/src/py.typed +0 -0
  120. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/scrapy_project/src/settings.py +0 -0
  121. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/scrapy_project/src/spiders/__init__.py +0 -0
  122. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/scrapy_project/src/spiders/py.typed +0 -0
  123. {apify-2.7.1b17 → apify-2.7.1b18}/docs/03_guides/code/scrapy_project/src/spiders/title.py +0 -0
  124. {apify-2.7.1b17 → apify-2.7.1b18}/docs/04_upgrading/upgrading_to_v2.md +0 -0
  125. {apify-2.7.1b17 → apify-2.7.1b18}/docs/pyproject.toml +0 -0
  126. {apify-2.7.1b17 → apify-2.7.1b18}/renovate.json +0 -0
  127. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/__init__.py +0 -0
  128. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/_charging.py +0 -0
  129. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/_consts.py +0 -0
  130. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/_crypto.py +0 -0
  131. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/_models.py +0 -0
  132. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/_proxy_configuration.py +0 -0
  133. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/_utils.py +0 -0
  134. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/events/__init__.py +0 -0
  135. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/events/_apify_event_manager.py +0 -0
  136. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/events/_types.py +0 -0
  137. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/events/py.typed +0 -0
  138. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/log.py +0 -0
  139. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/py.typed +0 -0
  140. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/request_loaders/__init__.py +0 -0
  141. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/request_loaders/_apify_request_list.py +0 -0
  142. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/request_loaders/py.typed +0 -0
  143. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/__init__.py +0 -0
  144. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/_actor_runner.py +0 -0
  145. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/_async_thread.py +0 -0
  146. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/_logging_config.py +0 -0
  147. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/extensions/__init__.py +0 -0
  148. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/extensions/_httpcache.py +0 -0
  149. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/middlewares/__init__.py +0 -0
  150. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/middlewares/apify_proxy.py +0 -0
  151. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/middlewares/py.typed +0 -0
  152. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/pipelines/__init__.py +0 -0
  153. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/pipelines/actor_dataset_push.py +0 -0
  154. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/pipelines/py.typed +0 -0
  155. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/py.typed +0 -0
  156. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/requests.py +0 -0
  157. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/scheduler.py +0 -0
  158. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/scrapy/utils.py +0 -0
  159. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/__init__.py +0 -0
  160. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/_apify/__init__.py +0 -0
  161. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/_apify/_models.py +0 -0
  162. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/_apify/py.typed +0 -0
  163. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/_file_system/__init__.py +0 -0
  164. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/_file_system/_key_value_store_client.py +0 -0
  165. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/_file_system/_storage_client.py +0 -0
  166. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storage_clients/py.typed +0 -0
  167. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storages/__init__.py +0 -0
  168. {apify-2.7.1b17 → apify-2.7.1b18}/src/apify/storages/py.typed +0 -0
  169. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/README.md +0 -0
  170. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/__init__.py +0 -0
  171. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/_utils.py +0 -0
  172. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/actor_source_base/Dockerfile +0 -0
  173. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/actor_source_base/server.py +0 -0
  174. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/actor_source_base/src/__init__.py +0 -0
  175. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/actor_source_base/src/__main__.py +0 -0
  176. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/actor_source_base/src/main.py +0 -0
  177. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_actor_api_helpers.py +0 -0
  178. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_actor_call_timeouts.py +0 -0
  179. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_actor_charge.py +0 -0
  180. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_actor_dataset.py +0 -0
  181. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_actor_events.py +0 -0
  182. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_actor_log.py +0 -0
  183. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_actor_request_queue.py +0 -0
  184. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_actor_scrapy.py +0 -0
  185. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_crawlers_with_storages.py +0 -0
  186. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_fixtures.py +0 -0
  187. {apify-2.7.1b17 → apify-2.7.1b18}/tests/integration/test_request_queue.py +0 -0
  188. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/__init__.py +0 -0
  189. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/actor/__init__.py +0 -0
  190. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/actor/test_actor_create_proxy_configuration.py +0 -0
  191. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/actor/test_actor_dataset.py +0 -0
  192. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/actor/test_actor_env_helpers.py +0 -0
  193. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/actor/test_actor_helpers.py +0 -0
  194. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/actor/test_actor_key_value_store.py +0 -0
  195. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/actor/test_actor_log.py +0 -0
  196. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/actor/test_actor_request_queue.py +0 -0
  197. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/actor/test_request_list.py +0 -0
  198. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/events/__init__.py +0 -0
  199. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/__init__.py +0 -0
  200. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/extensions/__init__.py +0 -0
  201. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/extensions/test_httpcache.py +0 -0
  202. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/middlewares/__init__.py +0 -0
  203. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/middlewares/test_apify_proxy.py +0 -0
  204. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/pipelines/__init__.py +0 -0
  205. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/pipelines/test_actor_dataset_push.py +0 -0
  206. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/requests/__init__.py +0 -0
  207. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/requests/test_to_apify_request.py +0 -0
  208. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/requests/test_to_scrapy_request.py +0 -0
  209. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/utils/__init__.py +0 -0
  210. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/utils/test_apply_apify_settings.py +0 -0
  211. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/scrapy/utils/test_get_basic_auth_header.py +0 -0
  212. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/storage_clients/__init__.py +0 -0
  213. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/storage_clients/test_apify_request_queue_client.py +0 -0
  214. {apify-2.7.1b17 → apify-2.7.1b18}/tests/unit/test_crypto.py +0 -0
  215. {apify-2.7.1b17 → apify-2.7.1b18}/website/.eslintrc.json +0 -0
  216. {apify-2.7.1b17 → apify-2.7.1b18}/website/babel.config.js +0 -0
  217. {apify-2.7.1b17 → apify-2.7.1b18}/website/build_api_reference.sh +0 -0
  218. {apify-2.7.1b17 → apify-2.7.1b18}/website/docusaurus.config.js +0 -0
  219. {apify-2.7.1b17 → apify-2.7.1b18}/website/generate_module_shortcuts.py +0 -0
  220. {apify-2.7.1b17 → apify-2.7.1b18}/website/package-lock.json +0 -0
  221. {apify-2.7.1b17 → apify-2.7.1b18}/website/package.json +0 -0
  222. {apify-2.7.1b17 → apify-2.7.1b18}/website/sidebars.js +0 -0
  223. {apify-2.7.1b17 → apify-2.7.1b18}/website/src/components/ApiLink.jsx +0 -0
  224. {apify-2.7.1b17 → apify-2.7.1b18}/website/src/components/Gradients.jsx +0 -0
  225. {apify-2.7.1b17 → apify-2.7.1b18}/website/src/components/Highlights.jsx +0 -0
  226. {apify-2.7.1b17 → apify-2.7.1b18}/website/src/components/Highlights.module.css +0 -0
  227. {apify-2.7.1b17 → apify-2.7.1b18}/website/src/components/RunnableCodeBlock.jsx +0 -0
  228. {apify-2.7.1b17 → apify-2.7.1b18}/website/src/components/RunnableCodeBlock.module.css +0 -0
  229. {apify-2.7.1b17 → apify-2.7.1b18}/website/src/css/custom.css +0 -0
  230. {apify-2.7.1b17 → apify-2.7.1b18}/website/src/pages/home_page_example.py +0 -0
  231. {apify-2.7.1b17 → apify-2.7.1b18}/website/src/pages/index.js +0 -0
  232. {apify-2.7.1b17 → apify-2.7.1b18}/website/src/pages/index.module.css +0 -0
  233. {apify-2.7.1b17 → apify-2.7.1b18}/website/src/theme/DocItem/Content/index.js +0 -0
  234. {apify-2.7.1b17 → apify-2.7.1b18}/website/static/.nojekyll +0 -0
  235. {apify-2.7.1b17 → apify-2.7.1b18}/website/static/img/docs-og.png +0 -0
  236. {apify-2.7.1b17 → apify-2.7.1b18}/website/static/img/guides/redirected_logs_example.webp +0 -0
  237. {apify-2.7.1b17 → apify-2.7.1b18}/website/tools/docs-prettier.config.js +0 -0
  238. {apify-2.7.1b17 → apify-2.7.1b18}/website/tools/utils/externalLink.js +0 -0
@@ -28,6 +28,7 @@ All notable changes to this project will be documented in this file.
28
28
  - [**breaking**] Adapt to the Crawlee v1.0 ([#470](https://github.com/apify/apify-sdk-python/pull/470)) ([f7e3320](https://github.com/apify/apify-sdk-python/commit/f7e33206cf3e4767faacbdc43511b45b6785f929)) by [@vdusek](https://github.com/vdusek), closes [#469](https://github.com/apify/apify-sdk-python/issues/469), [#540](https://github.com/apify/apify-sdk-python/issues/540)
29
29
  - [**breaking**] Replace `httpx` with `impit` ([#560](https://github.com/apify/apify-sdk-python/pull/560)) ([cca3869](https://github.com/apify/apify-sdk-python/commit/cca3869e85968865e56aafcdcb36fbccba27aef0)) by [@Mantisus](https://github.com/Mantisus), closes [#558](https://github.com/apify/apify-sdk-python/issues/558)
30
30
  - [**breaking**] Remove `Request.id` field ([#553](https://github.com/apify/apify-sdk-python/pull/553)) ([445ab5d](https://github.com/apify/apify-sdk-python/commit/445ab5d752b785fc2018b35c8adbe779253d7acd)) by [@Pijukatel](https://github.com/Pijukatel)
31
+ - [**breaking**] Make `Actor` initialization stricter and more predictable ([#576](https://github.com/apify/apify-sdk-python/pull/576)) ([912222a](https://github.com/apify/apify-sdk-python/commit/912222a7a8123be66c94c50a2e461276fbfc50c4)) by [@Pijukatel](https://github.com/Pijukatel)
31
32
 
32
33
 
33
34
  <!-- git-cliff-unreleased-end -->
@@ -139,6 +140,18 @@ All notable changes to this project will be documented in this file.
139
140
  - Tagline overlap ([#501](https://github.com/apify/apify-sdk-python/pull/501)) ([bae8340](https://github.com/apify/apify-sdk-python/commit/bae8340c46fea756ea35ea4d591da84c09d478e2)) by [@katzino](https://github.com/katzino)
140
141
 
141
142
 
143
+ ## [2.7.0](https://github.com/apify/apify-sdk-python/releases/tag/v2.7.0) (2025-07-14)
144
+
145
+ ### 🚀 Features
146
+
147
+ - **crypto:** Decrypt secret objects ([#482](https://github.com/apify/apify-sdk-python/pull/482)) ([ce9daf7](https://github.com/apify/apify-sdk-python/commit/ce9daf7381212b8dc194e8a643e5ca0dedbc0078)) by [@MFori](https://github.com/MFori)
148
+
149
+ ### 🐛 Bug Fixes
150
+
151
+ - Sync `@docusaurus` theme version [internal] ([#500](https://github.com/apify/apify-sdk-python/pull/500)) ([a7485e7](https://github.com/apify/apify-sdk-python/commit/a7485e7d2276fde464ce862573d5b95e7d4d836a)) by [@katzino](https://github.com/katzino)
152
+ - Tagline overlap ([#501](https://github.com/apify/apify-sdk-python/pull/501)) ([bae8340](https://github.com/apify/apify-sdk-python/commit/bae8340c46fea756ea35ea4d591da84c09d478e2)) by [@katzino](https://github.com/katzino)
153
+
154
+
142
155
 
143
156
  ## [2.7.3](https://github.com/apify/apify-sdk-python/releases/tag/v2.7.3) (2025-08-11)
144
157
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: apify
3
- Version: 2.7.1b17
3
+ Version: 2.7.1b18
4
4
  Summary: Apify SDK for Python
5
5
  Project-URL: Apify Homepage, https://apify.com
6
6
  Project-URL: Changelog, https://docs.apify.com/sdk/python/docs/changelog
@@ -228,7 +228,7 @@ Requires-Python: >=3.10
228
228
  Requires-Dist: apify-client<3.0.0,>=2.0.0
229
229
  Requires-Dist: apify-shared<3.0.0,>=2.0.0
230
230
  Requires-Dist: cachetools>=5.5.0
231
- Requires-Dist: crawlee==0.6.13b37
231
+ Requires-Dist: crawlee==0.6.13b42
232
232
  Requires-Dist: cryptography>=42.0.0
233
233
  Requires-Dist: impit>=0.6.1
234
234
  Requires-Dist: lazy-object-proxy>=1.11.0
@@ -13,9 +13,9 @@ The URL is available in the following places:
13
13
 
14
14
  - In Apify Console, on the Actor run details page as the **Container URL** field.
15
15
  - In the API as the `container_url` property of the [Run object](https://docs.apify.com/api/v2#/reference/actors/run-object/get-run).
16
- - In the Actor as the `Actor.config.container_url` property.
16
+ - In the Actor as the `Actor.configuration.container_url` property.
17
17
 
18
- The web server running inside the container must listen at the port defined by the `Actor.config.container_port` property. When running Actors locally, the port defaults to `4321`, so the web server will be accessible at `http://localhost:4321`.
18
+ The web server running inside the container must listen at the port defined by the `Actor.configuration.container_port` property. When running Actors locally, the port defaults to `4321`, so the web server will be accessible at `http://localhost:4321`.
19
19
 
20
20
  ## Example
21
21
 
@@ -7,7 +7,7 @@ async def main() -> None:
7
7
  webhook = Webhook(
8
8
  event_types=['ACTOR.RUN.FAILED'],
9
9
  request_url='https://example.com/run-failed',
10
- idempotency_key=Actor.config.actor_run_id,
10
+ idempotency_key=Actor.configuration.actor_run_id,
11
11
  )
12
12
 
13
13
  # Add the webhook to the Actor.
@@ -22,9 +22,9 @@ def run_server() -> None:
22
22
  # and save a reference to the server.
23
23
  global http_server
24
24
  with ThreadingHTTPServer(
25
- ('', Actor.config.web_server_port), RequestHandler
25
+ ('', Actor.configuration.web_server_port), RequestHandler
26
26
  ) as server:
27
- Actor.log.info(f'Server running on {Actor.config.web_server_port}')
27
+ Actor.log.info(f'Server running on {Actor.configuration.web_server_port}')
28
28
  http_server = server
29
29
  server.serve_forever()
30
30
 
@@ -13,6 +13,6 @@ async def main() -> None:
13
13
  if Actor.get_charging_manager().get_pricing_info().is_pay_per_event:
14
14
  # highlight-end
15
15
  await Actor.push_data({'hello': 'world'}, 'dataset-item')
16
- elif charged_items < (Actor.config.max_paid_dataset_items or 0):
16
+ elif charged_items < (Actor.configuration.max_paid_dataset_items or 0):
17
17
  await Actor.push_data({'hello': 'world'})
18
18
  charged_items += 1
@@ -40,7 +40,7 @@ async def main() -> None:
40
40
  async with async_playwright() as playwright:
41
41
  # Configure the browser to launch in headless mode as per Actor configuration.
42
42
  browser = await playwright.chromium.launch(
43
- headless=Actor.config.headless,
43
+ headless=Actor.configuration.headless,
44
44
  args=['--disable-gpu'],
45
45
  )
46
46
  context = await browser.new_context()
@@ -41,7 +41,7 @@ async def main() -> None:
41
41
  Actor.log.info('Launching Chrome WebDriver...')
42
42
  chrome_options = ChromeOptions()
43
43
 
44
- if Actor.config.headless:
44
+ if Actor.configuration.headless:
45
45
  chrome_options.add_argument('--headless')
46
46
 
47
47
  chrome_options.add_argument('--no-sandbox')
@@ -0,0 +1,54 @@
1
+ ---
2
+ id: upgrading-to-v3
3
+ title: Upgrading to v3
4
+ ---
5
+
6
+ This page summarizes the breaking changes between Apify Python SDK v2.x and v3.0.
7
+
8
+ ## Python version support
9
+
10
+ Support for Python 3.9 has been dropped. The Apify Python SDK v3.x now requires Python 3.10 or later. Make sure your environment is running a compatible version before upgrading.
11
+
12
+ ## Actor initialization and ServiceLocator changes
13
+
14
+ `Actor` initialization and global `service_locator` services setup is more strict and predictable.
15
+ - Services in `Actor` can't be changed after calling `Actor.init`, entering the `async with Actor` context manager or after requesting them from the `Actor`.
16
+ - Services in `Actor` can be different from services in Crawler.
17
+
18
+
19
+ **Now (v3.0):**
20
+
21
+ ```python
22
+ from crawlee.crawlers import BasicCrawler
23
+ from crawlee.storage_clients import MemoryStorageClient
24
+ from crawlee.configuration import Configuration
25
+ from crawlee.events import LocalEventManager
26
+ from apify import Actor
27
+
28
+ async def main():
29
+
30
+ async with Actor():
31
+ # This crawler will use same services as Actor and global service_locator
32
+ crawler_1 = BasicCrawler()
33
+
34
+ # This crawler will use custom services
35
+ custom_configuration = Configuration()
36
+ custom_event_manager = LocalEventManager.from_config(custom_configuration)
37
+ custom_storage_client = MemoryStorageClient()
38
+ crawler_2 = BasicCrawler(
39
+ configuration=custom_configuration,
40
+ event_manager=custom_event_manager,
41
+ storage_client=custom_storage_client,
42
+ )
43
+ ```
44
+
45
+ ## Removed Actor.config property
46
+ - `Actor.config` property has been removed. Use `Actor.configuration` instead.
47
+
48
+ ## Storages
49
+
50
+ <!-- TODO -->
51
+
52
+ ## Storage clients
53
+
54
+ <!-- TODO -->
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "apify"
7
- version = "2.7.1b17"
7
+ version = "2.7.1b18"
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" }
@@ -36,7 +36,7 @@ keywords = [
36
36
  dependencies = [
37
37
  "apify-client>=2.0.0,<3.0.0",
38
38
  "apify-shared>=2.0.0,<3.0.0",
39
- "crawlee==0.6.13b37",
39
+ "crawlee==0.6.13b42",
40
40
  "cachetools>=5.5.0",
41
41
  "cryptography>=42.0.0",
42
42
  "impit>=0.6.1",