All Projects â†’ Sentdex â†’ Socialsentiment

Sentdex / Socialsentiment

Licence: mit
Sentiment Analysis application created with Python and Dash, hosted at socialsentiment.net

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Socialsentiment

Fitly
Self hosted web analytics for endurance athletes
Stars: ✭ 65 (-83.83%)
Mutual labels:  plotly-dash, plotly, dashboards
dash-lollapalooza-brasil-2018
🎟Using Plotly to visualize data from Lollapalooza
Stars: ✭ 23 (-94.28%)
Mutual labels:  plotly, plotly-dash
Django Plotly Dash
Expose plotly dash apps as django tags
Stars: ✭ 287 (-28.61%)
Mutual labels:  plotly-dash, plotly
Crypto Whale Watching App
Python Dash app that tracks whale activity in cryptocurrency markets.
Stars: ✭ 389 (-3.23%)
Mutual labels:  plotly-dash, plotly
gaitutils
Extract and visualize gait data
Stars: ✭ 28 (-93.03%)
Mutual labels:  plotly, plotly-dash
dash-mantine-components
Plotly Dash components based on Mantine React Components
Stars: ✭ 263 (-34.58%)
Mutual labels:  plotly, plotly-dash
dash-admin
CLI tool for initiating dash boilerplate
Stars: ✭ 22 (-94.53%)
Mutual labels:  plotly, plotly-dash
Dash.jl
Dash for Julia - A Julia interface to the Dash ecosystem for creating analytic web applications in Julia. No JavaScript required.
Stars: ✭ 248 (-38.31%)
Mutual labels:  plotly-dash, plotly
dash-flexbox-grid
Wrapper around react-flexbox-grid for Plotly Dash
Stars: ✭ 19 (-95.27%)
Mutual labels:  plotly, plotly-dash
Dash Docs
📖 The Official Dash Userguide & Documentation
Stars: ✭ 338 (-15.92%)
Mutual labels:  plotly-dash, plotly
plotly-resampler
Visualize large time-series data in plotly
Stars: ✭ 200 (-50.25%)
Mutual labels:  plotly, plotly-dash
2019-nCoV-dash
新型冠状病毒(2019-nCoV)肺炎(COVID-19)疫情展示
Stars: ✭ 13 (-96.77%)
Mutual labels:  plotly, plotly-dash
covid-19
Coronavirus COVID-19 Dashboard - Global Kaggle Data
Stars: ✭ 31 (-92.29%)
Mutual labels:  plotly, plotly-dash
Dash Table
A First-Class Interactive DataTable for Dash
Stars: ✭ 382 (-4.98%)
Mutual labels:  plotly-dash, plotly
Interactive-Dashboards-and-Data-Apps-with-Plotly-and-Dash
Interactive Dashboards and Data Apps with Plotly and Dash, published by Packt
Stars: ✭ 181 (-54.98%)
Mutual labels:  plotly, plotly-dash
dash-redis-celery-periodic-updates
Demo apps now maintained in https://github.com/plotly/dash-enterprise-docs
Stars: ✭ 47 (-88.31%)
Mutual labels:  plotly, plotly-dash
Dashr
Dash for R - An R interface to the Dash ecosystem for creating analytic web applications
Stars: ✭ 337 (-16.17%)
Mutual labels:  plotly-dash, plotly
Slapdash
Boilerplate for bootstrapping scalable multi-page Dash applications
Stars: ✭ 225 (-44.03%)
Mutual labels:  plotly-dash, plotly
Dash
Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.
Stars: ✭ 15,592 (+3778.61%)
Mutual labels:  plotly-dash, plotly
rasterly
Rapidly generate raster images from large datasets in R with Plotly.js
Stars: ✭ 42 (-89.55%)
Mutual labels:  plotly, plotly-dash

Social Sentiment Dash Application

Live-streaming sentiment analysis application created with Python and Dash, hosted at SocialSentiment.net.

application example

Dash Tutorials

This application was created in conjunction with the Dash tutorial series.

Repo Contents:

  • dash_mess.py - This is currently the main front-end application code. Contains the dash application layouts, logic for graphs, interfaces with the database...etc. Name is descriptive of the overall state of code :) ...this code is setup to run on a flask instance. If you want to clone this and run it locally, you will be using the dev_server.py
  • dev_server.py - If you wish to run this application locally, on the dev server, run via this instead.
  • twitter_stream.py - This should run in the background of your application. This is what streams tweets from Twitter, storing them into the sqlite database, which is what the dash_mess.py file interfaces with.
  • config.py - Meant for many configurations, but right now it just contains stop words. Words we don't intend to ever count in the "trending"
  • cache.py - For caching purposes in effort to get things to run faster.
  • db-truncate.py - A script to truncate the infinitely-growing sqlite database. You will get about 3.5 millionish tweets per day, depending on how fast you can process. You can keep these, but, as the database grows, search times will dramatically suffer.

Quick start

  • Clone repo
  • install requirements.txt using pip install -r requirements.txt
  • Fill in your Twitter App credentials to twitter_stream.py. Go to apps.twitter.com to set that up if you need to.
  • Run twitter_stream.py to build database
  • If you're using this locally, you can run the application with the dev_server.py script. If you want to deploy this to a webserver, see my deploying Dash application tutorial
  • You might need the latest version of sqlite.
sudo add-apt-repository ppa:jonathonf/backports
sudo apt-get update && sudo apt-get install sqlite3
  • Consider running the db-truncate.py from time to time (or via a cronjob), to keep the database reasonably sized. In its current state, the database really doesn't need to store more than 2-3 days of data most likely.

Tips for Running on Server

  • You can use Gunicorn to run the server
gunicorn dash_mess:server -b 0.0.0.0:80 -w 4

Todo

Want to help contribute???

  • Code is ugly. Low hanging fruit is just making the code not so ugly. Up to this point, I've just been in "make it work" mode.
  • App is ugly. I am not a designer. This app is prettttttyyyyyy gross. Think you have a better design? Halp.
  • Click-able related terms and trending terms would be nice. I tried, but failed at this. It'd be cool to see a related term, and be able to just click on it, and this becomes the new searched term, for example.
  • The interactive search is cool, but also does a search in the database per-character. It would be nice if it didn't search per key-press. Not sure I want a search button, I like the streamlined interactivity, but maybe wait 0.2 seconds or something without any new keypresses to perform the search? Something like that might help with speeds. I really do not know the best option here, I just know this isn't idea.
  • Other manipulations or ideas for interactivity? Feel free to show them in a PR.

Credits

The speed of the application, especially with a database with 10's of millions of records is thanks entirely to Daniel Kukiela who helped us to convert from regular sqlite to using fts, helping with the queries, new database structure, caching, and more.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].