Skip to content

phoenixr-codes/powercli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

PowerCLI

Build powerful command-line applications in Python ๐Ÿโšก

Features

  • โœ… Simple & Advanced API
  • โœ… Type Hints
  • โœ… Easy to test
  • โœ… Well documented

Installation

Poetry

poetry add powercli-python

uv

uv add powercli-python

Manual Installation

Add powercli

dependencies = [
  "powercli-python"
]

Overview

Highly Configurable

Commands and arguments are highly configurable yet provide good defaults to work well out of the box.

import sys
from powercli import Command

cmd = Command(
    # Windows-style flag prefixes
    prefix_short=None,
    prefix_long="/",

    # use other stream
    file=sys.stderr,
)

Object Oriented

Arguments are classes which can be instantiated dynamically and are not directly bound to a parser class.

from pathlib import Path
from powercli import Flag

cmd = Command()

flag = Flag(
    short="f",
    values=[("PATH", Path)],
)
cmd.add_arg(flag)

# ... or use the shorthand ...

cmd.flag(
    short="f",
    values=[("PATH", Path)]
)

Generate man pages

$ python3 -m powerdoc path/to/file.py --man
$ python3 -m powerdoc path/to/file.py --man | groff -T utf8 -man

Colored output

The built-in provided flags and commands make use of colored output respecting the user's preference.

About

Build powerful command-line applications in Python ๐Ÿโšก

Topics

Resources

License

Stars

Watchers

Forks