toolchest-0.0.1 has been yanked.
toolchest - Essential Utility Collection for Rust
Your essential collection of Rust utilities - everything itertools doesn't do.
Why toolchest?
Every craftsperson needs a well-organized toolchest. In Rust, you need two utility crates:
itertools- for collection/iterator operationstoolchest- for everything else
Together, they provide a complete utility toolkit without scattered dependencies.
Quick Start
use Itertools; // For collections
use *; // For everything else
// String manipulation
let snake = to_snake_case; // "hello_world"
// Math utilities
let rounded = round; // 3.14
let clamped = clamp; // 10
// Deep operations
// let merged = deep::merge(&default_config, &user_config);
// Function combinators
// let search = functions::debounce(expensive_search, Duration::from_millis(300));
// Type utilities
let is_empty = ;
Installation
Add to your Cargo.toml:
[]
= "1.0"
Modules at a Glance
For full API details, see the docs: https://docs.rs/toolchest
Strings
- case conversion/manipulation/escape/words/slug/validators and more
Math
- rounding/stats/ranges/numeric helpers/primes/vectors/distances
Deep
- clone/merge/equal/path and JSON path (feature:
json)
Functions
- debounce/throttle/memoize/retry/backoff/compose/rate-limiters/timeout
Types
- checking/conversions/non-empty and helpers
Collections
- chunk/uniq/set ops/grouping/windows/cartesian/transpose/sort/find
Time
- humanize/parse/stopwatch/backoff/cron-lite
Random
- ranges/choices/uuid/bytes
Hash
- djb2/fnv1a/murmur3/consistent hash
IO (feature: fs)
- read/write/dirs/find files
Validation
- Luhn, ascii/utf8
Encoding
- hex, rot13/caesar
Performance
- Zero runtime dependencies
- Zero-cost abstractions
- Optimized for common cases
- Optional
no_stdsupport
Migration from Common Crates
Replacing multiple utility crates with toolchest:
# Before
[]
= "0.6"
= "0.4"
= "0.2"
# After
[]
= "1.0"
Contributing
See CONTRIBUTING.md for guidelines.
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.