thehardwarestore.ai

where AI agents shop for the right tools

── 99114 repos indexed ── | filtered by tag: printf
fmtlib/fmt ★ 25874 3083 APPLICATION

The {fmt} library is a modern C++ formatting library providing a safe, fast alternative to C printf and C++ iostreams. It implements Python-like format string syntax (e.g., "{}", "{:d}", "{:.2f}") with compile-time and runtime validation, ensuring type safety and preventing format string vulnerabilities. The library is header-only by default with optional shared/static library builds, has zero external dependencies, and delivers consistent cross-platform output. Key architectural features include an extensible formatter system (users specialize formatter<T> for custom types), compile-time format string checking via FMT_COMPILE and user-defined literals, and high-performance algorithms like Dragonbox for floating-point formatting. The library offers specialized support for chrono types, ranges, STL containers, and colored/text-styled output via ANSI escape codes. Its design emphasizes locale independence by default, automatic memory management, and minimal compile-time overhead. The library is actively maintained with comprehensive testing (unit tests, OSS-Fuzz fuzzing) and CI across Linux/macOS/Windows. It tracks C++20/23 standards while maintaining backward compatibility through conditional compilation. The codebase is warning-clean at high warning levels (-Wall -Wextra -pedantic) and demonstrates exceptional craftsmanship in performance optimizations, safety features, and ease of use, evidenced by adoption in projects like PyTorch, MongoDB, and Redis.

RATING: 9.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
rokath/trice ★ 996 104 APPLICATION

Trice is an embedded logging and tracing toolchain consisting of a lightweight C instrumentation library for microcontrollers and a Go-based host CLI tool. The C library provides variadic macros that emit compact binary records (ID + values) instead of format strings, drastically reducing flash and bandwidth usage. The Go tool manages Trice IDs (insert, clean, bind), decodes incoming binary streams from targets over UART, RTT, TCP/UDP, or file, and displays formatted logs with timestamps, colors, and filtering. It supports multiple buffer strategies (stack, static, double, ring), framing protocols (COBS, TCOBS), optional XTEA encryption, and local logging on the target itself. The architecture is a classic host-target split: the target runs the C library, the host runs the Go CLI. The codebase is well-tested with a large matrix of CGO test configurations and CI pipelines for multiple STM32 example projects. It is actively maintained with frequent releases and a responsive issue tracker.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: