pydantic-cli
Python Fire
Our great sponsors
pydantic-cli | Python Fire | |
---|---|---|
8 | 37 | |
125 | 26,166 | |
- | 1.1% | |
0.0 | 6.8 | |
9 months ago | 6 days ago | |
Python | Python | |
MIT License | GNU General Public License v3.0 or later |
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.
pydantic-cli
- argparse_dataclass: declarative CLIs with argparse and dataclasses (e.g. similar to Rust's structopt)
-
Yet another command line tool: clidantic, typed CLIs with click and pydantic
A comparison with https://github.com/mpkocher/pydantic-cli is welcome.
- Stop Hardcoding Sensitive Data in Your Python Applications - use python-dotenv instead!
-
Mypy 0.940 Released
pydantic-cli
-
Am I making things harder for myself by not using any OO stuff?
Also, the new type annotations/hints feature added to Python is an extremely useful mechanism to clearly communicate interfaces when leveraging functions as first class citizens. This can dramatically help readability and maintainability. Here's an example library designed leveraging functional centric concepts + type annotations.
-
We hand-picked the best Python libraries released in 2020
https://github.com/mpkocher/pydantic-cli#other-related-tools
Python Fire
-
CLI tools hidden in the Python standard library
The cli tool [fire](https://github.com/google/python-fire/blob/master/docs/guide...) has a nifty feature where it can generate a cli for any file for you.
So random and math are somewhat usable that way
$ python -m fire random uniform 0 1
- What is the status of Python 3.11?
-
I am sick of writing argparse boilerplate code, so I made "duckargs" to do it for me
Google's Fire another one worth checking out.
Googles python-fire
Have you checked out fire? Personally, I think it's a really elegant solution to turning a callable object into command line. Plus, the chaining function calls feature lets you build some pretty complex command line patterns likes you never seen with other frameworks. Definitely worth giving it a try!
-
What is your favorite ,most underrated 3rd party python module that made your programming 10 times more easier and less code ? so we can also try that out :-) .as a beginner , mine is pyinputplus
I started with click but found python fire to be so much easier to use.
-
What are your coolest tools for one-liners ?
python fire autogenerates CLI wrappers for python modules, which really synergizes with method-chaining APIs like pandas.
-
Show HN: Rocketry – Modern scheduler to power your Python projects
Fire can basically do the first step (object -> CLI):
https://github.com/google/python-fire
Gooey can do (CLI -> GUI):
-
What packages replaced standard library modules in your workflow?
also, while we're on the subject, fire may not be the same kind of workhorse as argparse or click, but for really simple stuff it's pretty awesome
-
Eclipse: python-fire inspired library to simplify creating CLIs in Go, on top of Cobra
I'm relatively new to Go (coming from Python) so I haven't been using Cobra (or Go, for that matter) for long but it's clearly very polished -- only friction I was experiencing with it is there's a lot of boilerplate to creating commands and subcommands, that IMO (idea as proven by python-fire) can be naturally (better) expressed as types / fields / methods that are already built into the language.
What are some alternatives?
click - Python composable command line interface toolkit
typer - Typer, build great CLIs. Easy to code. Based on Python type hints.
Gooey - Turn (almost) any Python command line program into a full GUI application with one line
PyInquirer - A Python module for common interactive command line user interfaces
docopt - Pythonic command line arguments parser, that will make you smile
plumbum - Plumbum: Shell Combinators
cement - Application Framework for Python
rich - Rich is a Python library for rich text and beautiful formatting in the terminal.
python-prompt-toolkit - Library for building powerful interactive command line applications in Python
asciimatics - A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
Argh - An argparse wrapper that doesn't make you say "argh" each time you deal with it.
shiv - shiv is a command line utility for building fully self contained Python zipapps as outlined in PEP 441, but with all their dependencies included.