API Reference
Reference documentation for the Rux standard packages — the foundation, text, collection, system and data-format packages, cryptography, and the platform bindings for C, Linux, FreeBSD, macOS and Windows.
This reference documents the packages that ship with Rux: every public type, interface, function and constant, what it does and where it lives in the source. It is for looking things up rather than learning — if you are new to the language, start with Learn Rux or the Rux Language Reference.
Rux has no monolithic runtime. Each package below is a dependency a project declares in its manifest, and a program depends only on what it asks for.
Unstable API
None of these packages has a stable API yet. Names, signatures and behaviour may change between releases, and this reference changes with them.
None of these packages has a stable API yet. Names, signatures and behaviour may change between releases, and this reference changes with them.
Foundation
Text
Collections and algorithms
System and I/O
CommandLine
Declarative command-line parsing: options, positional arguments, subcommands and generated help
v0.1.0
Log
Structured logging: levels, typed fields, text and JSON-lines records, a process-wide log for every thread, and log files that rotate by size
v0.1.0
TimeZone
Time zones: the tz database, POSIX rules, the local zone, and local times that happen twice or never
v0.1.0
Concurrency
Data formats
Security
Platform bindings
Reading this reference
Each package has an overview page listing everything it exports, and each type, interface or function has a page of its own. A type's members — constructors, methods, operators and constants — are sections of that page, so every one has a link of its own, such as /docs/api/allocator/arena#reset.
- Header — the declaration's kind, the package version it describes, and a Source button that opens the declaration on GitHub.
- Sidebar — inside a package, the sidebar lists that package only, grouped into interfaces, types, functions and constants. The menu above it switches to another package.
- Platform badges — Linux, FreeBSD, macOS and Windows each bind one operating system's own entry points, with no portability layer, and build only for that platform. Guard every call to them with conditional compilation.