Skip to main content

Lines of code codecov CodeFactor CodeQL Conda Version Conda Downloads Continuous Integration Contributor Covenant GitHub contributors Documentation Status License Merged PRs OpenSSF Best Practices OpenSSF Scorecard Platforms pre-commit pre-commit.ci Status PyPI - Version PyPI - Downloads Python Version Ruff

reverse_argparse

Whereas argparse is concerned with taking a bunch of command line arguments and parsing them, this package is intended to do the opposite; that is, it'll take the parsed arguments and create the effective command line invocation of the script that generated them. The motivation is to be able to tell users exactly what was used for all of the options, taking into consideration any defaults and other transformations that might've been applied in the midst of parsing, such that users are able to reproduce a prior run of a script exactly.

Installation

To get up and running with reverse_argparse, simply:

python3 -m pip install reverse-argparse

Usage

Once the package is installed, you can simply

from argparse import ArgumentParser

from reverse_argparse import ReverseArgumentParser

# Parse the command line arguments.
parser = ArgumentParser()
# Build out the parser however you like.
args = parser.parse_args()
# Optionally post-process any `args`, as needed.

# Do whatever you need to in the script.

# Wrap things up.
print("This script executed the following:")
unparser = ReverseArgumentParser(parser, args)
print(unparser.get_pretty_command_line_invocation())

For more detailed usage and API information, please see our documentation.

Where to Get Help

If you're having trouble with reverse_argparse, or just want to ask a question, head on over to our issue board. If a quick search doesn't yield what you're looking for, feel free to file an issue.

Contributing

If you're interested in contributing to the development of reverse_argparse, we'd love to have your help :grinning: Check out our contributing guidelines for how to get started. Past contributors include:

License & Copyright

See LICENSE.md and COPYRIGHT.md.

Credits

Special thanks to @mjsumpter for contributing to a prior iteration of this concept, and to the GMS project for investing in the development of this package.

Download files

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

Source Distribution

reverse_argparse-2.0.11.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

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

reverse_argparse-2.0.11-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file reverse_argparse-2.0.11.tar.gz.

File metadata

  • Download URL: reverse_argparse-2.0.11.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for reverse_argparse-2.0.11.tar.gz
Algorithm Hash digest
SHA256 866a37d49aa46383e6af045daf93202c58f4448b4f8a205d069aa71f3ef13188
MD5 bd9d7a9d7eb34d1e9c87279b421feaa2
BLAKE2b-256 1b13d0d266212be5da8a4a7d6827f8fc81a740da236d1582bc4b700e5fe77521

See more details on using hashes here.

Provenance

The following attestation bundles were made for reverse_argparse-2.0.11.tar.gz:

Publisher: semantic-release.yml on sandialabs/reverse_argparse

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

File details

Details for the file reverse_argparse-2.0.11-py3-none-any.whl.

File metadata

File hashes

Hashes for reverse_argparse-2.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 3f81f4127a587d6d311f57a3c2e8b3f14c800e0f688d915201733f9b2b1e43c4
MD5 3b047ffe6a4b71a5d1157f4dba72d3b8
BLAKE2b-256 50c110f97e5096b3d3283fa0565a042facbf0ad3d2b771404403346d96f180eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for reverse_argparse-2.0.11-py3-none-any.whl:

Publisher: semantic-release.yml on sandialabs/reverse_argparse

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 Sentry Error logging StatusPage Status page