Python Fire
plumbum
Our great sponsors
Python Fire | plumbum | |
---|---|---|
37 | 5 | |
26,266 | 2,749 | |
0.9% | - | |
6.8 | 7.2 | |
18 days ago | 2 months ago | |
Python | Python | |
GNU General Public License v3.0 or later | 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 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.
plumbum
-
Diagram as Code
if you liked that, you'll love Plumbum[1] :)
[1] https://github.com/tomerfiliba/plumbum
-
Top python libraries/ frameworks that you suggest every one
plumbum
-
Declarative command line parser library [Heated Arguments]
I wonder if you included plumbum in your comparison. For some reason, my long time favorite module for this (and more) always gets overlooked.
-
NOT-fuzzy line pickers
You'll still have to juggle the input, but when using Python, plumbum offers a solid function for this: choose
-
Pyshell, A Linux Subprocess Module for Python
It's kinda a nice thing. And the few people that need something like this are already using https://xon.sh/ or https://plumbum.readthedocs.io/ or https://ipython.org/ . You can have a look at these projects though. See what works and doesn't to guide the goals of your own project.
What are some alternatives?
click - Python composable command line interface toolkit
typer - Typer, build great CLIs. Easy to code. Based on Python type hints.
asynccli - A CLI framework based on asyncio
Gooey - Turn (almost) any Python command line program into a full GUI application with one line
escape - Simple Terminal Styling for Python
PyInquirer - A Python module for common interactive command line user interfaces
asciimatics - A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
docopt - This project is no longer maintained. Please see https://github.com/jazzband/docopt-ng
colorama - Simple cross-platform colored terminal text in Python
pydantic-cli - Turn Pydantic defined Data Models into CLI Tools
SyncShell - keep your machine's shell history synchronize