LCONF

L(ight) CONF(iguration): A simple human-readable data serialization format for dynamic configuration.


Keywords
python, markup, configuration, json, yaml
License
BSD-3-Clause
Install
pip install LCONF==7.0.0

Documentation

LCONF

About

LCONF stands for L(ight) CONF(iguration) a light - human-friendly, simple readable data serialization format for dynamic configuration.

Important

REPLACEMENT

  • in many situations LCONF is a suitable replacement for YAML
  • LCONF can be used to replace JSON in many cases

Note

  • LCONF python library is much faster than PyYAML 3.11
  • LCONF python library emits much faster than the python included json (c extension) defaults
  • LCONF python library parses a little bit faster than the python included json (c extension) using an OrderedDict
  • LCONF python library parses still much slower than the python included json (c extension) defaults

The latest documentation can be found online at http://packages.python.org/LCONF.


___SECTION :: A short example with a number of features

# Comment-Line: `List-Of-Tuples`
- people_list |name|height_cm|weight_kg|
   Tim,  178,  86
   John, 166,  67

# Comment-Line: `Repeated-Block-Identifier`
* Persons_BLK
   person1
      first :: Tim
      last :: Doe
      age :: 39
      registered :: true
      salary :: 70000
      sex :: M
      # Comment-Line: `Key :: Value-List`
      - interests :: Reading,Mountain Biking,Hacking
      # Comment-Line: `Key-Value-List`
      - sports
         tennis
         football
         soccer
      # Comment-Line: `Key-Value-Mapping`
      . favorites
         food :: Spaghetti
         sport :: Soccer
         color :: Blue
   person2
      first :: John
      last :: Doe
      age :: 29
      registered :: true
      salary :: 45000
      sex :: M
      # Comment-Line: empty `Key :: Value-List`
      - interests ::
      # Comment-Line: empty `Key-Value-List`
      - sports
      # Comment-Line: `Key-Value-Mapping`
      . favorites
         food :: Pizza
         sport :: None
         color :: Orange
___END

Requirements

See: RequiredSoftware in documentation or:

{SOURCE}/docs/RequiredSoftware.rst

Installation

  1. To install from pypi using pip/pip3:

    $ pip3 install LCONF
    
  2. To install from the source:

    $ python3 setup.py install
    

Building the Documentation

If you wish to generate your own copy of the documentation, you will need to:

  1. Get the LCONF source.

  2. If not already installed - install PSphinxTheme

    $ pip3 install PSphinxTheme
    
  3. If not already installed - install LconfPygmentsLexer

    $ pip3 install LconfPygmentsLexer
    
  4. From the LCONF source directory, run python3 setup.py build_sphinx -E.

  5. Once Sphinx is finished, point a web browser to the file:

    {SOURCE}/build/sphinx/html/index.html
    

Online Resources

Related Resources

Projects using LCONF

projects which make use of: LCONF

  • PyNHEP
    PyNHEP: The N(utrition) and H(ealthy) E(ating) P(lanner).


LCONF is distributed under the terms of the BSD 3-clause license. Consult LICENSE or BSD-3-Clause.

(c) 2014, peter1000 https://github.com/peter1000 All rights reserved.