Configuration file parsing with argparse.
Project description
cargparse :blue_car:
A lightweight library to parse configuration files using argparse
.
- Robust type validation with
argparse
- Supports nested arguments with recursive calls to
argparse
- No syntax to learn, just use
argparse
!! :rocket:
Currently supports yaml
/yml
and json
files. ini
, toml
,
and others are under development.
Contributions welcome! :handshake:
Installation
pip install cargparse
Usage
Given config.yaml
...
text: hello world
decimal: 0.5
boolean: False
...your script might look like this...
import argparse
import cargparse
parser = argparse.ArgumentParser()
parser.add_argument('--text', type=str)
parser.add_argument('--decimal', type=float)
parser.add_argument('--boolean', type=lambda x: eval(x))
args = cargparse.YAML(parser=parser, filename='config.yaml')
...which returns a Namespace
object, just like ArgumentParser.parse_args()
!
>> args
Namespace(text='hello world', decimal=0.5, boolean=False)
>> args.text
'hello world'
>> type(args.decimal)
<class 'float'>
:boom: Nested dictionaries are Namespace
objects, too!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cargparse-0.0.6.tar.gz
(4.2 kB
view hashes)
Built Distribution
Close
Hashes for cargparse-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e32a80adb33bea2998fe97785ddfb8c9d5f2a42a2f7d129ac423e2db327e7688 |
|
MD5 | 00fd4e32165717df1b039b2463b2585a |
|
BLAKE2b-256 | 6ecbe7e45b1e8c19134dbcda086c81a53ab62f59f3bf85cd96b6780e3d4a01ea |