Differences between revisions 2 and 7 (spanning 5 versions)
Revision 2 as of 2022-07-21 20:55:29
Size: 571
Editor: SamatJain
Comment:
Revision 7 as of 2025-06-05 05:36:16
Size: 2408
Editor: SamatJain
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== General ==

 * [[https://github.com/oriontvv/convfmt|convfmt]]: converts between JSON any many other formats
 * [[https://github.com/alceal/jty-converter|jty-converter]]: converts between JSON/TOML/YAML

== HOCON (Human-Optimized Config Object Notation) ==

 * [[https://blog.ometer.com/2015/09/07/json-like-config-a-spectrum-of-underoverengineering/|Introduction]], with comparison to other formats
 * [[https://github.com/lightbend/config/blob/main/HOCON.md|Specification]]
 * Examples
   * [[https://docs.spongepowered.org/stable/en/server/getting-started/configuration/sponge-conf.html|sponge's global.conf]]
  * [[https://www.puppet.com/docs/pe/2019.8/config_files.html|Writing HOCON from Puppet's documentation]]
 * Parsing into dataclasses
  * pyhocon + pydantic: https://gist.github.com/martin1keogh/2817e338fb06ad3573cffcfb8e713ac7
  * another pyhocon + pydantic: https://gist.github.com/GreyElaina/d851e9c9304085f7101d45725d378f68
 * [[https://github.com/chimpler/pyhocon/|pyhocon]]: Provides CLI tool for conversion between formats
 * Dataclasses for configuration management
  * [[https://github.com/zifeo/dataconf|dataconf]]: HOCON output by default
  * [[https://github.com/stasharrofi/pytyped/tree/master/pytyped-hocon|pytyped-hocon]]

 * [[https://github.com/maoertel/hoconvert|hoconvert]]: Rust-based HOCON converter

== Others ==

 * HConfig
 * Dhall
 * [[https://doc.dovecot.org/2.4.1/core/settings/syntax.html|Dovecot config syntax]]
Line 17: Line 45:
 * Used by FreeBSD  * Used by FreeBSD, very similar to nginx
Line 19: Line 47:
 * 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 ==

 * [[https://pypi.org/project/crossplane-ng/|crossplane-ng]] / [[https://github.com/nginxinc/crossplane|crossplane] parses nginx conf in Python

General

  • convfmt: converts between JSON any many other formats

  • jty-converter: converts between JSON/TOML/YAML

HOCON (Human-Optimized Config Object Notation)

Others

HCL

TOML

YAML

Hjson

ucl (Universal Configuration Language)

nginx conf

KDL

SamatsWiki: ConfigurationLanguages (last edited 2025-06-09 16:49:41 by SamatJain)