18 stable releases (6 major)

new 26.5.5 May 6, 2026
5.1.3 Jan 6, 2026
5.0.2 Dec 21, 2025
4.0.0 Dec 12, 2025
0.2.1 Oct 9, 2025

#7 in #ggen

Download history 9/week @ 2026-01-14 17/week @ 2026-01-21 19/week @ 2026-01-28 7/week @ 2026-02-04 2/week @ 2026-02-11 24/week @ 2026-02-18 17/week @ 2026-02-25 11/week @ 2026-03-04 26/week @ 2026-03-11 21/week @ 2026-03-18 4/week @ 2026-03-25 15/week @ 2026-04-01 13/week @ 2026-04-08 19/week @ 2026-04-15 7/week @ 2026-04-22 11/week @ 2026-04-29

54 downloads per month
Used in 12 crates (9 directly)

MIT license

340KB
6.5K SLoC

ggen-utils - Shared utilities for ggen project

This crate provides common utilities used across the ggen codebase, including:

  • Error handling types and utilities
  • Application configuration management
  • Logging infrastructure
  • Alert system for critical notifications
  • Project configuration types
  • Time utilities
  • Type definitions and helpers
  • User level management

Examples

Error Handling

use ggen_utils::error::Result;
use ggen_utils::error::Error;

fn process_data() -> Result<()> {
    // Operations that may fail
    Ok(())
}

process_data()?;

Configuration

use ggen_utils::app_config::AppConfig;

let config = AppConfig::load()?;
println!("Config loaded: {:?}", config);

ggen-utils

Shared utilities for the ggen project, including configuration management, error handling, logging, and common types.

Features

  • Configuration management with file, environment, and CLI argument support
  • Structured error handling with context and source error chaining
  • Logging setup with multiple output formats (terminal, syslog, journald)
  • Common types and utilities for the ggen ecosystem

Usage

This crate is primarily used internally by other ggen crates. See the main ggen documentation for usage examples.

Dependencies

~30–41MB
~753K SLoC