Skip to main content

bibiflags

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 main.py.
  • Merge Arguments form YAML and existing argparse.ArgumentParser: see example prog.py.

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.5 2024-4-14

Release files for bibiflags 0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bibiflags 0.1.5
File Size Uploaded
bibiflags-0.1.5.tar.gz 45.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bibiflags 0.1.5
File Interpreter ABI Platform
bibiflags-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 54.5 kB

Release files / bibiflags-0.1.5.tar.gz

Download URL bibiflags-0.1.5.tar.gz
Size 45.8 kB
Tags Source
SHA-256 checksum
How to use checksums
7099e0b117542fd82f04aea29d89a8dfa1f18b35200ab9d2ed3729e7521581bb
BLAKE2b-256 checksum
How to use checksums
66b42a1c8c9c05544d4d272d0de25ace6affecbfb42039e52a800fd319296c03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.13.3 CPython/3.8.16 Windows/10

Release files / bibiflags-0.1.5-py3-none-any.whl

Download URL bibiflags-0.1.5-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3baae7599be91b9b833af71d51df852b1e84ec4e255399124c52332c6a9d83c8
BLAKE2b-256 checksum
How to use checksums
c2c02ebfa2f39923dcdf8c626416c862cb482f8935784627bd7f7ebc975a4844
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via pdm/2.13.3 CPython/3.8.16 Windows/10

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page