[package] name = "mlua" version = "0.9.0-rc.2" # remember to update mlua_derive authors = ["Aleksandr Orlenko ", "kyren "] rust-version = "1.71" edition = "2021" repository = "https://github.com/khvzak/mlua" documentation = "https://docs.rs/mlua" readme = "README.md" keywords = ["lua", "luajit", "luau", "async", "scripting"] categories = ["api-bindings", "asynchronous"] license = "MIT" description = """ High level bindings to Lua 5.4/5.3/5.2/5.1 (including LuaJIT) and Roblox Luau with async/await features and support of writing native Lua modules in Rust. """ [package.metadata.docs.rs] features = ["lua54", "vendored", "async", "send", "serialize", "macros", "parking_lot", "unstable"] rustdoc-args = ["--cfg", "docsrs"] [workspace] members = [ "mlua_derive", "mlua-sys", ] [features] lua54 = ["ffi/lua54"] lua53 = ["ffi/lua53"] lua52 = ["ffi/lua52"] lua51 = ["ffi/lua51"] luajit = ["ffi/luajit"] luajit52 = ["luajit", "ffi/luajit52"] luau = ["ffi/luau"] luau-jit = ["luau", "ffi/luau-codegen"] luau-vector4 = ["luau", "ffi/luau-vector4"] vendored = ["ffi/vendored"] module = ["mlua_derive", "ffi/module"] async = ["futures-util"] send = [] serialize = ["serde", "erased-serde", "serde-value"] macros = ["mlua_derive/macros"] unstable = [] [dependencies] mlua_derive = { version = "=0.9.0-rc.2", optional = true, path = "mlua_derive" } bstr = { version = "1.0", features = ["std"], default_features = false } once_cell = { version = "1.0" } num-traits = { version = "0.2.14" } rustc-hash = "1.0" futures-util = { version = "0.3", optional = true, default-features = false, features = ["std"] } serde = { version = "1.0", optional = true } erased-serde = { version = "0.3", optional = true } serde-value = { version = "0.7", optional = true } parking_lot = { version = "0.12", optional = true } ffi = { package = "mlua-sys", version = "0.3.1", path = "mlua-sys" } [dev-dependencies] rustyline = "12.0" criterion = { version = "0.5", features = ["async_tokio"] } trybuild = "1.0" futures = "0.3.5" hyper = { version = "0.14", features = ["client", "server"] } reqwest = { version = "0.11", features = ["json"] } tokio = { version = "1.0", features = ["full"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" maplit = "1.0" tempfile = "3" static_assertions = "1.0" [[bench]] name = "benchmark" harness = false required-features = ["async"] [[example]] name = "async_http_client" required-features = ["async", "macros"] [[example]] name = "async_http_reqwest" required-features = ["async", "serialize", "macros"] [[example]] name = "async_http_server" required-features = ["async", "macros"] [[example]] name = "async_tcp_server" required-features = ["async", "macros"] [[example]] name = "guided_tour" required-features = ["macros"] [[example]] name = "serialize" required-features = ["serialize"] [[example]] name = "userdata" required-features = ["macros"]