Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
render CLI arguments (sub-commands friendly) defined by argparse module
Render CLI arguments (sub-commands friendly) defined by the argparse module. For live demo checkout the documentation of tox, pypa-build and mdpo.
python -m pip install sphinx-argparse-cli
conf.py
# just add it to your list of extensions to load within conf.py
extensions = ["sphinx_argparse_cli"]
Within the reStructuredText files use the sphinx_argparse_cli
directive that takes, at least, two arguments:
Name | Description |
---|---|
module | the module path to where the parser is defined |
func | the name of the function that once called with no arguments constructs the parser |
prog | (optional) when provided, overwrites the <prog> name. |
hook | (optional) hook argparse to retrieve the parser if func uses a parser instead of returning it. |
title | (optional) when provided, overwrites the <prog> - CLI interface title added by default and when empty, will not be included |
description | (optional) when provided, overwrites the description and when empty, will not be included |
epilog | (optional) when provided, overwrites the epilog and when empty, will not be included |
usage_width | (optional) how large should usage examples be - defaults to 100 character |
usage_first | (optional) show usage before description |
group_title_prefix | (optional) groups subsections title prefixes, accepts the string {prog} as a replacement for the program name - defaults to {prog} |
group_sub_title_prefix | (optional) subcommands groups subsections title prefixes, accepts replacement of {prog} and {subcommand} for program and subcommand name - defaults to {prog} {subcommand} |
no_default_values | (optional) suppresses generation of default entries |
force_refs_lower | (optional) Sphinx :ref: only supports lower-case references. With this, any capital letter in generated reference anchors are lowered and given an _ prefix (i.e. A becomes _a ) |
For example:
.. sphinx_argparse_cli::
:module: a_project.cli
:func: build_parser
:prog: my-cli-program
If you have code that creates and uses a parser but does not return it, you can specify the :hook:
flag:
.. sphinx_argparse_cli::
:module: a_project.cli
:func: main
:hook:
:prog: my-cli-program
The tool will register reference links to all anchors. This means that you can use the sphinx ref
role to refer to
both the (sub)command title/groups and every flag/argument. The tool offers a configuration flag
sphinx_argparse_cli_prefix_document
(change by setting this variable in conf.py
- by default False
). This option
influences the reference ids generated. If it's false the reference will be the anchor id (the text appearing after the
'#
in the URI once you click on it). If it's true the anchor id will be prefixed by the document name (this is useful
to avoid reference label clash when the same anchors are generated in multiple documents).
For example in case of a tox
command, and sphinx_argparse_cli_prefix_document=False
(default):
:ref:`tox-optional-arguments`
,:ref:`tox-run`
,--magic
of the run
sub-command use :ref:`tox-run---magic`
.For example in case of a tox
command, and sphinx_argparse_cli_prefix_document=True
, and the current document name
being cli
:
:ref:`cli:tox-optional-arguments`
,:ref:`cli:tox-run`
,--magic
of the run
sub-command use :ref:`cli:tox-run---magic`
.Due to Sphinx's :ref:
only supporting lower-case values, if you need to distinguish mixed case program names or
arguments, set the :force_refs_lower:
argument. With this flag, captial-letters in references will be converted to
their lower-case counterpart and prefixed with an _
. For example:
prog
name SampleProgram
will be referenced as :ref:`_sample_program...`
.-a
and -A
use :ref:`_sample_program--a`
and
:ref:`_sample_program--_a`
respectivelyNote that if you are not concerned about using internal Sphinx :ref:
cross-references, you may choose to leave this
off to maintain mixed-case anchors in your output HTML; but be aware that later enabling it will change your anchors in
the output HTML.
FAQs
render CLI arguments (sub-commands friendly) defined by argparse module
We found that sphinx-argparse-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.