Python Fire
sh
Python Fire | sh | |
---|---|---|
37 | 24 | |
26,335 | 6,862 | |
0.5% | - | |
6.8 | 6.8 | |
1 day ago | about 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.
sh
- sh: Python Process Launching
-
Acme.sh runs arbitrary commands from a remote server
I usually replace shell scripts with python (using sh module: https://amoffat.github.io/sh/ for calling other scripts/programs).
-
The Right Way to Run Shell Commands from Python
> sh relies on various Unix system calls and only works on Unix-like operating systems - Linux, macOS, BSDs etc. Specifically, Windows is not supported.
from: https://amoffat.github.io/sh/
-
Anyone have any tips for developing on Windows?
You can even run interpreted languages as a shell. See plumbum or sh for ways to make it a more comfortable shell and ipython for a better version of the shell.
- Python “Sh” Module
-
Argbash – Bash Argument Parsing Code Generator
100% agree. There are some libraries like https://amoffat.github.io/sh/ that aim to make that easier, but they always have some quirks that, funnily enough, are often the corner cases you were hitting in your complicated Bash script in the first place.
-
Unix bash scripting versus Python - any resources out there for comparisons?
Another way to make Python scripts nicer is to use https://github.com/amoffat/sh
- Show HN: Clamshell- an experimental Python based shell
-
Useful Python Modules for us
pdbpp: Improved pdb boltons: assorted python addtions twisted: event driven networking framework sorcery: Dark magic in python, things know where+how they are being called, helps reducing boilerplate sh: Better alternative for subprocess module, much more pythonic taskipy: npm run scipt_name like functionality snoop: pdb lite, record+replay function steps birdseye: graphical debugger remote-pdb: easy pdb from inside containers typer: wrapper around click for simpler code for CLIs arrow: Always TZ aware datetimes, plus more features more-itertools: more functions for iterators pydantic: data validation + dataclasses loguru: better logging notifiers: sending notifications from python
-
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
Sh sh and outside python, watch watch
What are some alternatives?
click - Python composable command line interface toolkit
Delegator.py - Subprocesses for Humans 2.0.
typer - Typer, build great CLIs. Easy to code. Based on Python type hints.
envoy
Gooey - Turn (almost) any Python command line program into a full GUI application with one line
sarge
PyInquirer - A Python module for common interactive command line user interfaces
tkterminal - Terminal widget for Tkinter library.
docopt - This project is no longer maintained. Please see https://github.com/jazzband/docopt-ng
xonsh - :shell: Python-powered, cross-platform, Unix-gazing shell.
pydantic-cli - Turn Pydantic defined Data Models into CLI Tools
zx - A tool for writing better scripts