Releases: JasonSteving99/click-clack
0.2.1
0.2.0
Fixes
N/A
Features
Now you can give MCP Clients like Claude Desktop access to all your click commands by adding a single config to point to a directory containing your click commands!
0.1.4
Fixes
Treat All Unexpected Click Param Types as Text UI Elems
This ensures that we don't fail a script just because we don't have a special UI element to render for it. This tool is still useful even if it literally only renders text boxes.
Improvements
N/A
0.1.3
Fixes
Allow commands with duplicate names
Distinguish them in the UI by their path. This comes up since the "name" of a command is just the name of the function decorated with @click.command(). It's not that unusual for these function names to collide since people would typically be invoking these commands via smth more like python -m unique.path.to.my.command.file which doesn't at all involve specifying that name so they wouldn't necessarily have a reason not to name it something arbitrary like def _cmd or def main.
Fix handling of help text generation
This previously didn't work when using required options without a default value set. Now using click's "resilient parsing" to generate the help text without requiring any args.
Improvements
Catch any exceptions that the command throws and send its traceback output to stdout so that it shows up in the UI
This is pretty straightforwardly just an improvement that allows you to see output in the case that something goes wrong and not only when it all goes right.
0.1.2
Fixes:
N/A
Improvements:
Support asyncclick Commands
Now you can run click-clack over asyncclick commands.
Opt-in to Streaming Command Output
This is helpful for long-running commands where you'd like to see the command's incremental progress, although in the current implementation based on marimo.redirect_output() the streamed output is formatted as byte strings (e.g. b'some random output\n') which isn't ideal...
0.1.1
Fixes:
Use click_clack/ Not src/ Package for Compatibility
Should make this tool more broadly usable in more codebases, in more situations. Previously, the fact that this was packaged in the src/ directory meant that pip was for some reason clobbering the src/ dir of any project that tried installing this package (meaning that that project's own src/ dir was broken and couldn't be referenced via from src import foo - which is absolutely wild but apparently how Python works?.... absolutely broken ass language). Now I'm only claiming the click_clack/ dir, which realistically shouldn't be an issue for users.
Improvements:
Support More Option Types
Added support for the following option types:
click.File(via a file browser UI element: TODO - support stdout via click's magic"-"file arg support)click.Pathclick.DateTimeclick.IntRangeclick.FloatRange
0.1.0
Initial Minimal Release!
🎉