Package: django-flux
Here’s the situation. You’re on a website and you think to yourself,
“whoa, this site is gnarly! I’d really like to stay up to date with
this.” You hesitate. Will you be inundated with irrelevant content on
Twitter, etc.?Although this information is readily available and often a click or
two away, these additional clicks create an unnecessary barrier to
entry. The goal offluxis to make it possible to quickly
assess the utility of following a particular feed of content and
whether thefluxof relevant
content will be useful for you. Currently,fluxsupports:Twitter viapython-twitterRSS viafeedparserFacebook viafbconsoleLinkedIn viaoauth2Quick startInstallfluxwithpip:[shell]$ pip install django-fluxAddfluxto theINSTALLED_APPSinsettings.pyof your django project:INSTALLED_APPS += ('flux', )Runsyncdbto create the necessary tables:[shell]$ python manage.py syncdbMake sure theadmin is enabledon your site and add accounts to monitor by visiting the admin page
of your site (e.g.,http://localhost:8000/admin/flux/account/add)Run theupdate_fluxmanagement command:[shell]$ python manage.py update_fluxUse theflux_timeseriestemplate tag onAccountinstances
(accountbelow) in your templates:<link rel="stylesheet" href="{{STATIC_URL}}flux/css/timeseries.css" />

{% load flux %}
{% flux_timeseries account %}and you should see something like this:Customize the styling and layout by altering the CSS, and content
accordingly or by taking advantage of any of the other ways of
displaying the flux information:Labels on mouseover with barsOptionally include labels for the bars withd3.jsby including the following in your templates:<link rel="stylesheet" href="{{STATIC_URL}}flux/css/timeseries.css" />
<link rel="stylesheet" href="{{STATIC_URL}}flux/css/bar_mouseover_labels.css" />

{% load flux %}
{% flux_timeseries account %}

<script src="//d3js.org/d3.v2.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="{{STATIC_URL}}flux/js/bar_mouseover_labels.js"></script>and you should see something like this:SparklinesOptionally includesparklineswithd3.jsby including the following in your templates:<link rel="stylesheet" href="{{STATIC_URL}}flux/css/timeseries.css" />
<link rel="stylesheet" href="{{STATIC_URL}}flux/css/sparkline.css" />

{% load flux %}
{% flux_timeseries account %}

<script src="//d3js.org/d3.v2.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="{{STATIC_URL}}flux/js/sparkline.js"></script>and you should see something like this:Labels on mouseover of sparklineOptionally include labels for eachsparklinewithd3.jsby including the following in your templates:<link rel="stylesheet" href="{{STATIC_URL}}flux/css/timeseries.css" />
<link rel="stylesheet" href="{{STATIC_URL}}flux/css/sparkline.css" />

{% load flux %}
{% flux_timeseries account %}

<script src="//d3js.org/d3.v2.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="{{STATIC_URL}}flux/js/sparkline.js"></script>
<script src="{{STATIC_URL}}flux/js/sparkline_mouseover_labels.js"></script>and you should see something like this:Production usageTo have the Accounts monitored be continuously updated, add the
following line to yourcrontabon your production server:0 0 * * * python /path/to/manage.py update_fluxAccount configurationAccount.type=”twitter”Account.name is the Twitter username (e.g., forhttp://twitter.com/DsAtweet, Account.name=”DsAtweet”).No additional information is needed to access Twitter Accounts and
Account.other is ignored.Account.type=”rss”Account.name is the full URL of the RSS feed you want to
track (e.g., forhttp://datascopeanalytics.com/rss/,
Account.name=”http://datascopeanalytics.com/rss/”).No additional information is needed to access Twitter Accounts and
Account.other is ignored.Account.type=”facebook”Account.name is the name of the Facebook page that you want to track
(e.g., forhttp://facebook.com/datascopeanalytics,
Account.name=”datascopeanalytics”)The Account.other JSON must also include several attributes in order
to authenticate to theFacebook APIusingfbconsolewith something like:{
    "app_id":"123456789012345",                          // [0-9]+
    "client_secret": "1234567890abcdef1234567890abcdef", // [0-9a-f]+
    "scope": ["read_stream"],
    "email":"facebook.email@here.com",
    "password": "this.is.your.facebook.password"
}Account.type=”linkedin”Account.name is the name of the LinkedIn company page that you want to
track (e.g., forhttp://linkedin.com/company/datascope-analytics-llc,
Account.name=”datascope-analytics-llc”)The Account.other JSON must also include several attributes in order
to authenticate to theLinkedIn APIwith
something like:{
    "api_key": "1234567890ab",                      // [0-9a-f]+
    "api_secret": "1234567890ABCDEF",               // [0-9a-zA-Z]+
    "token":"12345678-90ab-cdef-1234-567890abcdef", // [0-9a-f\-]+
    "secret":"12345678-90ab-cdef-1234-567890abcdef" // [0-9a-f\-]+
}Contribute!Clone the code fromgithubSetup the virtualenv by following the instructions inexample_project/virtualenv_requirements.txtEdit, test, and share your code. See theissues pagefor
inspiration and to coordinate with the community.