Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2019-03-27 21:02:32
Size: 241
Editor: SamatJain
Comment: Initial page
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 10: Line 38:

== Hjson ==

 * [[https://lobste.rs/s/dn91bz/why_broot_is_switching_from_toml_hjson_for|Why broot is switching from TOML to Hjson for its configuration files]]

== ucl (Universal Configuration Language) ==

 * Used by FreeBSD, very similar to nginx
 * [[https://github.com/vstakhov/libucl|vstakhov/libucl]]
 * 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

== KDL ==

 * https://kdl.dev/

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)