8000 GitHub - juhasch/yamleins: Load yaml config files. Supports units, calculations and range checks
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

juhasch/yamleins

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yamleins - Yaml-based Configuration Validation

A dataclass that handles reading YAML files into a configuration object. It also handles writing the configuration object back to a YAML file.

Addtionally, it handles

  • YAML templates to define default values, range, type, docstrong
  • Simple calculations
  • Physical units

Exmaple for a template file:

blue_time:
    type: float
    default: 20us
    unit: s
    doc: Duration of the blue time
    range: [1 ns, 1s]

num_blue_time:
    type: int
    default: 128
    unit: None
    doc: Number of blue times
    range: [1, 1000]

white_time:
    type: float
    default: 1ms
    unit: s
    doc: Duration of a single white time frame
    range: [1 ns, 1s]

Example of a configuration file:

blue_time: 20us
num_blue_time: 128
white_time: num_blue_time * blue_time

Create a configuration object:

config = YamlConfig.create('template.yaml')

Then load a configuration file:

config.load('config.yaml')

The configuration object can be used like a dictionary:

    print(config['blue_time'])

or

    print(config.blue_time)

About

Load yaml config files. Supports units, calculations and range checks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0