/lynx

Python configuration library

Primary LanguagePythonMIT LicenseMIT

lynx

Simple python configuration library and format. The format is very similar to YAML with the enhancment of sections.

##Installation

Install the lynx package with pip:

pip install lynx

##Example use

Configuration example:

# section example
section {
	# fields
	field1: myfield1 value
	field2: Another field value
	
	# lists
	mylist: [5, mystr, value, 8]
}


# Another section
section2 {
	
	# sub section example
	my_section {
		name: lynx
	}

	# sections can have same name.	
	my_section {
	    # multiline fields
		Library description:|
		    Lynx is a python
		    Configuration library.
		    This is multiline example.

		myfloat: 5.3
	}
}

Load the configuration:

>>> import lynx

# Load file
>>> with open("config.conf", "r") as fp:
...     config = lynx.load(fp)

# Get the first section
>>> config[0].name()
'section'
>>> config[0].fields()
{'field2': 'Another field value', 'field1': 'myfield1 value', 'mylist': [5, 'mystr', 'value', 8]}

# Get sub sections
>>> config[1].sub_sections()
[<lynx.Section object at 0x7f4ab28dfdd0>, <lynx.Section object at 0x7f4ab28dfe10>]
>>> config[1].sub_sections()[0].name()
'my_section'

Features

Features include:

  • Sections
  • Sub sections
  • Lists
  • Multiline fields
  • Load & dump
  • Types:
    • Strings
    • Integers
    • Floats