Lua bindings for POSIX APIs, enabling system-level programming from Lua scripts.
luaposix is a library that provides Lua bindings for POSIX APIs, enabling Lua scripts to perform system-level operations such as file handling, process control, and other POSIX-compliant functions. It solves the problem of accessing low-level operating system features from the high-level Lua scripting language, bridging the gap between Lua's simplicity and system programming needs.
Lua developers and system programmers who need to write scripts that interact with POSIX system APIs, such as those building system utilities, automation tools, or embedded applications on POSIX-compliant platforms.
Developers choose luaposix for its lightweight, direct wrappers around POSIX APIs, compatibility with multiple Lua versions including LuaJIT, and its strict adherence to POSIX standards without platform-specific extensions, ensuring reliable cross-platform behavior.
Lua bindings for POSIX APIs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Compatible with LuaJIT and Lua versions 5.1 through 5.4, as stated in the GitHub description, ensuring flexibility across diverse Lua environments.
Detects system POSIX conformance and binds only available APIs, preventing errors on partial POSIX systems, per the README.
Organized into submodules based on POSIX header files for selective loading, providing thin wrappers without bloat, as per the philosophy section.
Designed for POSIX-compliant systems with no platform-specific code, ensuring reliable behavior across compliant platforms, highlighted in key features.
Installing without LuaRocks requires calling bundled commands and handling dependencies manually, as cautioned in the README, which can be error-prone.
The master branch is described as unstable, sometimes breaking subtly or not building at all, making it risky for production use without official releases.
Adheres only to POSIX APIs with no non-POSIX functionality, meaning missing out on modern or system-specific features that some projects might need.
Curses support was moved to lcurses, requiring additional integration for terminal UI needs, adding complexity for such use cases.