componentize-py 0.19.1__tar.gz → 0.19.2__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 (132) hide show
  1. {componentize_py-0.19.1 → componentize_py-0.19.2}/Cargo.lock +31 -31
  2. {componentize_py-0.19.1 → componentize_py-0.19.2}/Cargo.toml +10 -7
  3. {componentize_py-0.19.1 → componentize_py-0.19.2}/PKG-INFO +1 -1
  4. {componentize_py-0.19.1 → componentize_py-0.19.2}/bundled/componentize_py_async_support/__init__.py +3 -0
  5. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/cli/README.md +2 -2
  6. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/http/README.md +2 -2
  7. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/http-p3/README.md +2 -2
  8. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/matrix-math/README.md +2 -2
  9. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/sandbox/README.md +2 -2
  10. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/tcp/README.md +2 -2
  11. {componentize_py-0.19.1 → componentize_py-0.19.2}/pyproject.toml +1 -1
  12. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/tests.rs +16 -7
  13. {componentize_py-0.19.1 → componentize_py-0.19.2}/.cargo/config.toml +0 -0
  14. {componentize_py-0.19.1 → componentize_py-0.19.2}/.github/workflows/lint.sh +0 -0
  15. {componentize_py-0.19.1 → componentize_py-0.19.2}/.github/workflows/release.yaml +0 -0
  16. {componentize_py-0.19.1 → componentize_py-0.19.2}/.github/workflows/test.yaml +0 -0
  17. {componentize_py-0.19.1 → componentize_py-0.19.2}/.gitignore +0 -0
  18. {componentize_py-0.19.1 → componentize_py-0.19.2}/.gitmodules +0 -0
  19. {componentize_py-0.19.1 → componentize_py-0.19.2}/CONTRIBUTING.md +0 -0
  20. {componentize_py-0.19.1 → componentize_py-0.19.2}/LICENSE +0 -0
  21. {componentize_py-0.19.1 → componentize_py-0.19.2}/README.md +0 -0
  22. {componentize_py-0.19.1 → componentize_py-0.19.2}/adapters/README.md +0 -0
  23. {componentize_py-0.19.1 → componentize_py-0.19.2}/adapters/ab5a4484/wasi_snapshot_preview1.reactor.wasm +0 -0
  24. {componentize_py-0.19.1 → componentize_py-0.19.2}/build.rs +0 -0
  25. {componentize_py-0.19.1 → componentize_py-0.19.2}/bundled/componentize_py_async_support/futures.py +0 -0
  26. {componentize_py-0.19.1 → componentize_py-0.19.2}/bundled/componentize_py_async_support/streams.py +0 -0
  27. {componentize_py-0.19.1 → componentize_py-0.19.2}/bundled/componentize_py_runtime.pyi +0 -0
  28. {componentize_py-0.19.1 → componentize_py-0.19.2}/bundled/componentize_py_types.py +0 -0
  29. {componentize_py-0.19.1 → componentize_py-0.19.2}/bundled/poll_loop.py +0 -0
  30. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/cli/app.py +0 -0
  31. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/http/app.py +0 -0
  32. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/http-p3/app.py +0 -0
  33. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/matrix-math/app.py +0 -0
  34. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/sandbox/guest.py +0 -0
  35. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/sandbox/host.py +0 -0
  36. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/sandbox/sandbox.wit +0 -0
  37. {componentize_py-0.19.1 → componentize_py-0.19.2}/examples/tcp/app.py +0 -0
  38. {componentize_py-0.19.1 → componentize_py-0.19.2}/pyo3-config.txt +0 -0
  39. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/bin/componentize-py.rs +0 -0
  40. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/command.rs +0 -0
  41. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/lib.rs +0 -0
  42. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/link.rs +0 -0
  43. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/prelink.rs +0 -0
  44. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/python.rs +0 -0
  45. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/stubwasi.rs +0 -0
  46. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/summary.rs +0 -0
  47. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/bar_sdk/__init__.py +0 -0
  48. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/bar_sdk/componentize-py.toml +0 -0
  49. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/bar_sdk/wit/deps/foo_sdk/world.wit +0 -0
  50. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/bar_sdk/wit/world.wit +0 -0
  51. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/echoes.rs +0 -0
  52. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/echoes_generated.rs +0 -0
  53. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/foo_sdk/__init__.py +0 -0
  54. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/foo_sdk/componentize-py.toml +0 -0
  55. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/foo_sdk/wit/world.wit +0 -0
  56. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/python_source/app.py +0 -0
  57. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/python_source/resource_aggregates.py +0 -0
  58. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/python_source/resource_alias1.py +0 -0
  59. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/python_source/resource_borrow_export.py +0 -0
  60. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/python_source/resource_borrow_in_record.py +0 -0
  61. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/python_source/resource_floats_exports.py +0 -0
  62. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/python_source/resource_import_and_export.py +0 -0
  63. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/python_source/resource_with_lists.py +0 -0
  64. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/python_source/streams_and_futures.py +0 -0
  65. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/wit/echoes.wit +0 -0
  66. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test/wit/tests.wit +0 -0
  67. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/test.rs +0 -0
  68. {componentize_py-0.19.1 → componentize_py-0.19.2}/src/util.rs +0 -0
  69. {componentize_py-0.19.1 → componentize_py-0.19.2}/test-generator/Cargo.toml +0 -0
  70. {componentize_py-0.19.1 → componentize_py-0.19.2}/test-generator/src/lib.rs +0 -0
  71. {componentize_py-0.19.1 → componentize_py-0.19.2}/tests/bindings.rs +0 -0
  72. {componentize_py-0.19.1 → componentize_py-0.19.2}/tests/componentize.rs +0 -0
  73. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/command-extended.wit +0 -0
  74. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli/command.wit +0 -0
  75. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli/environment.wit +0 -0
  76. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli/exit.wit +0 -0
  77. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli/imports.wit +0 -0
  78. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli/run.wit +0 -0
  79. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli/stdio.wit +0 -0
  80. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli/terminal.wit +0 -0
  81. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli-0.3.0-rc-2025-09-16/command.wit +0 -0
  82. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli-0.3.0-rc-2025-09-16/environment.wit +0 -0
  83. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli-0.3.0-rc-2025-09-16/exit.wit +0 -0
  84. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli-0.3.0-rc-2025-09-16/imports.wit +0 -0
  85. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli-0.3.0-rc-2025-09-16/run.wit +0 -0
  86. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli-0.3.0-rc-2025-09-16/stdio.wit +0 -0
  87. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/cli-0.3.0-rc-2025-09-16/terminal.wit +0 -0
  88. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/clocks/monotonic-clock.wit +0 -0
  89. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/clocks/wall-clock.wit +0 -0
  90. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/clocks/world.wit +0 -0
  91. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/clocks-0.3.0-rc-2025-09-16/monotonic-clock.wit +0 -0
  92. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/clocks-0.3.0-rc-2025-09-16/timezone.wit +0 -0
  93. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/clocks-0.3.0-rc-2025-09-16/types.wit +0 -0
  94. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/clocks-0.3.0-rc-2025-09-16/wall-clock.wit +0 -0
  95. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/clocks-0.3.0-rc-2025-09-16/world.wit +0 -0
  96. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/filesystem/preopens.wit +0 -0
  97. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/filesystem/types.wit +0 -0
  98. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/filesystem/world.wit +0 -0
  99. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/filesystem-0.3.0-rc-2025-09-16/preopens.wit +0 -0
  100. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/filesystem-0.3.0-rc-2025-09-16/types.wit +0 -0
  101. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/filesystem-0.3.0-rc-2025-09-16/world.wit +0 -0
  102. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/http/handler.wit +0 -0
  103. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/http/proxy.wit +0 -0
  104. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/http/types.wit +0 -0
  105. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/http-0.3.0-rc-2025-09-16/handler.wit +0 -0
  106. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/http-0.3.0-rc-2025-09-16/proxy.wit +0 -0
  107. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/http-0.3.0-rc-2025-09-16/types.wit +0 -0
  108. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/io/error.wit +0 -0
  109. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/io/poll.wit +0 -0
  110. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/io/streams.wit +0 -0
  111. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/io/world.wit +0 -0
  112. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/random/insecure-seed.wit +0 -0
  113. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/random/insecure.wit +0 -0
  114. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/random/random.wit +0 -0
  115. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/random/world.wit +0 -0
  116. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/random-0.3.0-rc-2025-09-16/insecure-seed.wit +0 -0
  117. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/random-0.3.0-rc-2025-09-16/insecure.wit +0 -0
  118. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/random-0.3.0-rc-2025-09-16/random.wit +0 -0
  119. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/random-0.3.0-rc-2025-09-16/world.wit +0 -0
  120. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/sockets/instance-network.wit +0 -0
  121. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/sockets/ip-name-lookup.wit +0 -0
  122. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/sockets/network.wit +0 -0
  123. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/sockets/tcp-create-socket.wit +0 -0
  124. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/sockets/tcp.wit +0 -0
  125. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/sockets/udp-create-socket.wit +0 -0
  126. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/sockets/udp.wit +0 -0
  127. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/sockets/world.wit +0 -0
  128. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/sockets-0.3.0-rc-2025-09-16/ip-name-lookup.wit +0 -0
  129. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/sockets-0.3.0-rc-2025-09-16/types.wit +0 -0
  130. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/deps/sockets-0.3.0-rc-2025-09-16/world.wit +0 -0
  131. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/init.wit +0 -0
  132. {componentize_py-0.19.1 → componentize_py-0.19.2}/wit/matrix-math.wit +0 -0
@@ -478,7 +478,7 @@ dependencies = [
478
478
 
479
479
  [[package]]
480
480
  name = "componentize-py"
481
- version = "0.19.1"
481
+ version = "0.19.2"
482
482
  dependencies = [
483
483
  "anyhow",
484
484
  "assert_cmd",
@@ -508,13 +508,13 @@ dependencies = [
508
508
  "test-generator",
509
509
  "tokio",
510
510
  "toml 0.8.23",
511
- "wasm-encoder 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
512
- "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
511
+ "wasm-encoder 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
512
+ "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
513
513
  "wasmtime",
514
514
  "wasmtime-wasi",
515
515
  "wit-component 0.240.0",
516
516
  "wit-dylib",
517
- "wit-parser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
517
+ "wit-parser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
518
518
  "zstd",
519
519
  ]
520
520
 
@@ -3132,19 +3132,19 @@ dependencies = [
3132
3132
  [[package]]
3133
3133
  name = "wasm-encoder"
3134
3134
  version = "0.240.0"
3135
- source = "git+https://github.com/bytecodealliance/wasm-tools?rev=b1d8ff59#b1d8ff591bcb8c052b54c3c17495bbbef401897c"
3135
+ source = "git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5#37f05db5d62705c433e1231241dd6e3dcc234b53"
3136
3136
  dependencies = [
3137
3137
  "leb128fmt",
3138
- "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=b1d8ff59)",
3138
+ "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
3139
3139
  ]
3140
3140
 
3141
3141
  [[package]]
3142
3142
  name = "wasm-encoder"
3143
3143
  version = "0.240.0"
3144
- source = "git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50#fac9fb5065c9d4b3adc057fc83df67f49cf1687f"
3144
+ source = "git+https://github.com/bytecodealliance/wasm-tools?rev=b1d8ff59#b1d8ff591bcb8c052b54c3c17495bbbef401897c"
3145
3145
  dependencies = [
3146
3146
  "leb128fmt",
3147
- "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
3147
+ "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=b1d8ff59)",
3148
3148
  ]
3149
3149
 
3150
3150
  [[package]]
@@ -3166,6 +3166,17 @@ dependencies = [
3166
3166
  "wasmparser 0.227.1",
3167
3167
  ]
3168
3168
 
3169
+ [[package]]
3170
+ name = "wasm-metadata"
3171
+ version = "0.240.0"
3172
+ source = "git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5#37f05db5d62705c433e1231241dd6e3dcc234b53"
3173
+ dependencies = [
3174
+ "anyhow",
3175
+ "indexmap",
3176
+ "wasm-encoder 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
3177
+ "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
3178
+ ]
3179
+
3169
3180
  [[package]]
3170
3181
  name = "wasm-metadata"
3171
3182
  version = "0.240.0"
@@ -3184,17 +3195,6 @@ dependencies = [
3184
3195
  "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=b1d8ff59)",
3185
3196
  ]
3186
3197
 
3187
- [[package]]
3188
- name = "wasm-metadata"
3189
- version = "0.240.0"
3190
- source = "git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50#fac9fb5065c9d4b3adc057fc83df67f49cf1687f"
3191
- dependencies = [
3192
- "anyhow",
3193
- "indexmap",
3194
- "wasm-encoder 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
3195
- "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
3196
- ]
3197
-
3198
3198
  [[package]]
3199
3199
  name = "wasmparser"
3200
3200
  version = "0.227.1"
@@ -3223,7 +3223,7 @@ dependencies = [
3223
3223
  [[package]]
3224
3224
  name = "wasmparser"
3225
3225
  version = "0.240.0"
3226
- source = "git+https://github.com/bytecodealliance/wasm-tools?rev=b1d8ff59#b1d8ff591bcb8c052b54c3c17495bbbef401897c"
3226
+ source = "git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5#37f05db5d62705c433e1231241dd6e3dcc234b53"
3227
3227
  dependencies = [
3228
3228
  "bitflags",
3229
3229
  "hashbrown 0.15.5",
@@ -3235,7 +3235,7 @@ dependencies = [
3235
3235
  [[package]]
3236
3236
  name = "wasmparser"
3237
3237
  version = "0.240.0"
3238
- source = "git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50#fac9fb5065c9d4b3adc057fc83df67f49cf1687f"
3238
+ source = "git+https://github.com/bytecodealliance/wasm-tools?rev=b1d8ff59#b1d8ff591bcb8c052b54c3c17495bbbef401897c"
3239
3239
  dependencies = [
3240
3240
  "bitflags",
3241
3241
  "hashbrown 0.15.5",
@@ -4024,7 +4024,7 @@ dependencies = [
4024
4024
  [[package]]
4025
4025
  name = "wit-component"
4026
4026
  version = "0.240.0"
4027
- source = "git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50#fac9fb5065c9d4b3adc057fc83df67f49cf1687f"
4027
+ source = "git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5#37f05db5d62705c433e1231241dd6e3dcc234b53"
4028
4028
  dependencies = [
4029
4029
  "anyhow",
4030
4030
  "bitflags",
@@ -4033,21 +4033,21 @@ dependencies = [
4033
4033
  "serde",
4034
4034
  "serde_derive",
4035
4035
  "serde_json",
4036
- "wasm-encoder 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
4037
- "wasm-metadata 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
4038
- "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
4039
- "wit-parser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
4036
+ "wasm-encoder 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
4037
+ "wasm-metadata 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
4038
+ "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
4039
+ "wit-parser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
4040
4040
  ]
4041
4041
 
4042
4042
  [[package]]
4043
4043
  name = "wit-dylib"
4044
4044
  version = "0.240.0"
4045
- source = "git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50#fac9fb5065c9d4b3adc057fc83df67f49cf1687f"
4045
+ source = "git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5#37f05db5d62705c433e1231241dd6e3dcc234b53"
4046
4046
  dependencies = [
4047
4047
  "anyhow",
4048
4048
  "indexmap",
4049
- "wasm-encoder 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
4050
- "wit-parser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
4049
+ "wasm-encoder 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
4050
+ "wit-parser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
4051
4051
  ]
4052
4052
 
4053
4053
  [[package]]
@@ -4094,7 +4094,7 @@ dependencies = [
4094
4094
  [[package]]
4095
4095
  name = "wit-parser"
4096
4096
  version = "0.240.0"
4097
- source = "git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50#fac9fb5065c9d4b3adc057fc83df67f49cf1687f"
4097
+ source = "git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5#37f05db5d62705c433e1231241dd6e3dcc234b53"
4098
4098
  dependencies = [
4099
4099
  "anyhow",
4100
4100
  "id-arena",
@@ -4105,7 +4105,7 @@ dependencies = [
4105
4105
  "serde_derive",
4106
4106
  "serde_json",
4107
4107
  "unicode-xid",
4108
- "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=fac9fb50)",
4108
+ "wasmparser 0.240.0 (git+https://github.com/bytecodealliance/wasm-tools?rev=37f05db5)",
4109
4109
  ]
4110
4110
 
4111
4111
  [[package]]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "componentize-py"
3
- version = "0.19.1"
3
+ version = "0.19.2"
4
4
  edition = "2024"
5
5
  exclude = ["cpython"]
6
6
  readme = "README.md"
@@ -15,12 +15,15 @@ clap = { version = "4.5.20", features = ["derive"] }
15
15
  tar = "0.4.42"
16
16
  tempfile = "3.13.0"
17
17
  zstd = "0.13.2"
18
- # TODO: switch to wasm-tools release once https://github.com/bytecodealliance/wasm-tools/pull/2367 has been merged and released
19
- wasm-encoder = { git = "https://github.com/bytecodealliance/wasm-tools", rev = "fac9fb50", features = ["wasmparser"] }
20
- wit-dylib = { git = "https://github.com/bytecodealliance/wasm-tools", rev = "fac9fb50" }
21
- wit-parser = { git = "https://github.com/bytecodealliance/wasm-tools", rev = "fac9fb50" }
22
- wit-component = { git = "https://github.com/bytecodealliance/wasm-tools", rev = "fac9fb50" }
23
- wasmparser = { git = "https://github.com/bytecodealliance/wasm-tools", rev = "fac9fb50" }
18
+ # TODO: switch to wasm-tools release once
19
+ # https://github.com/bytecodealliance/wasm-tools/pull/2367 and
20
+ # https://github.com/bytecodealliance/wasm-tools/pull/2371 have been merged and
21
+ # released
22
+ wasm-encoder = { git = "https://github.com/bytecodealliance/wasm-tools", rev = "37f05db5", features = ["wasmparser"] }
23
+ wit-dylib = { git = "https://github.com/bytecodealliance/wasm-tools", rev = "37f05db5" }
24
+ wit-parser = { git = "https://github.com/bytecodealliance/wasm-tools", rev = "37f05db5" }
25
+ wit-component = { git = "https://github.com/bytecodealliance/wasm-tools", rev = "37f05db5" }
26
+ wasmparser = { git = "https://github.com/bytecodealliance/wasm-tools", rev = "37f05db5" }
24
27
  indexmap = "2.6.0"
25
28
  bincode = "1.3.3"
26
29
  heck = "0.5.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: componentize-py
3
- Version: 0.19.1
3
+ Version: 0.19.2
4
4
  License-File: LICENSE
5
5
  Summary: Tool to package Python applications as WebAssembly components
6
6
  Keywords: webassembly,wasm,component
@@ -483,6 +483,9 @@ def callback(event0: int, event1: int, event2: int) -> int:
483
483
  case _:
484
484
  # todo
485
485
  raise NotImplementedError
486
+ case _Event.STREAM_READ | _Event.STREAM_WRITE | _Event.FUTURE_READ | _Event.FUTURE_WRITE:
487
+ componentize_py_runtime.waitable_join(event1, 0)
488
+ future_state.futures.pop(event1).set_result(event2)
486
489
  case _:
487
490
  # todo
488
491
  raise NotImplementedError
@@ -10,7 +10,7 @@ run a Python-based component targetting the [wasi-cli] `command` world.
10
10
  ## Prerequisites
11
11
 
12
12
  * `Wasmtime` 38.0.0 or later
13
- * `componentize-py` 0.19.1
13
+ * `componentize-py` 0.19.2
14
14
 
15
15
  Below, we use [Rust](https://rustup.rs/)'s `cargo` to install `Wasmtime`. If
16
16
  you don't have `cargo`, you can download and install from
@@ -18,7 +18,7 @@ https://github.com/bytecodealliance/wasmtime/releases/tag/v38.0.0.
18
18
 
19
19
  ```
20
20
  cargo install --version 38.0.0 wasmtime-cli
21
- pip install componentize-py==0.19.1
21
+ pip install componentize-py==0.19.2
22
22
  ```
23
23
 
24
24
  ## Running the demo
@@ -10,7 +10,7 @@ run a Python-based component targetting the [wasi-http] `proxy` world.
10
10
  ## Prerequisites
11
11
 
12
12
  * `Wasmtime` 38.0.0 or later
13
- * `componentize-py` 0.19.1
13
+ * `componentize-py` 0.19.2
14
14
 
15
15
  Below, we use [Rust](https://rustup.rs/)'s `cargo` to install `Wasmtime`. If
16
16
  you don't have `cargo`, you can download and install from
@@ -18,7 +18,7 @@ https://github.com/bytecodealliance/wasmtime/releases/tag/v38.0.0.
18
18
 
19
19
  ```
20
20
  cargo install --version 38.0.0 wasmtime-cli
21
- pip install componentize-py==0.19.1
21
+ pip install componentize-py==0.19.2
22
22
  ```
23
23
 
24
24
  ## Running the demo
@@ -11,7 +11,7 @@ run a Python-based component targetting version `0.3.0-rc-2025-09-16` of the
11
11
  ## Prerequisites
12
12
 
13
13
  * `Wasmtime` 38.0.0 or later
14
- * `componentize-py` 0.19.1
14
+ * `componentize-py` 0.19.2
15
15
 
16
16
  Below, we use [Rust](https://rustup.rs/)'s `cargo` to install `Wasmtime`. If
17
17
  you don't have `cargo`, you can download and install from
@@ -19,7 +19,7 @@ https://github.com/bytecodealliance/wasmtime/releases/tag/v38.0.0.
19
19
 
20
20
  ```
21
21
  cargo install --version 38.0.0 wasmtime-cli
22
- pip install componentize-py==0.19.1
22
+ pip install componentize-py==0.19.2
23
23
  ```
24
24
 
25
25
  ## Running the demo
@@ -11,7 +11,7 @@ within a guest component.
11
11
  ## Prerequisites
12
12
 
13
13
  * `wasmtime` 38.0.0 or later
14
- * `componentize-py` 0.19.1
14
+ * `componentize-py` 0.19.2
15
15
  * `NumPy`, built for WASI
16
16
 
17
17
  Note that we use an unofficial build of NumPy since the upstream project does
@@ -23,7 +23,7 @@ https://github.com/bytecodealliance/wasmtime/releases/tag/v38.0.0.
23
23
 
24
24
  ```
25
25
  cargo install --version 38.0.0 wasmtime-cli
26
- pip install componentize-py==0.19.1
26
+ pip install componentize-py==0.19.2
27
27
  curl -OL https://github.com/dicej/wasi-wheels/releases/download/v0.0.2/numpy-wasi.tar.gz
28
28
  tar xf numpy-wasi.tar.gz
29
29
  ```
@@ -8,10 +8,10 @@ sandboxed Python code snippets from within a Python app.
8
8
  ## Prerequisites
9
9
 
10
10
  * `wasmtime-py` 38.0.0 or later
11
- * `componentize-py` 0.19.1
11
+ * `componentize-py` 0.19.2
12
12
 
13
13
  ```
14
- pip install componentize-py==0.19.1 wasmtime==38.0.0
14
+ pip install componentize-py==0.19.2 wasmtime==38.0.0
15
15
  ```
16
16
 
17
17
  ## Running the demo
@@ -11,7 +11,7 @@ making an outbound TCP request using `wasi-sockets`.
11
11
  ## Prerequisites
12
12
 
13
13
  * `Wasmtime` 38.0.0 or later
14
- * `componentize-py` 0.19.1
14
+ * `componentize-py` 0.19.2
15
15
 
16
16
  Below, we use [Rust](https://rustup.rs/)'s `cargo` to install `Wasmtime`. If
17
17
  you don't have `cargo`, you can download and install from
@@ -19,7 +19,7 @@ https://github.com/bytecodealliance/wasmtime/releases/tag/v38.0.0.
19
19
 
20
20
  ```
21
21
  cargo install --version 38.0.0 wasmtime-cli
22
- pip install componentize-py==0.19.1
22
+ pip install componentize-py==0.19.2
23
23
  ```
24
24
 
25
25
  ## Running the demo
@@ -7,7 +7,7 @@ features = ["pyo3/extension-module"]
7
7
 
8
8
  [project]
9
9
  name = "componentize-py"
10
- version = "0.19.1"
10
+ version = "0.19.2"
11
11
  description = "Tool to package Python applications as WebAssembly components"
12
12
  readme = "README.md"
13
13
  license = { file = "LICENSE" }
@@ -65,6 +65,8 @@ mod bar_sdk {
65
65
  });
66
66
  }
67
67
 
68
+ const DELAY: Duration = Duration::from_millis(100);
69
+
68
70
  pub struct ThingU32(u32);
69
71
  pub struct ThingList(Vec<u8>);
70
72
  pub struct ThingString(String);
@@ -230,7 +232,7 @@ fn simple_async_import_and_export() -> Result<()> {
230
232
 
231
233
  impl componentize_py::test::simple_async_import_and_export::HostWithStore for HasSelf<Ctx> {
232
234
  async fn foo<T>(_: &Accessor<T, Self>, v: u32) -> Result<u32> {
233
- tokio::time::sleep(Duration::from_millis(10)).await;
235
+ tokio::time::sleep(DELAY).await;
234
236
  Ok(v + 2)
235
237
  }
236
238
  }
@@ -898,7 +900,7 @@ impl<T> VecProducer<T> {
898
900
  Self {
899
901
  source,
900
902
  sleep: if delay {
901
- tokio::time::sleep(Duration::from_millis(10)).boxed()
903
+ tokio::time::sleep(DELAY).boxed()
902
904
  } else {
903
905
  async {}.boxed()
904
906
  },
@@ -936,7 +938,7 @@ impl<T> VecConsumer<T> {
936
938
  Self {
937
939
  destination,
938
940
  sleep: if delay {
939
- tokio::time::sleep(Duration::from_millis(10)).boxed()
941
+ tokio::time::sleep(DELAY).boxed()
940
942
  } else {
941
943
  async {}.boxed()
942
944
  },
@@ -1017,7 +1019,7 @@ impl<T> OptionProducer<T> {
1017
1019
  Self {
1018
1020
  source,
1019
1021
  sleep: if delay {
1020
- tokio::time::sleep(Duration::from_millis(10)).boxed()
1022
+ tokio::time::sleep(DELAY).boxed()
1021
1023
  } else {
1022
1024
  async {}.boxed()
1023
1025
  },
@@ -1052,7 +1054,7 @@ impl<T> OptionConsumer<T> {
1052
1054
  Self {
1053
1055
  destination,
1054
1056
  sleep: if delay {
1055
- tokio::time::sleep(Duration::from_millis(10)).boxed()
1057
+ tokio::time::sleep(DELAY).boxed()
1056
1058
  } else {
1057
1059
  async {}.boxed()
1058
1060
  },
@@ -1131,6 +1133,7 @@ fn test_echo_future_string(delay: bool) -> Result<()> {
1131
1133
  struct OneAtATime<T> {
1132
1134
  destination: Arc<Mutex<Vec<T>>>,
1133
1135
  sleep: Pin<Box<dyn Future<Output = ()> + Send>>,
1136
+ delay: bool,
1134
1137
  }
1135
1138
 
1136
1139
  impl<T> OneAtATime<T> {
@@ -1138,10 +1141,11 @@ impl<T> OneAtATime<T> {
1138
1141
  Self {
1139
1142
  destination,
1140
1143
  sleep: if delay {
1141
- tokio::time::sleep(Duration::from_millis(10)).boxed()
1144
+ tokio::time::sleep(DELAY).boxed()
1142
1145
  } else {
1143
1146
  async {}.boxed()
1144
1147
  },
1148
+ delay,
1145
1149
  }
1146
1150
  }
1147
1151
  }
@@ -1156,9 +1160,14 @@ impl<D, T: Lift + 'static> StreamConsumer<D> for OneAtATime<T> {
1156
1160
  mut source: Source<Self::Item>,
1157
1161
  _: bool,
1158
1162
  ) -> Poll<Result<StreamResult>> {
1163
+ let delay = self.delay;
1159
1164
  let sleep = &mut self.as_mut().get_mut().sleep;
1160
1165
  task::ready!(sleep.as_mut().poll(cx));
1161
- *sleep = async {}.boxed();
1166
+ *sleep = if delay {
1167
+ tokio::time::sleep(DELAY).boxed()
1168
+ } else {
1169
+ async {}.boxed()
1170
+ };
1162
1171
 
1163
1172
  let value = &mut None;
1164
1173
  source.read(store, value)?;