|
Size: 2494
Comment:
|
← Revision 11 as of 2026-04-03 00:36:50 ⇥
Size: 2840
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 58: | Line 58: |
== Starlark (formerly Skylark) == * Rust version of Starlark used in Buck2 supports type annotations, LSP. [[https://news.ycombinator.com/item?id=42370045|Ref]], [[https://github.com/facebook/buck2/tree/main/starlark-rust/vscode|Ref 2]] * [[https://news.ycombinator.com/item?id=42370056|Example of using the Result library in Starlark]] |
General
convfmt: converts between JSON any many other formats (incl. HOCON as of 0.18)
jty-converter: converts between JSON/TOML/YAML
HOCON (Human-Optimized Config Object Notation)
Introduction, with comparison to other formats
- Examples
- Parsing into dataclasses
pyhocon + pydantic: https://gist.github.com/martin1keogh/2817e338fb06ad3573cffcfb8e713ac7
another pyhocon + pydantic: https://gist.github.com/GreyElaina/d851e9c9304085f7101d45725d378f68
pyhocon: Provides CLI tool for conversion between formats
- Dataclasses for configuration management
dataconf: HOCON output by default
hoconvert: Rust-based HOCON converter
Others
HCL
TOML
YAML
crdoconnor/strictyaml: Type-safe parser and validator, subset of YAML 2.0
Hjson
ucl (Universal Configuration Language)
- Used by FreeBSD, very similar to nginx
- Seems best, similar to HOCON, but no modern Python package?
Install python bindings from libucl git repo: https://github.com/vstakhov/libucl/issues/202
nginx conf
crossplane-ng / [[https://github.com/nginxinc/crossplane|crossplane] parses nginx conf in Python
KDL