{"id":13398597,"url":"https://github.com/orakaro/rainbowstream","last_synced_at":"2025-12-13T16:03:59.907Z","repository":{"id":16695665,"uuid":"19452228","full_name":"orakaro/rainbowstream","owner":"orakaro","description":"A smart and nice Twitter client on terminal written in Python.","archived":false,"fork":false,"pushed_at":"2022-09-29T06:14:49.000Z","size":48339,"stargazers_count":3540,"open_issues_count":150,"forks_count":260,"subscribers_count":99,"default_branch":"master","last_synced_at":"2025-05-07T06:03:19.265Z","etag":null,"topics":["python","rainbowstream","terminal","twitter"],"latest_commit_sha":null,"homepage":"https://github.com/orakaro/rainbowstream","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orakaro.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-05T10:24:10.000Z","updated_at":"2025-05-05T15:49:52.000Z","dependencies_parsed_at":"2023-01-11T20:25:15.554Z","dependency_job_id":null,"html_url":"https://github.com/orakaro/rainbowstream","commit_stats":null,"previous_names":["dtvd/rainbowstream"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orakaro%2Frainbowstream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orakaro%2Frainbowstream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orakaro%2Frainbowstream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orakaro%2Frainbowstream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orakaro","download_url":"https://codeload.github.com/orakaro/rainbowstream/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235696,"owners_count":22036963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["python","rainbowstream","terminal","twitter"],"created_at":"2024-07-30T19:00:29.070Z","updated_at":"2025-12-13T16:03:54.389Z","avatar_url":"https://github.com/orakaro.png","language":"Python","readme":"Rainbow Stream\n--------------\n\n.. image:: http://img.shields.io/pypi/l/rainbowstream.svg?style=flat-square\n   :target: https://github.com/DTVD/rainbowstream/blob/master/LICENSE.txt\n\n.. image:: http://img.shields.io/pypi/v/rainbowstream.svg?style=flat-square\n   :target: https://pypi.python.org/pypi/rainbowstream\n\nTerminal-based full-fledged Twitter client, built upon `Python Twitter Tools`.\n\nShowcase\n--------\n\n.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/rs.gif\n   :alt: gif\n\nInstallation\n------------\n\nDirect installation\n^^^^^^^^^^^^^^^^^^^\n\n.. code:: bash\n\n    sudo pip3 install rainbowstream\n\nVirtualenv (Recommended)\n^^^^^^^^^^^^^^^^^^^^^^^^\n\n.. code:: bash\n\n    virtualenv -p /usr/bin/python3 venv\n    source venv/bin/activate\n    pip install rainbowstream\n\nInstallation Troubleshooting\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nIf you run into dependency issues, you may want to install additional libraries\n\nDebian-based distros:\n\n.. code:: bash\n\n    sudo apt-get install python-dev libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev\n\nCentOS:\n\n.. code:: bash\n\n    sudo yum install python-devel libjpeg-devel\n\nMac OSX \nMac has a `clang unknown argument`_\nproblem with the ``Pillow`` package—a dependency of this\napp.  Please see the workaround in `Issue #10`_\n\n.. code:: bash\n\n    export ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future\n\nIf you still experience issues:\n\n-  ``sudo pip uninstall rainbowstream``\n-  Use the *virtualenv installation*\n-  `Create an issue`_ and provide:\n    - Your OS\n    - Your Python version\n\nUsage\n-----\n\nThe Stream\n^^^^^^^^^^\n\nSimply run ``rainbowstream`` to start the application, or enjoy its ASCII images with ``rainbowstream -iot`` or set ``IMAGE_ON_TERM`` to ``True`` in your config.\n\nIf your terminal supports 24-bit colors, run ``rainbowstream -p24`` instead to utilize 24 bit ASCII images.\n\nIf your terminal supports sixel, ie. wezterm or MLTerm, change the ``IMAGE_ON_TERM`` config to ``sixel`` and enjoy high-quality images.\n\nYou might want to change ``IMAGE_SHIFT`` to set the image's margin (relative to your terminal's\nwidth), and ``IMAGE_MAX_HEIGHT`` to control the max height of every image (see\n`Config Management`_).\n\nYou will be asked for Twitter authorization the first time you run Rainbow\nStream.  Just click the \"Authorize access\" button, paste the PIN to the\nterminal, and the application will start.\n\nYou might want to use Rainbow Stream with an **HTTP/SOCKS proxy**.  Proxy\nsettings are specified as follows:\n\n.. code:: bash\n\n    rainbowstream --proxy-host localhost --proxy-port 1337 --proxy-type HTTP\n    # or the short form:\n    rainbowstream -ph localhost -pp 1337 -pt HTTP\n\nBoth ``--proxy-port`` and ``--proxy-type`` are optional.  The default proxy port\nis ``8080`` and the default proxy type is ``SOCKS5``.\n\nInteractive Mode\n^^^^^^^^^^^^^^^^\n\nWhile your stream is continued, you are also ready to tweet, search,\nreply, retweet, etc. directly from your console.  Simply type ``h`` and hit the\nEnter key to see the help.\n\nInput is in interactive mode.  It means that you can use the arrow keys to move\nup and down through the history, tab-autocomplete, or double-tab to view\navailable suggestions.  Input history from the previous run is also available.\n\n`Read the docs`_ for available commands.\n\nTheme Customization\n^^^^^^^^^^^^^^^^^^^\n\nRainbow Stream is shipped with some default themes.  You can switch themes with\nthe ``theme`` command.  You can also customize themes as you please.\n\nTheme screenshots:\n\n- Monokai\n\n.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/Monokai.png\n   :alt: monokai\n\n- Solarized\n\n.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/Solarized.png\n   :alt: solarized\n\n- Tomorrow Night\n\n.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/TomorrowNight.png\n   :alt: tomorrownight\n\n- Larapaste\n\n.. figure:: https://raw.githubusercontent.com/DTVD/rainbowstream/master/screenshot/themes/larapaste.png\n   :alt: larapaste\n\nSee `Theme Usage and Customization`_ for detailed information.\n\nA Note about Twitter API Change\n-------------------------------\n\nSince Twitter discontinued supporting Stream API, RainbowStream is now using a [Polling Strategy](https://github.com/orakaro/rainbowstream/issues/271) that utilizes the `home` command to poll for your tweets every 90 seconds. This `home` command is rate limited by 15 times per 15 minutes, so don't run it too frequently to leave space for the polling stream.\n\nBug and Feature Requests\n------------------------\n\nFound a bug or a feature request?  Please `create an issue`_ or contact me at\n`@orakaro`_.\n\nDevelopment\n-----------\n\nIf you want to build a runnable version yourself, follow these simple steps:\n\n- `Create your Twitter Application`_\n-  Get your Twitter application’s API key and secret\n- `Create your own Pocket Application`_ (platform: Web)\n-  Get your Pocket application’s key\n-  Fork this repo and ``git clone`` it\n-  Create a ``consumer.py`` file in the `rainbowstream` directory containing:\n\n   .. code:: python\n\n       # Consumer information\n       CONSUMER_KEY = 'APIKey' # Your Twitter application's API key\n       CONSUMER_SECRET = 'APISecret' # Your Twitter application's API secret\n       PCKT_CONSUMER_KEY = 'PocketAPIKey' # Your Pocket application's API key\n\n-  Use pip to install it locally\n\n   .. code:: bash\n\n       # cd to directory which contains setup.py (cloned directory)\n       virtualenv venv # Python3 users: use -p to specify python3\n       source venv/bin/activate\n       pip install -e .\n       which rainbowstream # /this-directory/venv/bin/rainbowstream\n       # Remove ~/.rainbow_oauth if it exists\n       rainbowstream # local version of rainbowstream\n\n\nContributing\n------------\n\nI appreciate any help and support.  Feel free to `fork`_ and `create a pull\nrequest`_. \n\nLicense\n-------\n\nRainbow Stream is released under an MIT License.  See LICENSE.txt for details.\n\n\n.. _Python Twitter Tools: http://mike.verdone.ca/twitter/\n.. _Twitter API: https://dev.twitter.com/docs/api/1.1\n.. _Create an issue: https://github.com/DTVD/rainbowstream/issues/new\n.. _@orakaro: https://twitter.com/dtvd88\n.. _fork: https://github.com/DTVD/rainbowstream/fork\n.. _create a pull request: https://github.com/DTVD/rainbowstream/compare/\n.. _Read the docs: http://rainbowstream.readthedocs.org/en/latest/\n.. _config guide: https://github.com/DTVD/rainbowstream/blob/master/theme.md\n.. _Theme Usage and Customization: https://github.com/DTVD/rainbowstream/blob/master/theme.md\n.. _Create your Twitter Application: https://apps.twitter.com/app/new\n.. _Create your own Pocket Application: https://getpocket.com/developer/apps/new\n.. _Config Management: http://rainbowstream.readthedocs.org/en/latest/#config-explanation\n.. _clang unknown argument: http://kaspermunck.github.io/2014/03/fixing-clang-error/\n.. _Issue #10: https://github.com/DTVD/rainbowstream/issues/10\n","funding_links":[],"categories":["Python","Command Line Utilities","Social media"],"sub_categories":["Internet","Twitter","Others"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forakaro%2Frainbowstream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forakaro%2Frainbowstream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forakaro%2Frainbowstream/lists"}