diff --git a/.cargo/config b/.cargo/config deleted file mode 100644 index 58103f6e..00000000 --- a/.cargo/config +++ /dev/null @@ -1,5 +0,0 @@ -[target.x86_64-apple-darwin] -rustflags = [ - "-C", "link-arg=-undefined", - "-C", "link-arg=dynamic_lookup", -] \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index f2d540bd..03d4c532 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,11 +4,11 @@ version = 3 [[package]] name = "addr2line" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7a2e47a1fbe209ee101dd6d61285226744c6c8d3c21c8dc878ba6cb9f467f3a" +checksum = "3e61f2b7f93d2c7d2b08263acaa4a363b3e276806c68af6134c44f523bf1aacd" dependencies = [ - "gimli", + "gimli 0.25.0", ] [[package]] @@ -28,9 +28,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.41" +version = "1.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15af2628f6890fe2609a3b91bef4c83450512802e59489f9c1cb1fa5df064a61" +checksum = "595d3cfa7a60d4555cb5067b99f07142a08ea778de5cf993f7b75c7d8fabc486" [[package]] name = "autocfg" @@ -40,16 +40,16 @@ checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" [[package]] name = "backtrace" -version = "0.3.60" +version = "0.3.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7815ea54e4d821e791162e078acbebfd6d8c8939cd559c9335dceb1c8ca7282" +checksum = "e7a905d892734eea339e896738c14b9afce22b5318f64b951e70bf3844419b01" dependencies = [ "addr2line", "cc", "cfg-if 1.0.0", "libc", "miniz_oxide", - "object", + "object 0.26.0", "rustc-demangle", ] @@ -64,9 +64,9 @@ dependencies = [ [[package]] name = "bitflags" -version = "1.2.1" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +checksum = "2da1976d75adbe5fbc88130ecd119529cf1cc6a93ae1546d8696ee66f0d21af1" [[package]] name = "byteorder" @@ -76,9 +76,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "cc" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" +checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2" [[package]] name = "cfg-if" @@ -111,7 +111,7 @@ dependencies = [ "cranelift-codegen-meta", "cranelift-codegen-shared", "cranelift-entity", - "gimli", + "gimli 0.24.0", "log", "regalloc", "smallvec", @@ -173,9 +173,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9" +checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" dependencies = [ "cfg-if 1.0.0", "crossbeam-epoch", @@ -217,9 +217,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.12.4" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c" +checksum = "757c0ded2af11d8e739c4daea1ac623dd1624b06c844cf3f5a39f1bdbd99bb12" dependencies = [ "darling_core", "darling_macro", @@ -227,9 +227,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.12.4" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e91455b86830a1c21799d94524df0845183fa55bafd9aa137b01c7d1065fa36" +checksum = "2c34d8efb62d0c2d7f60ece80f75e5c63c1588ba68032740494b0b9a996466e3" dependencies = [ "fnv", "ident_case", @@ -241,9 +241,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.12.4" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a" +checksum = "ade7bff147130fe5e6d39f089c6bd49ec0250f35d70b2eebf72afdfc919f15cc" dependencies = [ "darling_core", "quote", @@ -284,18 +284,18 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "enumset" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd795df6708a599abf1ee10eacc72efd052b7a5f70fdf0715e4d5151a6db9c3" +checksum = "7e76129da36102af021b8e5000dab2c1c30dbef85c1e482beeff8da5dde0e0b0" dependencies = [ "enumset_derive", ] [[package]] name = "enumset_derive" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19c52f9ec503c8a68dc04daf71a04b07e690c32ab1a8b68e33897f255269d47" +checksum = "6451128aa6655d880755345d085494cf7561a6bee7c8dc821e5d77e6d267ecd4" dependencies = [ "darling", "proc-macro2", @@ -367,11 +367,17 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "gimli" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0a01e0497841a3b2db4f8afa483cce65f7e96a3498bd6c541734792aeac8fe7" + [[package]] name = "hashbrown" -version = "0.9.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" [[package]] name = "hermit-abi" @@ -390,9 +396,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" [[package]] name = "indexmap" -version = "1.6.2" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" +checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" dependencies = [ "autocfg", "hashbrown", @@ -435,9 +441,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" +checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d" dependencies = [ "cfg-if 1.0.0", ] @@ -487,9 +493,9 @@ checksum = "3576a87f2ba00f6f106fdfcd16db1d698d648a26ad8e0573cad8537c3c362d2a" [[package]] name = "libc" -version = "0.2.97" +version = "0.2.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" +checksum = "a7f823d141fe0a24df1e23b4af4e3c7ba9e5966ec514ea068c93024aa7deb765" [[package]] name = "libloading" @@ -623,6 +629,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "object" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c55827317fb4c08822499848a14237d2874d6f139828893017237e7ab93eb386" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" version = "1.8.0" @@ -726,27 +741,27 @@ checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" [[package]] name = "proc-macro2" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" +checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612" dependencies = [ "unicode-xid", ] [[package]] name = "ptr_meta" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7424255320182a46c403331afed6f95e0259a7c578f9da54a27e262ef3b60118" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" dependencies = [ "ptr_meta_derive", ] [[package]] name = "ptr_meta_derive" -version = "0.1.2" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53005b9863728f508d3f23ae37e03d60986a01b65f7ae8397dcebaa1d5e54e10" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ "proc-macro2", "quote", @@ -755,26 +770,34 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.13.2" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4837b8e8e18a102c23f79d1e9a110b597ea3b684c95e874eb1ad88f8683109c3" +checksum = "af205762ba65eec9f27a2fa1a57a40644e8e3368784b8c8b2f2de48f6e8ddd96" dependencies = [ "cfg-if 1.0.0", - "ctor", "indoc", - "inventory", "libc", "parking_lot", "paste", + "pyo3-build-config", "pyo3-macros", "unindent", ] +[[package]] +name = "pyo3-build-config" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "755944027ce803c7238e59c5a18e59c1d0a4553db50b23e9ba209a568353028d" +dependencies = [ + "once_cell", +] + [[package]] name = "pyo3-macros" -version = "0.13.2" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47f2c300ceec3e58064fd5f8f5b61230f2ffd64bde4970c81fdd0563a2db1bb" +checksum = "cd31b36bccfd902c78804bd96c28ea93eac6fa0ca311f9d21ef2230b6665b29a" dependencies = [ "pyo3-macros-backend", "quote", @@ -783,11 +806,12 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.13.2" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87b097e5d84fcbe3e167f400fbedd657820a375b034c78bd852050749a575d66" +checksum = "c21c59ba36db9c823e931c662766b0dd01a030b1d96585b67d8857a96a56b972" dependencies = [ "proc-macro2", + "pyo3-build-config", "quote", "syn", ] @@ -868,9 +892,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" +checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" dependencies = [ "bitflags", ] @@ -1006,9 +1030,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f3aac57ee7f3272d8395c6e4f502f434f0e289fcd62876f70daa008c20dcabe" +checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" [[package]] name = "semver-parser" @@ -1027,9 +1051,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.126" +version = "1.0.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" +checksum = "f03b9878abf6d14e6779d3f24f07b2cfa90352cfec4acc5aab8f1ac7f146fae8" dependencies = [ "serde_derive", ] @@ -1045,9 +1069,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.126" +version = "1.0.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" +checksum = "a024926d3432516606328597e0f224a51355a493b49fdd67e9209187cbe55ecc" dependencies = [ "proc-macro2", "quote", @@ -1074,9 +1098,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "syn" -version = "1.0.73" +version = "1.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" +checksum = "1873d832550d4588c3dbc20f01361ab00bfe741048f71e3fecf145a7cc18b29c" dependencies = [ "proc-macro2", "quote", @@ -1085,9 +1109,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64ae3b39281e4b14b8123bdbaddd472b7dfe215e444181f2f9d2443c2444f834" +checksum = "b0652da4c4121005e9ed22b79f6c5f2d9e2752906b53a33e9490489ba421a6fb" [[package]] name = "tempfile" @@ -1105,18 +1129,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.25" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" +checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.25" +version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" +checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745" dependencies = [ "proc-macro2", "quote", @@ -1226,10 +1250,11 @@ version = "1.0.0" dependencies = [ "cfg-if 1.0.0", "pyo3", + "pyo3-build-config", "wasmer 2.0.0", + "wasmer-engines", "wasmer-types", "wasmer-wasi", - "wasmer_engines", "wasmprinter", "wat", ] @@ -1285,7 +1310,7 @@ dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "gimli", + "gimli 0.24.0", "loupe", "more-asserts", "rayon", @@ -1308,11 +1333,11 @@ dependencies = [ "lazy_static", "libc", "loupe", - "object", + "object 0.25.3", "rayon", "regex", "rustc_version", - "semver 1.0.3", + "semver 1.0.4", "smallvec", "target-lexicon", "wasmer-compiler", @@ -1413,13 +1438,23 @@ dependencies = [ "winapi", ] +[[package]] +name = "wasmer-engines" +version = "1.0.0" +dependencies = [ + "enumset", + "pyo3", + "wasmer 2.0.0", + "wasmer-compiler", +] + [[package]] name = "wasmer-object" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c541c985799fc1444702501c15d41becfb066c92d9673defc1c7417fd8739e15" dependencies = [ - "object", + "object 0.25.3", "thiserror", "wasmer-compiler", "wasmer-types", @@ -1497,7 +1532,7 @@ version = "1.0.0" dependencies = [ "pyo3", "wasmer-compiler-cranelift", - "wasmer_engines", + "wasmer-engines", ] [[package]] @@ -1506,7 +1541,7 @@ version = "1.0.0" dependencies = [ "pyo3", "wasmer-compiler-llvm", - "wasmer_engines", + "wasmer-engines", ] [[package]] @@ -1515,17 +1550,7 @@ version = "1.0.0" dependencies = [ "pyo3", "wasmer-compiler-singlepass", - "wasmer_engines", -] - -[[package]] -name = "wasmer_engines" -version = "1.0.0" -dependencies = [ - "enumset", - "pyo3", - "wasmer 2.0.0", - "wasmer-compiler", + "wasmer-engines", ] [[package]] @@ -1551,45 +1576,46 @@ checksum = "52144d4c78e5cf8b055ceab8e5fa22814ce4315d6002ad32cfd914f37c12fd65" [[package]] name = "wasmparser" -version = "0.79.0" +version = "0.80.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5894be15a559c85779254700e1d35f02f843b5a69152e5c82c626d9fd66c0e" +checksum = "a5f71b80b8193e50910919e7d1bc956d2b4f42b1cb1fad84bacb59332c16f2cf" [[package]] name = "wasmprinter" -version = "0.2.27" +version = "0.2.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6f65000c9b653a87ba9b8bebe9230371337db2b7e70db724ee4b79d2b9936f" +checksum = "b48e4f2999b9930e9b037e328357d7d2367e0d8ea6e534be90aeff60976c0452" dependencies = [ "anyhow", - "wasmparser 0.79.0", + "wasmparser 0.80.0", ] [[package]] name = "wast" -version = "36.0.0" +version = "37.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b5d7ba374a364571da1cb0a379a3dc302582a2d9937a183bfe35b68ad5bb9c4" +checksum = "9bc7b9a76845047ded00e031754ff410afee0d50fbdf62b55bdeecd245063d68" dependencies = [ "leb128", ] [[package]] name = "wat" -version = "1.0.38" +version = "1.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16383df7f0e3901484c2dda6294ed6895caa3627ce4f6584141dcf30a33a23e6" +checksum = "2ab2cc8d9a69d1ab28a41d9149bb06bb927aba8fc9d56625f8b597a564c83f50" dependencies = [ "wast", ] [[package]] name = "which" -version = "4.1.0" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b55551e42cbdf2ce2bedd2203d0cc08dba002c27510f86dab6d0ce304cba3dfe" +checksum = "ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9" dependencies = [ "either", + "lazy_static", "libc", ] diff --git a/docs/api/wasmer/index.html b/docs/api/wasmer/index.html index 77fec836..5fab8ea6 100644 --- a/docs/api/wasmer/index.html +++ b/docs/api/wasmer/index.html @@ -135,7 +135,7 @@
from wasmer import Memory, MemoryType, Store
store = Store()
-memory = Memory(store, MemoryType(128, shared=False))
+memory = Memory(store, MemoryType(minimum=128))
# Let's write data with a `Int8Array` view for example.
int8 = memory.int8_view()
@@ -579,7 +579,7 @@ Example
"""
)
-memory = Memory(store, MemoryType(1, shared=False))
+memory = Memory(store, MemoryType(minimum=1))
view = memory.uint8_view(offset=0)
import_object = ImportObject()
@@ -668,7 +668,7 @@ Example
"env",
{
"sum": Function(store, sum),
- "memory": Memory(store, MemoryType(1, shared=False))
+ "memory": Memory(store, MemoryType(minimum=1))
}
)
@@ -964,7 +964,7 @@ from wasmer import Store, Memory, MemoryType
store = Store()
-memory_type = MemoryType(3, shared=False)
+memory_type = MemoryType(minimum=3)
memory = Memory(store, memory_type)
assert memory.size == 3
@@ -989,7 +989,7 @@ Example
from wasmer import Store, Memory, MemoryType, Buffer
store = Store()
-memory_type = MemoryType(3, shared=False)
+memory_type = MemoryType(minimum=3)
memory = Memory(store, memory_type)
assert isinstance(memory.buffer, Buffer)
@@ -1002,7 +1002,7 @@ Example
from wasmer import Store, Memory, MemoryType
store = Store()
-memory_type = MemoryType(3, shared=False)
+memory_type = MemoryType(minimum=3)
memory = Memory(store, memory_type)
assert memory.data_size == 196608
@@ -1015,7 +1015,7 @@ Example
from wasmer import Store, Memory, MemoryType
store = Store()
-memory_type = MemoryType(3, shared=False)
+memory_type = MemoryType(minimum=3)
memory = Memory(store, memory_type)
assert memory.size == 3
@@ -1049,7 +1049,7 @@ Example
from wasmer import Store, Memory, MemoryType
store = Store()
-memory_type = MemoryType(3, shared=False)
+memory_type = MemoryType(minimum=3)
memory = Memory(store, memory_type)
assert memory.size == 3
@@ -1110,7 +1110,7 @@ Examples
from wasmer import Store, Memory, MemoryType, Uint8Array
store = Store()
-memory_type = MemoryType(3, shared=False)
+memory_type = MemoryType(minimum=3)
memory = Memory(store, memory_type)
assert isinstance(memory.uint8_view(offset=42), Uint8Array)
@@ -1120,7 +1120,7 @@ Examples
class MemoryType
-(minimum, maximum, shared)
+(minimum, /, maximum, shared)
A descriptor for a WebAssembly memory type.
diff --git a/packages/README.md b/packages/README.md
index 17084786..6721585f 100644
--- a/packages/README.md
+++ b/packages/README.md
@@ -5,9 +5,9 @@ Wasmer provides several Python packages. We recommend to read the
Succinctly, here is a short description of this directory:
-* `any/` contains a fallback to make `wasmer` always installable on
- all platforms, but it could raise an `ImportError` if the current
- platform isn't supported,
+* `any*/` contain fallbacks to make `wasmer` and sibling packages
+ always installable on all platforms, but it could raise an
+ `ImportError` if the current platform isn't supported,
* `api/` contains the `wasmer` package,
diff --git a/packages/api/Cargo.toml b/packages/api/Cargo.toml
index 6df2de8c..08bd1819 100644
--- a/packages/api/Cargo.toml
+++ b/packages/api/Cargo.toml
@@ -17,14 +17,17 @@ crate-type = ["cdylib"]
[dependencies]
wasmer = { version = "2.0", default-features = false, features = ["wat", "universal", "dylib", "compiler"] }
-wasmer_engines = { path = "../engines/" }
+wasmer-engines = { path = "../engines/" }
wasmer-types = "2.0"
wasmer-wasi = "2.0"
-pyo3 = { version = "0.13", features = ["extension-module"] }
+pyo3 = { version = "0.14", features = ["extension-module", "auto-initialize"] }
wat = "1.0"
wasmprinter = "0.2"
cfg-if = "1.0"
+[build-dependencies]
+pyo3-build-config = "0.14"
+
[package.metadata.maturin]
classifier = [
"Programming Language :: Python",
diff --git a/packages/api/build.rs b/packages/api/build.rs
index 219cea18..1a8ec5aa 100644
--- a/packages/api/build.rs
+++ b/packages/api/build.rs
@@ -3,4 +3,5 @@ fn main() {
"cargo:rustc-env=WASMER_VERSION={}",
env!("CARGO_PKG_VERSION")
);
+ pyo3_build_config::add_extension_module_link_args();
}
diff --git a/packages/api/src/engines.rs b/packages/api/src/engines.rs
index 371e53fe..2e033e10 100644
--- a/packages/api/src/engines.rs
+++ b/packages/api/src/engines.rs
@@ -1,3 +1,3 @@
-pub use wasmer_engines::{Dylib, Universal};
+pub use crate::wasmer_inner::wasmer_engines::{Dylib, Universal};
// Deprecated engines.
-pub use wasmer_engines::{Native, JIT};
+pub use crate::wasmer_inner::wasmer_engines::{Native, JIT};
diff --git a/packages/api/src/externals/function.rs b/packages/api/src/externals/function.rs
index 55e2fc51..1c6b65c6 100644
--- a/packages/api/src/externals/function.rs
+++ b/packages/api/src/externals/function.rs
@@ -91,7 +91,7 @@ use std::{io, sync::Arc};
/// function = Function(store, sum, FunctionType([Type.I32, Type.I32], [Type.I32]))
/// ```
#[pyclass(unsendable)]
-#[text_signature = "(store, function, function_type)"]
+#[pyo3(text_signature = "(store, function, function_type)")]
pub struct Function {
inner: wasmer::Function,
}
diff --git a/packages/api/src/externals/global.rs b/packages/api/src/externals/global.rs
index 7c6ee61c..9c4a9c4d 100644
--- a/packages/api/src/externals/global.rs
+++ b/packages/api/src/externals/global.rs
@@ -39,7 +39,7 @@ use pyo3::{
/// assert global_.mutable == True
/// ```
#[pyclass(unsendable)]
-#[text_signature = "(store, value, mutable)"]
+#[pyo3(text_signature = "(store, value, mutable)")]
pub struct Global {
inner: wasmer::Global,
}
diff --git a/packages/api/src/externals/memory.rs b/packages/api/src/externals/memory.rs
index 5414d637..3b353bff 100644
--- a/packages/api/src/externals/memory.rs
+++ b/packages/api/src/externals/memory.rs
@@ -31,7 +31,7 @@ use pyo3::{exceptions::PyRuntimeError, prelude::*};
/// from wasmer import Store, Memory, MemoryType
///
/// store = Store()
-/// memory_type = MemoryType(3, shared=False)
+/// memory_type = MemoryType(minimum=3)
/// memory = Memory(store, memory_type)
///
/// assert memory.size == 3
@@ -50,7 +50,7 @@ use pyo3::{exceptions::PyRuntimeError, prelude::*};
/// assert isinstance(memory, Memory)
/// ```
#[pyclass(unsendable)]
-#[text_signature = "(store, memory_type)"]
+#[pyo3(text_signature = "(store, memory_type)")]
pub struct Memory {
inner: wasmer::Memory,
}
@@ -83,7 +83,7 @@ impl Memory {
/// from wasmer import Store, Memory, MemoryType
///
/// store = Store()
- /// memory_type = MemoryType(3, shared=False)
+ /// memory_type = MemoryType(minimum=3)
/// memory = Memory(store, memory_type)
///
/// assert memory.size == 3
@@ -101,7 +101,7 @@ impl Memory {
/// from wasmer import Store, Memory, MemoryType
///
/// store = Store()
- /// memory_type = MemoryType(3, shared=False)
+ /// memory_type = MemoryType(minimum=3)
/// memory = Memory(store, memory_type)
///
/// assert memory.data_size == 196608
@@ -119,7 +119,7 @@ impl Memory {
/// from wasmer import Store, Memory, MemoryType
///
/// store = Store()
- /// memory_type = MemoryType(3, shared=False)
+ /// memory_type = MemoryType(minimum=3)
/// memory = Memory(store, memory_type)
///
/// assert memory.size == 3
@@ -128,7 +128,7 @@ impl Memory {
///
/// assert memory.size == 5
/// ```
- #[text_signature = "($self, number_of_pages)"]
+ #[pyo3(text_signature = "($self, number_of_pages)")]
fn grow(&self, number_of_pages: u32) -> PyResult {
self.inner
.grow(number_of_pages)
@@ -145,7 +145,7 @@ impl Memory {
/// from wasmer import Store, Memory, MemoryType, Buffer
///
/// store = Store()
- /// memory_type = MemoryType(3, shared=False)
+ /// memory_type = MemoryType(minimum=3)
/// memory = Memory(store, memory_type)
///
/// assert isinstance(memory.buffer, Buffer)
@@ -165,12 +165,12 @@ impl Memory {
/// from wasmer import Store, Memory, MemoryType, Uint8Array
///
/// store = Store()
- /// memory_type = MemoryType(3, shared=False)
+ /// memory_type = MemoryType(minimum=3)
/// memory = Memory(store, memory_type)
///
/// assert isinstance(memory.uint8_view(offset=42), Uint8Array)
/// ```
- #[text_signature = "($self, /, offset=0)"]
+ #[pyo3(text_signature = "($self, /, offset=0)")]
#[args(offset = 0)]
fn uint8_view(&self, offset: usize) -> Uint8Array {
Uint8Array {
@@ -182,7 +182,7 @@ impl Memory {
/// Creates a read-and-write over the memory data where elements
/// are of kind `int8`. See the `Int8Array` view to learn more,
/// and the `Memory.uint8_view` method to see an example.
- #[text_signature = "($self, /, offset=0)"]
+ #[pyo3(text_signature = "($self, /, offset=0)")]
#[args(offset = 0)]
fn int8_view(&self, offset: usize) -> Int8Array {
Int8Array {
@@ -194,7 +194,7 @@ impl Memory {
/// Creates a read-and-write over the memory data where elements
/// are of kind `uint16`. See the `Uint16Array` view to learn
/// more, and the `Memory.uint8_view` method to see an example.
- #[text_signature = "($self, /, offset=0)"]
+ #[pyo3(text_signature = "($self, /, offset=0)")]
#[args(offset = 0)]
fn uint16_view(&self, offset: usize) -> Uint16Array {
Uint16Array {
@@ -206,7 +206,7 @@ impl Memory {
/// Creates a read-and-write over the memory data where elements
/// are of kind `int16`. See the `Int16Array` view to learn more,
/// and the `Memory.uint8_view` method to see an example.
- #[text_signature = "($self, /, offset=0)"]
+ #[pyo3(text_signature = "($self, /, offset=0)")]
#[args(offset = 0)]
fn int16_view(&self, offset: usize) -> Int16Array {
Int16Array {
@@ -218,7 +218,7 @@ impl Memory {
/// Creates a read-and-write over the memory data where elements
/// are of kind `uint32`. See the `Uint32Array` view to learn
/// more, and the `Memory.uint8_view` method to see an example.
- #[text_signature = "($self, /, offset=0)"]
+ #[pyo3(text_signature = "($self, /, offset=0)")]
#[args(offset = 0)]
fn uint32_view(&self, offset: usize) -> Uint32Array {
Uint32Array {
@@ -230,7 +230,7 @@ impl Memory {
/// Creates a read-and-write over the memory data where elements
/// are of kind `int32`. See the `Int32Array` view to learn more,
/// and the `Memory.uint8_view` method to see an example.
- #[text_signature = "($self, /, offset=0)"]
+ #[pyo3(text_signature = "($self, /, offset=0)")]
#[args(offset = 0)]
fn int32_view(&self, offset: usize) -> Int32Array {
Int32Array {
diff --git a/packages/api/src/externals/table.rs b/packages/api/src/externals/table.rs
index 5b92ae40..496bab9b 100644
--- a/packages/api/src/externals/table.rs
+++ b/packages/api/src/externals/table.rs
@@ -13,7 +13,7 @@ use pyo3::{exceptions::PyRuntimeError, prelude::*};
///
/// Specification: https://webassembly.github.io/spec/core/exec/runtime.html#table-instances
#[pyclass(unsendable)]
-#[text_signature = "(store, table_type, initial_value)"]
+#[pyo3(text_signature = "(store, table_type, initial_value)")]
pub struct Table {
inner: wasmer::Table,
}
diff --git a/packages/api/src/import_object.rs b/packages/api/src/import_object.rs
index f23d25b0..2f74f1b8 100644
--- a/packages/api/src/import_object.rs
+++ b/packages/api/src/import_object.rs
@@ -70,7 +70,7 @@ use pyo3::{
/// """
/// )
///
-/// memory = Memory(store, MemoryType(1, shared=False))
+/// memory = Memory(store, MemoryType(minimum=1))
/// view = memory.uint8_view(offset=0)
///
/// import_object = ImportObject()
@@ -130,7 +130,7 @@ use pyo3::{
///
/// etc.
#[pyclass(unsendable)]
-#[text_signature = "()"]
+#[pyo3(text_signature = "()")]
pub struct ImportObject {
inner: wasmer::ImportObject,
}
@@ -163,7 +163,7 @@ impl ImportObject {
///
/// assert import_object.contains_namespace("foo") == False
/// ```
- #[text_signature = "($self, namespace_name)"]
+ #[pyo3(text_signature = "($self, namespace_name)")]
fn contains_namespace(&self, namespace_name: &str) -> bool {
self.inner.contains_namespace(namespace_name)
}
@@ -186,11 +186,11 @@ impl ImportObject {
/// "env",
/// {
/// "sum": Function(store, sum),
- /// "memory": Memory(store, MemoryType(1, shared=False))
+ /// "memory": Memory(store, MemoryType(minimum=1))
/// }
/// )
/// ```
- #[text_signature = "($self, namespace_name, namespace)"]
+ #[pyo3(text_signature = "($self, namespace_name, namespace)")]
fn register(&mut self, namespace_name: &str, namespace: &PyDict) -> PyResult<()> {
let mut wasmer_namespace = wasmer::Exports::new();
diff --git a/packages/api/src/instance.rs b/packages/api/src/instance.rs
index 0282b469..fd363916 100644
--- a/packages/api/src/instance.rs
+++ b/packages/api/src/instance.rs
@@ -83,7 +83,7 @@ use pyo3::{exceptions::PyRuntimeError, prelude::*};
/// assert instance.exports.add_one(41) == 42
/// ```
#[pyclass(unsendable)]
-#[text_signature = "(module, import_object)"]
+#[pyo3(text_signature = "(module, import_object)")]
pub struct Instance {
#[allow(unused)]
inner: wasmer::Instance,
diff --git a/packages/api/src/lib.rs b/packages/api/src/lib.rs
index 21e1e477..65db9104 100644
--- a/packages/api/src/lib.rs
+++ b/packages/api/src/lib.rs
@@ -99,8 +99,8 @@ fn wasmer(py: Python, module: &PyModule) -> PyResult<()> {
///
/// assert wat2wasm('(module)') == b'\x00asm\x01\x00\x00\x00'
/// ```
- #[pyfn(module, "wat2wasm")]
- #[text_signature = "(wat)"]
+ #[pyfn(module)]
+ #[pyo3(text_signature = "(wat)")]
fn wat2wasm<'py>(py: Python<'py>, wat: String) -> PyResult<&'py PyBytes> {
wat::wat2wasm(py, wat)
}
@@ -114,8 +114,8 @@ fn wasmer(py: Python, module: &PyModule) -> PyResult<()> {
///
/// assert wasm2wat(b'\x00asm\x01\x00\x00\x00') == '(module)'
/// ```
- #[pyfn(module, "wasm2wat")]
- #[text_signature = "(bytes)"]
+ #[pyfn(module)]
+ #[pyo3(text_signature = "(bytes)")]
fn wasm2wat(bytes: &PyBytes) -> PyResult {
wat::wasm2wat(bytes)
}
@@ -149,20 +149,17 @@ fn wasmer(py: Python, module: &PyModule) -> PyResult<()> {
// Enums.
module.add(
"Type",
- enum_module.call1(
- "IntEnum",
- PyTuple::new(
- py,
- &[
- "Type",
- types::Type::iter()
- .map(Into::into)
- .collect::>()
- .join(" ")
- .as_str(),
- ],
- ),
- )?,
+ enum_module.getattr("IntEnum")?.call1(PyTuple::new(
+ py,
+ &[
+ "Type",
+ types::Type::iter()
+ .map(Into::into)
+ .collect::>()
+ .join(" ")
+ .as_str(),
+ ],
+ ))?,
)?;
// Modules.
@@ -338,8 +335,8 @@ fn wasi(py: Python, module: &PyModule) -> PyResult<()> {
/// namespace. A non-strict detection expects that at least one WASI
/// namespace exits to detect the version. Note that the strict
/// detection is faster than the non-strict one.
- #[pyfn(module, "get_version")]
- #[text_signature = "(module, strict)"]
+ #[pyfn(module)]
+ #[pyo3(text_signature = "(module, strict)")]
fn get_version(module: &module::Module, strict: bool) -> Option {
wasi::get_version(module, strict)
}
@@ -351,20 +348,17 @@ fn wasi(py: Python, module: &PyModule) -> PyResult<()> {
// Enums.
module.add(
"Version",
- enum_module.call1(
- "IntEnum",
- PyTuple::new(
- py,
- &[
- "Version",
- wasi::Version::iter()
- .map(Into::into)
- .collect::>()
- .join(" ")
- .as_str(),
- ],
- ),
- )?,
+ enum_module.getattr("IntEnum")?.call1(PyTuple::new(
+ py,
+ &[
+ "Version",
+ wasi::Version::iter()
+ .map(Into::into)
+ .collect::>()
+ .join(" ")
+ .as_str(),
+ ],
+ ))?,
)?;
Ok(())
diff --git a/packages/api/src/memory/buffer.rs b/packages/api/src/memory/buffer.rs
index 18adca90..e1e8f276 100644
--- a/packages/api/src/memory/buffer.rs
+++ b/packages/api/src/memory/buffer.rs
@@ -34,7 +34,7 @@ use std::{
/// from wasmer import Memory, MemoryType, Store
///
/// store = Store()
-/// memory = Memory(store, MemoryType(128, shared=False))
+/// memory = Memory(store, MemoryType(minimum=128))
///
/// # Let's write data with a `Int8Array` view for example.
/// int8 = memory.int8_view()
diff --git a/packages/api/src/module.rs b/packages/api/src/module.rs
index 8536aeaa..69714dc5 100644
--- a/packages/api/src/module.rs
+++ b/packages/api/src/module.rs
@@ -35,7 +35,7 @@ use std::convert::TryInto;
/// module = Module(store, '(module)')
/// ```
#[pyclass(unsendable)]
-#[text_signature = "(store, bytes)"]
+#[pyo3(text_signature = "(store, bytes)")]
pub struct Module {
inner: wasmer::Module,
}
@@ -62,7 +62,7 @@ impl Module {
///
/// assert Module.validate(Store(), wasm_bytes)
/// ```
- #[text_signature = "(bytes)"]
+ #[pyo3(text_signature = "(bytes)")]
#[staticmethod]
fn validate(store: &Store, bytes: &PyAny) -> bool {
match bytes.downcast::() {
@@ -178,7 +178,7 @@ impl Module {
/// assert module.custom_sections('hello') == [b'World!']
/// assert module.custom_sections('foo') == []
/// ```
- #[text_signature = "($self, name)"]
+ #[pyo3(text_signature = "($self, name)")]
fn custom_sections<'p>(&self, py: Python<'p>, name: &str) -> &'p PyList {
PyList::new(
py,
@@ -203,7 +203,7 @@ impl Module {
///
/// assert type(serialized_module) == bytes
/// ```
- #[text_signature = "($self)"]
+ #[pyo3(text_signature = "($self)")]
fn serialize<'p>(&self, py: Python<'p>) -> PyResult<&'p PyBytes> {
Ok(PyBytes::new(
py,
@@ -253,7 +253,7 @@ impl Module {
///
/// assert isinstance(module, Module)
/// ```
- #[text_signature = "($self, bytes)"]
+ #[pyo3(text_signature = "($self, bytes)")]
#[staticmethod]
fn deserialize(store: &Store, bytes: &PyBytes) -> PyResult {
let module = unsafe { wasmer::Module::deserialize(store.inner(), bytes.as_bytes()) }
diff --git a/packages/api/src/store.rs b/packages/api/src/store.rs
index c44d63c2..614eda1f 100644
--- a/packages/api/src/store.rs
+++ b/packages/api/src/store.rs
@@ -44,7 +44,7 @@ use pyo3::{exceptions::PyTypeError, prelude::*};
/// `compiler_compiler_singlepass`, otherwise it will run in headless
/// mode.
#[pyclass]
-#[text_signature = "(engine)"]
+#[pyo3(text_signature = "(engine)")]
pub struct Store {
inner: wasmer::Store,
engine_name: String,
@@ -95,7 +95,7 @@ impl Store {
.or_else(|_| py.import("wasmer_compiler_llvm"))
.or_else(|_| py.import("wasmer_compiler_singlepass"))
// If any, load the `Compiler` class.
- .and_then(|compiler_module| compiler_module.get("Compiler"))
+ .and_then(|compiler_module| compiler_module.getattr("Compiler"))
.ok();
let target = None;
diff --git a/packages/api/src/target.rs b/packages/api/src/target.rs
index fec51b14..7fe4c6a1 100644
--- a/packages/api/src/target.rs
+++ b/packages/api/src/target.rs
@@ -1 +1 @@
-pub use wasmer_engines::{CpuFeatures, Target, Triple};
+pub use crate::wasmer_inner::wasmer_engines::{CpuFeatures, Target, Triple};
diff --git a/packages/api/src/types.rs b/packages/api/src/types.rs
index b91db5ae..af58a1d4 100644
--- a/packages/api/src/types.rs
+++ b/packages/api/src/types.rs
@@ -127,7 +127,7 @@ impl Into for Type {
/// )
/// ```
#[pyclass]
-#[text_signature = "(params, results)"]
+#[pyo3(text_signature = "(params, results)")]
pub struct FunctionType {
/// Parameters, i.e. inputs, of the function.
#[pyo3(get)]
@@ -198,7 +198,7 @@ impl PyObjectProtocol for FunctionType {
/// )
/// ```
#[pyclass]
-#[text_signature = "(minimum, maximum, shared)"]
+#[pyo3(text_signature = "(minimum, /, maximum, shared)")]
pub struct MemoryType {
/// The minimum number of pages in the memory.
#[pyo3(get)]
@@ -216,6 +216,7 @@ pub struct MemoryType {
#[pymethods]
impl MemoryType {
#[new]
+ #[args(maximum = "None", shared = "false")]
fn new(minimum: u32, maximum: Option, shared: bool) -> Self {
Self {
minimum,
@@ -268,7 +269,7 @@ impl PyObjectProtocol for MemoryType {
/// global_type = GlobalType(Type.I32, mutable=False)
/// ```
#[pyclass]
-#[text_signature = "(type, mutable)"]
+#[pyo3(text_signature = "(type, mutable)")]
pub struct GlobalType {
/// The type of the value stored in the global.
#[pyo3(get)]
@@ -321,7 +322,7 @@ impl PyObjectProtocol for GlobalType {
/// table_type = TableType(Type.I32, minimum=7, maximum=42)
/// ```
#[pyclass]
-#[text_signature = "(type, minium, maximum)"]
+#[pyo3(text_signature = "(type, minium, maximum)")]
pub struct TableType {
/// The type of data stored in elements of the table.
#[pyo3(get)]
@@ -421,7 +422,7 @@ impl PyObjectProtocol for TableType {
/// assert exports[3].type.shared == False
/// ```
#[pyclass]
-#[text_signature = "(name, type)"]
+#[pyo3(text_signature = "(name, type)")]
pub struct ExportType {
/// The name of the export.
#[pyo3(get)]
@@ -504,7 +505,7 @@ impl TryFrom for ExportType {
/// assert imports[3].type.shared == False
/// ```
#[pyclass]
-#[text_signature = "(module, name, type)"]
+#[pyo3(text_signature = "(module, name, type)")]
pub struct ImportType {
/// The namespace name (also known as module name).
#[pyo3(get)]
diff --git a/packages/api/src/values.rs b/packages/api/src/values.rs
index 918bfdbd..10d801de 100644
--- a/packages/api/src/values.rs
+++ b/packages/api/src/values.rs
@@ -125,7 +125,7 @@ impl Value {
/// value = Value.i32(42)
/// ```
#[staticmethod]
- #[text_signature = "(value)"]
+ #[pyo3(text_signature = "(value)")]
fn i32(value: i32) -> Self {
Self {
inner: wasmer::Value::I32(value),
@@ -142,7 +142,7 @@ impl Value {
/// value = Value.i64(42)
/// ```
#[staticmethod]
- #[text_signature = "(value)"]
+ #[pyo3(text_signature = "(value)")]
fn i64(value: i64) -> Self {
Self {
inner: wasmer::Value::I64(value),
@@ -159,7 +159,7 @@ impl Value {
/// value = Value.f32(4.2)
/// ```
#[staticmethod]
- #[text_signature = "(value)"]
+ #[pyo3(text_signature = "(value)")]
fn f32(value: f32) -> Self {
Self {
inner: wasmer::Value::F32(value),
@@ -176,7 +176,7 @@ impl Value {
/// value = Value.f64(4.2)
/// ```
#[staticmethod]
- #[text_signature = "(value)"]
+ #[pyo3(text_signature = "(value)")]
fn f64(value: f64) -> Self {
Self {
inner: wasmer::Value::F64(value),
@@ -193,7 +193,7 @@ impl Value {
/// value = Value.v128(42)
/// ```
#[staticmethod]
- #[text_signature = "(value)"]
+ #[pyo3(text_signature = "(value)")]
fn v128(value: u128) -> Self {
Self {
inner: wasmer::Value::V128(value),
diff --git a/packages/api/src/wasi.rs b/packages/api/src/wasi.rs
index 1ae0851f..3e36c2bf 100644
--- a/packages/api/src/wasi.rs
+++ b/packages/api/src/wasi.rs
@@ -98,7 +98,7 @@ impl Into for Version {
/// wasi_state_builder = wasi.StateBuilder('test-program')
/// ```
#[pyclass]
-#[text_signature = "(arguments=[], environments={}, preopen_directories=[], map_directories={})"]
+#[pyo3(text_signature = "(arguments=[], environments={}, preopen_directories=[], map_directories={})")]
pub struct StateBuilder {
inner: wasmer_wasi::WasiStateBuilder,
}
@@ -211,7 +211,7 @@ impl StateBuilder {
/// wasi.StateBuilder('test-program'). \
/// arguments(['--verbose --help'])
/// ```
- #[text_signature = "($self, arguments)"]
+ #[pyo3(text_signature = "($self, arguments)")]
pub fn arguments<'py>(
slf: &'py PyCell,
arguments: &PyList,
@@ -238,7 +238,7 @@ impl StateBuilder {
/// argument('--verbose'). \
/// argument('--help')
/// ```
- #[text_signature = "($self, argument)"]
+ #[pyo3(text_signature = "($self, argument)")]
pub fn argument<'py>(slf: &'py PyCell, argument: String) -> PyResult<&'py PyCell> {
let mut slf_mut = slf.try_borrow_mut()?;
slf_mut.self_argument(argument);
@@ -262,7 +262,7 @@ impl StateBuilder {
/// wasi.StateBuilder('test-program'). \
/// environments({"ABC": "DEF", "X": "YZ"})
/// ```
- #[text_signature = "($self, environments)"]
+ #[pyo3(text_signature = "($self, environments)")]
pub fn environments<'py>(
slf: &'py PyCell,
environments: &PyDict,
@@ -290,7 +290,7 @@ impl StateBuilder {
/// environment("ABC", "DEF"). \
/// environment("X", "YZ")
/// ```
- #[text_signature = "($self, key, value)"]
+ #[pyo3(text_signature = "($self, key, value)")]
pub fn environment<'py>(
slf: &'py PyCell,
key: String,
@@ -319,7 +319,7 @@ impl StateBuilder {
/// wasi.StateBuilder('test-program'). \
/// preopen_directories(["."])
/// ```
- #[text_signature = "($self, preopen_directories)"]
+ #[pyo3(text_signature = "($self, preopen_directories)")]
pub fn preopen_directories<'py>(
slf: &'py PyCell,
preopen_directories: &PyList,
@@ -347,7 +347,7 @@ impl StateBuilder {
/// wasi.StateBuilder('test-program'). \
/// preopen_directory(".")
/// ```
- #[text_signature = "($self, preopen_directory)"]
+ #[pyo3(text_signature = "($self, preopen_directory)")]
pub fn preopen_directory<'py>(
slf: &'py PyCell,
preopen_directory: String,
@@ -371,7 +371,7 @@ impl StateBuilder {
/// wasi.StateBuilder('test-program'). \
/// map_directories({"foo": "."})
/// ```
- #[text_signature = "($self, map_directories)"]
+ #[pyo3(text_signature = "($self, map_directories)")]
pub fn map_directories<'py>(
slf: &'py PyCell,
map_directories: &PyDict,
@@ -395,7 +395,7 @@ impl StateBuilder {
/// wasi.StateBuilder('test-program'). \
/// map_directory("foo", ".")
/// ```
- #[text_signature = "($self, alias, directory)"]
+ #[pyo3(text_signature = "($self, alias, directory)")]
pub fn map_directory<'py>(
slf: &'py PyCell,
alias: String,
@@ -419,7 +419,7 @@ impl StateBuilder {
/// argument('--foo'). \
/// finalize()
/// ```
- #[text_signature = "($self)"]
+ #[pyo3(text_signature = "($self)")]
pub fn finalize(&mut self) -> PyResult {
Ok(Environment::raw_new(
self.inner
@@ -462,7 +462,7 @@ impl Environment {
/// wasi_env = wasi.StateBuilder('test-program').argument('--foo').finalize()
/// import_object = wasi_env.generate_import_object(store, wasi.Version.SNAPSHOT1)
/// ```
- //#[text_signature = "($self, store, wasi_version)"]
+ //#[pyo3(text_signature = "($self, store, wasi_version)")]
fn generate_import_object(&self, store: &Store, wasi_version: Version) -> ImportObject {
let import_object = wasmer_wasi::generate_import_object_from_env(
store.inner(),
diff --git a/packages/compiler-cranelift/Cargo.toml b/packages/compiler-cranelift/Cargo.toml
index 3239aebc..fe3a2759 100644
--- a/packages/compiler-cranelift/Cargo.toml
+++ b/packages/compiler-cranelift/Cargo.toml
@@ -15,9 +15,9 @@ name = "wasmer_compiler_cranelift"
crate-type = ["cdylib"]
[dependencies]
-wasmer_engines = { path = "../engines/" }
+wasmer-engines = { path = "../engines/" }
wasmer-compiler-cranelift = "2.0"
-pyo3 = { version = "0.13", features = ["extension-module"] }
+pyo3 = { version = "0.14", features = ["extension-module"] }
[package.metadata.maturin]
classifier = [
diff --git a/packages/compiler-llvm/Cargo.toml b/packages/compiler-llvm/Cargo.toml
index 93ff96a0..7b78c048 100644
--- a/packages/compiler-llvm/Cargo.toml
+++ b/packages/compiler-llvm/Cargo.toml
@@ -15,9 +15,9 @@ name = "wasmer_compiler_llvm"
crate-type = ["cdylib"]
[dependencies]
-wasmer_engines = { path = "../engines/" }
+wasmer-engines = { path = "../engines/" }
wasmer-compiler-llvm = "2.0"
-pyo3 = { version = "0.13", features = ["extension-module"] }
+pyo3 = { version = "0.14", features = ["extension-module"] }
[package.metadata.maturin]
classifier = [
diff --git a/packages/compiler-singlepass/Cargo.toml b/packages/compiler-singlepass/Cargo.toml
index 3bdbb653..1557d517 100644
--- a/packages/compiler-singlepass/Cargo.toml
+++ b/packages/compiler-singlepass/Cargo.toml
@@ -15,9 +15,9 @@ name = "wasmer_compiler_singlepass"
crate-type = ["cdylib"]
[dependencies]
-wasmer_engines = { path = "../engines/" }
+wasmer-engines = { path = "../engines/" }
wasmer-compiler-singlepass = "2.0"
-pyo3 = { version = "0.13", features = ["extension-module"] }
+pyo3 = { version = "0.14", features = ["extension-module"] }
[package.metadata.maturin]
classifier = [
diff --git a/packages/engines/Cargo.toml b/packages/engines/Cargo.toml
index 381d01de..decf15f1 100644
--- a/packages/engines/Cargo.toml
+++ b/packages/engines/Cargo.toml
@@ -1,5 +1,5 @@
[package]
-name = "wasmer_engines"
+name = "wasmer-engines"
version = "1.0.0"
authors = ["Wasmer Engineering Team "]
edition = "2018"
@@ -13,5 +13,5 @@ publish = false
[dependencies]
wasmer = { version = "2.0", default-features = false, features = ["wat", "universal", "dylib", "compiler"] }
wasmer-compiler = "2.0"
-pyo3 = { version = "0.13", features = ["extension-module"] }
+pyo3 = { version = "0.14", features = ["extension-module"] }
enumset = "1.0.6"
\ No newline at end of file
diff --git a/packages/engines/README.md b/packages/engines/README.md
index db535201..4abbe5e6 100644
--- a/packages/engines/README.md
+++ b/packages/engines/README.md
@@ -1,4 +1,4 @@
-# `wasmer_engines`
+# `wasmer-engines`
This crate is not compiled to a Python package. It represents engines
and sibling types that are shared between the `wasmer` and the
diff --git a/packages/engines/src/engines.rs b/packages/engines/src/engines.rs
index 3bcca765..138e9b2a 100644
--- a/packages/engines/src/engines.rs
+++ b/packages/engines/src/engines.rs
@@ -12,7 +12,7 @@ use std::mem::ManuallyDrop;
/// It is possible to specify a `Target` to possibly cross-compile for
/// a different target. It requires a compiler.
#[pyclass(unsendable, subclass)]
-#[text_signature = "(/, compiler, target)"]
+#[pyo3(text_signature = "(/, compiler, target)")]
pub struct Universal {
inner: wasmer::UniversalEngine,
compiler_name: Option,
@@ -102,7 +102,7 @@ impl Universal {
/// It is possible to specify a `Target` to possibly cross-compile for
/// a different target. It requires a compiler.
#[pyclass(unsendable, subclass)]
-#[text_signature = "(/, compiler, target)"]
+#[pyo3(text_signature = "(/, compiler, target)")]
pub struct Dylib {
inner: wasmer::DylibEngine,
compiler_name: Option,
diff --git a/packages/engines/src/target_lexicon.rs b/packages/engines/src/target_lexicon.rs
index 334f5b67..c11c00fc 100644
--- a/packages/engines/src/target_lexicon.rs
+++ b/packages/engines/src/target_lexicon.rs
@@ -20,7 +20,7 @@ use std::str::FromStr;
/// target = target.Target(triple, cpu_features)
/// ```
#[pyclass]
-#[text_signature = "(triple, cpu_features)"]
+#[pyo3(text_signature = "(triple, cpu_features)")]
pub struct Target {
inner: wasmer_compiler::Target,
}
@@ -70,7 +70,7 @@ impl Target {
/// assert triple.default_calling_convention == 'system_v'
/// ```
#[pyclass]
-#[text_signature = "(triple)"]
+#[pyo3(text_signature = "(triple)")]
pub struct Triple {
inner: wasmer_compiler::Triple,
}
@@ -245,7 +245,7 @@ impl PyObjectProtocol for Triple {
/// cpu_features.add('sse2')
/// ```
#[pyclass]
-#[text_signature = "()"]
+#[pyo3(text_signature = "()")]
pub struct CpuFeatures {
inner: EnumSet,
}
@@ -266,7 +266,7 @@ impl CpuFeatures {
}
/// Add a new CPU feature.
- #[text_signature = "($self, feature)"]
+ #[pyo3(text_signature = "($self, feature)")]
fn add(&mut self, feature: &str) -> PyResult<()> {
self.inner.insert(
wasmer_compiler::CpuFeature::from_str(feature)
diff --git a/tests/test_import_object.py b/tests/test_import_object.py
index bf513389..2e4ecf4f 100644
--- a/tests/test_import_object.py
+++ b/tests/test_import_object.py
@@ -56,7 +56,7 @@ def test_import_memory():
"""
)
- memory = Memory(store, MemoryType(1, shared=False))
+ memory = Memory(store, MemoryType(minimum=1))
view = memory.uint8_view(offset=0)
import_object = ImportObject()
diff --git a/tests/test_memory.py b/tests/test_memory.py
index 4e8a4ff6..b15c31bb 100644
--- a/tests/test_memory.py
+++ b/tests/test_memory.py
@@ -13,7 +13,7 @@ def instance():
def test_constructor():
store = Store()
- memory_type = MemoryType(3, shared=False)
+ memory_type = MemoryType(minimum=3)
memory = Memory(store, memory_type)
assert memory.size == 3
diff --git a/tests/test_wasi.py b/tests/test_wasi.py
index 366f5308..96f0b15a 100644
--- a/tests/test_wasi.py
+++ b/tests/test_wasi.py
@@ -43,23 +43,14 @@ def test_wasi_env_memory():
instance = Instance(Module(store, TEST_BYTES), import_object)
def test_wasi():
- python = sys.executable
- result = subprocess.check_output(
- [
- python,
- '-c',
- 'from wasmer import wasi, Store, Module, Instance; \
- store = Store(); \
- module = Module(store, open("tests/wasi.wasm", "rb").read()); \
- wasi_version = wasi.get_version(module, strict=True); \
- wasi_env = wasi.StateBuilder("test-program").argument("--foo").environments({"ABC": "DEF", "X": "YZ"}).map_directory("the_host_current_dir", ".").finalize(); \
- import_object = wasi_env.generate_import_object(store, wasi_version); \
- instance = Instance(module, import_object); \
- instance.exports._start()'
- ]
- )
+ store = Store()
+ wasi_env = \
+ wasi.StateBuilder("test-program"). \
+ argument("--foo"). \
+ environments({"ABC": "DEF", "X": "YZ"}). \
+ map_directory("the_host_current_dir", "."). \
+ finalize()
+ import_object = wasi_env.generate_import_object(store, wasi.Version.LATEST)
- assert result == b'Found program name: `test-program`\n\
-Found 1 arguments: --foo\n\
-Found 2 environment variables: ABC=DEF, X=YZ\n\
-Found 1 preopened directories: DirEntry("/the_host_current_dir")\n'
+ instance = Instance(Module(store, TEST_BYTES), import_object)
+ instance.exports._start()