https://github.com/shawn-shan/vassal
Vassal is a python package provide terminal automation. Save developers unnecessary labor to type in tons of duplicated and similar commands.
https://github.com/shawn-shan/vassal
automation python shell ssh terminal
Last synced: 8 months ago
JSON representation
Vassal is a python package provide terminal automation. Save developers unnecessary labor to type in tons of duplicated and similar commands.
- Host: GitHub
- URL: https://github.com/shawn-shan/vassal
- Owner: Shawn-Shan
- License: mit
- Created: 2018-11-16T02:53:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-17T01:44:55.000Z (over 7 years ago)
- Last Synced: 2025-04-18T23:59:30.719Z (about 1 year ago)
- Topics: automation, python, shell, ssh, terminal
- Language: Python
- Homepage:
- Size: 38.1 KB
- Stars: 7
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Vassal - automated terminal

[](https://github.com/Shawn-Shan/vassal/blob/master/LICENSE)
Vassal is a python package provide terminal automation. Save developers unnecessary labor to type in tons of duplicated and similar commands.
## Getting Started
1. Run a list of commands on a ssh server
```
from vassal.terminal import Terminal
shell = Terminal(["ssh username@host", "cd scripts", "python foo1.py", "python foo2.py"])
shell.run()
```
2. upload/download files through scp
```
shell = Terminal(["scp username@host:/home/foo.txt foo_local.txt"])
shell.run()
```
3. run commands every 1 sec
```
from vassal.terminal import Terminal
from vassal.scheduler import Scheduler
shell = Terminal(["ssh username@host", "cd scripts", "python foo1.py", "python foo2.py"])
shell = Scheduler(shell, sec=1)
shell.run()
```
### Installing
```
pip install vassal
```
## Built With
* [paramiko](http://www.paramiko.org/) - SSHv2 protocol
## Contributing
Please read [CONTRIBUTING.md](https://github.com/Shawn-Shan/vassal/blob/master/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
## Authors
* **Shawn Shan** - *Initial work* - [https://www.shawnshan.com/](https://www.shawnshan.com/)
## License
This project is licensed under the MIT License - see the [LICENSE](https://github.com/Shawn-Shan/vassal/blob/master/LICENSE) file for details