Skip to main content

Command and Rule over your Shell

Project description

sultan logo

Command and Rule over your Shell

PyPI Version Travis Build Status MIT License Documentation Status

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 Status

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

sultan-0.9.1-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

sultan-0.9.1-py2-none-any.whl (16.2 kB view details)

Uploaded Python 2

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

Hashes for sultan-0.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 05875c5760903cf8b6db35d726cd2d211348b878fc17c89601913a42785b9e00
MD5 5fb427148c284ce21c7db8248c8a403e
BLAKE2b-256 c9050914520331bbf724fbe6b85fcf25130121170ef07fd75309089f036e99c5

See more details on using hashes here.

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

Hashes for sultan-0.9.1-py2-none-any.whl
Algorithm Hash digest
SHA256 0e4b17cbb3e2d8603916f3993fc9f2c33659933727e01ad54f674691b6ca1731
MD5 6e98acc1bb64300fd36ee311732a3cc5
BLAKE2b-256 b8c28a8d792b6bc3e2616be3cb83d50ae906942072622076e8cd71cf6bce61ef

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page