Argparse-Dataclass

2.0.0 · active · verified Tue Apr 14

argparse-dataclass simplifies creating command-line interfaces by automatically generating `argparse` arguments from Python dataclasses. It uses type hints for argument type inference and supports features like default values, help messages, and argument groups. The current version is 2.0.0, and it generally follows an as-needed release cadence for bug fixes and feature enhancements.

Warnings

Install

Imports

Quickstart

Define your CLI arguments using a dataclass, then pass the dataclass type to ArgumentParser to automatically generate and parse arguments. This example demonstrates basic type inference and default values.

from dataclasses import dataclass
from argparse_dataclass import ArgumentParser

@dataclass
class Config:
    input_file: str
    output_dir: str = 'output'
    verbose: bool = False
    port: int = 8080

def main():
    parser = ArgumentParser(Config)
    config = parser.parse_args(['--input-file', 'data.txt', '--verbose'])
    print(f"Input: {config.input_file}, Output: {config.output_dir}, Verbose: {config.verbose}, Port: {config.port}")

if __name__ == '__main__':
    main()

view raw JSON →