Thanks to visit codestin.com
Credit goes to lib.rs

2 releases

Uses new Rust 2024

0.0.2 Feb 27, 2026
0.0.1 Feb 19, 2026

#1795 in Configuration


Used in 2 crates

MIT license

69KB
2K SLoC

mical

A simple, line-oriented configuration language.

MICAL treats configuration as a flat sequence of key-value pairs — no deep nesting, no implicit hierarchy. Keys and values live on a single line, grouped visually with prefix blocks but remaining logically flat.

host    localhost
port    8080
enabled true

server. {
  timeout 30
  retries 3
}
$ mical eval config.mical
{
  "host": "localhost",
  "port": 8080,
  "enabled": true,
  "server.timeout": 30,
  "server.retries": 3
}

Install

Crates.io

cargo install mical-cli

Usage

# Evaluate a file (full JSON output)
mical eval config.mical

# Query a specific key
mical eval --get host config.mical

# Query by prefix
mical eval --prefix server. config.mical

# Write output to a file
mical eval -o out.json config.mical

Documentation

See the language documentation for details on syntax, keys, values, prefix blocks, and block strings.

License

MIT

Dependencies

~1MB
~15K SLoC