Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Ohmyzsh | 162,593 | 1 | 5 | 8 hours ago | 1 | December 07, 2014 | 596 | mit | Shell | |
🙃 A delightful community-driven (with 2,100+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community. | ||||||||||
Terminal | 90,432 | a day ago | 1 | November 20, 2022 | 1,466 | mit | C++ | |||
The new Windows Terminal and the original Windows console host, all in the same place! | ||||||||||
Tldr | 45,500 | 6 hours ago | 177 | other | Markdown | |||||
📚 Collaborative cheatsheets for console commands | ||||||||||
Bat | 43,029 | 1 | 52 | 4 days ago | 38 | March 25, 2023 | 216 | apache-2.0 | Rust | |
A cat(1) clone with wings. | ||||||||||
Lazygit | 38,998 | 2 | 6 hours ago | 219 | July 24, 2023 | 528 | mit | Go | ||
simple terminal UI for git commands | ||||||||||
Cheat.sh | 35,462 | 3 months ago | 120 | mit | Python | |||||
the only cheat sheet you need | ||||||||||
Cli | 29,278 | 25 days ago | 157 | bsd-3-clause | Python | |||||
🥧 HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. | ||||||||||
Fd | 28,866 | 6 days ago | 30 | February 24, 2023 | 107 | apache-2.0 | Rust | |||
A simple, fast and user-friendly alternative to 'find' | ||||||||||
Awesome Shell | 28,590 | a day ago | 84 | cc0-1.0 | ||||||
A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php. | ||||||||||
Modern Unix | 27,813 | 18 days ago | 88 | |||||||
A collection of modern/faster/saner alternatives to common unix commands. |
Command and Rule over your Shell
Sultan now supports Python 2.7+ and 3.0+
Your input is welcome! Please provide your feedback by creating issues on Github
pip install --upgrade sultan
Documentation is available on ReadTheDocs: http://sultan.readthedocs.io/en/latest/
Sultan is a Python package for interfacing with command-line utilities, like yum, apt-get, or ls, in a Pythonic manner. It lets you run command-line utilities using simple function calls.
The simplest way to use Sultan is to just call it:
from sultan.api import Sultan
s = Sultan()
s.sudo("yum install -y tree").run()
Runs:
sudo yum install -y tree;
The recommended way of using Sultan is to use it in Context Management mode. Here is how to use Sultan with Context Management:
from sultan.api import Sultan
with Sultan.load(sudo=True) as s:
s.yum("install -y tree").run()
Runs:
sudo su - root -c 'yum install -y tree;'
What if we want to install this command on a remote machine? You can easily achieve this using context management:
from sultan.api import Sultan
with Sultan.load(sudo=True, hostname="myserver.com") as sultan:
sultan.yum("install -y tree").run()
Runs:
ssh [email protected] 'sudo su - root -c 'yum install -y tree;''
If you enter a wrong command, Sultan will print out details you need to debug and find the problem quickly.
Here, the same command was run on a Mac:
from sultan.api import Sultan
with Sultan.load(sudo=True, hostname="myserver.com") as sultan:
sultan.yum("install -y tree").run()
Yields:
[sultan]: sudo su - root -c 'yum install -y tree;'
Password:
[sultan]: --{ STDERR }-------------------------------------------------------------------------------------------------------
[sultan]: | -sh: yum: command not found
[sultan]: -------------------------------------------------------------------------------------------------------------------
Want to get started? Simply install Sultan, and start writing your clean code:
pip install --upgrade sultan
If you have more questions, check the docs! http://sultan.readthedocs.io/en/latest/