pydantic-cli
Python Fire
Our great sponsors
pydantic-cli | Python Fire | |
---|---|---|
8 | 37 | |
125 | 26,266 | |
- | 0.9% | |
0.0 | 6.8 | |
10 months ago | 19 days ago | |
Python | Python | |
MIT License | Apache License 2.0 |
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
- Anyone know a CLI parser like plac that is being maintained?
-
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.
-
What's the status of MyPy?
Depending on the strictness level of adoption of mypy, this can sometimes (often?) requires changing how you write code. You can see some contortions here. However, having strict type analysis enables catching a lot of issues.
-
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
-
Build CLI blazingly fast with python-fire 🔥
With python-fire you can use either function or class to create your subcommands. But I find working with classes more intuitive and manageable. Our first command is going to be a sub-command that shows us the UTC time.
- 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
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.
-
Best way to get data into python scripts
I highly recommend checking out fire for adding a CLI quickly to little utility scripts that aren't going to be published to the world but just for you.
-
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):
https://github.com/chriskiehl/Gooey
-
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?
Functional-Programming-Techniques-In-Python - Exploring functional centric designs and patterns in Python
click - Python composable command line interface toolkit
python-dotenv - Reads key-value pairs from a .env file and can set them as environment variables. It helps in developing applications following the 12-factor principles.
typer - Typer, build great CLIs. Easy to code. Based on Python type hints.
pylsp-mypy - Mypy plugin for the Python LSP Server.
Gooey - Turn (almost) any Python command line program into a full GUI application with one line
snakemake - This is the development home of the workflow management system Snakemake. For general information, see
PyInquirer - A Python module for common interactive command line user interfaces
pydantic-aioredis - A Declarative ORM for Redis using Pydantic Models and aioredis
docopt - This project is no longer maintained. Please see https://github.com/jazzband/docopt-ng
tasmotizer - ESP... The time has come to... Tasmotize!
plumbum - Plumbum: Shell Combinators