Skip to main content

flagparse is library to build command-line interfaces

Project description

Flagparse

Build Status

Flagparse is a library for building modular command-line interfaces with accent on nested commands. This library removes the pain of manually constructing the argument parsing and applying handler for each command, all of this is done by this tiny library.

Installation

pip install flagparse

Usage and documentation

Please see the wiki for basic usage and other documentation of using flagparse.

Here is an example of a simple Flagparse app:

import flagparse


class Sum(flagparse.SubCommand):
    """Sub-command to handle numbers summation."""

    name = "sum"
    arguments = [
        (["integers"],
         dict(metavar="INT",
              type=int,
              nargs="+",
              help="integers to be summed")),
    ]

    def handle(self, args: flagparse.Namespace) -> None:
        print(sum(args.integers))


class Calc(flagparse.Command):
    """A simple calculator that sums numbers."""

    name = "calc"


if __name__ == "__main__":
    Calc(subcommands=[Sum]).parse()

How it looks when run:

$ python main.py sum 1 2 3
6

License

The openflow library is distributed under MIT license, therefore you are free to do with code whatever you want. See the LICENSE file for full license text.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flagparse-0.0.3.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

flagparse-0.0.3-py2.py3-none-any.whl (4.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file flagparse-0.0.3.tar.gz.

File metadata

  • Download URL: flagparse-0.0.3.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.5

File hashes

Hashes for flagparse-0.0.3.tar.gz
Algorithm Hash digest
SHA256 17fd07ce5fbb22e04adf441044cfed488e204af0b674a32d1786e2722f096746
MD5 525422a9f119e38423b2dae2ea0061f0
BLAKE2b-256 a8f3e70702c1ab04b0219f01093e6d0f35b534856c8dee38365591cbc682facc

See more details on using hashes here.

File details

Details for the file flagparse-0.0.3-py2.py3-none-any.whl.

File metadata

  • Download URL: flagparse-0.0.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.5

File hashes

Hashes for flagparse-0.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 000d71d35e556a30c49515889c0d10b4f9acb4ef398e0452d132f54648230b99
MD5 4dbe45fa9f496a3c04534b99eb3667c6
BLAKE2b-256 f756aab593b71df9fbde91e6349875b098e9d8198d79ebe4c4b2749b1959f9b5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page