Parse command line arguments by defining dataclasses
Project description
TypedArgs
Strong typed command line argument parser for Python.
This project is inspired by TeXitoi/structopt.
Install
From pypi
pip install typed-args
If you want to use it on python 3.5 and 3.6 please install dataclasses
:
pip install dataclasses
Core Functionality
Check _test_v0_6.py for add_argument_group
and add_subparsers
.
Create a parser
argparse
import argparse
parser = argparse.ArgumentParser(prog='ProgramName')
typed-args
import typed_args as ta
@ta.argument_parser(prog='ProgramName')
class Args:
pass
Add arguments
argparse
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('filename') # positional argument
parser.add_argument('-c', '--count') # option that takes a value
parser.add_argument('-v', '--verbose',
action='store_true') # on/off flag
typed-args
import typed_args as ta
@ta.argument_parser()
class Args:
filename: str = ta.add_argument() # positional argument, use the attribute name automatically
count: str = ta.add_argument('-c', '--count') # option that takes a value, also can be annotated as Optional[str]
verbose: bool = ta.add_argument('-v', '--verbose',
action='store_true') # on/off flag
Parse args
argparse
args = parser.parse_args()
print(args.filename, args.count, args.verbose)
typed-args
args = Args.parse_args()
print(args.filename, args.count, args.verbose)
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
typed_args-0.6.0.tar.gz
(4.6 kB
view hashes)
Built Distribution
Close
Hashes for typed_args-0.6.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c8e844ff228e82450fbb233d95064c1ffa6be5342cede3ebaecd79a2505cbe2 |
|
MD5 | 92c2b3eb76672aeeb6dd310b22541748 |
|
BLAKE2b-256 | 6ee854d90331cd1a460213e7b34f72fc0436c7ba21136dd82152358f90399503 |