click
typer
click | typer | |
---|---|---|
32 | 88 | |
15,108 | 14,511 | |
1.2% | - | |
8.0 | 8.7 | |
6 days ago | 5 days ago | |
Python | Python | |
BSD 3-clause "New" or "Revised" 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.
click
-
click-web: Serve click scripts over the web (Python)
Context: "click" - "Command Line Interface Creation Kit" - easily create CLIs from Python code, via adding decorators: https://github.com/pallets/click
"click-web" in turn turns the click CLI app into a web app with one line of code.
- Anyone want to start a project with me.
-
How does "python3 *file* -*letter* work?
there is also click, it is more straight forward and also nice to keep the relevant code where the code is. https://github.com/pallets/click/
-
Overhead of Python Asyncio Tasks
I don't have huge experience with Python, but I used async code with C#/Typescript and lately I had to use some asyncio magic.
I found this article: https://blog.dalibo.com/2022/09/12/monitoring-python-subproc... and while async/await syntax is the same, it's not entirely clear for me, why there's some event loop and what exactly happens, when I pass function to asyncio.run(), like here: https://github.com/pallets/click/issues/85#issuecomment-5034...
So, you can use it and it's not that hard, but there are some parts that are vague for me, no matter which language implements async support.
-
I am sick of writing argparse boilerplate code, so I made "duckargs" to do it for me
Hmm… did you try such approaches, as [click](https://github.com/pallets/click) or[tap](https://github.com/swansonk14/typed-argument-parser)?
-
lord-of-the-clips (lotc): CLI app to download, trim/clip, and merge videos. Supports lots of sites. Downloads/trims at multiple points. Merges multiple clips.
This app leverages these powerful libraries: - yt-dlp: video downloader - moviepy: video trimmer/merger - click: CLI app creator - rich / rich-click: CLI app styler
-
Shells Are Two Things
I've used click [1] a lot to build Python tooling scripts the past few years. Click usage is "sort of" similar to the author's proposed solution. There's also a small section here [2] that describes some of the issues covered in the article (in context of argparse).
[1] - https://github.com/pallets/click
-
Tomu – A family of devices which fit inside your USB port
I think the success of Arduino in the hardware world can be explained in a similar way, as the relative success of "command line app frameworks" like Click[1], or even much lighter-weight libraries like argparse[2]. You absolutely can get away with using just getopt[3] (and people experienced with it will likely strongly prefer it). However certain factors such as a more declarative API, a nice logo, the existence of an ecosystem (even if you're not actively drawing from it), an official "branded" forum, etc can all play into picking a more complex solution, with more baggage you don't need, certain oddities that may throw users off, etc.
[1]: https://click.palletsprojects.com/
[2]: https://docs.python.org/3/library/argparse.html
[3]: https://man.openbsd.org/getopt.3, https://linux.die.net/man/3/getopt
- something like python's click library?
-
Advice for a final project in python without web?
Exactly! You can also use a library like click (https://github.com/pallets/click) to help take care of the command line side, while you focus on the 'business logic' of your application :)
typer
-
Github Sponsor Sebastián Ramírez Python programmer
He is probably most well know for creating FastAPI that I taught to some of my clients and Typer that I've never used.
- Typer: Python library for building CLI applications
- Copilot for your GitHub stars
-
Things I've learned about building CLI tools in Python
I have been using Typer on every one of my CLI projects which uses Click under the hood. The documentation is fantastic, the CLI app it produces looks great and lets you create things quickly. I high recommend it.
https://typer.tiangolo.com/
-
Things to do with standalone script
Adding CLI capabilities. My preferred library here is typer.
-
Where to start for managing a Python code base for public distribution
I just heard about this but it seems to be pretty much the type of thing you want and want fast.
-
Help on Docstrings
Docstrings are for documenting how a function/ class/ method/ module works. Often you don't need to add a docstring to your main function because no one will be importing it to use elsewhere. And if you want it to run as a CLI, then there are better ways to document the available options. For example, typer does most of it for you, or in click you add the help text to the decorator.
-
Which best practices do you follow to build robust & extensible ETL jobs?
Most computing tasks in airflow DAGs are KubernetesPodOperator containing a CLI (Python Typer). It allows us to pass arguments easily to run DAG manually if needed (the new UI to pass arguments to DAG in airflow 2.6 is really nice). Arguments allow us to replay DAG easily (change start / end dates for instance).
-
Devs on teams that deploy anytime you want, what does your SDLC workflow look like?
So it's basically the main .gitlab-ci.yml file plus a separate Python CI app using Typer for the AWS instrumentation.
-
The different uses of Python type hints
Similarly for Typer, which is literally "the FastAPI of CLIs"[1]. Handy to type your `main` parameters and have CLI argument parsing. For more complicated cases, it's a wrapper around Click.
[1] https://typer.tiangolo.com/
What are some alternatives?
Python Fire - Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object.
python-prompt-toolkit - Library for building powerful interactive command line applications in Python
Gooey - Turn (almost) any Python command line program into a full GUI application with one line
cement - Application Framework for Python
rich - Rich is a Python library for rich text and beautiful formatting in the terminal.
cliff - Command Line Interface Formulation Framework. Mirror of code maintained at opendev.org.
docopt - Create *beautiful* command-line interfaces with Python
clint - Python Command-line Application Tools