{"categories":[{"label":"Application Frameworks","url":"https://skillfed.io/packages/category/software-development-libraries-application-frameworks"}],"enrichment":{"capability":"Knack is a Python framework for building command-line interfaces with argument parsing, command organization, and output formatting built in.","skillfed_tags":["cli-framework","command-dispatch","argument-parsing"],"use_cases":["Build a multi-command CLI tool with subcommands, argument validation, and automatic help text generation.","Create a wrapper around Azure or cloud service APIs that exposes functionality through a structured command interface.","Develop an internal DevOps or automation tool with consistent argument parsing and formatted output across many commands.","Add shell completion and formatted table output to an existing command-line application.","Implement a CLI that reads YAML or JSON configuration and applies it through structured commands."],"what_it_does":"Knack is a framework for building structured command-line interfaces in Python. It handles command registration, argument parsing, help text generation, and output formatting so you can focus on implementing command logic rather than CLI plumbing. The framework uses a loader pattern where you define command groups and arguments declaratively, then invoke the CLI with user input to execute the appropriate command.\n\nThe package depends on argcomplete for shell completion, jmespath for output filtering, packaging for version handling, pygments for syntax highlighting, pyyaml for configuration, and tabulate for formatted output. It's designed to scale from simple single-command tools to complex multi-command CLIs like the Azure CLI and VSTS CLI, which use knack in production. The project is in active development and maintained, though the authors recommend pinning to a specific minor version rather than using loose version constraints.","worth_installing":"Yes, if you are building a command-line tool in Python and want to avoid writing boilerplate argument parsing and command dispatch logic. The framework is actively maintained, has low install friction, and is proven in production by major projects like Azure CLI. Pin to a specific minor version as the authors recommend, since the project is still in initial development phase."},"id":"knack","links":{"html":"https://skillfed.io/packages/knack","md":"https://skillfed.io/packages/knack.md","pypi":"https://pypi.org/project/knack/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-05-14","license_spdx":null,"license_treatment":"permissive","name":"knack","python_support":"unspecified","summary":"A Command-Line Interface framework"},"popularity":{"monthly_downloads":7443659,"position":1738,"tier":"top_5000"},"security":{"n_vulnerabilities":0},"version":"0.14.0"}
