workers-runtime-sdk 1.9.2__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.2 → workers_runtime_sdk-1.9.4}/.gitignore +2 -0
  2. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/CHANGELOG.md +18 -0
  3. workers_runtime_sdk-1.9.4/LICENSE +21 -0
  4. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/PKG-INFO +3 -1
  5. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/pyproject.toml +3 -1
  6. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/_workers_sdk_entropy_import_context.py +34 -5
  7. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object/worker.py +0 -4
  8. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-abort/worker.py +0 -3
  9. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-websocket/tester.js +0 -3
  10. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-websocket/worker.py +0 -4
  11. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/pyproject.toml +1 -0
  12. workers_runtime_sdk-1.9.4/tests/workerd-test/entropy-patches/tests/test_boto3.py +8 -0
  13. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/worker.py +1 -0
  14. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/python-rpc/worker.js +0 -3
  15. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/python-rpc/worker.py +0 -4
  16. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/workflow/worker.js +0 -3
  17. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/uv.lock +2 -2
  18. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/AGENTS.md +0 -0
  19. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/README.md +0 -0
  20. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/_cloudflare_compat_flags.pyi +0 -0
  21. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/_pyodide_entrypoint_helper.pyi +0 -0
  22. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/_workers_sdk_package_patches.py +0 -0
  23. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/_workers_sdk_patch_loader.pth +0 -0
  24. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/_workers_sdk_patch_loader.py +0 -0
  25. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/asgi.py +0 -0
  26. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/__init__.py +0 -0
  27. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/asgi.py +0 -0
  28. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/blob.py +0 -0
  29. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/entrypoints.py +0 -0
  30. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/fetch.py +0 -0
  31. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/formdata.py +0 -0
  32. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/py.typed +0 -0
  33. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/request.py +0 -0
  34. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/response.py +0 -0
  35. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/rpc.py +0 -0
  36. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/types.py +0 -0
  37. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/utils.py +0 -0
  38. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/workflows.js +0 -0
  39. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/workflows.py +0 -0
  40. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/src/workers/wsgi.py +0 -0
  41. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/public/data.json +0 -0
  42. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/public/hello.txt +0 -0
  43. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/pyproject.toml +0 -0
  44. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/conftest.py +0 -0
  45. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_analytics_engine.py +0 -0
  46. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_assets.py +0 -0
  47. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_d1.py +0 -0
  48. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_do.py +0 -0
  49. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_hyperdrive_mysql.py +0 -0
  50. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_hyperdrive_postgresql.py +0 -0
  51. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_images.py +0 -0
  52. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_kv.py +0 -0
  53. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_mtls.py +0 -0
  54. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_queue.py +0 -0
  55. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_r2.py +0 -0
  56. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_ratelimit.py +0 -0
  57. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_vectorize.py +0 -0
  58. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_version_metadata.py +0 -0
  59. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/test_workflow.py +0 -0
  60. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/worker.py +0 -0
  61. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/worker_durable_object.py +0 -0
  62. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/src/worker_workflow.py +0 -0
  63. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/bindings-test/wrangler.jsonc +0 -0
  64. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/conftest.py +0 -0
  65. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/test_bindings.py +0 -0
  66. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/test_django.py +0 -0
  67. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/test_django_databases.py +0 -0
  68. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/test_fastapi.py +0 -0
  69. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/test_flask.py +0 -0
  70. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/test_in_workerd.py +0 -0
  71. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/pyproject.toml +0 -0
  72. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/_client.py +0 -0
  73. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/conftest.py +0 -0
  74. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/__init__.py +0 -0
  75. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/api_urls.py +0 -0
  76. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/auth_backend.py +0 -0
  77. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/drf_auth.py +0 -0
  78. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/drf_serializers.py +0 -0
  79. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/drf_throttling.py +0 -0
  80. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/drf_views.py +0 -0
  81. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/forms.py +0 -0
  82. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/middleware.py +0 -0
  83. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/templatetags/__init__.py +0 -0
  84. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/templatetags/custom_tags.py +0 -0
  85. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/urls.py +0 -0
  86. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/django_app/views.py +0 -0
  87. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/templates/base.html +0 -0
  88. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/templates/context_test.html +0 -0
  89. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/templates/csrf_form.html +0 -0
  90. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/templates/hello.html +0 -0
  91. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_async_utilities.py +0 -0
  92. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_auth.py +0 -0
  93. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_caching.py +0 -0
  94. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_cors.py +0 -0
  95. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_csrf.py +0 -0
  96. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_auth_permissions.py +0 -0
  97. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_content_negotiation.py +0 -0
  98. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_serializers.py +0 -0
  99. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_throttling.py +0 -0
  100. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_versioning.py +0 -0
  101. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_drf_views.py +0 -0
  102. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_error_handling.py +0 -0
  103. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_file_uploads.py +0 -0
  104. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_forms.py +0 -0
  105. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_middleware.py +0 -0
  106. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_pagination.py +0 -0
  107. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_request_response.py +0 -0
  108. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_sessions.py +0 -0
  109. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_signals.py +0 -0
  110. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_streaming.py +0 -0
  111. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_templates.py +0 -0
  112. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_url_routing.py +0 -0
  113. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/test_views_basic.py +0 -0
  114. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/src/worker.py +0 -0
  115. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-async/wrangler.jsonc +0 -0
  116. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/pyproject.toml +0 -0
  117. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/src/django_db_config.py +0 -0
  118. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/src/django_db_helpers.py +0 -0
  119. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/src/test_mysql.py +0 -0
  120. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/src/test_postgresql.py +0 -0
  121. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/src/worker.py +0 -0
  122. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/django-databases/wrangler.jsonc +0 -0
  123. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/public/data.json +0 -0
  124. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/public/index.html +0 -0
  125. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/public/style.css +0 -0
  126. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/pyproject.toml +0 -0
  127. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/_client.py +0 -0
  128. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/conftest.py +0 -0
  129. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/static/app.css +0 -0
  130. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/static/data.json +0 -0
  131. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/static/hello.txt +0 -0
  132. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/static/index.html +0 -0
  133. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_assets.py +0 -0
  134. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_error_handling.py +0 -0
  135. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_platform_boundaries.py +0 -0
  136. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_platform_io.py +0 -0
  137. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_platform_lifecycle.py +0 -0
  138. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_response_types.py +0 -0
  139. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_routing.py +0 -0
  140. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_staticfiles.py +0 -0
  141. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_sync_handlers.py +0 -0
  142. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/test_websocket.py +0 -0
  143. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/src/worker.py +0 -0
  144. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/fastapi-tests/wrangler.jsonc +0 -0
  145. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/flask-tests/pyproject.toml +0 -0
  146. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/flask-tests/src/test_response.py +0 -0
  147. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/flask-tests/src/worker.py +0 -0
  148. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/web-frameworks-test/flask-tests/wrangler.jsonc +0 -0
  149. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi/asgi.wd-test +0 -0
  150. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi/pyproject.toml +0 -0
  151. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi/tests/test_asgi.py +0 -0
  152. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi/worker.py +0 -0
  153. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi/wrangler.jsonc +0 -0
  154. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi-ws-disconnect/asgi-ws-disconnect.wd-test +0 -0
  155. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi-ws-disconnect/pyproject.toml +0 -0
  156. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi-ws-disconnect/tests/test_ws_disconnect.py +0 -0
  157. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi-ws-disconnect/worker.py +0 -0
  158. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/asgi-ws-disconnect/wrangler.jsonc +0 -0
  159. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object/durable-object.wd-test +0 -0
  160. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object/pyproject.toml +0 -0
  161. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object/wrangler.jsonc +0 -0
  162. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-abort/durable-object-abort.wd-test +0 -0
  163. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-abort/pyproject.toml +0 -0
  164. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-abort/wrangler.jsonc +0 -0
  165. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-inheritance/durable-object-inheritance.wd-test +0 -0
  166. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-inheritance/pyproject.toml +0 -0
  167. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-inheritance/worker.py +0 -0
  168. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-inheritance/wrangler.jsonc +0 -0
  169. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-websocket/durable-object-websocket.wd-test +0 -0
  170. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-websocket/pyproject.toml +0 -0
  171. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/durable-object-websocket/wrangler.jsonc +0 -0
  172. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/entropy-patches.wd-test +0 -0
  173. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_aiohttp_websocket.py +0 -0
  174. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_jsonschema.py +0 -0
  175. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_langsmith.py +0 -0
  176. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_litestar.py +0 -0
  177. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_mcp.py +0 -0
  178. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_numpy.py +0 -0
  179. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_opentelemetry.py +0 -0
  180. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_pydantic.py +0 -0
  181. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_rust_packages.py +0 -0
  182. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/tests/test_ssl_avoidance.py +0 -0
  183. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/entropy-patches/wrangler.jsonc +0 -0
  184. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/http-client.wd-test +0 -0
  185. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/origin.py +0 -0
  186. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/pyproject.toml +0 -0
  187. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/tests/test_http_client.py +0 -0
  188. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/tests/test_urllib_request.py +0 -0
  189. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/worker.py +0 -0
  190. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/http-client/wrangler.jsonc +0 -0
  191. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/python-rpc/pyproject.toml +0 -0
  192. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/python-rpc/python-rpc.wd-test +0 -0
  193. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/python-rpc/wrangler.jsonc +0 -0
  194. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/pyproject.toml +0 -0
  195. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/sdk.wd-test +0 -0
  196. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/server.py +0 -0
  197. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/tests/test_sdk.py +0 -0
  198. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/worker.py +0 -0
  199. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/sdk/wrangler.jsonc +0 -0
  200. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/workflow/pyproject.toml +0 -0
  201. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/workflow/worker.py +0 -0
  202. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/workflow/workflow.wd-test +0 -0
  203. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/workflow/wrangler.jsonc +0 -0
  204. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/wsgi/pyproject.toml +0 -0
  205. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/wsgi/tests/test_wsgi.py +0 -0
  206. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/wsgi/worker.py +0 -0
  207. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/wsgi/wrangler.jsonc +0 -0
  208. {workers_runtime_sdk-1.9.2 → workers_runtime_sdk-1.9.4}/tests/workerd-test/wsgi/wsgi.wd-test +0 -0
@@ -45,6 +45,7 @@ htmcov/
45
45
  nosetests.xml
46
46
  coverage.xml
47
47
  *.cover
48
+ *.profraw
48
49
  .hypothesis/
49
50
  .pytest_cache/
50
51
 
@@ -62,5 +63,6 @@ docs/_build/
62
63
  # OS specific
63
64
  .DS_Store
64
65
  Thumbs.db
66
+ default.profraw
65
67
 
66
68
  tests/test_workspace
@@ -2,6 +2,24 @@
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
+
14
+ ## v1.9.3 (2026-10-06)
15
+
16
+ ### Bug Fixes
17
+
18
+ - Unify license to MIT and include license file in dists
19
+ ([#285](https://github.com/cloudflare/workers-py/pull/285),
20
+ [`253f3d5`](https://github.com/cloudflare/workers-py/commit/253f3d5bb9194023a9dfcc7da6051df2964b628b))
21
+
22
+
5
23
  ## v1.9.2 (2026-09-30)
6
24
 
7
25
  ### Bug Fixes
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Cloudflare, Inc.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,9 +1,11 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: workers-runtime-sdk
3
- Version: 1.9.2
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
7
+ License-Expression: MIT
8
+ License-File: LICENSE
7
9
  Classifier: License :: OSI Approved :: MIT License
8
10
  Classifier: Operating System :: OS Independent
9
11
  Classifier: Programming Language :: Python :: 3
@@ -4,9 +4,11 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "workers-runtime-sdk"
7
- version = "1.9.2"
7
+ version = "1.9.4"
8
8
  description = "Python SDK for Cloudflare Workers"
9
9
  readme = "README.md"
10
+ license = "MIT"
11
+ license-files = ["LICENSE"]
10
12
  requires-python = ">=3.11"
11
13
  classifiers = [
12
14
  "Programming Language :: Python :: 3",
@@ -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
 
@@ -1,7 +1,3 @@
1
- # Copyright (c) 2023 Cloudflare, Inc.
2
- # Licensed under the Apache 2.0 license found in the LICENSE file or at:
3
- # https://opensource.org/licenses/Apache-2.0
4
-
5
1
  # Copied from: https://github.com/cloudflare/workerd/tree/main/src/workerd/server/tests/python/durable-object
6
2
 
7
3
  from asyncio import sleep
@@ -1,6 +1,3 @@
1
- # Copyright (c) 2026 Cloudflare, Inc.
2
- # Licensed under the Apache 2.0 license found in the LICENSE file or at:
3
- # https://opensource.org/licenses/Apache-2.0
4
1
  from unittest import TestCase
5
2
 
6
3
  from workers import DurableObject, Response, WorkerEntrypoint
@@ -1,6 +1,3 @@
1
- // Copyright (c) 2025 Cloudflare, Inc.
2
- // Licensed under the Apache 2.0 license found in the LICENSE file or at:
3
- // https://opensource.org/licenses/Apache-2.0
4
1
  export default {
5
2
  async test(ctrl, env, ctx) {
6
3
  const resp = await env.PYTHON.fetch('http://example.com/websocket', {
@@ -1,7 +1,3 @@
1
- # Copyright (c) 2023 Cloudflare, Inc.
2
- # Licensed under the Apache 2.0 license found in the LICENSE file or at:
3
- # https://opensource.org/licenses/Apache-2.0
4
-
5
1
  # Copied from: https://github.com/cloudflare/workerd/tree/main/src/workerd/server/tests/python/durable-object-websocket
6
2
  from js import WebSocketPair
7
3
 
@@ -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,
@@ -1,6 +1,3 @@
1
- // Copyright (c) 2025 Cloudflare, Inc.
2
- // Licensed under the Apache 2.0 license found in the LICENSE file or at:
3
- // https://opensource.org/licenses/Apache-2.0
4
1
  import { WorkerEntrypoint } from 'cloudflare:workers';
5
2
 
6
3
  import * as assert from 'node:assert';
@@ -1,7 +1,3 @@
1
- # Copyright (c) 2023 Cloudflare, Inc.
2
- # Licensed under the Apache 2.0 license found in the LICENSE file or at:
3
- # https://opensource.org/licenses/Apache-2.0
4
-
5
1
  # Ported from workerd (https://github.com/cloudflare/workerd/tree/main/src/workerd/server/tests/python/python-rpc)
6
2
 
7
3
  import collections.abc
@@ -1,6 +1,3 @@
1
- // Copyright (c) 2026 Cloudflare, Inc.
2
- // Licensed under the Apache 2.0 license found in the LICENSE file or at:
3
- // https://opensource.org/licenses/Apache-2.0
4
1
  import { RpcTarget } from 'cloudflare:workers';
5
2
 
6
3
  import * as assert from 'node:assert';
@@ -1,5 +1,5 @@
1
1
  version = 1
2
- revision = 3
2
+ revision = 5
3
3
  requires-python = ">=3.11"
4
4
 
5
5
  [[package]]
@@ -376,7 +376,7 @@ wheels = [
376
376
 
377
377
  [[package]]
378
378
  name = "workers-runtime-sdk"
379
- version = "1.9.2"
379
+ version = "1.9.4"
380
380
  source = { editable = "." }
381
381
 
382
382
  [package.dev-dependencies]