Import YAML configs into Arguments for Python
Project description
bibiflags is a python tool to import YAML configs into Arguments for Python .
It provides 2 ways to use it:
- Parse all Arguments from YAML: see example .
- Merge Arguments form YAML and existing argparse.ArgumentParser: see example .
Getting Started
Requirements and Installation
- Python version >= 3.8
- libaries:
- "PyYAML>=6.0.1"
pip install bibiflags
Install from source via:
pip install git+https://github.com/bibiparrot/bibiflags.git
Or clone the repository and install with the following commands:
git clone git@github.com:bibiparrot/bibiflags.git
cd bibiflags
pip install -e .
Usage
YAML file
flags:
- dest: filename
help: positional args
type: str
required: true
- default: string-type-arguments
dest: str_arg
help: string type args
option_strings:
- --str_arg
- -sa
type: str
- const: true
default: false
dest: bool_arg
help: bool type args
nargs: 0
option_strings:
- --bool_arg
- -ba
type: bool
- default: 8
dest: int_arg
help: int type args
option_strings:
- --int_arg
- -ia
type: int
- default: 0.1
dest: float_arg
help: float type args
option_strings:
- --float_arg
- -fa
type: float
- default:
- 1
- 2
- 3
- 4
dest: list_arg
help: list type args
nargs: +
option_strings:
- --list_arg
- -la
type: int
Parse all Arguments from YAML
from pathlib import Path
from bibiflags import BibiFlags
if __name__ == '__main__':
flags = BibiFlags(root=str(Path(__file__).parent))
print(flags.parameters)
Merge Arguments form YAML and existing argparse.ArgumentParser
from pathlib import Path
from bibiflags import BibiFlags
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo", action='store_true')
flags = BibiFlags(argparser=parser,
root=str(Path(__file__).parent),
app_name='main')
print(flags.parameters)
Changelog
Version 0.1.4 2024-4-12
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bibiflags-0.1.4.tar.gz
(45.7 kB
view hashes)
Built Distribution
Close
Hashes for bibiflags-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d26e129496fcd03834372707392e0f0bd04d289c73a2e5e26f3061508915831 |
|
MD5 | 88037a91a0109917b04d5d2f9b588320 |
|
BLAKE2b-256 | fd333c334027805424b117f23bee3c680d724e0257efe6ae6ba226aab553caff |