{"categories":[{"label":"Application Frameworks","url":"https://skillfed.io/packages/category/software-development-libraries-application-frameworks"}],"enrichment":{"capability":"jsonargparse creates command-line interfaces and configuration systems from Python type hints and docstrings, parsing arguments from the command line, config files (JSON, YAML, TOML, Jsonnet), and environment variables.","skillfed_tags":["cli-framework","config-management","type-hints"],"use_cases":["Build a CLI tool that accepts both command-line flags and a YAML config file without writing separate parsing logic.","Make a machine learning training script configurable via config files while keeping the training function clean and testable.","Create a multi-step application where each step's parameters are defined as function arguments and automatically exposed to the CLI.","Parse environment variables and config files into a structured dataclass without manual validation or type conversion.","Support dependency injection in your CLI so users can swap implementations by changing config values."],"what_it_does":"jsonargparse is a library for building command-line interfaces and making Python applications configurable without boilerplate. It reads your function or class signatures\u2014their parameter names, type hints, and docstrings\u2014and automatically generates a CLI that accepts arguments from the command line, YAML/JSON/TOML config files, or environment variables. It handles complex types (unions, optionals, nested dataclasses), dependency injection, and variable interpolation, all while keeping your core code free of CLI-specific decorators or inheritance.\n\nThe library is built on argparse but extends it significantly: it parses structured configs into nested hierarchies, supports multiple file formats, and can instantiate objects from parsed configurations. It's used as the foundation for pytorch-lightning's LightningCLI and is actively maintained with semantic versioning and full test coverage.","worth_installing":"Yes. jsonargparse is a solid choice for any Python project needing a CLI or configuration system. It has low install friction (one required dependency), active maintenance, no known vulnerabilities, and a permissive license. The design is non-intrusive\u2014your code remains clean and testable. Use it if you want to avoid hand-writing argparse boilerplate or if you need config file support beyond what argparse provides."},"id":"jsonargparse","links":{"html":"https://skillfed.io/packages/jsonargparse","md":"https://skillfed.io/packages/jsonargparse.md","pypi":"https://pypi.org/project/jsonargparse/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-07-22","license_spdx":"MIT","license_treatment":"permissive","name":"jsonargparse","python_support":"supports_current","summary":"Minimal effort CLIs derived from type hints and parse from command line, config files and environment variables."},"popularity":{"monthly_downloads":3354816,"position":2650,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"4.50.0"}
