Add support for extended tweets in twitter.statuses calls
[rainbowstream.git] / README.rst
CommitLineData
4f025227
O
1Rainbow Stream
2--------------
3
4.. image:: http://img.shields.io/pypi/l/rainbowstream.svg?style=flat-square
5 :target: https://github.com/DTVD/rainbowstream/blob/master/LICENSE.txt
6
7.. image:: http://img.shields.io/pypi/v/rainbowstream.svg?style=flat-square
8 :target: https://pypi.python.org/pypi/rainbowstream
9
4e9c5124 10Terminal-based Twitter Client. Real-time tweetstream, compose, search, favorite,
11and much more fun directly from terminal.
4f025227 12
4e9c5124 13This package is built on the `Python Twitter Tools`_ and the `Twitter API`_, and runs
14on Python (2.7.x and 3.x).
4f025227 15
012dd457 16Home page: https://github.com/orakaro/rainbowstream
4f025227 17
4e9c5124 18Source code: https://github.com/DTVD/rainbowstream
4f025227
O
19
20Showcase
21--------
22
23.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/rs.gif
24 :alt: gif
25
4e9c5124 26Installation
27------------
4f025227 28
4e9c5124 29The Quick Way
4f025227
O
30^^^^^^^^^^^^^
31
4e9c5124 32System Python (2.7.x or 3.x)
4f025227
O
33
34.. code:: bash
35
36 sudo pip install rainbowstream
37 # Python 3 users: sudo pip3 install rainbowstream
38
4e9c5124 39The Recommended Way
4f025227
O
40^^^^^^^^^^^^^^^^^^^
41
4e9c5124 42`virtualenv`_
4f025227
O
43
44.. code:: bash
45
46 virtualenv venv
4e9c5124 47 # Python 3 users : use -p to specify your Python 3 location:
4f025227
O
48 # virtualenv -p /usr/bin/python3 venv
49 source venv/bin/activate
50 pip install rainbowstream
51
52Troubleshooting
53^^^^^^^^^^^^^^^
54
4e9c5124 55Some additional libraries may need to be installed on linux.
56
57For Debian-based distros:
4f025227
O
58
59.. code:: bash
60
61 sudo apt-get install python-dev libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev
62
63For CentOS:
64
65.. code:: bash
66
67 sudo yum install python-devel libjpeg-devel
68
4e9c5124 69Mac OSX Maverick with Xcode 5.1 has a well-known `clang unknown argument`_
70problem with the installation of the ``Pillow`` package—a dependency of this
71app. Take a look at `Issue #10`_ and let me know if the workaround doesn't work
72for you.
4f025227
O
73
74.. code:: bash
75
76 export ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future
77
4e9c5124 78If *The Quick Way* doesn't work, then:
4f025227
O
79
80- ``sudo pip uninstall rainbowstream``
4e9c5124 81- Use the *The Recommended Way*
82- `Create an issue`_ and provide:
83 - Your OS
84 - Your Python version
4f025227
O
85
86Usage
87-----
88
4e9c5124 89The Stream
4f025227
O
90^^^^^^^^^^
91
4e9c5124 92Just type ``rainbowstream`` to see your stream.
4f025227 93
4e9c5124 94You can now **display tweeted images directly on the terminal**! Try it with:
4f025227
O
95
96.. code:: bash
97
98 rainbowstream -iot # Or rainbowstream --image-on-term
99
4e9c5124 100Set ``IMAGE_ON_TERM`` to ``True`` in your config to to enable above feature,
101change ``IMAGE_SHIFT`` to set image's margin (relative to your terminal's
102width), and ``IMAGE_MAX_HEIGHT`` to control max height of every image (see
103`Config Management`_).
4f025227 104
4e9c5124 105You will be asked for authorization on Twitter the first time you run Rainbow
106Stream. Just click the "Authorize access" button, paste PIN number to the
107terminal, and the rainbow will start.
4f025227 108
4e9c5124 109You might want to use Rainbow Stream with an **HTTP/SOCKS proxy**. Proxy
110settings are specified as follows:
4f025227
O
111
112.. code:: bash
113
114 rainbowstream --proxy-host localhost --proxy-port 1337 --proxy-type HTTP
4e9c5124 115 # or the short form:
4f025227
O
116 rainbowstream -ph localhost -pp 1337 -pt HTTP
117
4e9c5124 118Both ``--proxy-port`` and ``--proxy-type`` are optional. The default proxy port
119is ``8080`` and the default proxy type is ``SOCKS5``.
4f025227 120
4e9c5124 121Interactive Mode
122^^^^^^^^^^^^^^^^
4f025227 123
4e9c5124 124While your personal stream is continued, you are also ready to tweet, search,
125reply, retweet, etc. directly from your console. Simply type ``h`` and hit the
126Enter key to see the help.
4f025227 127
4e9c5124 128Input is in interactive mode. It means that you can use the arrow keys to move
129up and down through the history, tab-autocomplete or double-tab to view
130available suggestions. Input history from previous run is also available.
4f025227 131
4e9c5124 132`Read the docs`_ for available commands.
4f025227 133
4e9c5124 134Theme Customization
4f025227
O
135^^^^^^^^^^^^^^^^^^^
136
4e9c5124 137Rainbow Stream is shipped with some default themes. You can switch themes with
138the ``theme`` command. You can also customize themes as you please.
4f025227 139
4e9c5124 140Theme screenshots:
4f025227
O
141
142- Monokai
143
144.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/Monokai.png
145 :alt: monokai
146
147- Solarized
148
149.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/Solarized.png
150 :alt: solarized
151
152- Tomorrow Night
153
154.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/TomorrowNight.png
155 :alt: tomorrownight
156
157- Larapaste
158
159.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/larapaste.png
160 :alt: larapaste
161
4e9c5124 162See `Theme Usage and Customization`_ for detailed information.
4f025227
O
163
164
4e9c5124 165Bug and Feature Requests
4f025227
O
166------------------------
167
4e9c5124 168Found a bug or a feature request? Please `create an issue`_ or contact me at
169`@dtvd88`_.
4f025227
O
170
171Development
172-----------
173
4e9c5124 174If you want to build a runnable version yourself, follow these simple steps:
4f025227
O
175
176- `Create your own Twitter Application`_
177- Get your Twitter application’s API key and secret
178- `Create your own Pocket Application`_ (platform: Web)
179- Get your Pocket application’s key
4e9c5124 180- Fork this repo and ``git clone`` it
181- Create a ``consumer.py`` file in the `rainbowstream`_ directory containing:
4f025227
O
182
183 .. code:: python
184
185 # Consumer information
186 CONSUMER_KEY = 'APIKey' # Your Twitter application's API key
187 CONSUMER_SECRET = 'APISecret' # Your Twitter application's API secret
188 PCKT_CONSUMER_KEY = 'PocketAPIKey' # Your Pocket application's API key
189
4e9c5124 190- Use pip to install it locally
4f025227
O
191
192 .. code:: bash
193
194 # cd to directory which contains setup.py (cloned directory)
195 virtualenv venv # Python3 users: use -p to specify python3
196 source venv/bin/activate
197 pip install -e .
198 which rainbowstream # /this-directory/venv/bin/rainbowstream
4e9c5124 199 # Remove ~/.rainbow_oauth if it exists
4f025227
O
200 rainbowstream # local version of rainbowstream
201
202
203Contributing
204------------
4e9c5124 205
206I appreciate any help and support. Feel free to `fork`_ and `create a pull
207request`_. You will be listed as a contributor.
4f025227
O
208
209License
210-------
211
4e9c5124 212Rainbow Stream is released under an MIT License. See LICENSE.txt for details.
4f025227
O
213
214
4e9c5124 215.. _Python Twitter Tools: http://mike.verdone.ca/twitter/
4f025227 216.. _Twitter API: https://dev.twitter.com/docs/api/1.1
4e9c5124 217.. _Create an issue: https://github.com/DTVD/rainbowstream/issues/new
4f025227
O
218.. _@dtvd88: https://twitter.com/dtvd88
219.. _fork: https://github.com/DTVD/rainbowstream/fork
220.. _create a pull request: https://github.com/DTVD/rainbowstream/compare/
4e9c5124 221.. _Read the docs: http://rainbowstream.readthedocs.org/en/latest/
4f025227 222.. _config guide: https://github.com/DTVD/rainbowstream/blob/master/theme.md
4e9c5124 223.. _Theme Usage and Customization: https://github.com/DTVD/rainbowstream/blob/master/theme.md
4f025227
O
224.. _Create your own Twitter Application: https://apps.twitter.com/app/new
225.. _Create your own Pocket Application: https://getpocket.com/developer/apps/new
226.. _rainbowstream: https://github.com/DTVD/rainbowstream/tree/master/rainbowstream
227.. _virtualenv: http://docs.python-guide.org/en/latest/dev/virtualenvs/
4e9c5124 228.. _Config Management: http://rainbowstream.readthedocs.org/en/latest/#config-explanation
4f025227
O
229.. _clang unknown argument: http://kaspermunck.github.io/2014/03/fixing-clang-error/
230.. _Issue #10: https://github.com/DTVD/rainbowstream/issues/10