vnd:*: Vendored crate modules
The vnd:* namespace exposes individual Rust crates to Lua. Each module wraps exactly one upstream crate, and the module name matches the crate name verbatim. There is no renaming, no aliasing, no merging of crates into composite modules — require("vnd:hyper") always means the hyper crate, and never anything else.
This naming rule is non-negotiable. It is what lets scripts reach for an upstream crate by its real name, find its real surface (modulo Lua adaptations), and locate its real documentation without indirection.
Reference
HTTP and networking
vnd:hyper— HTTP client and server backed by thehypercrate.
Data formats
vnd:serde_json— JSON parsing and serialisation.vnd:serde_yaml— YAML parsing and serialisation.vnd:toml— TOML parsing and serialisation.vnd:quick_xml— XML parsing and serialisation viaquick-xml.vnd:jsonschema— JSON Schema validation.
Databases
vnd:rusqlite— SQLite viarusqlite(bundled).vnd:sqlx_mysql— MySQL viasqlx.vnd:sqlx_postgres— PostgreSQL viasqlx.
Test infrastructure
vnd:testcontainers_modules— Test containers for integration tests.
See also
- The module system — How
require("vnd:name")resolves and the naming rule. std:*— Standard-library mirrors.lib:*— Blessed gap-fillers and project-native modules.