python-devtools
docopt
python-devtools | docopt | |
---|---|---|
5 | 29 | |
947 | 7,892 | |
- | -0.0% | |
4.7 | 2.5 | |
14 days ago | about 1 month ago | |
Python | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
python-devtools
-
Your favourite "less-known" Python features?
Check out devtools, it’s even more powerful
-
What are your bad python habits?
There’s also debug() from python-devtools that is an easy improvement over print() that doesn't involve changing your workflow.
- Printstack
-
Icecream: Never use print() to debug again in Python
__builtins__['debug'] = debug
(see https://github.com/samuelcolvin/python-devtools#usage-withou...)
This would work with icecream too.
The second advantage of not needing the import is that CI fails if you forget to remove all debug() commands.
docopt
- Docopt: Command-line interface description language
-
Building a Command Line Tool with PHP and Symfony Console
Symfony Console closely follows the well-established docopt conventions. Docopt, based on longstanding conventions from help messages and man pages, ensures a consistent and intuitive interface for describing a program's interface. Symfony Console's adherence to docopt conventions guarantees that your command line tools maintain a standardized and predictable user experience, simplifying development and user interaction.
-
CLI user experience case study
You probably already know, but just in case you don't, you might read about http://docopt.org/ It seems to me a lot of your usage ideas could be refinements of / tooling around docopt-style interfaces.
-
Gooey: Turn almost any Python command line program into a full GUI application
http://docopt.org/
Not quite what you asked for, but close: type example invocations to generate the CLI, and just pull the arguments from a dictionary at runtime.
-
Things I've learned about building CLI tools in Python
I've been using docopt to handle CLI arguments for years now.
http://docopt.org/
-
What's up, Python? The GIL removed, a new compiler, optparse deprecated
If you aren't averse to using a third party package, on my personal projects I always found https://github.com/docopt/docopt to be nice.
You can kill 2 birds with one stone by documenting your scripts while also providing the argument structure / parsing.
-
adaszko/complgen: Generate {bash,fish,zsh} completions from a single EBNF-like grammar
As for the implementation differences, complgen uses a trivial DSL that’s everybody is already familiar with more or less because it’s a slightly more rigorous version of what tools usually spit out when you do command --help (projects like docopt even use that for command line arguments parsing). Those happen to be regular languages and therefore can be represented as a Deterministic Finite Automata. complgen compiles the grammars to DFAs, minimizes the DFA and spits out shell-specific shell completions scripts that simply walk the DFA to match and complete the current input.
-
[Media] shrs: a shell that is configurable and extensible in rust
The current completion system has a list of rules of which completions to use at which time. It's purposely simple to make it as flexible as possible. The current things I'm planning is a derive macro like what clap has to generate these rules. I'm also considering introducing a plugin that let's you write rules in the format of docopt
-
Docopt.sh – Command-Line Argument Parser for Bash 3.2, 4, and 5
For anyone unfamiliar, docopt is an established standard for specifying arguments in a script’s doc string. I use it for Python and it’s lovely. You’re going to write a docstring with examples anyway, why not make them functional?
http://docopt.org/
-
I am sick of writing argparse boilerplate code, so I made "duckargs" to do it for me
I like http://docopt.org/ a lot. You seem like someone who might have opinions on that.
What are some alternatives?
ray - Debug with Ray to fix problems faster
click - Python composable command line interface toolkit
snoop - A powerful set of Python debugging tools, based on PySnooper
Python Fire - Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
icecream - 🍦 Never use print() to debug again.
typer - Typer, build great CLIs. Easy to code. Based on Python type hints.
snoop - Snoop — инструмент разведки на основе открытых данных (OSINT world)
Gooey - Turn (almost) any Python command line program into a full GUI application with one line
PySnooper - Never use print for debugging again
cement - Application Framework for Python
pdbpp - pdb++, a drop-in replacement for pdb (the Python debugger)
Argh - An argparse wrapper that doesn't make you say "argh" each time you deal with it.