python-jsonargparse
Port variant v12
Summary JSON argument and config file parser (3.12)
Package version 4.41.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 14 SEP 2025, 21:31:39 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/62/fc/6ac1943f22f3d2e14703335d64a7d68496f0480c82a3077cde44b2c55ef5
Distribution File Information
cd49b6a2fea723ee4d80f9df034f51af226128a7f166be8755d6acdeb3e077a7 228528 python-src/jsonargparse-4.41.0-py3-none-any.whl
Ports that require python-jsonargparse:v12
python-netbox-agent:v12 NetBox agent for server (3.12)