Our great sponsors
- Revelo Payroll - Free Global Payroll designed for tech teams
- Sonar - Write Clean Python Code. Always.
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- Onboard AI - Learn any GitHub repo in 59 seconds
-
-
This is really fun. I have an experimental branch of my sqlite-utils CLI tool (which has dozens of sub-commands) running with this now and it really did only take 4 lines of code - I'm treating Trogon as an optional dependency because people using my package as a Python library rather than a CLI tool may not want the extra installed components:
https://github.com/simonw/sqlite-utils/commit/ec12b780d5dcd6...
There's an animated GIF demo of the result here: https://github.com/simonw/sqlite-utils/issues/545#issuecomme...
-
Revelo Payroll
Free Global Payroll designed for tech teams. Building a great tech team takes more than a paycheck. Zero payroll costs, get AI-driven insights to retain best talent, and delight them with amazing local benefits. 100% free and compliant.
-
This looks interesting, I love Textual so I tried this with one of the apps I wrote:
https://gitlab.com/stavros/parachute
Unfortunately, it doesn't seem to work, failing to find the `cli.command()` function (a group function) after I decorate `cli()` with @tui...
-
oil
Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!
I believe something of this nature was proposed in the Oilshell under the name Shellac[0]. A shell-agnostic autocompletion format so that the world could finally move on from writing bespoke completion protocols for every new shell language.
[0] https://github.com/oilshell/oil/wiki/Shellac-Protocol-Propos...
-
You should check out https://tldr.sh/ It gives you practical examples for common use cases.
-
This is exactly my current experiment on a personal project I'm working on, though I'm trying to create a Textual UI on a dynamic Python argparse CLI. Creating a Textual UI is non-trivial.
My tool uPlaybook[0] is kind of a CookieCutter [1] / Ansible [2] mashup, and the playbooks typically would have a number of "slots" you can configure to control the templating, like project name, license, if you want to "git init", that sort of thing.
It currently auto-generates a argparse interface, or it can interactively ask you those questions. But I've been working on a Textual UI as well. I chose argparse over Click largely because I want to work with minimal dependencies, and the Textual UI would be an optional dependency.
Going to have to check this guy out.
-
Ansible
Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems. https://docs.ansible.com.
-
Sonar
Write Clean Python Code. Always.. Sonar helps you commit clean code every time. With over 225 unique rules to find Python bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
-
oh, that's not really type annotations; that's just... cli linting? no idea what to call it but something that will both highlight errors in commands before they fail, and suggest intelligent tab completes.
I want that too, I've already started building it https://github.com/GrayHatter/hsh give me a few months :)
-
textual
Textual is a Rapid Application Development framework for Python. Build sophisticated user interfaces with a simple Python API. Run your apps in the terminal and (coming soon) a web browser!
I would also[0] be interested in an argparse equivalent of this for my tool Library[1]
-
I would also[0] be interested in an argparse equivalent of this for my tool Library[1]
Related posts
- GitHub - python-cmd2/cmd2: cmd2 - quickly build feature-rich and user-friendly interactive command line applications in Python
- Textual: Rapid Application Development Framework for Python
- Textual: Rapid Application Development Framework for Python
- Using Textual to Build a ChatGPT TUI App
- What are you rewriting in rust?