{"id":20785810,"url":"https://github.com/dineshkarthik/tweetalyzer","last_synced_at":"2025-05-05T15:08:47.807Z","repository":{"id":25825509,"uuid":"85935892","full_name":"Dineshkarthik/tweetalyzer","owner":"Dineshkarthik","description":"Stream and Visualise Tweets on specific topics","archived":false,"fork":false,"pushed_at":"2023-05-01T21:36:59.000Z","size":27,"stargazers_count":3,"open_issues_count":3,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-30T21:51:15.404Z","etag":null,"topics":["tweets","twitter-streaming-api"],"latest_commit_sha":null,"homepage":null,"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/Dineshkarthik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-23T10:17:15.000Z","updated_at":"2022-09-22T09:37:24.000Z","dependencies_parsed_at":"2024-11-17T14:48:03.399Z","dependency_job_id":"30818d27-b4c2-4da2-89d4-86a3bdc991f9","html_url":"https://github.com/Dineshkarthik/tweetalyzer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dineshkarthik%2Ftweetalyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dineshkarthik%2Ftweetalyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dineshkarthik%2Ftweetalyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dineshkarthik%2Ftweetalyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dineshkarthik","download_url":"https://codeload.github.com/Dineshkarthik/tweetalyzer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252522167,"owners_count":21761685,"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":["tweets","twitter-streaming-api"],"created_at":"2024-11-17T14:47:37.129Z","updated_at":"2025-05-05T15:08:47.802Z","avatar_url":"https://github.com/Dineshkarthik.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tweetalyzer\n\nTweetalyzer is a simple  Python app to Stream and Visualise Tweets on specific topics.\nVisualisation - Work In Progress.\n\n### Tech\n\nTweetalyzer uses a number of open source projects to work properly:\n\n* [Flask] - microframework for Python based on Werkzeug, Jinja 2.\n* [Pandas] - pandas is an open source, library providing high-performance, easy-to-use data structures and data analysis tools for the Python.\n* [Redis] - Redis is an open source, in-memory data structure store, used as a database, cache and message broker.\n* [Celery] - Celery is an asynchronous task queue/job queue based on distributed message passing.\n* [TextBlob] - TextBlob is a Python (2 and 3) library for processing textual data.\n* [Tweepy] - An easy-to-use Python library for accessing the Twitter API.\n\n### Installation\n\nYou need Python 3.*, its dependency packages, and the above mentioned packages installed globally:\n```sh\n$ git clone https://github.com/Dineshkarthik/tweetalyzer.git\n$ cd tweetalyzer\n$ pip install -r requirements.txt\n```\n\n### Execution\n```sh\n$ python tweetalyzer.py\n$ python server.py\n$ celery -A tweetprocessor worker --loglevel=info\n```\n* Running `tweetalyzer.py` will start streaming the tweets in the specified topics and will store them in text files.\n* Running `sever.py` will start the flask server and the visualisation can be accessed at `http://localhost:5000` \n* server.py will start the flask server in port 5000 by default which can be started in any other port like `python server.py -p 8000`\n* Command `celery -A tweetprocessor worker --loglevel=info` will start the celery workers which will start processing the stored tweets, which happens every one minute.\n\n\n## Configuration \n\n    access_token: 'your_access_token'\n    access_token_secret: 'your_access_token_secret'\n    consumer_key: 'your_consumer_key'\n    consumer_secret: 'your_consumer_secret'\n    topics: ['python', 'golang', '#ruby']\n \n * To get the above tokens for authenticating the python application to access your twitter account follow the Steps from 2 to 4 in [here](https://www.digitalocean.com/community/tutorials/how-to-authenticate-a-python-application-with-twitter-using-tweepy-on-ubuntu-14-04). \n *  topics - add the list of topics that need to be streamed.\n\n\nLicense\n----\n\nMIT\n\n\n**Free Software, Hell Yeah!**\n\n\n\n   [D3.js]: \u003chttps://d3js.org/\u003e\n   [Flask]: \u003chttp://flask.pocoo.org/\u003e\n   [Pandas]: \u003chttp://pandas.pydata.org/\u003e\n   [Redis]: \u003chttps://redis.io/\u003e\n   [Celery]: \u003chttp://www.celeryproject.org/\u003e\n   [Twitter Bootstrap]: \u003chttp://twitter.github.com/bootstrap/\u003e\n   [jQuery]: \u003chttp://jquery.com\u003e\n   [TextBlob]: \u003chttps://textblob.readthedocs.io/en/dev/\u003e\n   [Tweepy]: \u003chttp://www.tweepy.org/\u003e\n  ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdineshkarthik%2Ftweetalyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdineshkarthik%2Ftweetalyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdineshkarthik%2Ftweetalyzer/lists"}