Skip to content

silvncr/jarguments

Repository files navigation

jarguments

simplifying args jargon

version status downloads

license format pyversions

repo-size code-size

Summary

Provides a straightforward way to create command line arguments.

  • 🐍 Supports Python 3.8 and above. Tested on Windows 10.
  • 🚧 This project is still in development. Contributions are welcome!
  • ⭐ Show your support by leaving a star!

Contents

Installation

python -m pip install --upgrade jarguments

Warning

All versions before 0.3.0 have been unpublished due to a major oversight. Please update to the latest version.

Usage

There are three steps to using the jarguments library:

  1. Import the jarguments library.

    from jarguments import create, parse
  2. Provide your arguments with jarguments' classes.

    # argument parser
    args = parse.JParser(
    
      # boolean argument
      create.JBool('show-text', helpstring='determines whether "text" is shown'),
    
      # integer argument
      create.JInt('number', default=1),
    
      # string argument
      create.JStr('text'),
    )
  3. Use the outputs; they're parsed automatically!

    if args.show_text:
      for _ in range(args.number):
        print(args.text)

Now it works just like any other command line application.

$ python example.py --show-text --text "hello" "world"
["hello", "world"]
  • Arguments without a default value are required. If you don't provide them, the script will raise an error:

    $ python example.py --show-text
    error: the following arguments are required: --text
  • The --help/-h flag displays help messages:

    $ python example.py -h
    usage: example.py [-h] [--show-text [SHOW_TEXT]] [--number NUMBER] --text [TEXT ...]
    
    options:
      -h, --help            show this help message and exit
      --show-text [SHOW_TEXT]
                            determines whether "text" is shown
      --number NUMBER
      --text [TEXT ...]