sultanSultan: Command and Rule over your Shell

联合创作 · 2023-09-30 03:33


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/

浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报