Command and Rule over your Shell
Project description
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/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file sultan-0.9.1-py3-none-any.whl
.
File metadata
- Download URL: sultan-0.9.1-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05875c5760903cf8b6db35d726cd2d211348b878fc17c89601913a42785b9e00 |
|
MD5 | 5fb427148c284ce21c7db8248c8a403e |
|
BLAKE2b-256 | c9050914520331bbf724fbe6b85fcf25130121170ef07fd75309089f036e99c5 |
File details
Details for the file sultan-0.9.1-py2-none-any.whl
.
File metadata
- Download URL: sultan-0.9.1-py2-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/2.7.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e4b17cbb3e2d8603916f3993fc9f2c33659933727e01ad54f674691b6ca1731 |
|
MD5 | 6e98acc1bb64300fd36ee311732a3cc5 |
|
BLAKE2b-256 | b8c28a8d792b6bc3e2616be3cb83d50ae906942072622076e8cd71cf6bce61ef |