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