python-jsonargparse
Port variant v12
Summary JSON argument and config file parser (3.12)
Package version 4.40.0
Homepage https://pypi.org/project/jsonargparse/
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v13
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 17 MAY 2025, 00:16:26 UTC
Port created 08 JAN 2023, 04:18:24 UTC
Subpackage Descriptions
single jsonargparse ============ Docs: https://jsonargparse.readthedocs.io/ | Source: https://github.com/omni-us/jsonargparse/ jsonargparse is a library for creating command-line interfaces (CLIs) and making Python apps easily configurable. It is a well-maintained project with frequent releases, adhering to high standards of development: semantic versioning, deprecation periods, changelog, automated testing, and full test coverage. Although jsonargparse might not be widely recognized yet, it already boasts a [substantial user base ]. Most notably, it serves as the framework behind pytorch-lightning's [LightningCLI ]. Teaser examples --------------- CLI with minimal boilerplate: .. code-block:: python from jsonargparse import auto_cli def main_function(...): # your main parameters and logic here ... if __name__ == "__main__": auto_cli(main_function) # parses arguments and runs main_function Minimal boilerplate but manually parsing: .. code-block:: python from jsonargparse import auto_parser parser = auto_parser(main_function) cfg = parser.parse_args() ... Powerful argparse-like low level parsers: .. code-block:: python from jsonargparse import ArgumentParser parser = ArgumentParser() parser.add_argument("--config", action="config") # support config files parser.add_argument("--opt", type=Union[int, Literal["off"]]) # complex arguments via type hints parser.add_function_arguments(main_function, "function") # add function parameters parser.add_class_arguments(SomeClass, "class") # add class parameters ... cfg = parser.parse_args() init = parser.instantiate_classes(cfg) ... Features -------- jsonargparse is user-friendly and encourages the development of **clean, high-quality code**. It encompasses numerous powerful features, some unique to jsonargparse, while also combining advantages found in similar packages: - **Automatic** creation of CLIs, like [Fire ], [Typer ], [Clize ] and [Tyro ]. - Use **type hints** for argument validation, like [Typer ], [Tap ] and [Tyro ]. - Use of **docstrings** for automatic generation of help, like [Tap ], [Tyro ] and [SimpleParsing ]. - Parse from **configuration files** and **environment variables**, like [OmegaConf], [dynaconf ], [confuse ] and [configargparse ]. - **Dataclasses** support, like [SimpleParsing ] and [Tyro ].
Configuration Switches (platform-specific settings discarded)
PY312 ON Build using Python 3.12 PY313 OFF Build using Python 3.13
Package Dependencies by Type
Build (only) python312:dev:std
python-pip:single:v12
autoselect-python:single:std
Build and Runtime python312:primary:std
Runtime (only) python-PyYAML:single:v12
Download groups
main mirror://PYPIWHL/cc/b7/1cd333988594bf4b2cf6aa92073ebb57e7db15bcd6ef8ef45b6e68caeb9c
Distribution File Information
5822a84efa7d10d2a5aacc3fc6c6414ea2919419a398c06d9e8ac79a420365af 224276 python-src/jsonargparse-4.40.0-py3-none-any.whl
Ports that require python-jsonargparse:v12
python-netbox-agent:v12 NetBox agent for server (3.12)