python-argparse-generator
TypeScript icon, indicating that this package has built-in type declarations

0.2.1 • Public • Published

Python Argparse Generator

npm version

Package for generation of Python code (as text) to streamline writing boilerplate Python argparse setup.

Installing

Using npm:

$ npm install python-argparse-generator

Using unpkg CDN:

<script src="https://unpkg.com/python-argparse-generator/lib/index.js"></script>

Example

Within HTML:

<html>
<head>
    <script>var exports={}</script>
    <script src="https://unpkg.com/python-argparse-generator/lib/index.js"></script>
</head>
<script>
    const pythonCode = argparseCode([
        { name: 'folder', type: 'str' },
        { name: 'limit', type: 'int' },
    ]);
    console.log(pythonCode);
</script>
</html>

Within Typescript:

import { Argument, argparseCode } from 'python-argparse-generator';

const args: Argument[] = [
    { name: 'folder', type: 'str' },
    { name: 'limit', type: 'int' },
];

const pythonCode = argparseCode(args);

Where content of pythonCode string is:

import argparse
from typing import Dict, Any
  
def main(folder: str, limit: int) -> None:
    # Contents of main
    return


def cli() -> Dict[str, Any]:
    formatter_class = argparse.ArgumentDefaultsHelpFormatter
    parser = argparse.ArgumentParser(formatter_class=formatter_class)

    parser.add_argument("folder", type=str, default="/data")
    parser.add_argument("limit", type=int, default=10)

    args = parser.parse_args()

    return {"folder": args.folder,
            "limit": int(args.limit)}

if __name__ == '__main__':
    args = cli()
    main(folder=args["folder"], limit=args["limit"])

Package Sidebar

Install

npm i python-argparse-generator

Weekly Downloads

2

Version

0.2.1

License

MIT

Unpacked Size

7.66 kB

Total Files

4

Last publish

Collaborators

  • haeckelk