| 1 | ## Rainbow Stream |
| 2 | |
| 3 | [![Download](http://img.shields.io/pypi/dm/rainbowstream.svg?style=flat)](https://pypi.python.org/pypi/rainbowstream) |
| 4 | [![Version](http://img.shields.io/pypi/v/rainbowstream.svg?style=flat)](https://pypi.python.org/pypi/rainbowstream) |
| 5 | |
| 6 | Terminal-based Twitter Client. |
| 7 | Realtime tweetstream, compose, search , favorite ... and much more fun directly from terminal. |
| 8 | |
| 9 | This package is built on top of [Python Twitter Tool](http://mike.verdone.ca/twitter/) and [Twitter API](https://dev.twitter.com/docs/api/1.1). |
| 10 | |
| 11 | ## Showcase |
| 12 | Screencast: |
| 13 | https://www.youtube.com/watch?v=tykCvPMJq8s |
| 14 | <br> |
| 15 | |
| 16 | Screenshot: (Click to see) |
| 17 | ![rainbowstream](https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/RainbowStreamAll.png) |
| 18 | |
| 19 | ## Install |
| 20 | #### The quick way |
| 21 | You will need Python and pip (2.7.x or 3.x). |
| 22 | ```bash |
| 23 | sudo pip install rainbowstream |
| 24 | # Python 3 users: sudo pip3 install rainbowstream |
| 25 | ``` |
| 26 | |
| 27 | #### The recommended way |
| 28 | Use [virtualenv](http://docs.python-guide.org/en/latest/dev/virtualenvs/) |
| 29 | ```bash |
| 30 | virtualenv venv |
| 31 | # Python 3 users : use -p to specify your Python 3 localtion as below |
| 32 | # virtualenv -p /usr/bin/python3 venv |
| 33 | source venv/bin/activate |
| 34 | pip install rainbowstream |
| 35 | ``` |
| 36 | |
| 37 | |
| 38 | ## Usage |
| 39 | |
| 40 | Just type |
| 41 | ```bash |
| 42 | rainbowstream |
| 43 | ``` |
| 44 | and see your stream. |
| 45 | |
| 46 | I shipped a feature which can display **tweet's images directly on terminal**. |
| 47 | You can try it with: |
| 48 | ```bash |
| 49 | rainbowstream -iot # Or rainbowstream --image-on-term |
| 50 | ``` |
| 51 | |
| 52 | In the first time you will be asked for authorization of Rainbow Stream app at Twitter. |
| 53 | Just click the "Authorize access" button and paste PIN number to the terminal, the rainbow will start. |
| 54 | |
| 55 | ## Interactive mode |
| 56 | |
| 57 | While your personal stream is continued, you are also ready to tweet, search, reply, retweet... directly from console. |
| 58 | Simply type "h" and hit the Enter key to see the help. |
| 59 | |
| 60 | Input is in interactive mode. It means that you can use arrow key to move up and down history, tab-autocomplete or 2 tab to view available suggestion. Input history from previous run is available as well. |
| 61 | |
| 62 | ## Available commands |
| 63 | |
| 64 | Available commands are listed in [ReadTheDocs documents](http://rainbowstream.readthedocs.org/en/latest/) . |
| 65 | |
| 66 | ## Theme customization |
| 67 | Rainbow Stream is shipped with some default themes. |
| 68 | You can either change theme by `theme` command or create your favorite one. |
| 69 | |
| 70 | Theme's screenshot: |
| 71 | * Monokai |
| 72 | ![Monokai](./screenshot/themes/Monokai.png) |
| 73 | * Solarized |
| 74 | ![Solarized](./screenshot/themes/Solarized.png) |
| 75 | * Tomorrow Night |
| 76 | ![Solarized](./screenshot/themes/TomorrowNight.png) |
| 77 | * Larapaste |
| 78 | ![Solarized](./screenshot/themes/larapaste.png) |
| 79 | |
| 80 | For detaile information, see [theme usage and customization](https://github.com/DTVD/rainbowstream/blob/master/theme.md) |
| 81 | |
| 82 | ## Bug and feature requests |
| 83 | Found a bug or a feature request ? |
| 84 | Please [create an issue](https://github.com/DTVD/rainbowstream/issues/new) |
| 85 | or contact me at [@dtvd88](https://twitter.com/dtvd88) |
| 86 | |
| 87 | ## Development |
| 88 | If you want to build a runnable version yourself, follow these simple steps |
| 89 | * [Create your own Twitter Application](https://apps.twitter.com/app/new) |
| 90 | * Get your Twitter application's API key and secret |
| 91 | * Fork this repo |
| 92 | * Create a file `consumer.py` in [`rainbowstream`](https://github.com/DTVD/rainbowstream/tree/master/rainbowstream) folder with following content |
| 93 | ```python |
| 94 | # Consumer information |
| 95 | CONSUMER_KEY = 'APIKey' # Your Twitter application's API key |
| 96 | CONSUMER_SECRET = 'APISecret' # Your Twitter application's API secret |
| 97 | ``` |
| 98 | * Use pip to install in local |
| 99 | ```bash |
| 100 | # cd to directory which contains setup.py |
| 101 | virtualenv venv # Python3 users: use -p to specify python3 |
| 102 | source venv/bin/activate |
| 103 | pip install -e . |
| 104 | pip list | grep rainbowstream # confirm installed version |
| 105 | rainbowstream # local version of rainbowstream |
| 106 | ``` |
| 107 | |
| 108 | ## Contributing |
| 109 | I appreciate any help and support. Feel free to |
| 110 | [fork](https://github.com/DTVD/rainbowstream/fork) |
| 111 | and |
| 112 | [create a pull request](https://github.com/DTVD/rainbowstream/compare/). |
| 113 | You will be listed as contributor. |
| 114 | |
| 115 | ## License |
| 116 | Rainbow Stream are released under an MIT License. See LICENSE.txt for details |