Skip to main content

Enhance ArgumentParser with a TCP-based API for argument handling.

Project description

netargparse

A Python library that imbues the standard ArgumentParser with an API for the Python script.

This library is intended as a replacement for the ArgumentParser of the standard argparse library, providing an additional TCP based API for handling the arguments of the script.

A minimal example minimal.py with the ArgumentParser could be

from argparse import ArgumentParser

def add_one(args):
    new_number = args.x + 1
    print(new_number)
    return(new_number)

parser = ArgumentParser()
parser.add_argument("-x", type=int, required=True)
args = parser.parse_args()
add_one(args)

and running the script results in

$ python minimal.py -x 5
6

Replacing the ArgumentParser with the NetArgumentParser from this library:

from netargparse import NetArgumentParser

def add_one(args):
    new_number = args.x + 1
    print(new_number)
    return(new_number)

parser = NetArgumentParser()
parser.add_argument("-x", type=int, required=True)
parser(add_one)

The script can now be run in two modes:

  • main - standalone, same behaviour as above
  • nap - enable the API

Main

All arguments must be passed from the CLI after the main argument.

$ python minimal.py main -x 5
6

Nap

nap makes the script listen on a port and wait for the arguments.

$ python minimal.py nap --port 7000 --http

It is then possible to run the main function of the script by sending an HTTP get request with url parameters as arguments.

For example visit http://localhost:7000/?-x=5 with a browser and receive the script's return as json.

{"response": 6, "exception": "", "finished": 1}

Installation

pip install netargparse

No additional libraries will be installed. All libraries used are part of The Python Standard Library.

Documentation

More documentation can be found in docs.

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

netargparse-0.2.3.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netargparse-0.2.3-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file netargparse-0.2.3.tar.gz.

File metadata

  • Download URL: netargparse-0.2.3.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for netargparse-0.2.3.tar.gz
Algorithm Hash digest
SHA256 c8187dc0a91e94f969498f4daf7b60f457f3b0ca23fbe613fd62f0b8fffd5e96
MD5 f04b20bb18ce7a56ce7bd38cc2a21647
BLAKE2b-256 f095749e70ed4898ffe5e05726ab3ecb80527b5dd93dd15f1f4dbd18377a7589

See more details on using hashes here.

Provenance

The following attestation bundles were made for netargparse-0.2.3.tar.gz:

Publisher: cd.yml on kvnglb/netargparse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file netargparse-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: netargparse-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for netargparse-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4cbac4835b8207b14c3f1b68170bf5e9831e932a108a10e7eb59e184b22beceb
MD5 d1bbd4d3bebef2dfc620ea4e5de6fa05
BLAKE2b-256 45fcc391365fbe773a2700b9f55062a69bfa59ccd59f5767c8d4e2f10c5dcd73

See more details on using hashes here.

Provenance

The following attestation bundles were made for netargparse-0.2.3-py3-none-any.whl:

Publisher: cd.yml on kvnglb/netargparse

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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