msgspec-click
Generate Click options from msgspec types
Decision gist · record as of 2026-08-14
Yes, if you are already using both click and msgspec and want to reduce CLI boilerplate—the install is frictionless and there are no known vulnerabilities. However, proceed cautiously: the project is dormant (last release 689 days ago), has minimal adoption (74957 monthly downloads, rank 14763), and the license metadata is unclear. Use it for new projects only if you are comfortable maintaining a fork or accepting no upstream updates.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or later; both click and msgspec must be installed as runtime dependencies.
- Low friction install with only two runtime dependencies (click and msgspec).
- Dormant maintenance status—last release was 689 days ago, so expect no active bug fixes or feature development.
License · maintenance · safety
(unclear) — License treatment is unclear in the metadata. Verify the actual license terms before relying on this package in production.
last release 2024-09-24 (689 days) · last repo commit 2025-02-01 · 13 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 74,957 downloads/mo, #14,763 on PyPI
Alternatives
Verify before relying
pip install msgspec-click
from msgspec import Struct
import click
from msgspec_click import create_command
class Options(Struct):
name: str
count: int = 1
cmd = create_command(Options)
if __name__ == '__main__':
cmd()- Actual license file or SPDX identifier not present in metadata despite MIT reference in description
- Whether dormancy signals end-of-life or stable maintenance mode
- Real-world stability and usage patterns given low adoption metrics
What it is and what it does
msgspec-click bridges two Python libraries: msgspec (a fast serialization library with type validation) and click (a command-line interface framework). It lets you define CLI options as msgspec types—typically dataclasses or structs—and automatically generates click decorators from those definitions, eliminating repetitive option declarations.
The package is designed for developers who want type-safe CLI applications without manually wiring up each argument and option. Instead of writing click decorators by hand, you define your CLI interface as a msgspec type and let the library generate the boilerplate. It supports Python 3.8 through 3.12 on both CPython and PyPy.
Use it for
- Build a CLI tool where all arguments and options are defined once as a msgspec type, then auto-converted to click decorators.
- Create type-validated command-line interfaces that catch invalid input at parse time using msgspec's validation.
- Reduce boilerplate in multi-command CLI applications by deriving click option groups from structured type definitions.
- Prototype CLI tools quickly by defining the interface as Python types rather than writing click decorator chains.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are already using both click and msgspec and want to reduce CLI boilerplate—the install is frictionless and there are no known vulnerabilities.
However, proceed cautiously: the project is dormant (last release 689 days ago), has minimal adoption (74957 monthly downloads, rank 14763), and the license metadata is unclear. Use it for new projects only if you are comfortable maintaining a fork or accepting no upstream updates.
Install
msgspec-click on PyPI
Before you install
Low friction install with only two runtime dependencies (click and msgspec). Dormant maintenance status—last release was 689 days ago, so expect no active bug fixes or feature development.
Requires Python 3.8 or later; both click and msgspec must be installed as runtime dependencies.
License in practice
License treatment is unclear in the metadata. Verify the actual license terms before relying on this package in production.
Quickstart
pip install msgspec-click
from msgspec import Struct
import click
from msgspec_click import create_command
class Options(Struct):
name: str
count: int = 1
cmd = create_command(Options)
if __name__ == '__main__':
cmd()
Verify before relying
- Actual license file or SPDX identifier not present in metadata despite MIT reference in description
- Whether dormancy signals end-of-life or stable maintenance mode
- Real-world stability and usage patterns given low adoption metrics
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesclickmsgspec |
| Maintenance | Dormant 689 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,957 / month, #14,763 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy |
Evidence: msgspec_click-0.2.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “click cli option generator”
- msgspec-clickGenerates Click command-line options automatically from msgspec type…
- click-option-groupAdds option groups to Click CLI applications, enabling logical…
- more-clickProvides pre-built Click decorators and utilities for common CLI…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also hatch-vcs · dda · find-exe · inquirer3 · msgspec-m · userpath · hatch · msgspec · click-option-group · dep-sync