Command and Rule over your Shell
Sultan now supports Python 2.7+ and 3.0+
Note
Your input is welcome! Please provide your feedback by creating issues on Github
Install
pip install --upgrade sultan
Documentation
Documentation is available on ReadTheDocs: http://sultan.readthedocs.io/en/latest/
What is Sultan?
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 root@myserver.com '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/
Release files for sultan 0.6.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sultan-0.6.5-py3-none-any.whl | Python 3 | none | any | Details |
| sultan-0.6.5-py2-none-any.whl | Python 2 | none | any | Details |
Total release size: 32.2 kB
Release files / sultan-0.6.5-py3-none-any.whl
| Download URL | sultan-0.6.5-py3-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7ad19ede4806562ac937edb3736ada67453a2eeaf5d7c836c560a851c4092a1b
|
|
BLAKE2b-256 checksum How to use checksums |
0cbcec7c56f1564c8e4730d9289798284aeec0978b68a472b98ad4be9007ce87
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / sultan-0.6.5-py2-none-any.whl
| Download URL | sultan-0.6.5-py2-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
df39664efdfce1a016f08113db1d68a8cbc81442fb907e28011bac2ea9946d08
|
|
BLAKE2b-256 checksum How to use checksums |
ed55d55f5ad2c1436a19023f40695b35eee1a0736555136c50bd56d5181fa300
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |