New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

sultan

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sultan

Command and Rule over your Shell

  • 0.9.1
  • PyPI
  • Socket score

Maintainers
1

.. image:: https://raw.githubusercontent.com/aeroxis/sultan/master/docs/img/sultan-logo.png :alt: sultan logo :align: right

Command and Rule over your Shell

.. image:: https://badge.fury.io/py/sultan.svg :alt: PyPI Version :target: https://badge.fury.io/py/sultan

.. image:: https://travis-ci.org/aeroxis/sultan.svg?branch=master :alt: Travis Build Status :target: https://travis-ci.org/aeroxis/sultan

.. image:: http://img.shields.io/:license-mit-blue.svg :alt: MIT License :target: http://doge.mit-license.org

.. image:: https://readthedocs.org/projects/sultan/badge/?version=latest :alt: Documentation Status :target: http://sultan.readthedocs.io/en/latest/?badge=latest

Sultan now supports Python 2.7+ and 3.0+


Note

Your input is welcome! Please provide your feedback by creating issues on Github <https://github.com/aeroxis/sultan/issues>_


Install

.. code:: bash

pip install --upgrade sultan


Documentation

.. image:: https://readthedocs.org/projects/sultan/badge/?version=latest :alt: Documentation Status :target: http://sultan.readthedocs.io/en/latest/?badge=latest

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:

.. code:: python

from sultan.api import Sultan s = Sultan() s.sudo("yum install -y tree").run()

Runs:

.. code:: bash

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:

.. code:: python

from sultan.api import Sultan

with Sultan.load(sudo=True) as s: s.yum("install -y tree").run()

Runs:

.. code:: bash

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:

.. code:: python

from sultan.api import Sultan

with Sultan.load(sudo=True, hostname="myserver.com") as sultan: sultan.yum("install -y tree").run()

Runs:

.. code:: bash

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:

.. code:: python

from sultan.api import Sultan

with Sultan.load(sudo=True, hostname="myserver.com") as sultan: sultan.yum("install -y tree").run()

Yields:

.. code:: bash

[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/

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc