workers-runtime-sdk 1.9.3__tar.gz → 1.9.4__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.
Files changed (208) hide show
  1. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/CHANGELOG.md +9 -0
  2. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/PKG-INFO +1 -1
  3. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/pyproject.toml +1 -1
  4. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/_workers_sdk_entropy_import_context.py +34 -5
  5. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/pyproject.toml +1 -0
  6. workers_runtime_sdk-1.9.4/tests/workerd-test/entropy-patches/tests/test_boto3.py +8 -0
  7. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/worker.py +1 -0
  8. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/uv.lock +1 -1
  9. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/.gitignore +0 -0
  10. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/AGENTS.md +0 -0
  11. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/LICENSE +0 -0
  12. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/README.md +0 -0
  13. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/_cloudflare_compat_flags.pyi +0 -0
  14. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/_pyodide_entrypoint_helper.pyi +0 -0
  15. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/_workers_sdk_package_patches.py +0 -0
  16. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/_workers_sdk_patch_loader.pth +0 -0
  17. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/_workers_sdk_patch_loader.py +0 -0
  18. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/asgi.py +0 -0
  19. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/__init__.py +0 -0
  20. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/asgi.py +0 -0
  21. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/blob.py +0 -0
  22. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/entrypoints.py +0 -0
  23. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/fetch.py +0 -0
  24. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/formdata.py +0 -0
  25. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/py.typed +0 -0
  26. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/request.py +0 -0
  27. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/response.py +0 -0
  28. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/rpc.py +0 -0
  29. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/types.py +0 -0
  30. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/utils.py +0 -0
  31. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/workflows.js +0 -0
  32. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/workflows.py +0 -0
  33. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/src/workers/wsgi.py +0 -0
  34. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/public/data.json +0 -0
  35. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/public/hello.txt +0 -0
  36. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/pyproject.toml +0 -0
  37. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/conftest.py +0 -0
  38. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_analytics_engine.py +0 -0
  39. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_assets.py +0 -0
  40. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_d1.py +0 -0
  41. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_do.py +0 -0
  42. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_hyperdrive_mysql.py +0 -0
  43. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_hyperdrive_postgresql.py +0 -0
  44. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_images.py +0 -0
  45. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_kv.py +0 -0
  46. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_mtls.py +0 -0
  47. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_queue.py +0 -0
  48. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_r2.py +0 -0
  49. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_ratelimit.py +0 -0
  50. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_vectorize.py +0 -0
  51. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_version_metadata.py +0 -0
  52. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_workflow.py +0 -0
  53. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/worker.py +0 -0
  54. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/worker_durable_object.py +0 -0
  55. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/worker_workflow.py +0 -0
  56. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/bindings-test/wrangler.jsonc +0 -0
  57. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/conftest.py +0 -0
  58. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/test_bindings.py +0 -0
  59. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/test_django.py +0 -0
  60. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/test_django_databases.py +0 -0
  61. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/test_fastapi.py +0 -0
  62. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/test_flask.py +0 -0
  63. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/test_in_workerd.py +0 -0
  64. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/pyproject.toml +0 -0
  65. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/_client.py +0 -0
  66. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/conftest.py +0 -0
  67. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/__init__.py +0 -0
  68. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/api_urls.py +0 -0
  69. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/auth_backend.py +0 -0
  70. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/drf_auth.py +0 -0
  71. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/drf_serializers.py +0 -0
  72. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/drf_throttling.py +0 -0
  73. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/drf_views.py +0 -0
  74. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/forms.py +0 -0
  75. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/middleware.py +0 -0
  76. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/templatetags/__init__.py +0 -0
  77. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/templatetags/custom_tags.py +0 -0
  78. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/urls.py +0 -0
  79. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/views.py +0 -0
  80. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/templates/base.html +0 -0
  81. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/templates/context_test.html +0 -0
  82. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/templates/csrf_form.html +0 -0
  83. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/templates/hello.html +0 -0
  84. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_async_utilities.py +0 -0
  85. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_auth.py +0 -0
  86. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_caching.py +0 -0
  87. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_cors.py +0 -0
  88. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_csrf.py +0 -0
  89. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_auth_permissions.py +0 -0
  90. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_content_negotiation.py +0 -0
  91. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_serializers.py +0 -0
  92. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_throttling.py +0 -0
  93. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_versioning.py +0 -0
  94. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_views.py +0 -0
  95. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_error_handling.py +0 -0
  96. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_file_uploads.py +0 -0
  97. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_forms.py +0 -0
  98. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_middleware.py +0 -0
  99. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_pagination.py +0 -0
  100. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_request_response.py +0 -0
  101. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_sessions.py +0 -0
  102. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_signals.py +0 -0
  103. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_streaming.py +0 -0
  104. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_templates.py +0 -0
  105. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_url_routing.py +0 -0
  106. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_views_basic.py +0 -0
  107. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/worker.py +0 -0
  108. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/wrangler.jsonc +0 -0
  109. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/pyproject.toml +0 -0
  110. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/src/django_db_config.py +0 -0
  111. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/src/django_db_helpers.py +0 -0
  112. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/src/test_mysql.py +0 -0
  113. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/src/test_postgresql.py +0 -0
  114. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/src/worker.py +0 -0
  115. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/wrangler.jsonc +0 -0
  116. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/public/data.json +0 -0
  117. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/public/index.html +0 -0
  118. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/public/style.css +0 -0
  119. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/pyproject.toml +0 -0
  120. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/_client.py +0 -0
  121. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/conftest.py +0 -0
  122. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/static/app.css +0 -0
  123. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/static/data.json +0 -0
  124. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/static/hello.txt +0 -0
  125. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/static/index.html +0 -0
  126. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_assets.py +0 -0
  127. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_error_handling.py +0 -0
  128. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_platform_boundaries.py +0 -0
  129. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_platform_io.py +0 -0
  130. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_platform_lifecycle.py +0 -0
  131. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_response_types.py +0 -0
  132. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_routing.py +0 -0
  133. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_staticfiles.py +0 -0
  134. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_sync_handlers.py +0 -0
  135. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_websocket.py +0 -0
  136. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/worker.py +0 -0
  137. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/wrangler.jsonc +0 -0
  138. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/flask-tests/pyproject.toml +0 -0
  139. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/flask-tests/src/test_response.py +0 -0
  140. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/flask-tests/src/worker.py +0 -0
  141. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/flask-tests/wrangler.jsonc +0 -0
  142. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi/asgi.wd-test +0 -0
  143. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi/pyproject.toml +0 -0
  144. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi/tests/test_asgi.py +0 -0
  145. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi/worker.py +0 -0
  146. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi/wrangler.jsonc +0 -0
  147. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi-ws-disconnect/asgi-ws-disconnect.wd-test +0 -0
  148. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi-ws-disconnect/pyproject.toml +0 -0
  149. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi-ws-disconnect/tests/test_ws_disconnect.py +0 -0
  150. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi-ws-disconnect/worker.py +0 -0
  151. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi-ws-disconnect/wrangler.jsonc +0 -0
  152. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object/durable-object.wd-test +0 -0
  153. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object/pyproject.toml +0 -0
  154. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object/worker.py +0 -0
  155. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object/wrangler.jsonc +0 -0
  156. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-abort/durable-object-abort.wd-test +0 -0
  157. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-abort/pyproject.toml +0 -0
  158. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-abort/worker.py +0 -0
  159. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-abort/wrangler.jsonc +0 -0
  160. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-inheritance/durable-object-inheritance.wd-test +0 -0
  161. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-inheritance/pyproject.toml +0 -0
  162. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-inheritance/worker.py +0 -0
  163. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-inheritance/wrangler.jsonc +0 -0
  164. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-websocket/durable-object-websocket.wd-test +0 -0
  165. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-websocket/pyproject.toml +0 -0
  166. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-websocket/tester.js +0 -0
  167. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-websocket/worker.py +0 -0
  168. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-websocket/wrangler.jsonc +0 -0
  169. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/entropy-patches.wd-test +0 -0
  170. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_aiohttp_websocket.py +0 -0
  171. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_jsonschema.py +0 -0
  172. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_langsmith.py +0 -0
  173. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_litestar.py +0 -0
  174. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_mcp.py +0 -0
  175. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_numpy.py +0 -0
  176. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_opentelemetry.py +0 -0
  177. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_pydantic.py +0 -0
  178. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_rust_packages.py +0 -0
  179. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_ssl_avoidance.py +0 -0
  180. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/wrangler.jsonc +0 -0
  181. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/http-client.wd-test +0 -0
  182. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/origin.py +0 -0
  183. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/pyproject.toml +0 -0
  184. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/tests/test_http_client.py +0 -0
  185. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/tests/test_urllib_request.py +0 -0
  186. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/worker.py +0 -0
  187. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/wrangler.jsonc +0 -0
  188. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/python-rpc/pyproject.toml +0 -0
  189. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/python-rpc/python-rpc.wd-test +0 -0
  190. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/python-rpc/worker.js +0 -0
  191. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/python-rpc/worker.py +0 -0
  192. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/python-rpc/wrangler.jsonc +0 -0
  193. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/pyproject.toml +0 -0
  194. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/sdk.wd-test +0 -0
  195. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/server.py +0 -0
  196. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/tests/test_sdk.py +0 -0
  197. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/worker.py +0 -0
  198. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/wrangler.jsonc +0 -0
  199. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/workflow/pyproject.toml +0 -0
  200. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/workflow/worker.js +0 -0
  201. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/workflow/worker.py +0 -0
  202. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/workflow/workflow.wd-test +0 -0
  203. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/workflow/wrangler.jsonc +0 -0
  204. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/wsgi/pyproject.toml +0 -0
  205. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/wsgi/tests/test_wsgi.py +0 -0
  206. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/wsgi/worker.py +0 -0
  207. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/wsgi/wrangler.jsonc +0 -0
  208. {workers_runtime_sdk-1.9.3 → workers_runtime_sdk-1.9.4}/tests/workerd-test/wsgi/wsgi.wd-test +0 -0
@@ -2,6 +2,15 @@
2
2
 
3
3
  <!-- version list -->
4
4
 
5
+ ## v1.9.4 (2026-10-16)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **runtime-sdk**: Lazily bound ssl module to make boto3 work
10
+ ([#292](https://github.com/cloudflare/workers-py/pull/292),
11
+ [`f3e7851`](https://github.com/cloudflare/workers-py/commit/f3e785144b9e581fc2b1b4cebd0ad5bc86e4550b))
12
+
13
+
5
14
  ## v1.9.3 (2026-10-06)
6
15
 
7
16
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: workers-runtime-sdk
3
- Version: 1.9.3
3
+ Version: 1.9.4
4
4
  Summary: Python SDK for Cloudflare Workers
5
5
  Project-URL: Homepage, https://github.com/cloudflare/workers-py
6
6
  Project-URL: Bug Tracker, https://github.com/cloudflare/workers-py/issues
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "workers-runtime-sdk"
7
- version = "1.9.3"
7
+ version = "1.9.4"
8
8
  description = "Python SDK for Cloudflare Workers"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -149,13 +149,41 @@ class NoSslFinder:
149
149
  ) from None
150
150
 
151
151
 
152
+ def add_lazy_ssl_attribute(module):
153
+ """
154
+ When `import ssl` fails inside a module, the fallback code would leave the name `ssl`
155
+ unbound. Other packages may still re-export it from there, e.g. botocore does
156
+ `from urllib3.util.ssl_ import ssl`.
157
+
158
+ This is a rare situation, and actually something that needs to be fixed in the package.
159
+ However, boto3 is a very commonly downloaded package in Python, so we handle this case specifically.
160
+ TODO: We can drop this when https://github.com/boto/botocore/pull/3640 is merged.
161
+ """
162
+ if "ssl" in module.__dict__:
163
+ return
164
+
165
+ orig_getattr = module.__dict__.get("__getattr__")
166
+
167
+ def __getattr__(name):
168
+ if name == "ssl":
169
+ import ssl
170
+
171
+ module.ssl = ssl
172
+ return ssl
173
+ if orig_getattr is not None:
174
+ return orig_getattr(name)
175
+ raise AttributeError(f"module {module.__name__!r} has no attribute {name!r}")
176
+
177
+ module.__getattr__ = __getattr__
178
+
179
+
152
180
  @contextmanager
153
- def no_ssl():
181
+ def no_ssl(module):
154
182
  """
155
183
  Various packages will call ssl.create_default_context() at top level which uses entropy if they
156
184
  can import ssl. By temporarily making importing ssl raise an import error, we exercise the
157
185
  workaround code and so avoid the entropy calls. After, we put the ssl module back to the normal
158
- value.
186
+ value and make `module.ssl` available again in case the workaround code left it unbound.
159
187
  """
160
188
  try:
161
189
  f = NoSslFinder()
@@ -166,26 +194,27 @@ def no_ssl():
166
194
  sys.meta_path.remove(f)
167
195
  if ssl:
168
196
  sys.modules["ssl"] = ssl
197
+ add_lazy_ssl_attribute(module)
169
198
 
170
199
 
171
200
  @register_exec_patch("aiohttp.connector")
172
201
  @contextmanager
173
202
  def aiohttp_connector_context(module):
174
- with no_ssl():
203
+ with no_ssl(module):
175
204
  yield
176
205
 
177
206
 
178
207
  @register_exec_patch("requests.adapters")
179
208
  @contextmanager
180
209
  def requests_adapters_context(module):
181
- with no_ssl():
210
+ with no_ssl(module):
182
211
  yield
183
212
 
184
213
 
185
214
  @register_exec_patch("urllib3.util.ssl_")
186
215
  @contextmanager
187
216
  def urllib3_util_ssl__context(module):
188
- with no_ssl():
217
+ with no_ssl(module):
189
218
  yield
190
219
 
191
220
 
@@ -9,6 +9,7 @@ dependencies = [
9
9
  "pydantic",
10
10
  "requests",
11
11
  "urllib3",
12
+ "boto3",
12
13
  "tiktoken",
13
14
  "cryptography",
14
15
  "jiter",
@@ -0,0 +1,8 @@
1
+ # ruff: noqa: F401
2
+ # boto3 does `from urllib3.util.ssl_ import ssl`, but `urllib3.util.ssl_` is
3
+ # imported without ssl to avoid entropy calls, which leaves `ssl` unbound there.
4
+ import boto3
5
+
6
+
7
+ def test_import():
8
+ pass
@@ -2,6 +2,7 @@
2
2
  # a snapshot.
3
3
  from tests import ( # noqa: F401
4
4
  test_aiohttp_websocket,
5
+ test_boto3,
5
6
  test_jsonschema,
6
7
  test_langsmith,
7
8
  test_litestar,
@@ -376,7 +376,7 @@ wheels = [
376
376
 
377
377
  [[package]]
378
378
  name = "workers-runtime-sdk"
379
- version = "1.9.3"
379
+ version = "1.9.4"
380
380
  source = { editable = "." }
381
381
 
382
382
  [package.dev-dependencies]