Registry / devops / cmdkit

cmdkit

JSON →
library2.7.7pypypi✓ verified 30d ago

A command-line utility toolkit for Python, providing classes and functions for building CLI applications with subcommands, namespaces, configuration, logging, and auto-colorized help text. Current version is 2.7.7, supporting Python 3.9+. It follows a moderate release cadence with bugfixes and minor features.

devops
Install & Compatibility
Where this runs
tested against v2.7.7 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.000s · 18MB
glibc
py 3.103.95 runs
installs and imports cleanly · install 1.5s · import 0.000s · 18MB
16MB installed
● package 16MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

from cmdkit import Application
from cmdkit import cli
from cmdkit import Interface

Creates a minimal CLI application using the Command class.

from cmdkit import Command, Namespace class MyApp(Command): name = 'myapp' usage = 'myapp [options]' description = 'A sample CLI application' interface = Command.build_interface( 'MyApp', 'A sample CLI app', 'v1.0' ) def __init__(self, name=None): super().__init__(name=name) # Add subcommands, options, etc. if __name__ == '__main__': MyApp.main()
Debug
Known footguns
breakingThe 'toml' dependency was removed in v2.7.6. If you rely on automatic TOML config parsing, you must now use tomli/tomli-w or Python 3.11+'s tomllib. Code using cmdkit's Configuration with TOML will break unless you adapt.
breakingPython 3.10+ requirement was relaxed in v2.7.7 to 3.9+. If you are on Python 3.9, upgrade to v2.7.7. If you pin to an older version, you may get installation failures on Python 3.9.
deprecatedThe 'toml' package used by cmdkit is deprecated and no longer maintained. cmdkit v2.7.6+ removed this dependency.
gotchaWhen subclassing Command, ensure you call super().__init__(name=name) or you may encounter missing attributes like 'logger'.
Upgrade
Version history

Breaking-change detection hasn't run for this library yet.

Audit
Security & dependencies

CVE tracking and dependency tree are planned for a later release.

Agent activity
16 hits · last 30 days
gptbot
4
bytedance
4
ahrefsbot
3
claudebot
3
script
1
mj12bot
1
Resources