Helpers4 Rust
General-purpose Rust helpers — one crate, one module per category, zero third-party dependencies by default, exhaustively tested.
Quick Links
Section titled “Quick Links”- Get Started — install the crate, or just the modules you need
- Browse Modules — every helper, with its signature, parameters, errors and examples
- AI & LLM Support —
llms.txtand the full machine-readable reference - crates.io · docs.rs · GitHub · License (LGPL-3.0)
What is helpers4?
Section titled “What is helpers4?”A collection of small, well-tested helpers to stop rewriting the same utility code across every project: text, slices, hexadecimal, .env files, expiring caches, network address checks, HTTP header values, the system clock. Helpers that the standard library already covers are simply not provided (chunks, partition, zip, …).
It grew out of code that kept being copied between real projects, then reviewed and hardened until it was worth publishing. See the philosophy for the reasoning.
- ✅ One crate, one Cargo feature per module — compile only what you use
- ✅ Zero third-party dependencies by default — nothing but
stdin your build - ✅ No
unsafe— andunwrap,expectandpanic!are denied outside tests; fallible helpers return typed errors you can match on - ✅ Battle-tested — 100% line, function and region coverage; unit, property-based and doc tests; mutation testing; benchmarks
- ✅ Explicit inputs — the clock and the process environment are parameters, never read behind your back
- ✅ Names may repeat across modules — always imported through the module path, see Names and imports
- ✅ AI-ready — the whole reference is one file, and every example in the module pages is a doctest that runs in CI
Installation
Section titled “Installation”Every module is enabled by default. To compile only what you use, list the modules (each one is a Cargo feature of the same name):
Details, and the list of modules, in Getting Started and Modules.
A taste
Section titled “A taste”Status
Section titled “Status”The crate is pre-1.0: the API can still change between 0.0.x releases, and every change is listed in the changelog.
Contributing
Section titled “Contributing”Found a bug or want to suggest a helper? Open an issue on the Rust repository, and read Contributing before sending code.
Want to improve this documentation? Use the Edit page link at the bottom of any page, or open an issue on the website repository. The module pages are generated from the crate’s own documentation, so a fix to a helper’s description belongs in its source.
