Description
The actual idea of SyncShell is synchronization of your devices shell history, Almost, this ability will be useful when you want to sync your office and home machines.
SyncShell alternatives and similar packages
Based on the "Command-line Application Development" category.
Alternatively, view SyncShell alternatives based on common mentions on social networks and blogs.
-
Python Fire
Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object. -
asciimatics
A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations
SaaSHub - Software Alternatives and Reviews
![SaaSHub Logo SaaSHub Logo](https://cdn-b.libhunt.com/assets/partners/saashub-small-09b040e303cf50000aca670e1c77a15c64fc5c073fbdca2665ec2b8b621efc1a.png)
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of SyncShell or a related project?
README
SyncShell
Yet another tool for laziness Keep your machine's shell history synchronized <!-- Build Status --> <!-- License --> <!-- Release --> <!-- PyPi -->
Get SyncShell
Currently, SyncShell
is just available on PyPi
and by the following command install the latest version:
$ pip install syncshell # Maybe sudo need
$ syncshell -- --help
Type: Syncshell
String form: <syncshell.syncshell.Syncshell object at 0x7fa35d7d87f0>
Usage: syncshell
syncshell auth
syncshell download
syncshell upload
How it Works
The actual idea of SyncShell is synchronization of your all device's shell history, it means you don't need to have concerns when you want to sync your office and home machine's shell history. Application integrated and built on top of Github Gist, and written in Python (CLI).
According to Github API, you can generate a token key with gist
scope to accessing to your gists. Gists have two public
, secret
type which syncshell while executing syncshell upload
command will use secret type to store your history file and keep them secret on Github Gist.
On the others machine, by executing syncshell download
after entering your token key and created Gist ID you can download the gist and sync your shell's history.
Gists will be secret until you don't share it with someone else, In other words, It'll be secret and safe until you only have the Github Token and Gist ID.
Usage
Currently,
SyncShell
just supportzsh
and supporting other shells is in WIP.
Before SyncShell can be useful you need to setup your Github token key:
- Open Github personal access tokens page, Generate a new token with
gist
scope feature. - Execute the
syncshell auth
command, Enter your token key to validate and confirm it. - Done :wink:
Now you can try to upload your shell history by the following command:
$ syncshell upload
After the uploading process, you'll take a Gist ID that by this ID and your Github token, you can download history on the others machine by executing the following command:
$ syncshell download
Todo
- [ ] Write more test cases
- [ ] Support
bash
and other shells
Contributing
So nice you wanna contribute to this repository. Thank you. You may contribute in several ways like:
- Creating new features
- Fixing bugs
- Write test cases
Installing dependencies
By the following command install syncshell dependencies
$ python install -r requirements.txt
Tests
Before submiting your PR, Execute the below command to be sure about passing test cases.
$ pytest -c pytest.ini -s
Done :wink:
License
The code is licensed under the MIT License. See the data's LICENSE file for more information.
*Note that all licence references and agreements mentioned in the SyncShell README section above
are relevant to that project's source code only.