diff --git a/VERSION b/VERSION index d937a23a..8b6e697c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.0a33 \ No newline at end of file +0.1.0a34 \ No newline at end of file diff --git a/packages/polywrap-client/poetry.lock b/packages/polywrap-client/poetry.lock index 5a6f7fff..0da5a745 100644 --- a/packages/polywrap-client/poetry.lock +++ b/packages/polywrap-client/poetry.lock @@ -465,7 +465,7 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "polywrap-client-config-builder" -version = "0.1.0a32" +version = "0.1.0a33" description = "" optional = false python-versions = "^3.10" @@ -473,8 +473,8 @@ files = [] develop = true [package.dependencies] -polywrap-core = "^0.1.0a32" -polywrap-uri-resolvers = "^0.1.0a32" +polywrap-core = "^0.1.0a33" +polywrap-uri-resolvers = "^0.1.0a33" [package.source] type = "directory" @@ -1203,4 +1203,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "9eb45368a9b5a40528670e7c23d24c6e354194e507c2e72999734e92f5537234" +content-hash = "e7a2b66db4ca5350b7d0975ed2171ae974d0222873f7c01f19e761627b5747fd" diff --git a/packages/polywrap-uri-resolvers/poetry.lock b/packages/polywrap-uri-resolvers/poetry.lock index 4bcbfa2a..da3102d9 100644 --- a/packages/polywrap-uri-resolvers/poetry.lock +++ b/packages/polywrap-uri-resolvers/poetry.lock @@ -512,7 +512,7 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "polywrap-client" -version = "0.1.0a32" +version = "0.1.0a33" description = "" optional = false python-versions = "^3.10" @@ -520,9 +520,9 @@ files = [] develop = true [package.dependencies] -polywrap-core = "^0.1.0a32" -polywrap-manifest = "^0.1.0a32" -polywrap-msgpack = "^0.1.0a32" +polywrap-core = "^0.1.0a33" +polywrap-manifest = "^0.1.0a33" +polywrap-msgpack = "^0.1.0a33" [package.source] type = "directory" diff --git a/packages/polywrap-wasm/poetry.lock b/packages/polywrap-wasm/poetry.lock index ec6fb998..db1f3f99 100644 --- a/packages/polywrap-wasm/poetry.lock +++ b/packages/polywrap-wasm/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. +# This file is automatically @generated by Poetry and should not be changed by hand. [[package]] name = "astroid" @@ -293,7 +293,6 @@ files = [ {file = "libcst-0.4.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3e9d9fdd9a9b9b8991936ff1c07527ce7ef396c8233280ba9a7137e72c2e48e"}, {file = "libcst-0.4.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e1b4cbaf7b1cdad5fa3eababe42d5b46c0d52afe13c5ba4eac2495fc57630ea"}, {file = "libcst-0.4.10-cp39-cp39-win_amd64.whl", hash = "sha256:bcbd07cec3d7a7be6f0299b0c246e085e3d6cc8af367e2c96059183b97c2e2fe"}, - {file = "libcst-0.4.10.tar.gz", hash = "sha256:b98a829d96e8b209fb761b00cd1bacc27c70eae77d00e57976e5ae2c718c3f81"}, ] [package.dependencies] @@ -482,13 +481,13 @@ files = [ [[package]] name = "platformdirs" -version = "3.6.0" +version = "3.8.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false python-versions = ">=3.7" files = [ - {file = "platformdirs-3.6.0-py3-none-any.whl", hash = "sha256:ffa199e3fbab8365778c4a10e1fbf1b9cd50707de826eb304b50e57ec0cc8d38"}, - {file = "platformdirs-3.6.0.tar.gz", hash = "sha256:57e28820ca8094678b807ff529196506d7a21e17156cb1cddb3e74cebce54640"}, + {file = "platformdirs-3.8.0-py3-none-any.whl", hash = "sha256:ca9ed98ce73076ba72e092b23d3c93ea6c4e186b3f1c3dad6edd98ff6ffcca2e"}, + {file = "platformdirs-3.8.0.tar.gz", hash = "sha256:b0cabcb11063d21a0b261d557acb0a9d2126350e63b70cdf7db6347baea456dc"}, ] [package.extras] @@ -497,13 +496,13 @@ test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.3.1)", "pytest- [[package]] name = "pluggy" -version = "1.1.0" +version = "1.2.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.7" files = [ - {file = "pluggy-1.1.0-py3-none-any.whl", hash = "sha256:d81d19a3a88d82ed06998353ce5d5c02587ef07ee2d808ae63904ab0ccef0087"}, - {file = "pluggy-1.1.0.tar.gz", hash = "sha256:c500b592c5512df35622e4faf2135aa0b7e989c7d31344194b4afb9d5e47b1bf"}, + {file = "pluggy-1.2.0-py3-none-any.whl", hash = "sha256:c2fd55a7d7a3863cba1a013e4e2414658b1d07b6bc57b3919e0c63c9abb99849"}, + {file = "pluggy-1.2.0.tar.gz", hash = "sha256:d12f0c4b579b15f5e054301bb226ee85eeeba08ffec228092f8defbaa3a4c4b3"}, ] [package.extras] @@ -696,13 +695,13 @@ testutils = ["gitpython (>3)"] [[package]] name = "pyright" -version = "1.1.314" +version = "1.1.316" description = "Command line wrapper for pyright" optional = false python-versions = ">=3.7" files = [ - {file = "pyright-1.1.314-py3-none-any.whl", hash = "sha256:5008a2e04b71e35c5f1b78b16adae9d012601197442ae6c798e9bb3456d1eecb"}, - {file = "pyright-1.1.314.tar.gz", hash = "sha256:bd104c206fe40eaf5f836efa9027f07cc0efcbc452e6d22dfae36759c5fd28b3"}, + {file = "pyright-1.1.316-py3-none-any.whl", hash = "sha256:7259d73287c882f933d8cd88c238ef02336e172171ae95117a963a962a1fed4a"}, + {file = "pyright-1.1.316.tar.gz", hash = "sha256:bac1baf8567b90f2082ec95b61fc1cb50a68917119212c5608a72210870c6a9a"}, ] [package.dependencies] @@ -714,13 +713,13 @@ dev = ["twine (>=3.4.1)"] [[package]] name = "pytest" -version = "7.3.2" +version = "7.4.0" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.3.2-py3-none-any.whl", hash = "sha256:cdcbd012c9312258922f8cd3f1b62a6580fdced17db6014896053d47cddf9295"}, - {file = "pytest-7.3.2.tar.gz", hash = "sha256:ee990a3cc55ba808b80795a79944756f315c67c12b56abd3ac993a7b8c17030b"}, + {file = "pytest-7.4.0-py3-none-any.whl", hash = "sha256:78bf16451a2eb8c7a2ea98e32dc119fd2aa758f1d5d66dbf0a59d69a3969df32"}, + {file = "pytest-7.4.0.tar.gz", hash = "sha256:b4bf8c45bd59934ed84001ad51e11b4ee40d40a1229d2c79f9c592b0a3f6bd8a"}, ] [package.dependencies] @@ -820,13 +819,13 @@ jupyter = ["ipywidgets (>=7.5.1,<9)"] [[package]] name = "setuptools" -version = "67.8.0" +version = "68.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.7" files = [ - {file = "setuptools-67.8.0-py3-none-any.whl", hash = "sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f"}, - {file = "setuptools-67.8.0.tar.gz", hash = "sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102"}, + {file = "setuptools-68.0.0-py3-none-any.whl", hash = "sha256:11e52c67415a381d10d6b462ced9cfb97066179f0e871399e006c4ab101fc85f"}, + {file = "setuptools-68.0.0.tar.gz", hash = "sha256:baf1fdb41c6da4cd2eae722e135500da913332ab3f2f5c7d33af9b492acb5235"}, ] [package.extras] @@ -1005,27 +1004,6 @@ files = [ mypy-extensions = ">=0.3.0" typing-extensions = ">=3.7.4" -[[package]] -name = "unsync" -version = "1.4.0" -description = "Unsynchronize asyncio" -optional = false -python-versions = "*" -files = [ - {file = "unsync-1.4.0.tar.gz", hash = "sha256:a29e0f8952ffb0b3a0453ce436819a5a1ba2febbb5caa707c319f6f98d35f3c5"}, -] - -[[package]] -name = "unsync-stubs" -version = "0.1.2" -description = "" -optional = false -python-versions = ">=3.10,<4.0" -files = [ - {file = "unsync_stubs-0.1.2-py3-none-any.whl", hash = "sha256:a65aa80480c6b7ba985681d3833a202f0a33e159801c2a747bfcf6a0fb328a07"}, - {file = "unsync_stubs-0.1.2.tar.gz", hash = "sha256:9f5b7d5cd35a03e36b735be2ba5f1c2c3848c613ad124ccbf5fc0c3cdb21cc50"}, -] - [[package]] name = "virtualenv" version = "20.23.1" @@ -1048,17 +1026,17 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "wasmtime" -version = "6.0.0" +version = "9.0.0" description = "A WebAssembly runtime powered by Wasmtime" optional = false python-versions = ">=3.6" files = [ - {file = "wasmtime-6.0.0-py3-none-any.whl", hash = "sha256:4b9ccb4c29a6c03729b8eb376de2c7e7e27a92ed5b6f84c2b1a37379eeeeb255"}, - {file = "wasmtime-6.0.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:dfb974d82f09f8b9f4993a9c3256c42b40d9f223128f54da7d9a07043645ed35"}, - {file = "wasmtime-6.0.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:df1e6f735642490de585701c1030dc4e9cc4d853628370183fa3d91e9b5d816c"}, - {file = "wasmtime-6.0.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:5a457ae39c77521aced2a9d66148a38583965ded101cd97803a2f0aa86139b9e"}, - {file = "wasmtime-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:694420c5049d1bdd767daa7969eb73d1dd70a778f2d831d13c4aa14fe63beeef"}, - {file = "wasmtime-6.0.0-py3-none-win_amd64.whl", hash = "sha256:fe77820fecc6f12da97be35d2a3bf0be8e47904e8b7e75e0e07b156a79eadba0"}, + {file = "wasmtime-9.0.0-py3-none-any.whl", hash = "sha256:08f74faa950b6180ec149164b84f463854d6423260cb5b4725b05746aaa92f6e"}, + {file = "wasmtime-9.0.0-py3-none-macosx_10_13_x86_64.whl", hash = "sha256:6dad1b1ccfb93b8f3f75679104941dfa9cba17214068964d638b66eee8f93a73"}, + {file = "wasmtime-9.0.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:51c3ce94d46febcae8797ac1bc90be3d5c2dce48186284ea2735ad431bea2587"}, + {file = "wasmtime-9.0.0-py3-none-manylinux1_x86_64.whl", hash = "sha256:5e0a64b2ef708c107e418c7741c8be0de0cc152efc1d51264e77fcf4f977cef0"}, + {file = "wasmtime-9.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:e798ff868ea21a250d5382e54c15866720e8d9ff0b0d2b8728fe1f2f5b9469b6"}, + {file = "wasmtime-9.0.0-py3-none-win_amd64.whl", hash = "sha256:2f81805c9bda88792363eaf7104270989c5b1e17ccec398b56dfb5f91d2e84f2"}, ] [package.extras] @@ -1151,4 +1129,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "1f839f02de684914b519b9e04db362623cb9a82b25e71841952806745d6adac3" +content-hash = "3d8ae34a57e22de6248ec5bf21f2793c41260f93d6cdf0b7a19deb18bff7ec72" diff --git a/packages/polywrap-wasm/polywrap_wasm/imports/abort.py b/packages/polywrap-wasm/polywrap_wasm/imports/abort.py index 1b92325a..075d6cc0 100644 --- a/packages/polywrap-wasm/polywrap_wasm/imports/abort.py +++ b/packages/polywrap-wasm/polywrap_wasm/imports/abort.py @@ -38,11 +38,7 @@ def wrap_abort( file_len, ) - if ( - self.state.subinvoke_result - and self.state.subinvoke_result.error - and msg == repr(self.state.subinvoke_result.error) - ): + if self.state.subinvoke_result and self.state.subinvoke_result.error: # If the error thrown by Wasm module is the same as the subinvoke error, # then we can notify the subinvoke error was cause of the Wasm module abort. raise WrapAbortError( diff --git a/packages/polywrap-wasm/polywrap_wasm/imports/get_implementations.py b/packages/polywrap-wasm/polywrap_wasm/imports/get_implementations.py index c8b95c31..7250aa6f 100644 --- a/packages/polywrap-wasm/polywrap_wasm/imports/get_implementations.py +++ b/packages/polywrap-wasm/polywrap_wasm/imports/get_implementations.py @@ -30,7 +30,7 @@ def wrap_get_implementations(self, uri_ptr: int, uri_len: int) -> bool: message="Expected invoker to be defined got None", ) try: - maybe_implementations = self.invoker.get_implementations(uri=uri) + maybe_implementations = self.invoker.get_implementations(uri, False) implementations: List[str] = ( [uri.uri for uri in maybe_implementations] if maybe_implementations diff --git a/packages/polywrap-wasm/polywrap_wasm/wasm_wrapper.py b/packages/polywrap-wasm/polywrap_wasm/wasm_wrapper.py index a886673d..24acac9b 100644 --- a/packages/polywrap-wasm/polywrap_wasm/wasm_wrapper.py +++ b/packages/polywrap-wasm/polywrap_wasm/wasm_wrapper.py @@ -135,11 +135,19 @@ def invoke( ) encoded_args = ( - state.invoke_options.args - if isinstance(state.invoke_options.args, bytes) - else msgpack_encode(state.invoke_options.args) + ( + state.invoke_options.args + if isinstance(state.invoke_options.args, bytes) + else msgpack_encode(state.invoke_options.args) + ) + if state.invoke_options.args + else b"" + ) + encoded_env = ( + msgpack_encode(state.invoke_options.env) + if state.invoke_options.env + else b"" ) - encoded_env = msgpack_encode(state.invoke_options.env) method_length = len(state.invoke_options.method) args_length = len(encoded_args) @@ -149,6 +157,7 @@ def invoke( instance = self.create_wasm_instance(store, state, client) exports = WrapExports(instance, store) + print("env length", env_length) result = exports.__wrap_invoke__(method_length, args_length, env_length) if result and state.invoke_result and state.invoke_result.result: diff --git a/packages/polywrap-wasm/pyproject.toml b/packages/polywrap-wasm/pyproject.toml index a27189da..66bba25c 100644 --- a/packages/polywrap-wasm/pyproject.toml +++ b/packages/polywrap-wasm/pyproject.toml @@ -11,13 +11,13 @@ readme = "README.md" [tool.poetry.dependencies] python = "^3.10" -wasmtime = "^6.0.0" -unsync = "^1.4.0" -unsync-stubs = "^0.1.2" -polywrap-msgpack = "^0.1.0a33" -polywrap-manifest = "^0.1.0a33" -polywrap-core = "^0.1.0a33" -[tool.poetry.dev-dependencies] +wasmtime = "^9.0.0" +polywrap-msgpack = {path = "../polywrap-msgpack", develop = true} +polywrap-manifest = {path = "../polywrap-manifest", develop = true} +polywrap-core = {path = "../polywrap-core", develop = true} + +[tool.poetry.group.dev.dependencies] +pycln = "^2.1.3" pytest = "^7.1.2" pytest-asyncio = "^0.19.0" pylint = "^2.15.4" @@ -30,9 +30,6 @@ pyright = "^1.1.275" pydocstyle = "^6.1.1" pydantic = "^1.10.2" -[tool.poetry.group.dev.dependencies] -pycln = "^2.1.3" - [tool.bandit] exclude_dirs = ["tests"]