Heads-up! As Twitter discontinues supporting Stream API, RainbowStream's stream function has been stopped working for a long time. But here is a good new, from version 1.5.0 we switched to a Polling Strategy that using the home command to check for every 90 seconds. Notes that rate limit for home command itself is 15 times per 15 minutes, so don't abuse it too much to leave space for the polling stream :)
If you are interested in detail: https://github.com/orakaro/rainbowstream/issues/271
Terminal-based Twitter Client. Real-time tweetstream, compose, search, favorite,and much more fun directly from terminal.
This package is built on the Python Twitter Tools and the Twitter API, and runson Python (2.7.x and 3.x).
Home page: https://github.com/orakaro/rainbowstream
Source code: https://github.com/orakaro/rainbowstream
System Python (2.7.x or 3.x)
sudo pip install rainbowstream
# Python 3 users: sudo pip3 install rainbowstream
virtualenv venv
# Python 3 users : use -p to specify your Python 3 location:
# virtualenv -p /usr/bin/python3 venv
source venv/bin/activate
pip install rainbowstream
Some additional libraries may need to be installed on linux.
For Debian-based distros:
sudo apt-get install python-dev libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev
For CentOS:
sudo yum install python-devel libjpeg-devel
Mac OSX Maverick with Xcode 5.1 has a well-known clang unknown argumentproblem with the installation of the Pillow
package—a dependency of thisapp. Take a look at Issue #10 and let me know if the workaround doesn't workfor you.
export ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future
If The Quick Way doesn't work, then:
sudo pip uninstall rainbowstream
Just type rainbowstream
to see your stream.
You can now display tweeted images directly on the terminal! Try it with:
rainbowstream -iot # Or rainbowstream --image-on-term
Set IMAGE_ON_TERM
to True
in your config to to enable above feature,change IMAGE_SHIFT
to set image's margin (relative to your terminal'swidth), and IMAGE_MAX_HEIGHT
to control max height of every image (seeConfig Management).
You will be asked for authorization on Twitter the first time you run RainbowStream. Just click the "Authorize access" button, paste PIN number to theterminal, and the rainbow will start.
You might want to use Rainbow Stream with an HTTP/SOCKS proxy. Proxysettings are specified as follows:
rainbowstream --proxy-host localhost --proxy-port 1337 --proxy-type HTTP
# or the short form:
rainbowstream -ph localhost -pp 1337 -pt HTTP
Both --proxy-port
and --proxy-type
are optional. The default proxy portis 8080
and the default proxy type is SOCKS5
.
While your personal stream is continued, you are also ready to tweet, search,reply, retweet, etc. directly from your console. Simply type h
and hit theEnter key to see the help.
Input is in interactive mode. It means that you can use the arrow keys to moveup and down through the history, tab-autocomplete or double-tab to viewavailable suggestions. Input history from previous run is also available.
Read the docs for available commands.
Rainbow Stream is shipped with some default themes. You can switch themes withthe theme
command. You can also customize themes as you please.
Theme screenshots:
See Theme Usage and Customization for detailed information.
Found a bug or a feature request? Please create an issue or contact me at@dtvd88.
If you want to build a runnable version yourself, follow these simple steps:
Get your Twitter application’s API key and secret
Create your own Pocket Application (platform: Web)
Get your Pocket application’s key
Fork this repo and git clone
it
Create a consumer.py
file in the rainbowstream directory containing:
# Consumer information
CONSUMER_KEY = 'APIKey' # Your Twitter application's API key
CONSUMER_SECRET = 'APISecret' # Your Twitter application's API secret
PCKT_CONSUMER_KEY = 'PocketAPIKey' # Your Pocket application's API key
Use pip to install it locally
# cd to directory which contains setup.py (cloned directory)
virtualenv venv # Python3 users: use -p to specify python3
source venv/bin/activate
pip install -e .
which rainbowstream # /this-directory/venv/bin/rainbowstream
# Remove ~/.rainbow_oauth if it exists
rainbowstream # local version of rainbowstream
I appreciate any help and support. Feel free to fork and create a pullrequest. You will be listed as a contributor.
Rainbow Stream is released under an MIT License. See LICENSE.txt for details.