Skip to main content

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.

Release files for flagparse 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flagparse 0.0.3
File Size Uploaded
flagparse-0.0.3.tar.gz 3.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flagparse 0.0.3
File Interpreter ABI Platform
flagparse-0.0.3-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 8.8 kB

Release files / flagparse-0.0.3.tar.gz

Download URL flagparse-0.0.3.tar.gz
Size 3.9 kB
Tags Source
SHA-256 checksum
How to use checksums
17fd07ce5fbb22e04adf441044cfed488e204af0b674a32d1786e2722f096746
BLAKE2b-256 checksum
How to use checksums
a8f3e70702c1ab04b0219f01093e6d0f35b534856c8dee38365591cbc682facc
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / flagparse-0.0.3-py2.py3-none-any.whl

Download URL flagparse-0.0.3-py2.py3-none-any.whl
Size 4.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
000d71d35e556a30c49515889c0d10b4f9acb4ef398e0452d132f54648230b99
BLAKE2b-256 checksum
How to use checksums
f756aab593b71df9fbde91e6349875b098e9d8198d79ebe4c4b2749b1959f9b5
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page