Repository: raspishake/rsudp (language: python)

Issue:
Feature Request - Additional Twitter Hashtags
Hi,

Suggestion, on the twitter module, the ability to add other hashtags from the configuration file.  For example In my case I would add #earthquake #sismo #USVIWX #USVI

(#RaspberryShake station AM.R7078 - region: Virgin Islands) Event detected at 2020-10-16 05:52:08.20 UTC - live feed 
 https://raspberryshake.net/stationview/#?net=AM&sta=R7078 <inserted here>

(#RaspberryShake station AM.R7078 - region: Virgin Islands) Image of event detected at 2020-10-16 05:52:08.20 UTC <inserted here>

Thanks

Feature Request - Additional Twitter Hashtags
Hi,

Suggestion, on the twitter module, the ability to add other hashtags from the configuration file.  For example In my case I would add #earthquake #sismo #USVIWX #USVI

(#RaspberryShake station AM.R7078 - region: Virgin Islands) Event detected at 2020-10-16 05:52:08.20 UTC - live feed 
 https://raspberryshake.net/stationview/#?net=AM&sta=R7078 <inserted here>

(#RaspberryShake station AM.R7078 - region: Virgin Islands) Image of event detected at 2020-10-16 05:52:08.20 UTC <inserted here>

Thanks

Feature Request - Additional Twitter Hashtags
Hi,

Suggestion, on the twitter module, the ability to add other hashtags from the configuration file.  For example In my case I would add #earthquake #sismo #USVIWX #USVI

(#RaspberryShake station AM.R7078 - region: Virgin Islands) Event detected at 2020-10-16 05:52:08.20 UTC - live feed 
 https://raspberryshake.net/stationview/#?net=AM&sta=R7078 <inserted here>

(#RaspberryShake station AM.R7078 - region: Virgin Islands) Image of event detected at 2020-10-16 05:52:08.20 UTC <inserted here>

Thanks

Feature Request - Additional Twitter Hashtags
Hi,

Suggestion, on the twitter module, the ability to add other hashtags from the configuration file.  For example In my case I would add #earthquake #sismo #USVIWX #USVI

(#RaspberryShake station AM.R7078 - region: Virgin Islands) Event detected at 2020-10-16 05:52:08.20 UTC - live feed 
 https://raspberryshake.net/stationview/#?net=AM&sta=R7078 <inserted here>

(#RaspberryShake station AM.R7078 - region: Virgin Islands) Image of event detected at 2020-10-16 05:52:08.20 UTC <inserted here>

Thanks



Discussion / hints:
Hi @kipdee, I think it would be reasonable to add this to the config file. It might take a little while though, since I don't work on this full time anymore.
Hi @kipdee, I think it would be reasonable to add this to the config file. It might take a little while though, since I don't work on this full time anymore.
Hi @kipdee, I think it would be reasonable to add this to the config file. It might take a little while though, since I don't work on this full time anymore.
Hi @kipdee, I think it would be reasonable to add this to the config file. It might take a little while though, since I don't work on this full time anymore.

Fix patch:
diff --git a/docs/_images/eq_tweet.png b/docs/_images/eq_tweet.png
new file mode 100644
index 0000000..277f53c
Binary files /dev/null and b/docs/_images/eq_tweet.png differ
diff --git a/docs/_images/eq_tweet_extra.png b/docs/_images/eq_tweet_extra.png
new file mode 100644
index 0000000..50c7a52
Binary files /dev/null and b/docs/_images/eq_tweet_extra.png differ
diff --git a/docs/_sources/settings.rst.txt b/docs/_sources/settings.rst.txt
index 5eb558c..5275245 100644
--- a/docs/_sources/settings.rst.txt
+++ b/docs/_sources/settings.rst.txt
@@ -407,7 +407,33 @@ If :json:`"enabled"` is :json:`true`, and all API keys have been generated and a
 then the :class:`rsudp.c_tweet.Tweeter` class will use the Twitter API to
 create tweets when an ALARM message arrives on the queue.
 If :json:`"tweet_images"` is :json:`true`, then the module will also tweet a saved image of the event,
-if :json:`"eq_screenshots"` is set to :json:`true` in the "plot" module.
+if :json:`"eq_screenshots"` is set to :json:`true` in the "plot" module. If any text is put in the
+:json:`"extra_text"` string, then the software will insert that text (no longer than 143 characters)
+into the tweets after a single space. For example, an unmodified tweet with :code:`"extra_text": ""`
+might look like this:
+
+.. _eq-tweet:
+.. figure::  _static/eq_tweet.png
+    :align:   center
+
+    An example tweet sent with the "extra_text" parameter empty (this is the default).
+
+
+Changing the :json:`"extra_text"` parameter to :code:`"extra_text": "from #Williamstown #MA"`
+would render something like the following:
+
+.. _eq-tweet-extra:
+.. figure::  _static/eq_tweet_extra.png
+    :align:   center
+
+    An example tweet sent with the "extra_text" parameter filled.
+
+.. warning::
+
+    Starting the software with an :json:`"extra_text"` string in excess of 143 characters
+    will yield a warning and the :json:`"extra_text"` string will be truncated
+    in order to avoid the tweet being rejected for exceeding the 280 character limit.
+
 
 .. _setting-up-twitter:
 
diff --git a/docs/_static/eq_tweet.png b/docs/_static/eq_tweet.png
new file mode 100644
index 0000000..277f53c
Binary files /dev/null and b/docs/_static/eq_tweet.png differ
diff --git a/docs/_static/eq_tweet_extra.png b/docs/_static/eq_tweet_extra.png
new file mode 100644
index 0000000..50c7a52
Binary files /dev/null and b/docs/_static/eq_tweet_extra.png differ
diff --git a/docs/about.html b/docs/about.html
index 17af5d2..3ce2dc4 100644
--- a/docs/about.html
+++ b/docs/about.html
@@ -37,7 +37,7 @@
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
     <link rel="next" title="2. Installing rsudp" href="installing.html" />
-    <link rel="prev" title="rsudp 1.0.0" href="index.html" /> 
+    <link rel="prev" title="rsudp 1.0.2" href="index.html" /> 
 </head>
 
 <body class="wy-body-for-nav">
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
@@ -306,7 +306,7 @@ <h2><span class="section-number">1.3. </span>What can’t rsudp do?<a class="hea
         <a href="installing.html" class="btn btn-neutral float-right" title="2. Installing rsudp" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
       
       
-        <a href="index.html" class="btn btn-neutral float-left" title="rsudp 1.0.0" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
+        <a href="index.html" class="btn btn-neutral float-left" title="rsudp 1.0.2" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
       
     </div>
   
diff --git a/docs/c_alert.html b/docs/c_alert.html
index 7ef5f12..012d2cb 100644
--- a/docs/c_alert.html
+++ b/docs/c_alert.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/c_alertsound.html b/docs/c_alertsound.html
index 77e202a..e7e5e92 100644
--- a/docs/c_alertsound.html
+++ b/docs/c_alertsound.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/c_consumer.html b/docs/c_consumer.html
index 722cf59..ae45ee3 100644
--- a/docs/c_consumer.html
+++ b/docs/c_consumer.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/c_custom.html b/docs/c_custom.html
index 180cfc8..dc73708 100644
--- a/docs/c_custom.html
+++ b/docs/c_custom.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/c_forward.html b/docs/c_forward.html
index 488b1ca..2686232 100644
--- a/docs/c_forward.html
+++ b/docs/c_forward.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/c_plot.html b/docs/c_plot.html
index ced2272..b70be98 100644
--- a/docs/c_plot.html
+++ b/docs/c_plot.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
@@ -330,7 +330,7 @@ <h1><a class="reference internal" href="#module-rsudp.c_plot" title="rsudp.c_plo
 
 <dl class="method">
 <dt id="rsudp.c_plot.Plot.savefig">
-<code class="sig-name descname">savefig</code><span class="sig-paren">(</span><em class="sig-param">event_time=UTCDateTime(2021</em>, <em class="sig-param">1</em>, <em class="sig-param">5</em>, <em class="sig-param">18</em>, <em class="sig-param">40</em>, <em class="sig-param">36</em>, <em class="sig-param">841250)</em>, <em class="sig-param">event_time_str='2021-01-05-184036'</em><span class="sig-paren">)</span><a class="headerlink" href="#rsudp.c_plot.Plot.savefig" title="Permalink to this definition">¶</a></dt>
+<code class="sig-name descname">savefig</code><span class="sig-paren">(</span><em class="sig-param">event_time=UTCDateTime(2021</em>, <em class="sig-param">1</em>, <em class="sig-param">8</em>, <em class="sig-param">17</em>, <em class="sig-param">48</em>, <em class="sig-param">8</em>, <em class="sig-param">847137)</em>, <em class="sig-param">event_time_str='2021-01-08-174808'</em><span class="sig-paren">)</span><a class="headerlink" href="#rsudp.c_plot.Plot.savefig" title="Permalink to this definition">¶</a></dt>
 <dd><p>Saves the figure and puts an IMGPATH message on the master queue.
 This message can be used to upload the image to various services.</p>
 <dl class="field-list simple">
diff --git a/docs/c_rsam.html b/docs/c_rsam.html
index 6e22c7a..c01fe34 100644
--- a/docs/c_rsam.html
+++ b/docs/c_rsam.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/c_telegram.html b/docs/c_telegram.html
index e30919e..064bbae 100644
--- a/docs/c_telegram.html
+++ b/docs/c_telegram.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/c_tweet.html b/docs/c_tweet.html
index bc96507..20c52bc 100644
--- a/docs/c_tweet.html
+++ b/docs/c_tweet.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
@@ -211,7 +211,7 @@
 <span id="rsudp-c-tweet-twitter-alerts"></span><h1><a class="reference internal" href="#module-rsudp.c_tweet" title="rsudp.c_tweet"><code class="xref py py-data docutils literal notranslate"><span class="pre">rsudp.c_tweet</span></code></a> (Twitter alerts)<a class="headerlink" href="#module-rsudp.c_tweet" title="Permalink to this headline">¶</a></h1>
 <dl class="class">
 <dt id="rsudp.c_tweet.Tweeter">
-<em class="property">class </em><code class="sig-prename descclassname">rsudp.c_tweet.</code><code class="sig-name descname">Tweeter</code><span class="sig-paren">(</span><em class="sig-param">consumer_key</em>, <em class="sig-param">consumer_secret</em>, <em class="sig-param">access_token</em>, <em class="sig-param">access_token_secret</em>, <em class="sig-param">q=False</em>, <em class="sig-param">tweet_images=False</em><span class="sig-paren">)</span><a class="headerlink" href="#rsudp.c_tweet.Tweeter" title="Permalink to this definition">¶</a></dt>
+<em class="property">class </em><code class="sig-prename descclassname">rsudp.c_tweet.</code><code class="sig-name descname">Tweeter</code><span class="sig-paren">(</span><em class="sig-param">consumer_key</em>, <em class="sig-param">consumer_secret</em>, <em class="sig-param">access_token</em>, <em class="sig-param">access_token_secret</em>, <em class="sig-param">q=False</em>, <em class="sig-param">tweet_images=False</em>, <em class="sig-param">extra_text=False</em><span class="sig-paren">)</span><a class="headerlink" href="#rsudp.c_tweet.Tweeter" title="Permalink to this definition">¶</a></dt>
 <dd><blockquote>
 <div><div class="versionadded">
 <p><span class="versionmodified added">New in version 0.4.1.</span></p>
@@ -244,7 +244,8 @@
 <li><p><strong>consumer_secret</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a>) – Twitter calls this the “consumer key secret”</p></li>
 <li><p><strong>access_token</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a>) – Twitter calls this the “consumer access token”</p></li>
 <li><p><strong>access_secret</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a>) – Twitter calls this the “consumer access secret”</p></li>
-<li><p><strong>send_images</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)"><em>bool</em></a>) – whether or not to send images. if False, only alerts will be sent.</p></li>
+<li><p><strong>tweet_images</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)"><em>bool</em></a>) – whether or not to send images. if False, only alerts will be sent.</p></li>
+<li><p><strong>extra_text</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.9)"><em>bool</em></a><em> or </em><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.9)"><em>str</em></a>) – approximately 180 characters to post .</p></li>
 <li><p><strong>q</strong> (<a class="reference external" href="https://docs.python.org/3/library/queue.html#queue.Queue" title="(in Python v3.9)"><em>queue.Queue</em></a>) – queue of data and messages sent by <a class="reference internal" href="c_consumer.html#rsudp.c_consumer.Consumer" title="rsudp.c_consumer.Consumer"><code class="xref py py-class docutils literal notranslate"><span class="pre">rsudp.c_consumer.Consumer</span></code></a></p></li>
 </ul>
 </dd>
diff --git a/docs/c_write.html b/docs/c_write.html
index 49b17e4..4d32c3f 100644
--- a/docs/c_write.html
+++ b/docs/c_write.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/client.html b/docs/client.html
index 1a9b779..80ec4b4 100644
--- a/docs/client.html
+++ b/docs/client.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/contributing.html b/docs/contributing.html
index 8d3d6fb..68aa014 100644
--- a/docs/contributing.html
+++ b/docs/contributing.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/daemon.html b/docs/daemon.html
index b335af2..4004778 100644
--- a/docs/daemon.html
+++ b/docs/daemon.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/genindex.html b/docs/genindex.html
index 6612888..6a4bf72 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -63,7 +63,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/helpers.html b/docs/helpers.html
index 633e156..3b95113 100644
--- a/docs/helpers.html
+++ b/docs/helpers.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/index.html b/docs/index.html
index 2060656..55ee8c2 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -8,7 +8,7 @@
   
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   
-  <title>rsudp 1.0.0 &mdash; rsudp  documentation</title>
+  <title>rsudp 1.0.2 &mdash; rsudp  documentation</title>
   
 
   
@@ -63,7 +63,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
@@ -187,7 +187,7 @@
     
       <li><a href="#">Docs</a> &raquo;</li>
         
-      <li><cite>rsudp</cite> 1.0.0</li>
+      <li><cite>rsudp</cite> 1.0.2</li>
     
     
       <li class="wy-breadcrumbs-aside">
@@ -207,7 +207,7 @@
            <div itemprop="articleBody">
             
   <div class="section" id="rsudp-version">
-<h1><cite>rsudp</cite> 1.0.0<a class="headerlink" href="#rsudp-version" title="Permalink to this headline">¶</a></h1>
+<h1><cite>rsudp</cite> 1.0.2<a class="headerlink" href="#rsudp-version" title="Permalink to this headline">¶</a></h1>
 <a class="reference external image-reference" href="https://github.com/raspishake/rsudp"><img alt="https://img.shields.io/github/stars/raspishake/rsudp?style=social" src="https://img.shields.io/github/stars/raspishake/rsudp?style=social" /></a>
 <div class="line-block">
 <div class="line"><a href="https://github.com/raspishake/rsudp" target="_blank">https://github.com/raspishake/rsudp</a></div>
diff --git a/docs/init.html b/docs/init.html
index 3712be2..cbf9ed4 100644
--- a/docs/init.html
+++ b/docs/init.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/installing.html b/docs/installing.html
index 1bc032a..0c69f82 100644
--- a/docs/installing.html
+++ b/docs/installing.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/objects.inv b/docs/objects.inv
index 86d2890..e63a14f 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/p_producer.html b/docs/p_producer.html
index 0bf5ec9..fc859b8 100644
--- a/docs/p_producer.html
+++ b/docs/p_producer.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/packetize.html b/docs/packetize.html
index cf4a5f4..5a76077 100644
--- a/docs/packetize.html
+++ b/docs/packetize.html
@@ -63,7 +63,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/packetloss.html b/docs/packetloss.html
index f603f5a..f8ccf9a 100644
--- a/docs/packetloss.html
+++ b/docs/packetloss.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/py-modindex.html b/docs/py-modindex.html
index 82a194d..6ee2e64 100644
--- a/docs/py-modindex.html
+++ b/docs/py-modindex.html
@@ -65,7 +65,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/raspberryshake.html b/docs/raspberryshake.html
index ce2e056..3871370 100644
--- a/docs/raspberryshake.html
+++ b/docs/raspberryshake.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/running.html b/docs/running.html
index 8495c23..2967545 100644
--- a/docs/running.html
+++ b/docs/running.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/search.html b/docs/search.html
index c055264..76778bd 100644
--- a/docs/search.html
+++ b/docs/search.html
@@ -63,7 +63,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/searchindex.js b/docs/searchindex.js
index cd6a69e..0f9df9a 100644
--- a/docs/searchindex.js
+++ b/docs/searchindex.js
@@ -1,1 +1,1 @@
-Search.setIndex({docnames:["about","c_alert","c_alertsound","c_consumer","c_custom","c_forward","c_plot","c_rsam","c_telegram","c_testing","c_tweet","c_write","client","contributing","daemon","helpers","index","init","installing","p_producer","packetize","packetloss","raspberryshake","running","settings","t_testdata","test","testing","theory","troubleshooting","youtube"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.index":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,sphinx:56},filenames:["about.rst","c_alert.rst","c_alertsound.rst","c_consumer.rst","c_custom.rst","c_forward.rst","c_plot.rst","c_rsam.rst","c_telegram.rst","c_testing.rst","c_tweet.rst","c_write.rst","client.rst","contributing.rst","daemon.rst","helpers.rst","index.rst","init.rst","installing.rst","p_producer.rst","packetize.rst","packetloss.rst","raspberryshake.rst","running.rst","settings.rst","t_testdata.rst","test.rst","testing.rst","theory.rst","troubleshooting.rst","youtube.rst"],objects:{"rsudp.__init__":{LevelFormatter:[17,1,1,""],add_debug_handler:[17,3,1,""],init_dirs:[17,3,1,""],printE:[17,3,1,""],printM:[17,3,1,""],printW:[17,3,1,""],start_logging:[17,3,1,""]},"rsudp.__init__.LevelFormatter":{format:[17,2,1,""]},"rsudp.c_alert":{Alert:[1,1,1,""]},"rsudp.c_alert.Alert":{run:[1,2,1,""]},"rsudp.c_alertsound":{AlertSound:[2,1,1,""]},"rsudp.c_alertsound.AlertSound":{run:[2,2,1,""]},"rsudp.c_consumer":{Consumer:[3,1,1,""]},"rsudp.c_consumer.Consumer":{run:[3,2,1,""]},"rsudp.c_custom":{Custom:[4,1,1,""]},"rsudp.c_custom.Custom":{run:[4,2,1,""]},"rsudp.c_forward":{Forward:[5,1,1,""]},"rsudp.c_forward.Forward":{run:[5,2,1,""]},"rsudp.c_plot":{Plot:[6,1,1,""]},"rsudp.c_plot.Plot":{deconvolve:[6,2,1,""],figloop:[6,2,1,""],getq:[6,2,1,""],handle_close:[6,2,1,""],handle_resize:[6,2,1,""],mainloop:[6,2,1,""],qu:[6,2,1,""],run:[6,2,1,""],savefig:[6,2,1,""],set_sps:[6,2,1,""],setup_plot:[6,2,1,""],update_plot:[6,2,1,""]},"rsudp.c_rsam":{RSAM:[7,1,1,""]},"rsudp.c_rsam.RSAM":{run:[7,2,1,""]},"rsudp.c_telegram":{Telegrammer:[8,1,1,""]},"rsudp.c_telegram.Telegrammer":{run:[8,2,1,""]},"rsudp.c_testing":{Testing:[9,1,1,""]},"rsudp.c_testing.Testing":{run:[9,2,1,""]},"rsudp.c_tweet":{Tweeter:[10,1,1,""]},"rsudp.c_tweet.Tweeter":{run:[10,2,1,""]},"rsudp.c_write":{Write:[11,1,1,""]},"rsudp.c_write.Write":{elapse:[11,2,1,""],getq:[11,2,1,""],run:[11,2,1,""],set_sps:[11,2,1,""],slicestream:[11,2,1,""],write:[11,2,1,""]},"rsudp.client":{handler:[12,3,1,""],main:[12,3,1,""],mk_p:[12,3,1,""],mk_q:[12,3,1,""],run:[12,3,1,""],start:[12,3,1,""],test:[12,3,1,""],test_mode:[12,3,1,""]},"rsudp.helpers":{conn_stats:[15,3,1,""],deconv_acc_inst:[15,3,1,""],deconv_rbm_inst:[15,3,1,""],deconv_vel_inst:[15,3,1,""],deconvolve:[15,3,1,""],default_settings:[15,3,1,""],dump_default:[15,3,1,""],fsec:[15,3,1,""],get_msg_path:[15,3,1,""],get_msg_time:[15,3,1,""],msg_alarm:[15,3,1,""],msg_imgpath:[15,3,1,""],msg_reset:[15,3,1,""],msg_term:[15,3,1,""],read_settings:[15,3,1,""],set_channels:[15,3,1,""]},"rsudp.p_producer":{Producer:[19,1,1,""]},"rsudp.p_producer.Producer":{run:[19,2,1,""]},"rsudp.packetize":{main:[20,3,1,""],packetize:[20,3,1,""]},"rsudp.packetloss":{main:[21,3,1,""],printTTLS:[21,3,1,""],run:[21,3,1,""],signal_handler:[21,3,1,""]},"rsudp.raspberryshake":{ConsumerThread:[22,1,1,""],copy:[22,3,1,""],getCHN:[22,3,1,""],getCHNS:[22,3,1,""],getDATA:[22,3,1,""],getSR:[22,3,1,""],getSTREAM:[22,3,1,""],getTIME:[22,3,1,""],getTR:[22,3,1,""],getTTLCHN:[22,3,1,""],get_inventory:[22,3,1,""],get_ip:[22,3,1,""],handler:[22,3,1,""],initRSlib:[22,3,1,""],make_trace:[22,3,1,""],openSOCK:[22,3,1,""],set_params:[22,3,1,""],update_stream:[22,3,1,""]},"rsudp.t_testdata":{TestData:[25,1,1,""]},"rsudp.t_testdata.TestData":{run:[25,2,1,""],send:[25,2,1,""]},"rsudp.test":{cancel_tests:[26,3,1,""],datadir_permissions:[26,3,1,""],is_connected:[26,3,1,""],logdir_permissions:[26,3,1,""],make_test_settings:[26,3,1,""],permissions:[26,3,1,""],ss_permissions:[26,3,1,""]},rsudp:{__init__:[17,0,0,"-"],c_alert:[1,0,0,"-"],c_alertsound:[2,0,0,"-"],c_consumer:[3,0,0,"-"],c_custom:[4,0,0,"-"],c_forward:[5,0,0,"-"],c_plot:[6,0,0,"-"],c_rsam:[7,0,0,"-"],c_telegram:[8,0,0,"-"],c_testing:[9,0,0,"-"],c_tweet:[10,0,0,"-"],c_write:[11,0,0,"-"],client:[12,0,0,"-"],helpers:[15,0,0,"-"],p_producer:[19,0,0,"-"],packetize:[20,0,0,"-"],packetloss:[21,0,0,"-"],raspberryshake:[22,0,0,"-"],t_testdata:[25,0,0,"-"],test:[26,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"00z":22,"01t00":15,"10s":14,"15s":17,"16b":[0,24],"1dv7":22,"211704z":28,"21t19":22,"21t20":22,"23t06":28,"246777z":22,"292000z":22,"435214z":28,"532000z":22,"598944z":28,"599z":15,"boolean":28,"break":25,"byte":[15,22,28],"case":[18,24,28,29],"class":[1,2,3,4,5,6,7,8,9,10,11,13,15,17,19,22,24,25,28],"default":[1,6,7,12,14,15,16,18,22,23,26,27,28],"final":[14,28,29],"float":[1,7,22,24],"function":[1,4,6,9,11,12,13,20,22,23,24,26,28],"import":[0,6,15,20,22,24,26,28],"int":[6,21,22,25],"long":[1,24],"new":[4,6,7,8,9,10,11,12,13,14,15,18,22,24,25,26,27,28,29],"public":[10,29],"return":[6,11,12,15,17,21,22,26,28],"short":[1,2,24],"super":28,"throw":24,"true":[1,4,6,7,11,12,15,17,21,22,24,26,28],"try":26,"while":[0,24,28,29],Adding:[13,16,22],And:28,EHE:15,ENE:15,For:[9,12,15,18,22,24,25,27,28,29],One:29,That:[24,27],The:[0,1,3,6,11,12,13,15,16,17,19,20,21,22,23,24,26,27,28,29],Then:[25,26,28,29],There:[24,28,29],These:[9,15,17],Using:[16,28],Will:22,__init__:[16,28],abc:28,abil:[0,27],abl:[0,24,28,29],abort:29,about:[4,13,14,15,16,23,24,27,28],abov:[4,23,24,28,29],acc:[7,24],acceler:[15,24],acceleromet:[0,15,24],access:[10,24],access_secret:[10,24],access_token:[10,24],access_token_secret:10,accommod:24,accompani:0,account:[10,24],accumul:22,accur:15,achiev:[0,24],across:[0,6,24,29],action:[0,12,27,28],activ:[0,10,14,17,18,20,21,23,24,29],actual:[13,24],adapt:[17,22],add:[0,17,24,26,28],add_debug_handl:17,added:[13,22,28],adding:27,addit:[0,13,17,28],addition:[0,24],addr:5,address:[5,7,15,22,24,25,29],adjust:[24,30],administr:18,adventur:13,after:[0,6,14,22,23,28,29],again:24,agenc:[10,24],agg:13,aggress:24,aim:0,alarm:[2,4,6,7,8,9,10,13,15,16,22,23,24,26,27,28],alarm_reset:[1,22],alarmsound:16,alert:[0,1,2,3,6,13,15,16,19,26,27,28],alertsound:[2,24,26,28],algorithm:[6,24],aliv:[9,19,22,25,28],all:[6,11,14,15,19,22,23,24,26,28,29],allow:[6,13,15,16,28,29],almost:29,along:28,alpha:13,alreadi:[13,14,17,24,28],also:[15,19,24,25,27,28,29],alt:24,although:[0,24,29],alwai:[13,14,24],amd:18,among:8,amount:24,amplitud:[7,16],anaconda3:18,anaconda:[18,23],analysi:[16,24],ani:[0,6,15,18,23,24,27,28,29],announc:17,anoth:[5,20,24,28,29],answer:[4,17,22,24],anyth:[12,27],anywai:24,api:[8,10,24,28],api_kei:24,api_secret:24,aplot:6,app:[10,13],appear:[24,29],append:[11,12,17,18,24],appli:[7,10,24],applic:0,appropri:[12,18,24],approxim:24,apt:24,arbitrari:27,architectur:[16,18,27],archiv:27,arg:[1,7],argument:[20,21,22],armv7:18,armv7l:18,around:29,arriv:[2,6,24,25],artifici:27,ascii:20,asctim:17,ask:[18,29],aspect:0,assign:22,associ:17,assum:[0,24,28,29],atop:24,attach:[13,29],attribut:[17,22],audibl:0,audioseg:2,authent:24,automat:[8,18,22],avail:[0,15,16,18,22,23,24,26,27,30],averag:[1,2,24,29],avoid:6,awai:0,axvlin:13,back:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],backend:[6,13,26],backtick:[13,29],bak:18,bandpass:[1,24],bar:29,base:[18,24,27,28],bash:[14,18,23],basic:[24,27],bat:[18,23],batch:[13,23],beauti:0,becaus:[15,22,24],becom:27,bedrock:24,been:[0,18,24,29],beep:24,befor:[17,22,24,28],beforehand:24,begin:[6,23,25],behalf:10,behavior:6,being:[22,24,29],below:[0,16,18,24,27,28,29],beneath:[6,24],berryconda3:18,better:24,between:[21,22,24,28,29],beyond:13,bin:14,binari:24,bind:22,bit:27,block:6,blue:29,boaz:16,bonu:24,bool:[1,2,4,6,7,8,10,11,12,15,17,21,22,26,28],boom:[15,16,22,24,27,30],boot:14,bot:[8,10],botfath:24,both:[0,6,13,14,15,18,22,24,28],box:22,brace:28,brew:24,brief:[0,24],bring:[0,24],broad:16,broadcast:[6,8,24,28],bug:[16,22,29],build:[22,24,28],button:29,buzzer:13,c_alarm:[9,26],c_alert:[13,15,16,24],c_alertsound:[16,24,28],c_anotheron:28,c_consum:[1,2,4,5,6,7,8,9,10,11,12,16,19,25,28],c_custom:[13,16,24],c_data:[9,26],c_forward:[16,24],c_imgpath:[9,26],c_mymodul:28,c_mytest:28,c_plot:[15,16,24,28],c_printraw:24,c_process:[9,26],c_reset:[9,26],c_rsam:16,c_telegram:[10,16,24,28],c_term:[9,26],c_test:16,c_tweet:[16,24,28],c_write:[16,24],calcul:[0,1,3,6,19,22,24],calibr:15,call:[6,10,15,17,20,22,24,28,29],can:[4,6,10,13,14,15,16,18,20,22,23,24,27,28],cancel:26,cancel_test:26,cannot:[6,22,24,29],canva:6,capabl:[0,27,28],caption:28,car:0,care:24,carri:17,cast:[0,29],caus:[6,11,18,22,24],centerpiec:0,central:[6,15,16],certain:[4,6,24],cha:[1,5,6,7,11,15],chan:[7,21,24,26],chang:[14,18,19,23,24,27,29],channel:[0,1,5,6,7,11,15,18,21,22,24,26],charact:[0,4,24],chart:[27,28],chat:[8,24],chat_id:[8,24],check:[4,14,16,18,24,27,29],child:28,chime:24,chn:22,choos:[18,23],chosen:[24,27],citizen:[15,22],classroom:27,clear:6,clearli:[13,29],click:[18,23,29],client:[2,16,22,23,27],clone:14,close:[6,12,23,28],closer:24,code:[0,6,14,18,22,28,29],codebas:0,codefil:[4,7,24],collect:0,color:[13,17],com:[13,14,16],combin:28,come:[10,22,23,24,29,30],comma:[24,28],command:[12,13,14,17,18,20,21,22,24,27],comment:[6,13],common:[22,29],commun:[0,13,24,28,29],comparison:24,compat:6,complex:0,comput:[0,17,18,23,29],conda:[18,20,21,23,27],config:[14,18,23,24,29],configur:[12,23,29],conform:28,confus:15,conn_stat:15,connect:[14,15,26,29],consecut:[21,22],consist:18,consol:[1,7,15,16],constant:21,constraint:24,construct:[15,28],consum:[1,2,4,5,6,7,8,10,11,12,13,15,16,19,20,22,24,25,26],consumer_kei:10,consumer_secret:10,consumerthread:[22,28],contact:[0,24],contain:[0,6,13,15,20,22,24,25],content:27,continu:[0,16,24,25,27,28],contribut:[0,16],control:[13,23,24,28],convert:[4,15,20,22,24,27],cool:28,cooper:29,coordin:11,copi:[13,18,22,29],core:[1,6,11,15,22,26,27,28],correct:[4,22,24,29],correctli:[14,18,24,28],cost:0,could:[15,18,24,27,28,29],count:[15,22,24],counter:6,coupl:[17,24],cover:[18,23],cpu:22,creat:[13,14,15,16,17,18,22,23,24,27,28],creation:[8,13,14],crust:0,cryptographi:18,csv:[7,24],ctrl:[21,23,24,29],current:[9,15,18,22,26,28],custom:[4,13,16,27],custom_set:27,customiz:16,d_matplotlib:26,d_pydub:26,daemon:[0,12,16],dai:11,daili:11,data:[0,1,2,3,4,7,8,9,10,15,16,21,22,23,25,26,28,30],data_fil:25,datacast:[16,22,23,29],datadir_permiss:26,date:[11,17],datefmt:17,datetim:[15,17],dead:14,debain:14,debian:24,debug:[1,7,11,12,24,26,28],decim:22,decod:15,deconv:[1,6,7],deconv_acc_inst:15,deconv_rbm_inst:15,deconv_vel_inst:15,deconvolut:15,deconvolv:[6,15,24,26],def:28,default_set:15,defin:24,definit:18,deliveri:29,demand:0,demo:[16,23],demonstr:[16,27],denot:[21,28],depend:[0,10,15,17,18,26,28],depict:27,deprec:24,depth:16,deriv:22,describ:[13,28,29],descript:[14,24,26,28],design:[0,25,27,29],desktop:18,destin:[3,5,12,28],detail:[0,6,10,22,24],detect:[0,16,23,26,27],detector:24,determin:[1,17,25],develop:[0,10,13,16,18,22,24,28],devic:[0,22,29],diagnost:14,diagram:[9,25,27],dict:[12,15,17,26],dictionari:[12,15,17,26,28],differ:[17,23,24,27,28,29],difficult:[10,29],digit:24,dir:24,directli:[0,22,24,28],directori:[14,17,18,24,26,27,28],disabl:[6,24],disclaim:[0,4,24],discov:27,disk:[11,15,25,27,28],disp:[7,24],displac:24,displai:[0,1,6,11,15,17,24,29],distanc:29,distribut:[0,3,5,10,18,19,24,28],docstr:28,document:[14,27,28],doe:[0,14,15,24,25,27],doesn:[15,18,24],doing:[14,24,27],don:[26,27,29],done:[14,18,20,22,27,28],doorbel:24,doubl:[18,23],down:[10,11,22],download:[18,22,24,26],downward:24,dport:22,draw:6,drawn:6,drop:[24,29],duckduckgo:29,due:[0,29],dump:[15,23,27],dump_default:15,duplic:28,durat:[1,2,6,24,26],dure:[9,16,25,28],dynam:6,each:[3,6,19,22,24,28,29],earli:[0,6,8,10,24],earlier:28,earth:0,earthquak:[0,16,23,27],easi:[0,13,23,28],easier:[10,13,24],easiest:26,easili:[13,22],echo:18,edg:24,edit:[18,27],educ:0,eew:[0,24],effect:6,effici:[13,28],ehn:15,ehz:[15,22,24,28],either:[6,7,20,23,24,28,29],elaps:[6,11,21],els:[12,29],elsewher:[0,14,24],embed:15,emsc:10,enabl:[0,6,7,14,24,26,28],encod:22,encourag:28,end:[4,18,24,25,28],endpoint:24,endtest:25,enhanc:13,enn:15,enough:[0,22],ensur:24,enter:[14,18,23,24,27],entir:[14,24],entri:24,environ:[18,20,21,23,27],enz:[15,24],eq_screenshot:[24,26],errformat:17,error:[0,6,13,14,17,22,24,29],especi:[6,24],essenti:[27,28],etc:[13,18],ethernet:29,even:[13,24,27,29],event:[0,6,12,13,15,17,24],event_tim:[6,15],event_time_str:6,eventu:28,everi:[6,7,14,21,24,29],evt:6,exampl:[3,15,17,18,19,21,22,24,28,29],exceed:[1,24],except:[17,22,28],exec:4,execreload:14,execstart:14,execstartpr:14,execstop:14,execut:[3,4,7,14,18,19,22,24,26,28],exist:[17,24,28,29],exit:[24,25,28],experi:[24,29],explain:24,explan:18,explicit:[0,24],explor:0,extens:0,extern:29,extra:24,extract:22,extrem:[0,24],face:29,fact:0,fail:14,failur:28,fairli:29,fals:[0,1,2,4,6,7,8,9,10,11,12,15,17,19,21,22,24,25,26,28],far:[0,29],fast:[22,24],fdsn:[22,24,26],featur:[0,13,16,23,29],feed:27,feel:[13,16,28],fetch:[9,26],few:24,ffmpeg:[18,24,28],field:[15,18,24],fifo:28,figloop:6,fignam:15,figur:[0,6,15,24,27,28,29],file:[4,6,11,14,15,17,18,20,23,24,25,26,27,29],filenam:6,filesystem:24,fill:24,filter:[1,24],find:[13,16,22,24,27],fine:22,firewal:16,first:[6,10,14,18,23,24,25,28,29],fix:[18,29],flag:[1,19,27,28],flavor:24,flow:[9,16,23,25],fmt:17,focu:23,folder:[18,24],follow:[4,14,15,16,18,21,24,26,27,28,29],footstep:24,forc:[23,24],forg:18,fork:24,form:[22,28],formal:28,format:[0,1,4,7,13,15,17,20,24,25,27,28,29],formatexcept:17,formatt:[16,28],formattim:17,formerli:23,forum:[13,28,29],forward:[7,11,16,23,29],found:24,four:[9,24],fraction:15,frame:[12,21,22],free:[8,24,28,29],freez:14,freq:15,frequenc:[21,22,24],from:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],front:24,fsec:15,full:[6,15],fulli:[0,22,24],fullscreen:[6,24],fun:13,further:[0,24],futur:[18,24],fwaddr:[7,24],fwformat:[7,24],fwport:[7,24],gather:28,gempa:22,gener:[10,16,18,27,28,29],geophon:[0,6,15,24],get:[5,6,13,15,16,22,24,26,27,28,29],get_inventori:22,get_ip:22,get_msg_path:15,get_msg_tim:15,getchn:22,getdata:22,getmessag:17,getq:[6,11,28],getsr:22,getstream:22,gettim:22,gettr:22,getttlchn:22,git:[14,18,23],github:[13,14,16,18,29],give:[10,24,29],given:[15,28,29],glad:29,global:[12,22],globe:29,goe:[24,28,29],going:[0,29],gone:10,good:29,got:28,gpio:13,gracefulli:19,grade:[0,24],graphic:14,grasp:0,grav:7,great:29,green:14,grei:14,ground:[3,19],group:24,guarante:[0,24,29],gui:[0,6,24],guid:[16,24],guidanc:12,hack:22,had:24,handl:[6,12,23],handle_clos:6,handle_res:6,handler:[12,17,21,22],happen:[6,24,28,29],hard:29,harmless:18,has:[0,4,6,9,10,11,18,21,24,28,29],have:[0,4,6,13,14,15,18,22,24,27,28,29],hdf:[15,22,24],head:18,headless:0,hear:13,heart:6,help:[12,22,29],helper:[16,22],here:[0,1,4,13,17,24,26,28],hierarchi:[9,25,27,28],high:24,higher:24,highli:16,highpass:[1,24,26],hit:18,hobbi:[0,24],hold:24,home:[14,15,18,23,24,28],homebrew:24,host:[22,29],hostnam:26,hour:[0,10,21,29],how:[6,13,18,23,24,27,28],howev:[10,18,24,27,29],http:[13,14,16,28,29],hundredth:15,ian:16,iannesbitt:[14,15],idea:28,ifttt:13,ignor:[5,11,23,24,28],imag:[6,8,10,15,24,28],imgpath:[6,8,9,10,15,26,28],immedi:25,implement:28,impli:[0,24],implic:24,importerror:6,inabl:29,inact:14,includ:[0,10,14,22,23,24,27,28],incom:[1,23],increas:22,increment:6,indefinit:29,independ:28,index:[1,2,3,4,5,6,7,8,9,10,11,12,19,20,21,22,24,25,26],indic:[12,13,19,29],individu:[27,29],inet:26,inf:20,infinit:28,info:[17,29],infoformat:17,inform:[0,10,15,17,22,24,28,29],ingest:29,init:29,init_dir:17,initd:22,initi:[15,16,21,22,26,28],initrslib:22,input:[20,24],inset:28,insid:[24,29],instal:[0,14,16,20,21,23,27,30],instanc:[15,28],instanti:28,instantli:28,instead:[10,27],institut:22,instruct:[4,16,18,24,26,27],instrument:[0,15,16,22,24],integ:[15,18,22],integr:[13,27,28],intend:[0,22,24],interact:13,interfac:17,intern:[24,29],internet:[26,27,29],interrupt:14,interv:[7,24],intervent:0,intuit:0,inv:[15,22],inventori:[9,15,22,24,26],involv:13,ioerror:[22,29],is_connect:26,isn:13,isp:29,issu:[0,13,16,24,27,28],item:[24,28],its:[0,9,10,14,15,22,24,26,27,28],itself:27,job:29,json:[7,15,18,23,24,27,28,29],jump:24,just:[9,11,24,28,29],keep:[0,22,24],kei:[10,18,24,29],keystrok:21,kid:13,kill:14,kiosk:[0,6,24],know:[16,18,28,29],known:[23,24,29],kwarg:[1,7,22],label:[17,29],laid:28,laptop:18,larg:27,last:[11,24,25,27,28],later:18,latest:[18,25],layout:16,lead:24,lean:0,learn:[0,13],least:[15,22,24],leav:[0,18],let:[6,24,28,29],level:17,level_fmt:17,levelformatt:17,liabil:[0,24],libav:[24,28],librari:[6,15,16,23],licens:[0,24],life:[0,24],light:13,like:[3,9,13,14,17,18,19,22,23,24,27,28,29],likewis:1,limit:[0,10],line:[4,12,13,14,17,20,21,22,23,24,25,27,28,29],linecach:6,linestyl:13,linewidth:13,linger:14,link:24,linux:[14,16],list:[1,3,5,6,11,12,15,19,22,24,28],listen:[1,7,21,22,24,29],lite:[7,24],littl:6,live:[1,7,16],load:[12,24],loc:15,local:[0,16,21,22,24,27],localhost:[22,25],locat:[15,18,22,23,24,29],lock:24,log:[13,14,17,22,24,26,29],logdir:26,logdir_permiss:26,logic:28,loginctl:14,logrecord:17,longer:[6,24],look:[0,10,14,16,18,19,22,24,27,28,29],loop:[6,22,25,28],lose:24,loss:[21,29],lost:21,lot:[6,28],low:[0,22],lowpass:[1,24,26],lta:16,lxml:18,mac:[18,24],machin:[14,22,24],maco:16,made:[0,11,28],mai:[0,3,6,10,14,18,19,23,24,28,29],main:[3,6,12,16,20,21,24,28],mainloop:6,mainpid:14,maintain:[0,28],make:[0,4,6,10,12,13,18,22,24,27,28,29],make_test_set:[26,27,28],make_trac:22,manag:24,mani:[0,6,10,24,28,29],manual:[16,18,24],master:[6,12,16,19,28],match:[15,24],matplotlib:[6,13,18,26,28],matter:24,max:1,mean:[0,4,18,24,27,28],meant:[0,24,27],measur:[7,15,24],media:[0,10,13,28],memori:[0,22],merg:22,messag:[1,2,3,4,5,6,7,8,9,10,11,13,15,16,17,19,20,24,25,26],method:[18,23,24],metric:15,mexican:[8,24],microsecond:15,middl:[16,28],might:[14,29],millisecond:[21,22],miniconda3:18,miniconda:18,minimum:0,minise:[11,16,20,27],minut:18,misconfigur:14,miss:24,mk_p:[12,28],mk_q:[12,28],mkdir:14,mode:[6,12,16,24,27],model:24,modif:22,modifi:[18,22,23,26,28],modul:[0,4,6,8,10,13,16,18,20,22,25,26],monei:0,monitor:[0,13,14,16,19,28,29],month:0,more:[4,6,10,13,22,23,24,27,28,29],most:[0,6,13,22,24,29],motion:[0,3,16,19,24],motor:13,move:[0,24,28,29],mp3:24,mp3file:24,mpl:26,mseed:[20,27],msg:[15,17],msg_alarm:15,msg_imgpath:15,msg_reset:15,msg_term:15,much:[0,24,28,29],multi:10,multipl:[0,24,28],must:[0,6,10,15,18,20,22,24,27,28,29],mymod:28,mymodul:28,n_internet:26,n_inventori:[9,26],n_port:26,nail:10,name:[6,11,15,17,18,21,22,23,24,26,27,28],nano:14,nation:24,nativ:24,natur:0,navig:29,nearbi:24,nearli:0,necessari:[14,15,22],necessarili:24,need:[0,13,14,15,16,18,22,23,24,26,27,28,29],neg:[0,24],nesbitt:16,network:[5,14,22,24,25,26],never:24,newbot:24,newlin:[4,24],next:[14,18,23,24,25,28],nodata:22,node:29,nois:24,non:[0,24],none:[4,12,15,17],nonetyp:15,normal:[9,27,28],notabl:24,note:[0,27,29],notif:[0,8,10,16],notifi:[1,16,29],now:[14,18,22,24,28],nth:6,number:[6,8,15,21,22,24,28],numpi:18,object:[1,2,3,5,6,15,18,19,22,28],obspi:[1,3,6,11,15,18,19,20,22,24,27,28],occasion:[0,24],occur:[24,28],odir:17,off:[12,13,22,28],off_ev:13,offic:30,offici:[0,24],often:[24,29],old:[18,22],on_ev:13,onc:[6,10,24,27,28,29],one:[0,4,13,15,22,23,24,27,28,29],ones:13,onli:[0,8,9,10,12,15,22,23,24,28],onlin:29,open:[0,13,18,22,23,24,25,28],opensock:22,oper:[9,11,17,18,23,27],operand:17,option:[7,16,22,24,28],order:[0,6,14,15,16,18,22,24,28],ordinari:27,ordinarili:27,org:[13,28,29],organ:[16,28],orig:22,oserror:22,other:[0,1,3,5,6,8,11,13,14,16,18,19,23,24,28],otherwis:[11,21,26],our:[13,16,18,23,28,29,30],out:[6,16,17,22,24,27,28,29],outcom:0,outf:20,outlin:28,output:[0,7,12,13,14,15,17,20,24,26,29],output_dir:[11,15,24],outsid:29,over:[1,11,18,22,27,29],overload:29,overrid:18,overview:[16,24],overwrit:23,overwritten:18,own:[0,13,16,22,24,26],p_data_dir:26,p_log_dir:26,p_log_fil:26,p_log_std:26,p_output_dir:26,p_produc:[1,3,15,16,22,24,28],p_screenshot_dir:26,packag:[20,24],packet:[6,7,9,11,15,16,22,24,25,27,29],packetloss:[16,29],pad:15,page:[1,2,3,4,5,6,7,8,9,10,11,12,13,16,19,20,21,22,24,25,26,27,29],panama:30,panamaigc:8,param:28,paramet:[1,2,3,4,5,6,7,8,9,10,11,12,15,16,17,19,20,21,22,24,25,26,28],parent:28,pars:[16,22,28],parser:28,part:[0,24,28],partial:15,partwai:18,pass:[2,3,4,5,6,9,12,13,15,16,19,20,21,22,24,25,26],past:[13,14,29],path:[15,18,23,24,26],patienc:29,paus:18,per:[6,11,15,22,23,24],perform:[0,24],perhap:[0,27],period:[0,21,24,29],perman:14,permiss:[10,26,27,29],person:16,piec:[0,27],pin:13,ping:24,pip:18,place:[22,24,28],plai:[13,16,18,26,27,28],plan:28,platform:[0,10,28],playback:24,pleas:[0,4,13,18,24,27,29],plenti:22,plot:[0,3,13,15,16,19,23,26,28],plt:13,plu:29,png:[15,24,28],point:[22,24,28],popul:[3,6,19,24],port:[5,7,15,19,21,22,23,24,25,26,27,28,29],portion:24,posit:[0,9,24,25],post:[8,10,24,28,29],potenti:13,power:[0,6,9,22,24],pre:16,precis:[15,22],prefer:[16,23],prepar:25,preparatori:17,press:[23,24,29],pressur:[0,15,16,24],pretti:28,previou:[18,24],print:[7,15,16,17,21,22],printdata:16,printfreq:21,printm:[17,22,28],printraw:24,printttl:21,printw:17,prior:[4,22,24,26],privat:29,privileg:18,probabl:[18,28],problem:[13,18,24,27,29],proc:12,proce:[18,24],process:[0,3,6,9,10,12,16,21,23,24,26,27,28],processor:[6,18,24],produc:[1,3,12,13,15,16,20,22,24,27],profession:[0,24],profil:[18,24],program:[0,11,13,14,16,18,21,22,23,24,25,26,27,29],programmat:28,project:[0,16],prompt:[18,23],properli:6,properti:[0,24],protect:0,protocol:29,provid:[0,13,14,24,29],pull:[18,28],purpos:[11,24,28],put:[6,15,19,24],pydub:[2,26],pyplot:[13,28],python3:20,python:[0,4,15,16,18,20,24],qt5:6,quak:24,quarter:6,question:[4,11,13,24,28],queue:[1,2,3,4,5,6,7,8,9,10,11,12,13,15,19,24,25,28],quickli:[0,8,10],quiet:[7,26],quit:[2,4,6,7,16,19,25,28],r24fa:[15,26,28],r3bcf:22,r940d:22,rais:[1,6,22],ram:0,raspberri:[0,10,14,15,16,18,20,22,24,25,26,27,30],raspberryshak:[13,15,16,28,29],raspbian:[14,18,24],raspishak:[13,14,16],rate:[6,10,15,21,22,25,27],ratio:[1,24],raw:[15,24],rcb43:22,reach:25,read:[1,2,3,4,5,7,8,10,11,15,16,18,20,22,24,25,27,28],read_set:15,reader:25,readi:[15,18,23,24],readili:24,real:[0,7,14,16],realli:24,reason:[14,18,23,29],reboot:14,rebuild:23,receiv:[19,22,24,26,27,28],recept:9,record:[0,6,15,17,27],recur:29,recurs:[1,24],recursive_sta_lta:[1,24],red:[14,28],redraw:6,referenti:22,reflect:[15,29],refresh:[6,24],regard:[0,14],regist:24,rel:10,relat:6,releas:[18,24],relev:[24,26,28,29],reli:[0,24,28],reliabl:[10,22],reload:14,remain:0,remind:28,remot:[16,27],remov:24,replac:18,report:[12,15,21,22,28,29],repositori:[0,18,23,24],repres:9,request:[22,28],requir:[0,4,22,24,27,28],reset:[1,9,13,15,22,24,26,28],reset_tim:15,resid:29,resiz:6,resolv:[22,24],resourc:[13,16],respect:[24,28],respons:[24,29],rest:[27,28],restart:[0,16,29],restartsec:14,restructuredtext:28,result:[12,24,26],rewritten:18,richard:16,right:[15,22,28,29],rigor:10,room:0,round:15,router:29,routin:[0,6,11,12,13,27],row:[28,29],rs4d:[15,24],rsam:[16,26],rsstn:22,rsudp:[13,24,28,30],rsudp_set:[18,23,24,29],rtype:28,rule:10,run:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,16,19,20,21,22,25,26,27,28,30],runtim:28,s0cde:22,safer:29,sai:[14,24,29],said:24,same:[22,24,25,27,29],sampl:[6,11,15,22,27],sasmex:[8,24],save:[0,6,15,17,24,28],save_pct:6,savefig:[6,28],scenario:24,scienc:[0,15,22],scipi:18,screen:24,screencap:6,screenshot:[6,13,15,24,26,28],script:[13,14,18,22,23,24,27,29],scroll:29,search:[1,2,3,4,5,6,7,8,9,10,11,12,16,19,20,21,22,24,25,26,29],sec:15,second:[1,2,6,7,11,14,15,18,21,22,24,27,28,29],secret:[10,24],section:[0,18,24,28,29],secur:29,sediment:24,see:[0,1,2,4,6,7,8,9,10,12,13,14,16,17,19,20,22,23,24,25,27,28,29],seek:25,seem:0,segment:11,seiscomp3:22,seismic:[0,7,16,20,22,27],seismogram:[6,24],seismograph:[0,16],seismolog:0,self:[2,4,6,7,9,11,15,22,25,28],send:[1,6,7,8,10,13,15,17,22,23,24,25,27,28,29],send_imag:[8,10,24],sender:[8,17,22,28],sent:[1,2,3,4,5,6,7,8,9,10,11,22,24,25,28,29],separ:[6,24],sequenc:[24,28],serial:15,server:24,servic:[6,8,10,14,24,26,29],set:[0,1,4,6,7,10,11,12,13,14,15,16,18,21,22,23,25,26,29,30],set_channel:15,set_param:22,set_sp:[6,11],settings_loc:15,setup:[12,16,22,29],setup_plot:6,sever:[18,23,24,29],shake:[0,6,10,14,15,16,20,22,23,24,25,26,27,30],shorten:24,should:[0,1,12,14,18,19,22,24,28,29],show:[0,12,14,27,28],shown:28,shutdown:6,shz:[15,24],side:16,sig:12,sign:24,signal:[1,6,12,21,22,24,28],signal_handl:21,signum:[21,22],similar:[0,13,18,28],simpl:[0,10,11,15,24,25],simpli:[18,24],simultan:0,sinc:[13,21,22,24,28,29],singl:[5,22],site:29,size:24,skip:18,sleep:14,slice:11,slicestream:11,slightli:[27,29],slow:29,slower:[6,24],small:[24,27,29],social:[0,10,13,28],socket:[22,25],softwar:[0,13,18,23,24,27,28],solut:22,solv:29,some:[6,13,14,15,18,22,23,24,26,28,29],somehow:14,someon:27,someth:[13,14,16,22,24,28,29],sometim:10,somewher:[24,29],sonar:24,soon:30,sort:28,sound:[0,1,13,16,18,23,26,27,28],soundloc:2,sourc:[0,23,24,28,29],space:17,span:10,special:16,specif:[1,6,12,15,18,21,22,27,29],specifi:[5,7,15,17,22,24,25,26,27,28,29],spectrogram:[6,24],speed:[24,25],spent:0,sphinx:28,spin:28,sps:[15,22],sqlalchemi:18,ss_permiss:26,sta:[2,16],stabl:0,stackoverflow:[4,17,22,24],stamp:17,stand:28,standard:[0,4,24,28],start:[9,11,12,14,16,21,22,24,25,26,27,28,29],start_log:17,startup:6,stat:15,state:[0,12,13,22,23,24,26],station:[15,22,24,26],statist:21,statu:[14,19,28],stdout:[24,26],steim2:24,step:[17,18,24,28],still:[24,29],stn:22,stomp:24,stop:[12,19,23],store:[22,29],str:[1,4,5,6,7,8,10,11,15,17,20,22,25,26,28],straightforward:29,strang:15,stream:[1,3,6,9,11,15,16,19,21,22,23,24,28,30],street:0,strftime:[15,17],strict:29,stricter:10,string:[4,6,15,17,22,25,28],structur:[14,26],student:27,stuff:[6,28],style:[4,24],sub:[3,12,15,16,22,28],submit:[28,29],subsequ:24,substitut:[0,24],succe:24,success:26,successfulli:24,sudden:[0,16,24],sudo:[14,24],suffer:0,suffic:0,suffici:24,suggest:[13,16],suit:[8,24],summari:27,suppli:[12,24],support:[15,28,29],suppress:7,sure:[4,13,24,27,29],suspici:10,switcher:24,sys:28,system:[0,8,14,18,22,23,24],systemctl:[0,16],systemd:14,t_testdata:[16,27],tab:24,tag:13,tail:14,take:[6,12,18,24],taken:12,talk:29,target:[14,29],task:[0,3,19],task_don:28,team:[15,29],technic:29,telegram:[0,10,13,16],telegramm:[8,24,28],tell:[18,24,27,28,29],term:[1,2,4,6,7,9,15,19,24,25,26,28],termin:[18,23],test:[0,6,12,14,15,16,17,18,20,24],test_mod:12,testb:22,testdata:[9,25,27],testdir:26,text:[12,14,15,17,20,24,27,29],than:[6,10,14,18,23,24,27,29],thank:[28,29],thei:[13,17,19,22,23,26,27,28,29],them:[12,17,24,25,28,29],theoret:24,theori:[0,28],therefor:16,thi:[0,1,3,4,5,6,8,9,10,11,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29],thing1:28,thing:[0,3,6,8,13,17,19,24,28,29],think:10,thoroughli:24,those:[3,5,20,22],thread:[9,12,16,19,22,24,25,27],threadsaf:6,three:[24,28,29],thresh:1,threshold:[1,24,26],through:[0,6,10,18,23,27,28,29],thu:18,tick:11,time:[0,1,6,7,11,13,14,15,16,17,21,22,23,26,27,29],timeout:22,timestamp:[15,22,25],tkagg:6,tmp:[13,14,24,26,29],token:[8,10,24],too:[24,29],tool:0,top:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],total:22,trace:[0,15,22],track:16,transduc:[0,15,16,24],transmiss:[15,21,22,25],tri:0,trigger:[0,1,3,6,13,16,19,27,28],tripl:[13,29],troubl:[18,27],troubleshoot:[16,27],turn:[12,20,28,29],tutori:[14,16,18,23],tweet:[10,16],tweet_imag:[10,24],tweeter:[10,24,28],twitter:[0,13,16],two:[15,24,28],txt:[20,27],type:[6,9,11,12,15,16,17,18,21,22,23,24,26,27],typic:[24,27,29],ubuntu:14,udp:[0,5,7,16,20,22,23,24,25,27,29],unam:18,uncheck:24,unconsolid:24,under:29,understand:[24,28],unfamiliar:28,uniqu:0,unit:[14,15,24,26],univers:28,unix:[4,13,14,16,18,22,24],unless:24,unlimit:22,unmaintain:0,unpredict:0,unstabl:29,until:[9,15,22,25,28,29],unzip:18,updat:[6,11,22,24],update_plot:6,update_stream:22,upload:6,upon:[16,28],usag:[20,22,27],use:[0,6,10,15,18,22,23,27,28],used:[0,3,6,8,10,13,15,17,19,22,24,27,28],useful:[0,17,27,28],user:[0,4,14,15,16,22,23,24,28,29],usernam:24,uses:[0,1,15,17,28,29],usestim:17,usg:10,using:[4,13,14,17,18,20,21,22,24,26,27,29],usual:[0,27,29],utc:11,utcdatetim:[1,6,15,22],utcdatetime1:13,utcdatetime2:13,utcdatetime3:13,utcdatetime4:13,util:[17,20,24],valid:[15,24],valu:[12,18,21,22,24,26,28,29],vari:10,variabl:[11,12,15,18,22,26],variou:[3,6,16,18,19,27],vel:[7,24],veloc:[15,24],verbos:15,veri:[22,24],version:[4,7,8,9,10,12,15,18,24,25,26,28],vertic:[6,15,24],via:[0,8,28,29],vibrat:0,video:[16,18,23],virtual:18,visual:16,voltag:24,wai:[0,6,13,16,24,26,27,28,29],wait:[22,24],walkthrough:16,want:[4,13,14,15,24],wantedbi:14,warm:24,warn:[0,4,8,17,24],warnformat:17,warranti:[0,24],wast:26,watch:[27,28],web:24,websit:24,week:0,weird:6,welcom:[13,16],well:[13,14,24,29],were:[24,27],what:[4,14,16,24,27,28,29],whatev:[24,28],when:[0,1,2,6,10,11,13,16,18,21,22,24,25,28,30],whenev:24,where:[6,18,20,23,24,28,29],wherea:14,whether:[0,1,6,7,8,10,11,12,14,17,18,19,24,26,27],which:[0,8,14,15,17,19,20,21,22,24,27,28,29],white:15,why:[16,29],wifi:29,win:[18,23],win_overrid:[4,24],win_ovr:4,window:[4,6,7,13,16],wish:[18,24,26,28],within:[14,20],without:[0,6,13,24,27,29],work:[13,14,15,18,22,24,28,29],worker:28,would:[15,18,24,26,27,28,29],write:[16,17,20,26],writer:16,written:[16,24],wrong:29,x86:18,x86_64:18,xyz:28,yellow:15,yet:0,yield:17,you:[0,4,10,13,14,15,16,18,22,23,24,26,27,28,29],your:[4,10,13,14,16,21,22,23,24,26,29],your_modul:[26,28],your_shake_bot_id:24,your_test:26,yourself:[18,29],youtub:16,z0000:[22,24,26],zero:[15,22,29]},titles:["<span class=\"section-number\">1. </span>About rsudp","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_alert</span></code> (STA/LTA alarm)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_alertsound</span></code> (play sound)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_consumer</span></code> (master consumer)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_custom</span></code> (run code)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_forward</span></code> (forward data)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_plot</span></code> (plot data)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_rsam</span></code> (RSAM analysis)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_telegram</span></code> (Telegram alerts)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_testing</span></code> (test consumer)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_tweet</span></code> (Twitter alerts)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_write</span></code> (write data)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.client</span></code> (central module)","<span class=\"section-number\">2. </span>Contributing to this project","<span class=\"section-number\">5. </span>rsudp as a <code class=\"docutils literal notranslate\"><span class=\"pre\">systemctl</span></code> daemon","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.helpers</span></code> (helper functions)","<cite>rsudp</cite> 1.0.0","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.__init__</span></code> (initialization functions)","<span class=\"section-number\">2. </span>Installing rsudp","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.p_producer</span></code> (data producer)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.packetize</span></code> (data formatter)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.packetloss</span></code> (track packets)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.raspberryshake</span></code> (main library)","<span class=\"section-number\">4. </span>Running rsudp","<span class=\"section-number\">3. </span>Modules and Settings","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.t_testdata</span></code> (test pre-producer)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.test</span></code> (test helpers)","<span class=\"section-number\">7. </span>Testing and demoing rsudp","<span class=\"section-number\">1. </span>Program architecture and flow","<span class=\"section-number\">6. </span>Troubleshooting rsudp","YouTube walkthroughs"],titleterms:{"default":24,"function":[15,16,17,27],Adding:28,The:18,Using:[24,27],__init__:17,about:0,add:18,advanc:18,alarm:1,alarmsound:24,alert:[8,10,24],amplitud:24,analysi:7,app:24,architectur:28,bashrc:18,bot:24,broad:0,bug:13,c_alert:1,c_alertsound:2,c_consum:3,c_custom:4,c_forward:5,c_plot:6,c_rsam:7,c_telegram:8,c_test:9,c_tweet:10,c_write:11,can:[0,29],central:12,classroom:24,client:[12,28],code:[4,13,16,24],command:29,conda:29,consol:24,consum:[3,9,28],contribut:13,custom:24,daemon:14,data:[5,6,11,19,20,24,27,29],datacast:24,demo:[27,30],demonstr:[23,24],depend:24,detect:[24,30],document:16,dure:27,earthquak:[24,30],easi:18,exec:24,featur:28,file:28,firewal:29,flow:[27,28,29],formatt:20,forward:[5,24],gener:24,helper:[15,26],home:29,inconsist:29,index:16,initi:17,instal:[18,24],instruct:14,issu:29,layout:28,librari:22,line:18,linux:[18,24],live:[24,30],local:29,lta:[1,24],maco:[18,24],main:22,manual:23,master:3,messag:28,middl:29,minise:24,mode:23,modul:[12,24,27,28],network:29,notif:24,other:29,overview:0,own:[27,28],p_produc:19,packet:[20,21],packetloss:21,pass:28,plai:[2,24],plot:[6,24],pre:25,print:24,printdata:24,produc:[19,25,28],program:28,project:13,pydub:24,quiet:24,quit:23,raspberryshak:22,real:24,receiv:29,recommend:24,remot:29,restart:14,rsam:[7,24],rsudp:[0,1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,22,23,25,26,27,29],run:[4,18,23,24,29],sampl:28,school:29,seismic:24,set:[24,27,28],setup:14,shake:29,side:29,sound:[2,24],sourc:18,special:0,sta:[1,24],start:23,stop:29,suggest:28,systemctl:14,t_testdata:25,telegram:[8,24],test:[9,23,25,26,27,28],thi:13,thread:28,time:24,track:21,trigger:24,troubleshoot:[14,29],tweet:24,twitter:[10,24],type:28,univers:29,unix:23,updat:18,upon:24,use:24,user:18,vault:24,wai:18,walkthrough:30,what:0,why:0,window:[18,23,24],write:[11,24],writer:24,your:[18,27,28],youtub:30}})
\ No newline at end of file
+Search.setIndex({docnames:["about","c_alert","c_alertsound","c_consumer","c_custom","c_forward","c_plot","c_rsam","c_telegram","c_testing","c_tweet","c_write","client","contributing","daemon","helpers","index","init","installing","p_producer","packetize","packetloss","raspberryshake","running","settings","t_testdata","test","testing","theory","troubleshooting","youtube"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":1,"sphinx.domains.index":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,sphinx:56},filenames:["about.rst","c_alert.rst","c_alertsound.rst","c_consumer.rst","c_custom.rst","c_forward.rst","c_plot.rst","c_rsam.rst","c_telegram.rst","c_testing.rst","c_tweet.rst","c_write.rst","client.rst","contributing.rst","daemon.rst","helpers.rst","index.rst","init.rst","installing.rst","p_producer.rst","packetize.rst","packetloss.rst","raspberryshake.rst","running.rst","settings.rst","t_testdata.rst","test.rst","testing.rst","theory.rst","troubleshooting.rst","youtube.rst"],objects:{"rsudp.__init__":{LevelFormatter:[17,1,1,""],add_debug_handler:[17,3,1,""],init_dirs:[17,3,1,""],printE:[17,3,1,""],printM:[17,3,1,""],printW:[17,3,1,""],start_logging:[17,3,1,""]},"rsudp.__init__.LevelFormatter":{format:[17,2,1,""]},"rsudp.c_alert":{Alert:[1,1,1,""]},"rsudp.c_alert.Alert":{run:[1,2,1,""]},"rsudp.c_alertsound":{AlertSound:[2,1,1,""]},"rsudp.c_alertsound.AlertSound":{run:[2,2,1,""]},"rsudp.c_consumer":{Consumer:[3,1,1,""]},"rsudp.c_consumer.Consumer":{run:[3,2,1,""]},"rsudp.c_custom":{Custom:[4,1,1,""]},"rsudp.c_custom.Custom":{run:[4,2,1,""]},"rsudp.c_forward":{Forward:[5,1,1,""]},"rsudp.c_forward.Forward":{run:[5,2,1,""]},"rsudp.c_plot":{Plot:[6,1,1,""]},"rsudp.c_plot.Plot":{deconvolve:[6,2,1,""],figloop:[6,2,1,""],getq:[6,2,1,""],handle_close:[6,2,1,""],handle_resize:[6,2,1,""],mainloop:[6,2,1,""],qu:[6,2,1,""],run:[6,2,1,""],savefig:[6,2,1,""],set_sps:[6,2,1,""],setup_plot:[6,2,1,""],update_plot:[6,2,1,""]},"rsudp.c_rsam":{RSAM:[7,1,1,""]},"rsudp.c_rsam.RSAM":{run:[7,2,1,""]},"rsudp.c_telegram":{Telegrammer:[8,1,1,""]},"rsudp.c_telegram.Telegrammer":{run:[8,2,1,""]},"rsudp.c_testing":{Testing:[9,1,1,""]},"rsudp.c_testing.Testing":{run:[9,2,1,""]},"rsudp.c_tweet":{Tweeter:[10,1,1,""]},"rsudp.c_tweet.Tweeter":{run:[10,2,1,""]},"rsudp.c_write":{Write:[11,1,1,""]},"rsudp.c_write.Write":{elapse:[11,2,1,""],getq:[11,2,1,""],run:[11,2,1,""],set_sps:[11,2,1,""],slicestream:[11,2,1,""],write:[11,2,1,""]},"rsudp.client":{handler:[12,3,1,""],main:[12,3,1,""],mk_p:[12,3,1,""],mk_q:[12,3,1,""],run:[12,3,1,""],start:[12,3,1,""],test:[12,3,1,""],test_mode:[12,3,1,""]},"rsudp.helpers":{conn_stats:[15,3,1,""],deconv_acc_inst:[15,3,1,""],deconv_rbm_inst:[15,3,1,""],deconv_vel_inst:[15,3,1,""],deconvolve:[15,3,1,""],default_settings:[15,3,1,""],dump_default:[15,3,1,""],fsec:[15,3,1,""],get_msg_path:[15,3,1,""],get_msg_time:[15,3,1,""],msg_alarm:[15,3,1,""],msg_imgpath:[15,3,1,""],msg_reset:[15,3,1,""],msg_term:[15,3,1,""],read_settings:[15,3,1,""],set_channels:[15,3,1,""]},"rsudp.p_producer":{Producer:[19,1,1,""]},"rsudp.p_producer.Producer":{run:[19,2,1,""]},"rsudp.packetize":{main:[20,3,1,""],packetize:[20,3,1,""]},"rsudp.packetloss":{main:[21,3,1,""],printTTLS:[21,3,1,""],run:[21,3,1,""],signal_handler:[21,3,1,""]},"rsudp.raspberryshake":{ConsumerThread:[22,1,1,""],copy:[22,3,1,""],getCHN:[22,3,1,""],getCHNS:[22,3,1,""],getDATA:[22,3,1,""],getSR:[22,3,1,""],getSTREAM:[22,3,1,""],getTIME:[22,3,1,""],getTR:[22,3,1,""],getTTLCHN:[22,3,1,""],get_inventory:[22,3,1,""],get_ip:[22,3,1,""],handler:[22,3,1,""],initRSlib:[22,3,1,""],make_trace:[22,3,1,""],openSOCK:[22,3,1,""],set_params:[22,3,1,""],update_stream:[22,3,1,""]},"rsudp.t_testdata":{TestData:[25,1,1,""]},"rsudp.t_testdata.TestData":{run:[25,2,1,""],send:[25,2,1,""]},"rsudp.test":{cancel_tests:[26,3,1,""],datadir_permissions:[26,3,1,""],is_connected:[26,3,1,""],logdir_permissions:[26,3,1,""],make_test_settings:[26,3,1,""],permissions:[26,3,1,""],ss_permissions:[26,3,1,""]},rsudp:{__init__:[17,0,0,"-"],c_alert:[1,0,0,"-"],c_alertsound:[2,0,0,"-"],c_consumer:[3,0,0,"-"],c_custom:[4,0,0,"-"],c_forward:[5,0,0,"-"],c_plot:[6,0,0,"-"],c_rsam:[7,0,0,"-"],c_telegram:[8,0,0,"-"],c_testing:[9,0,0,"-"],c_tweet:[10,0,0,"-"],c_write:[11,0,0,"-"],client:[12,0,0,"-"],helpers:[15,0,0,"-"],p_producer:[19,0,0,"-"],packetize:[20,0,0,"-"],packetloss:[21,0,0,"-"],raspberryshake:[22,0,0,"-"],t_testdata:[25,0,0,"-"],test:[26,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","class","Python class"],"2":["py","method","Python method"],"3":["py","function","Python function"]},objtypes:{"0":"py:module","1":"py:class","2":"py:method","3":"py:function"},terms:{"00z":22,"01t00":15,"10s":14,"15s":17,"16b":[0,24],"1dv7":22,"211704z":28,"21t19":22,"21t20":22,"23t06":28,"246777z":22,"292000z":22,"435214z":28,"532000z":22,"598944z":28,"599z":15,"boolean":28,"break":25,"byte":[15,22,28],"case":[18,24,28,29],"class":[1,2,3,4,5,6,7,8,9,10,11,13,15,17,19,22,24,25,28],"default":[1,6,7,12,14,15,16,18,22,23,26,27,28],"final":[14,28,29],"float":[1,7,22,24],"function":[1,4,6,9,11,12,13,20,22,23,24,26,28],"import":[0,6,15,20,22,24,26,28],"int":[6,21,22,25],"long":[1,24],"new":[4,6,7,8,9,10,11,12,13,14,15,18,22,24,25,26,27,28,29],"public":[10,29],"return":[6,11,12,15,17,21,22,26,28],"short":[1,2,24],"super":28,"throw":24,"true":[1,4,6,7,11,12,15,17,21,22,24,26,28],"try":26,"while":[0,24,28,29],Adding:[13,16,22],And:28,EHE:15,ENE:15,For:[9,12,15,18,22,24,25,27,28,29],One:29,That:[24,27],The:[0,1,3,6,11,12,13,15,16,17,19,20,21,22,23,24,26,27,28,29],Then:[25,26,28,29],There:[24,28,29],These:[9,15,17],Using:[16,28],Will:22,__init__:[16,28],abc:28,abil:[0,27],abl:[0,24,28,29],abort:29,about:[4,13,14,15,16,23,24,27,28],abov:[4,23,24,28,29],acc:[7,24],acceler:[15,24],acceleromet:[0,15,24],access:[10,24],access_secret:[10,24],access_token:[10,24],access_token_secret:10,accommod:24,accompani:0,account:[10,24],accumul:22,accur:15,achiev:[0,24],across:[0,6,24,29],action:[0,12,27,28],activ:[0,10,14,17,18,20,21,23,24,29],actual:[13,24],adapt:[17,22],add:[0,17,24,26,28],add_debug_handl:17,added:[13,22,28],adding:27,addit:[0,13,17,28],addition:[0,24],addr:5,address:[5,7,15,22,24,25,29],adjust:[24,30],administr:18,adventur:13,after:[0,6,14,22,23,24,28,29],again:24,agenc:[10,24],agg:13,aggress:24,aim:0,alarm:[2,4,6,7,8,9,10,13,15,16,22,23,24,26,27,28],alarm_reset:[1,22],alarmsound:16,alert:[0,1,2,3,6,13,15,16,19,26,27,28],alertsound:[2,24,26,28],algorithm:[6,24],aliv:[9,19,22,25,28],all:[6,11,14,15,19,22,23,24,26,28,29],allow:[6,13,15,16,28,29],almost:29,along:28,alpha:13,alreadi:[13,14,17,24,28],also:[15,19,24,25,27,28,29],alt:24,although:[0,24,29],alwai:[13,14,24],amd:18,among:8,amount:24,amplitud:[7,16],anaconda3:18,anaconda:[18,23],analysi:[16,24],ani:[0,6,15,18,23,24,27,28,29],announc:17,anoth:[5,20,24,28,29],answer:[4,17,22,24],anyth:[12,27],anywai:24,api:[8,10,24,28],api_kei:24,api_secret:24,aplot:6,app:[10,13],appear:[24,29],append:[11,12,17,18,24],appli:[7,10,24],applic:0,appropri:[12,18,24],approxim:[10,24],apt:24,arbitrari:27,architectur:[16,18,27],archiv:27,arg:[1,7],argument:[20,21,22],armv7:18,armv7l:18,around:29,arriv:[2,6,24,25],artifici:27,ascii:20,asctim:17,ask:[18,29],aspect:0,assign:22,associ:17,assum:[0,24,28,29],atop:24,attach:[13,29],attribut:[17,22],audibl:0,audioseg:2,authent:24,automat:[8,18,22],avail:[0,15,16,18,22,23,24,26,27,30],averag:[1,2,24,29],avoid:[6,24],awai:0,axvlin:13,back:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],backend:[6,13,26],backtick:[13,29],bak:18,bandpass:[1,24],bar:29,base:[18,24,27,28],bash:[14,18,23],basic:[24,27],bat:[18,23],batch:[13,23],beauti:0,becaus:[15,22,24],becom:27,bedrock:24,been:[0,18,24,29],beep:24,befor:[17,22,24,28],beforehand:24,begin:[6,23,25],behalf:10,behavior:6,being:[22,24,29],below:[0,16,18,24,27,28,29],beneath:[6,24],berryconda3:18,better:24,between:[21,22,24,28,29],beyond:13,bin:14,binari:24,bind:22,bit:27,block:6,blue:29,boaz:16,bonu:24,bool:[1,2,4,6,7,8,10,11,12,15,17,21,22,26,28],boom:[15,16,22,24,27,30],boot:14,bot:[8,10],botfath:24,both:[0,6,13,14,15,18,22,24,28],box:22,brace:28,brew:24,brief:[0,24],bring:[0,24],broad:16,broadcast:[6,8,24,28],bug:[16,22,29],build:[22,24,28],button:29,buzzer:13,c_alarm:[9,26],c_alert:[13,15,16,24],c_alertsound:[16,24,28],c_anotheron:28,c_consum:[1,2,4,5,6,7,8,9,10,11,12,16,19,25,28],c_custom:[13,16,24],c_data:[9,26],c_forward:[16,24],c_imgpath:[9,26],c_mymodul:28,c_mytest:28,c_plot:[15,16,24,28],c_printraw:24,c_process:[9,26],c_reset:[9,26],c_rsam:16,c_telegram:[10,16,24,28],c_term:[9,26],c_test:16,c_tweet:[16,24,28],c_write:[16,24],calcul:[0,1,3,6,19,22,24],calibr:15,call:[6,10,15,17,20,22,24,28,29],can:[4,6,10,13,14,15,16,18,20,22,23,24,27,28],cancel:26,cancel_test:26,cannot:[6,22,24,29],canva:6,capabl:[0,27,28],caption:28,car:0,care:24,carri:17,cast:[0,29],caus:[6,11,18,22,24],centerpiec:0,central:[6,15,16],certain:[4,6,24],cha:[1,5,6,7,11,15],chan:[7,21,24,26],chang:[14,18,19,23,24,27,29],channel:[0,1,5,6,7,11,15,18,21,22,24,26],charact:[0,4,10,24],chart:[27,28],chat:[8,24],chat_id:[8,24],check:[4,14,16,18,24,27,29],child:28,chime:24,chn:22,choos:[18,23],chosen:[24,27],citizen:[15,22],classroom:27,clear:6,clearli:[13,29],click:[18,23,29],client:[2,16,22,23,27],clone:14,close:[6,12,23,28],closer:24,code:[0,6,14,18,22,28,29],codebas:0,codefil:[4,7,24],collect:0,color:[13,17],com:[13,14,16],combin:28,come:[10,22,23,24,29,30],comma:[24,28],command:[12,13,14,17,18,20,21,22,24,27],comment:[6,13],common:[22,29],commun:[0,13,24,28,29],comparison:24,compat:6,complex:0,comput:[0,17,18,23,29],conda:[18,20,21,23,27],config:[14,18,23,24,29],configur:[12,23,29],conform:28,confus:15,conn_stat:15,connect:[14,15,26,29],consecut:[21,22],consist:18,consol:[1,7,15,16],constant:21,constraint:24,construct:[15,28],consum:[1,2,4,5,6,7,8,10,11,12,13,15,16,19,20,22,24,25,26],consumer_kei:10,consumer_secret:10,consumerthread:[22,28],contact:[0,24],contain:[0,6,13,15,20,22,24,25],content:27,continu:[0,16,24,25,27,28],contribut:[0,16],control:[13,23,24,28],convert:[4,15,20,22,24,27],cool:28,cooper:29,coordin:11,copi:[13,18,22,29],core:[1,6,11,15,22,26,27,28],correct:[4,22,24,29],correctli:[14,18,24,28],cost:0,could:[15,18,24,27,28,29],count:[15,22,24],counter:6,coupl:[17,24],cover:[18,23],cpu:22,creat:[13,14,15,16,17,18,22,23,24,27,28],creation:[8,13,14],crust:0,cryptographi:18,csv:[7,24],ctrl:[21,23,24,29],current:[9,15,18,22,26,28],custom:[4,13,16,27],custom_set:27,customiz:16,d_matplotlib:26,d_pydub:26,daemon:[0,12,16],dai:11,daili:11,data:[0,1,2,3,4,7,8,9,10,15,16,21,22,23,25,26,28,30],data_fil:25,datacast:[16,22,23,29],datadir_permiss:26,date:[11,17],datefmt:17,datetim:[15,17],dead:14,debain:14,debian:24,debug:[1,7,11,12,24,26,28],decim:22,decod:15,deconv:[1,6,7],deconv_acc_inst:15,deconv_rbm_inst:15,deconv_vel_inst:15,deconvolut:15,deconvolv:[6,15,24,26],def:28,default_set:15,defin:24,definit:18,deliveri:29,demand:0,demo:[16,23],demonstr:[16,27],denot:[21,28],depend:[0,10,15,17,18,26,28],depict:27,deprec:24,depth:16,deriv:22,describ:[13,28,29],descript:[14,24,26,28],design:[0,25,27,29],desktop:18,destin:[3,5,12,28],detail:[0,6,10,22,24],detect:[0,16,23,26,27],detector:24,determin:[1,17,25],develop:[0,10,13,16,18,22,24,28],devic:[0,22,29],diagnost:14,diagram:[9,25,27],dict:[12,15,17,26],dictionari:[12,15,17,26,28],differ:[17,23,24,27,28,29],difficult:[10,29],digit:24,dir:24,directli:[0,22,24,28],directori:[14,17,18,24,26,27,28],disabl:[6,24],disclaim:[0,4,24],discov:27,disk:[11,15,25,27,28],disp:[7,24],displac:24,displai:[0,1,6,11,15,17,24,29],distanc:29,distribut:[0,3,5,10,18,19,24,28],docstr:28,document:[14,27,28],doe:[0,14,15,24,25,27],doesn:[15,18,24],doing:[14,24,27],don:[26,27,29],done:[14,18,20,22,27,28],doorbel:24,doubl:[18,23],down:[10,11,22],download:[18,22,24,26],downward:24,dport:22,draw:6,drawn:6,drop:[24,29],duckduckgo:29,due:[0,29],dump:[15,23,27],dump_default:15,duplic:28,durat:[1,2,6,24,26],dure:[9,16,25,28],dynam:6,each:[3,6,19,22,24,28,29],earli:[0,6,8,10,24],earlier:28,earth:0,earthquak:[0,16,23,27],easi:[0,13,23,28],easier:[10,13,24],easiest:26,easili:[13,22],echo:18,edg:24,edit:[18,27],educ:0,eew:[0,24],effect:6,effici:[13,28],ehn:15,ehz:[15,22,24,28],either:[6,7,20,23,24,28,29],elaps:[6,11,21],els:[12,29],elsewher:[0,14,24],embed:15,empti:24,emsc:10,enabl:[0,6,7,14,24,26,28],encod:22,encourag:28,end:[4,18,24,25,28],endpoint:24,endtest:25,enhanc:13,enn:15,enough:[0,22],ensur:24,enter:[14,18,23,24,27],entir:[14,24],entri:24,environ:[18,20,21,23,27],enz:[15,24],eq_screenshot:[24,26],errformat:17,error:[0,6,13,14,17,22,24,29],especi:[6,24],essenti:[27,28],etc:[13,18],ethernet:29,even:[13,24,27,29],event:[0,6,12,13,15,17,24],event_tim:[6,15],event_time_str:6,eventu:28,everi:[6,7,14,21,24,29],evt:6,exampl:[3,15,17,18,19,21,22,24,28,29],exceed:[1,24],except:[17,22,28],excess:24,exec:4,execreload:14,execstart:14,execstartpr:14,execstop:14,execut:[3,4,7,14,18,19,22,24,26,28],exist:[17,24,28,29],exit:[24,25,28],experi:[24,29],explain:24,explan:18,explicit:[0,24],explor:0,extens:0,extern:29,extra:24,extra_text:[10,24],extract:22,extrem:[0,24],face:29,fact:0,fail:14,failur:28,fairli:29,fals:[0,1,2,4,6,7,8,9,10,11,12,15,17,19,21,22,24,25,26,28],far:[0,29],fast:[22,24],fdsn:[22,24,26],featur:[0,13,16,23,29],feed:27,feel:[13,16,28],fetch:[9,26],few:24,ffmpeg:[18,24,28],field:[15,18,24],fifo:28,figloop:6,fignam:15,figur:[0,6,15,24,27,28,29],file:[4,6,11,14,15,17,18,20,23,24,25,26,27,29],filenam:6,filesystem:24,fill:24,filter:[1,24],find:[13,16,22,24,27],fine:22,firewal:16,first:[6,10,14,18,23,24,25,28,29],fix:[18,29],flag:[1,19,27,28],flavor:24,flow:[9,16,23,25],fmt:17,focu:23,folder:[18,24],follow:[4,14,15,16,18,21,24,26,27,28,29],footstep:24,forc:[23,24],forg:18,fork:24,form:[22,28],formal:28,format:[0,1,4,7,13,15,17,20,24,25,27,28,29],formatexcept:17,formatt:[16,28],formattim:17,formerli:23,forum:[13,28,29],forward:[7,11,16,23,29],found:24,four:[9,24],fraction:15,frame:[12,21,22],free:[8,24,28,29],freez:14,freq:15,frequenc:[21,22,24],from:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30],front:24,fsec:15,full:[6,15],fulli:[0,22,24],fullscreen:[6,24],fun:13,further:[0,24],futur:[18,24],fwaddr:[7,24],fwformat:[7,24],fwport:[7,24],gather:28,gempa:22,gener:[10,16,18,27,28,29],geophon:[0,6,15,24],get:[5,6,13,15,16,22,24,26,27,28,29],get_inventori:22,get_ip:22,get_msg_path:15,get_msg_tim:15,getchn:22,getdata:22,getmessag:17,getq:[6,11,28],getsr:22,getstream:22,gettim:22,gettr:22,getttlchn:22,git:[14,18,23],github:[13,14,16,18,29],give:[10,24,29],given:[15,28,29],glad:29,global:[12,22],globe:29,goe:[24,28,29],going:[0,29],gone:10,good:29,got:28,gpio:13,gracefulli:19,grade:[0,24],graphic:14,grasp:0,grav:7,great:29,green:14,grei:14,ground:[3,19],group:24,guarante:[0,24,29],gui:[0,6,24],guid:[16,24],guidanc:12,hack:22,had:24,handl:[6,12,23],handle_clos:6,handle_res:6,handler:[12,17,21,22],happen:[6,24,28,29],hard:29,harmless:18,has:[0,4,6,9,10,11,18,21,24,28,29],have:[0,4,6,13,14,15,18,22,24,27,28,29],hdf:[15,22,24],head:18,headless:0,hear:13,heart:6,help:[12,22,29],helper:[16,22],here:[0,1,4,13,17,24,26,28],hierarchi:[9,25,27,28],high:24,higher:24,highli:16,highpass:[1,24,26],hit:18,hobbi:[0,24],hold:24,home:[14,15,18,23,24,28],homebrew:24,host:[22,29],hostnam:26,hour:[0,10,21,29],how:[6,13,18,23,24,27,28],howev:[10,18,24,27,29],http:[13,14,16,28,29],hundredth:15,ian:16,iannesbitt:[14,15],idea:28,ifttt:13,ignor:[5,11,23,24,28],imag:[6,8,10,15,24,28],imgpath:[6,8,9,10,15,26,28],immedi:25,implement:28,impli:[0,24],implic:24,importerror:6,inabl:29,inact:14,includ:[0,10,14,22,23,24,27,28],incom:[1,23],increas:22,increment:6,indefinit:29,independ:28,index:[1,2,3,4,5,6,7,8,9,10,11,12,19,20,21,22,24,25,26],indic:[12,13,19,29],individu:[27,29],inet:26,inf:20,infinit:28,info:[17,29],infoformat:17,inform:[0,10,15,17,22,24,28,29],ingest:29,init:29,init_dir:17,initd:22,initi:[15,16,21,22,26,28],initrslib:22,input:[20,24],insert:24,inset:28,insid:[24,29],instal:[0,14,16,20,21,23,27,30],instanc:[15,28],instanti:28,instantli:28,instead:[10,27],institut:22,instruct:[4,16,18,24,26,27],instrument:[0,15,16,22,24],integ:[15,18,22],integr:[13,27,28],intend:[0,22,24],interact:13,interfac:17,intern:[24,29],internet:[26,27,29],interrupt:14,interv:[7,24],intervent:0,intuit:0,inv:[15,22],inventori:[9,15,22,24,26],involv:13,ioerror:[22,29],is_connect:26,isn:13,isp:29,issu:[0,13,16,24,27,28],item:[24,28],its:[0,9,10,14,15,22,24,26,27,28],itself:27,job:29,json:[7,15,18,23,24,27,28,29],jump:24,just:[9,11,24,28,29],keep:[0,22,24],kei:[10,18,24,29],keystrok:21,kid:13,kill:14,kiosk:[0,6,24],know:[16,18,28,29],known:[23,24,29],kwarg:[1,7,22],label:[17,29],laid:28,laptop:18,larg:27,last:[11,24,25,27,28],later:18,latest:[18,25],layout:16,lead:24,lean:0,learn:[0,13],least:[15,22,24],leav:[0,18],let:[6,24,28,29],level:17,level_fmt:17,levelformatt:17,liabil:[0,24],libav:[24,28],librari:[6,15,16,23],licens:[0,24],life:[0,24],light:13,like:[3,9,13,14,17,18,19,22,23,24,27,28,29],likewis:1,limit:[0,10,24],line:[4,12,13,14,17,20,21,22,23,24,25,27,28,29],linecach:6,linestyl:13,linewidth:13,linger:14,link:24,linux:[14,16],list:[1,3,5,6,11,12,15,19,22,24,28],listen:[1,7,21,22,24,29],lite:[7,24],littl:6,live:[1,7,16],load:[12,24],loc:15,local:[0,16,21,22,24,27],localhost:[22,25],locat:[15,18,22,23,24,29],lock:24,log:[13,14,17,22,24,26,29],logdir:26,logdir_permiss:26,logic:28,loginctl:14,logrecord:17,longer:[6,24],look:[0,10,14,16,18,19,22,24,27,28,29],loop:[6,22,25,28],lose:24,loss:[21,29],lost:21,lot:[6,28],low:[0,22],lowpass:[1,24,26],lta:16,lxml:18,mac:[18,24],machin:[14,22,24],maco:16,made:[0,11,28],mai:[0,3,6,10,14,18,19,23,24,28,29],main:[3,6,12,16,20,21,24,28],mainloop:6,mainpid:14,maintain:[0,28],make:[0,4,6,10,12,13,18,22,24,27,28,29],make_test_set:[26,27,28],make_trac:22,manag:24,mani:[0,6,10,24,28,29],manual:[16,18,24],master:[6,12,16,19,28],match:[15,24],matplotlib:[6,13,18,26,28],matter:24,max:1,mean:[0,4,18,24,27,28],meant:[0,24,27],measur:[7,15,24],media:[0,10,13,28],memori:[0,22],merg:22,messag:[1,2,3,4,5,6,7,8,9,10,11,13,15,16,17,19,20,24,25,26],method:[18,23,24],metric:15,mexican:[8,24],microsecond:15,middl:[16,28],might:[14,24,29],millisecond:[21,22],miniconda3:18,miniconda:18,minimum:0,minise:[11,16,20,27],minut:18,misconfigur:14,miss:24,mk_p:[12,28],mk_q:[12,28],mkdir:14,mode:[6,12,16,24,27],model:24,modif:22,modifi:[18,22,23,26,28],modul:[0,4,6,8,10,13,16,18,20,22,25,26],monei:0,monitor:[0,13,14,16,19,28,29],month:0,more:[4,6,10,13,22,23,24,27,28,29],most:[0,6,13,22,24,29],motion:[0,3,16,19,24],motor:13,move:[0,24,28,29],mp3:24,mp3file:24,mpl:26,mseed:[20,27],msg:[15,17],msg_alarm:15,msg_imgpath:15,msg_reset:15,msg_term:15,much:[0,24,28,29],multi:10,multipl:[0,24,28],must:[0,6,10,15,18,20,22,24,27,28,29],mymod:28,mymodul:28,n_internet:26,n_inventori:[9,26],n_port:26,nail:10,name:[6,11,15,17,18,21,22,23,24,26,27,28],nano:14,nation:24,nativ:24,natur:0,navig:29,nearbi:24,nearli:0,necessari:[14,15,22],necessarili:24,need:[0,13,14,15,16,18,22,23,24,26,27,28,29],neg:[0,24],nesbitt:16,network:[5,14,22,24,25,26],never:24,newbot:24,newlin:[4,24],next:[14,18,23,24,25,28],nodata:22,node:29,nois:24,non:[0,24],none:[4,12,15,17],nonetyp:15,normal:[9,27,28],notabl:24,note:[0,27,29],notif:[0,8,10,16],notifi:[1,16,29],now:[14,18,22,24,28],nth:6,number:[6,8,15,21,22,24,28],numpi:18,object:[1,2,3,5,6,15,18,19,22,28],obspi:[1,3,6,11,15,18,19,20,22,24,27,28],occasion:[0,24],occur:[24,28],odir:17,off:[12,13,22,28],off_ev:13,offic:30,offici:[0,24],often:[24,29],old:[18,22],on_ev:13,onc:[6,10,24,27,28,29],one:[0,4,13,15,22,23,24,27,28,29],ones:13,onli:[0,8,9,10,12,15,22,23,24,28],onlin:29,open:[0,13,18,22,23,24,25,28],opensock:22,oper:[9,11,17,18,23,27],operand:17,option:[7,16,22,24,28],order:[0,6,14,15,16,18,22,24,28],ordinari:27,ordinarili:27,org:[13,28,29],organ:[16,28],orig:22,oserror:22,other:[0,1,3,5,6,8,11,13,14,16,18,19,23,24,28],otherwis:[11,21,26],our:[13,16,18,23,28,29,30],out:[6,16,17,22,24,27,28,29],outcom:0,outf:20,outlin:28,output:[0,7,12,13,14,15,17,20,24,26,29],output_dir:[11,15,24],outsid:29,over:[1,11,18,22,27,29],overload:29,overrid:18,overview:[16,24],overwrit:23,overwritten:18,own:[0,13,16,22,24,26],p_data_dir:26,p_log_dir:26,p_log_fil:26,p_log_std:26,p_output_dir:26,p_produc:[1,3,15,16,22,24,28],p_screenshot_dir:26,packag:[20,24],packet:[6,7,9,11,15,16,22,24,25,27,29],packetloss:[16,29],pad:15,page:[1,2,3,4,5,6,7,8,9,10,11,12,13,16,19,20,21,22,24,25,26,27,29],panama:30,panamaigc:8,param:28,paramet:[1,2,3,4,5,6,7,8,9,10,11,12,15,16,17,19,20,21,22,24,25,26,28],parent:28,pars:[16,22,28],parser:28,part:[0,24,28],partial:15,partwai:18,pass:[2,3,4,5,6,9,12,13,15,16,19,20,21,22,24,25,26],past:[13,14,29],path:[15,18,23,24,26],patienc:29,paus:18,per:[6,11,15,22,23,24],perform:[0,24],perhap:[0,27],period:[0,21,24,29],perman:14,permiss:[10,26,27,29],person:16,piec:[0,27],pin:13,ping:24,pip:18,place:[22,24,28],plai:[13,16,18,26,27,28],plan:28,platform:[0,10,28],playback:24,pleas:[0,4,13,18,24,27,29],plenti:22,plot:[0,3,13,15,16,19,23,26,28],plt:13,plu:29,png:[15,24,28],point:[22,24,28],popul:[3,6,19,24],port:[5,7,15,19,21,22,23,24,25,26,27,28,29],portion:24,posit:[0,9,24,25],post:[8,10,24,28,29],potenti:13,power:[0,6,9,22,24],pre:16,precis:[15,22],prefer:[16,23],prepar:25,preparatori:17,press:[23,24,29],pressur:[0,15,16,24],pretti:28,previou:[18,24],print:[7,15,16,17,21,22],printdata:16,printfreq:21,printm:[17,22,28],printraw:24,printttl:21,printw:17,prior:[4,22,24,26],privat:29,privileg:18,probabl:[18,28],problem:[13,18,24,27,29],proc:12,proce:[18,24],process:[0,3,6,9,10,12,16,21,23,24,26,27,28],processor:[6,18,24],produc:[1,3,12,13,15,16,20,22,24,27],profession:[0,24],profil:[18,24],program:[0,11,13,14,16,18,21,22,23,24,25,26,27,29],programmat:28,project:[0,16],prompt:[18,23],properli:6,properti:[0,24],protect:0,protocol:29,provid:[0,13,14,24,29],pull:[18,28],purpos:[11,24,28],put:[6,15,19,24],pydub:[2,26],pyplot:[13,28],python3:20,python:[0,4,15,16,18,20,24],qt5:6,quak:24,quarter:6,question:[4,11,13,24,28],queue:[1,2,3,4,5,6,7,8,9,10,11,12,13,15,19,24,25,28],quickli:[0,8,10],quiet:[7,26],quit:[2,4,6,7,16,19,25,28],r24fa:[15,26,28],r3bcf:22,r940d:22,rais:[1,6,22],ram:0,raspberri:[0,10,14,15,16,18,20,22,24,25,26,27,30],raspberryshak:[13,15,16,28,29],raspbian:[14,18,24],raspishak:[13,14,16],rate:[6,10,15,21,22,25,27],ratio:[1,24],raw:[15,24],rcb43:22,reach:25,read:[1,2,3,4,5,7,8,10,11,15,16,18,20,22,24,25,27,28],read_set:15,reader:25,readi:[15,18,23,24],readili:24,real:[0,7,14,16],realli:24,reason:[14,18,23,29],reboot:14,rebuild:23,receiv:[19,22,24,26,27,28],recept:9,record:[0,6,15,17,27],recur:29,recurs:[1,24],recursive_sta_lta:[1,24],red:[14,28],redraw:6,referenti:22,reflect:[15,29],refresh:[6,24],regard:[0,14],regist:24,reject:24,rel:10,relat:6,releas:[18,24],relev:[24,26,28,29],reli:[0,24,28],reliabl:[10,22],reload:14,remain:0,remind:28,remot:[16,27],remov:24,render:24,replac:18,report:[12,15,21,22,28,29],repositori:[0,18,23,24],repres:9,request:[22,28],requir:[0,4,22,24,27,28],reset:[1,9,13,15,22,24,26,28],reset_tim:15,resid:29,resiz:6,resolv:[22,24],resourc:[13,16],respect:[24,28],respons:[24,29],rest:[27,28],restart:[0,16,29],restartsec:14,restructuredtext:28,result:[12,24,26],rewritten:18,richard:16,right:[15,22,28,29],rigor:10,room:0,round:15,router:29,routin:[0,6,11,12,13,27],row:[28,29],rs4d:[15,24],rsam:[16,26],rsstn:22,rsudp:[13,24,28,30],rsudp_set:[18,23,24,29],rtype:28,rule:10,run:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,16,19,20,21,22,25,26,27,28,30],runtim:28,s0cde:22,safer:29,sai:[14,24,29],said:24,same:[22,24,25,27,29],sampl:[6,11,15,22,27],sasmex:[8,24],save:[0,6,15,17,24,28],save_pct:6,savefig:[6,28],scenario:24,scienc:[0,15,22],scipi:18,screen:24,screencap:6,screenshot:[6,13,15,24,26,28],script:[13,14,18,22,23,24,27,29],scroll:29,search:[1,2,3,4,5,6,7,8,9,10,11,12,16,19,20,21,22,24,25,26,29],sec:15,second:[1,2,6,7,11,14,15,18,21,22,24,27,28,29],secret:[10,24],section:[0,18,24,28,29],secur:29,sediment:24,see:[0,1,2,4,6,7,8,9,10,12,13,14,16,17,19,20,22,23,24,25,27,28,29],seek:25,seem:0,segment:11,seiscomp3:22,seismic:[0,7,16,20,22,27],seismogram:[6,24],seismograph:[0,16],seismolog:0,self:[2,4,6,7,9,11,15,22,25,28],send:[1,6,7,8,10,13,15,17,22,23,24,25,27,28,29],send_imag:[8,24],sender:[8,17,22,28],sent:[1,2,3,4,5,6,7,8,9,10,11,22,24,25,28,29],separ:[6,24],sequenc:[24,28],serial:15,server:24,servic:[6,8,10,14,24,26,29],set:[0,1,4,6,7,10,11,12,13,14,15,16,18,21,22,23,25,26,29,30],set_channel:15,set_param:22,set_sp:[6,11],settings_loc:15,setup:[12,16,22,29],setup_plot:6,sever:[18,23,24,29],shake:[0,6,10,14,15,16,20,22,23,24,25,26,27,30],shorten:24,should:[0,1,12,14,18,19,22,24,28,29],show:[0,12,14,27,28],shown:28,shutdown:6,shz:[15,24],side:16,sig:12,sign:24,signal:[1,6,12,21,22,24,28],signal_handl:21,signum:[21,22],similar:[0,13,18,28],simpl:[0,10,11,15,24,25],simpli:[18,24],simultan:0,sinc:[13,21,22,24,28,29],singl:[5,22,24],site:29,size:24,skip:18,sleep:14,slice:11,slicestream:11,slightli:[27,29],slow:29,slower:[6,24],small:[24,27,29],social:[0,10,13,28],socket:[22,25],softwar:[0,13,18,23,24,27,28],solut:22,solv:29,some:[6,13,14,15,18,22,23,24,26,28,29],somehow:14,someon:27,someth:[13,14,16,22,24,28,29],sometim:10,somewher:[24,29],sonar:24,soon:30,sort:28,sound:[0,1,13,16,18,23,26,27,28],soundloc:2,sourc:[0,23,24,28,29],space:[17,24],span:10,special:16,specif:[1,6,12,15,18,21,22,27,29],specifi:[5,7,15,17,22,24,25,26,27,28,29],spectrogram:[6,24],speed:[24,25],spent:0,sphinx:28,spin:28,sps:[15,22],sqlalchemi:18,ss_permiss:26,sta:[2,16],stabl:0,stackoverflow:[4,17,22,24],stamp:17,stand:28,standard:[0,4,24,28],start:[9,11,12,14,16,21,22,24,25,26,27,28,29],start_log:17,startup:6,stat:15,state:[0,12,13,22,23,24,26],station:[15,22,24,26],statist:21,statu:[14,19,28],stdout:[24,26],steim2:24,step:[17,18,24,28],still:[24,29],stn:22,stomp:24,stop:[12,19,23],store:[22,29],str:[1,4,5,6,7,8,10,11,15,17,20,22,25,26,28],straightforward:29,strang:15,stream:[1,3,6,9,11,15,16,19,21,22,23,24,28,30],street:0,strftime:[15,17],strict:29,stricter:10,string:[4,6,15,17,22,24,25,28],structur:[14,26],student:27,stuff:[6,28],style:[4,24],sub:[3,12,15,16,22,28],submit:[28,29],subsequ:24,substitut:[0,24],succe:24,success:26,successfulli:24,sudden:[0,16,24],sudo:[14,24],suffer:0,suffic:0,suffici:24,suggest:[13,16],suit:[8,24],summari:27,suppli:[12,24],support:[15,28,29],suppress:7,sure:[4,13,24,27,29],suspici:10,switcher:24,sys:28,system:[0,8,14,18,22,23,24],systemctl:[0,16],systemd:14,t_testdata:[16,27],tab:24,tag:13,tail:14,take:[6,12,18,24],taken:12,talk:29,target:[14,29],task:[0,3,19],task_don:28,team:[15,29],technic:29,telegram:[0,10,13,16],telegramm:[8,24,28],tell:[18,24,27,28,29],term:[1,2,4,6,7,9,15,19,24,25,26,28],termin:[18,23],test:[0,6,12,14,15,16,17,18,20,24],test_mod:12,testb:22,testdata:[9,25,27],testdir:26,text:[12,14,15,17,20,24,27,29],than:[6,10,14,18,23,24,27,29],thank:[28,29],thei:[13,17,19,22,23,26,27,28,29],them:[12,17,24,25,28,29],theoret:24,theori:[0,28],therefor:16,thi:[0,1,3,4,5,6,8,9,10,11,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29],thing1:28,thing:[0,3,6,8,13,17,19,24,28,29],think:10,thoroughli:24,those:[3,5,20,22],thread:[9,12,16,19,22,24,25,27],threadsaf:6,three:[24,28,29],thresh:1,threshold:[1,24,26],through:[0,6,10,18,23,27,28,29],thu:18,tick:11,time:[0,1,6,7,11,13,14,15,16,17,21,22,23,26,27,29],timeout:22,timestamp:[15,22,25],tkagg:6,tmp:[13,14,24,26,29],token:[8,10,24],too:[24,29],tool:0,top:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],total:22,trace:[0,15,22],track:16,transduc:[0,15,16,24],transmiss:[15,21,22,25],tri:0,trigger:[0,1,3,6,13,16,19,27,28],tripl:[13,29],troubl:[18,27],troubleshoot:[16,27],truncat:24,turn:[12,20,28,29],tutori:[14,16,18,23],tweet:[10,16],tweet_imag:[10,24],tweeter:[10,24,28],twitter:[0,13,16],two:[15,24,28],txt:[20,27],type:[6,9,11,12,15,16,17,18,21,22,23,24,26,27],typic:[24,27,29],ubuntu:14,udp:[0,5,7,16,20,22,23,24,25,27,29],unam:18,uncheck:24,unconsolid:24,under:29,understand:[24,28],unfamiliar:28,uniqu:0,unit:[14,15,24,26],univers:28,unix:[4,13,14,16,18,22,24],unless:24,unlimit:22,unmaintain:0,unmodifi:24,unpredict:0,unstabl:29,until:[9,15,22,25,28,29],unzip:18,updat:[6,11,22,24],update_plot:6,update_stream:22,upload:6,upon:[16,28],usag:[20,22,27],use:[0,6,10,15,18,22,23,27,28],used:[0,3,6,8,10,13,15,17,19,22,24,27,28],useful:[0,17,27,28],user:[0,4,14,15,16,22,23,24,28,29],usernam:24,uses:[0,1,15,17,28,29],usestim:17,usg:10,using:[4,13,14,17,18,20,21,22,24,26,27,29],usual:[0,27,29],utc:11,utcdatetim:[1,6,15,22],utcdatetime1:13,utcdatetime2:13,utcdatetime3:13,utcdatetime4:13,util:[17,20,24],valid:[15,24],valu:[12,18,21,22,24,26,28,29],vari:10,variabl:[11,12,15,18,22,26],variou:[3,6,16,18,19,27],vel:[7,24],veloc:[15,24],verbos:15,veri:[22,24],version:[4,7,8,9,10,12,15,18,24,25,26,28],vertic:[6,15,24],via:[0,8,28,29],vibrat:0,video:[16,18,23],virtual:18,visual:16,voltag:24,wai:[0,6,13,16,24,26,27,28,29],wait:[22,24],walkthrough:16,want:[4,13,14,15,24],wantedbi:14,warm:24,warn:[0,4,8,17,24],warnformat:17,warranti:[0,24],wast:26,watch:[27,28],web:24,websit:24,week:0,weird:6,welcom:[13,16],well:[13,14,24,29],were:[24,27],what:[4,14,16,24,27,28,29],whatev:[24,28],when:[0,1,2,6,10,11,13,16,18,21,22,24,25,28,30],whenev:24,where:[6,18,20,23,24,28,29],wherea:14,whether:[0,1,6,7,8,10,11,12,14,17,18,19,24,26,27],which:[0,8,14,15,17,19,20,21,22,24,27,28,29],white:15,why:[16,29],wifi:29,williamstown:24,win:[18,23],win_overrid:[4,24],win_ovr:4,window:[4,6,7,13,16],wish:[18,24,26,28],within:[14,20],without:[0,6,13,24,27,29],work:[13,14,15,18,22,24,28,29],worker:28,would:[15,18,24,26,27,28,29],write:[16,17,20,26],writer:16,written:[16,24],wrong:29,x86:18,x86_64:18,xyz:28,yellow:15,yet:0,yield:[17,24],you:[0,4,10,13,14,15,16,18,22,23,24,26,27,28,29],your:[4,10,13,14,16,21,22,23,24,26,29],your_modul:[26,28],your_shake_bot_id:24,your_test:26,yourself:[18,29],youtub:16,z0000:[22,24,26],zero:[15,22,29]},titles:["<span class=\"section-number\">1. </span>About rsudp","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_alert</span></code> (STA/LTA alarm)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_alertsound</span></code> (play sound)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_consumer</span></code> (master consumer)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_custom</span></code> (run code)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_forward</span></code> (forward data)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_plot</span></code> (plot data)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_rsam</span></code> (RSAM analysis)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_telegram</span></code> (Telegram alerts)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_testing</span></code> (test consumer)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_tweet</span></code> (Twitter alerts)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.c_write</span></code> (write data)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.client</span></code> (central module)","<span class=\"section-number\">2. </span>Contributing to this project","<span class=\"section-number\">5. </span>rsudp as a <code class=\"docutils literal notranslate\"><span class=\"pre\">systemctl</span></code> daemon","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.helpers</span></code> (helper functions)","<cite>rsudp</cite> 1.0.2","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.__init__</span></code> (initialization functions)","<span class=\"section-number\">2. </span>Installing rsudp","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.p_producer</span></code> (data producer)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.packetize</span></code> (data formatter)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.packetloss</span></code> (track packets)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.raspberryshake</span></code> (main library)","<span class=\"section-number\">4. </span>Running rsudp","<span class=\"section-number\">3. </span>Modules and Settings","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.t_testdata</span></code> (test pre-producer)","<code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">rsudp.test</span></code> (test helpers)","<span class=\"section-number\">7. </span>Testing and demoing rsudp","<span class=\"section-number\">1. </span>Program architecture and flow","<span class=\"section-number\">6. </span>Troubleshooting rsudp","YouTube walkthroughs"],titleterms:{"default":24,"function":[15,16,17,27],Adding:28,The:18,Using:[24,27],__init__:17,about:0,add:18,advanc:18,alarm:1,alarmsound:24,alert:[8,10,24],amplitud:24,analysi:7,app:24,architectur:28,bashrc:18,bot:24,broad:0,bug:13,c_alert:1,c_alertsound:2,c_consum:3,c_custom:4,c_forward:5,c_plot:6,c_rsam:7,c_telegram:8,c_test:9,c_tweet:10,c_write:11,can:[0,29],central:12,classroom:24,client:[12,28],code:[4,13,16,24],command:29,conda:29,consol:24,consum:[3,9,28],contribut:13,custom:24,daemon:14,data:[5,6,11,19,20,24,27,29],datacast:24,demo:[27,30],demonstr:[23,24],depend:24,detect:[24,30],document:16,dure:27,earthquak:[24,30],easi:18,exec:24,featur:28,file:28,firewal:29,flow:[27,28,29],formatt:20,forward:[5,24],gener:24,helper:[15,26],home:29,inconsist:29,index:16,initi:17,instal:[18,24],instruct:14,issu:29,layout:28,librari:22,line:18,linux:[18,24],live:[24,30],local:29,lta:[1,24],maco:[18,24],main:22,manual:23,master:3,messag:28,middl:29,minise:24,mode:23,modul:[12,24,27,28],network:29,notif:24,other:29,overview:0,own:[27,28],p_produc:19,packet:[20,21],packetloss:21,pass:28,plai:[2,24],plot:[6,24],pre:25,print:24,printdata:24,produc:[19,25,28],program:28,project:13,pydub:24,quiet:24,quit:23,raspberryshak:22,real:24,receiv:29,recommend:24,remot:29,restart:14,rsam:[7,24],rsudp:[0,1,2,3,4,5,6,7,8,9,10,11,12,14,15,16,17,18,19,20,21,22,23,25,26,27,29],run:[4,18,23,24,29],sampl:28,school:29,seismic:24,set:[24,27,28],setup:14,shake:29,side:29,sound:[2,24],sourc:18,special:0,sta:[1,24],start:23,stop:29,suggest:28,systemctl:14,t_testdata:25,telegram:[8,24],test:[9,23,25,26,27,28],thi:13,thread:28,time:24,track:21,trigger:24,troubleshoot:[14,29],tweet:24,twitter:[10,24],type:28,univers:29,unix:23,updat:18,upon:24,use:24,user:18,vault:24,wai:18,walkthrough:30,what:0,why:0,window:[18,23,24],write:[11,24],writer:24,your:[18,27,28],youtub:30}})
\ No newline at end of file
diff --git a/docs/settings.html b/docs/settings.html
index 60c03c1..fcf2785 100644
--- a/docs/settings.html
+++ b/docs/settings.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
@@ -540,7 +540,26 @@ <h2><span class="section-number">3.7. </span><code class="code docutils literal
 then the <a class="reference internal" href="c_tweet.html#rsudp.c_tweet.Tweeter" title="rsudp.c_tweet.Tweeter"><code class="xref py py-class docutils literal notranslate"><span class="pre">rsudp.c_tweet.Tweeter</span></code></a> class will use the Twitter API to
 create tweets when an ALARM message arrives on the queue.
 If <code class="code json docutils literal notranslate"><span class="literal string double"><span class="pre">“tweet_images”</span></span></code> is <code class="code json docutils literal notranslate"><span class="keyword constant"><span class="pre">true</span></span></code>, then the module will also tweet a saved image of the event,
-if <code class="code json docutils literal notranslate"><span class="literal string double"><span class="pre">“eq_screenshots”</span></span></code> is set to <code class="code json docutils literal notranslate"><span class="keyword constant"><span class="pre">true</span></span></code> in the “plot” module.</p>
+if <code class="code json docutils literal notranslate"><span class="literal string double"><span class="pre">“eq_screenshots”</span></span></code> is set to <code class="code json docutils literal notranslate"><span class="keyword constant"><span class="pre">true</span></span></code> in the “plot” module. If any text is put in the
+<code class="code json docutils literal notranslate"><span class="literal string double"><span class="pre">“extra_text”</span></span></code> string, then the software will insert that text (no longer than 143 characters)
+into the tweets after a single space. For example, an unmodified tweet with <code class="code docutils literal notranslate"><span class="pre">&quot;extra_text&quot;:</span> <span class="pre">&quot;&quot;</span></code>
+might look like this:</p>
+<div class="figure align-center" id="id10">
+<span id="eq-tweet"></span><img alt="_images/eq_tweet.png" src="_images/eq_tweet.png" />
+<p class="caption"><span class="caption-text">An example tweet sent with the “extra_text” parameter empty (this is the default).</span><a class="headerlink" href="#id10" title="Permalink to this image">¶</a></p>
+</div>
+<p>Changing the <code class="code json docutils literal notranslate"><span class="literal string double"><span class="pre">“extra_text”</span></span></code> parameter to <code class="code docutils literal notranslate"><span class="pre">&quot;extra_text&quot;:</span> <span class="pre">&quot;from</span> <span class="pre">#Williamstown</span> <span class="pre">#MA&quot;</span></code>
+would render something like the following:</p>
+<div class="figure align-center" id="id11">
+<span id="eq-tweet-extra"></span><img alt="_images/eq_tweet_extra.png" src="_images/eq_tweet_extra.png" />
+<p class="caption"><span class="caption-text">An example tweet sent with the “extra_text” parameter filled.</span><a class="headerlink" href="#id11" title="Permalink to this image">¶</a></p>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Starting the software with an <code class="code json docutils literal notranslate"><span class="literal string double"><span class="pre">“extra_text”</span></span></code> string in excess of 143 characters
+will yield a warning and the <code class="code json docutils literal notranslate"><span class="literal string double"><span class="pre">“extra_text”</span></span></code> string will be truncated
+in order to avoid the tweet being rejected for exceeding the 280 character limit.</p>
+</div>
 <div class="section" id="setting-up-twitter-apps">
 <span id="setting-up-twitter"></span><h3><span class="section-number">3.7.1. </span>Setting up Twitter Apps<a class="headerlink" href="#setting-up-twitter-apps" title="Permalink to this headline">¶</a></h3>
 <p>Here is a brief overview of the steps to set up a Twitter app (also known as an API bot)
diff --git a/docs/theory.html b/docs/theory.html
index 6952010..bd6674b 100644
--- a/docs/theory.html
+++ b/docs/theory.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/troubleshooting.html b/docs/troubleshooting.html
index 5104782..13ad048 100644
--- a/docs/troubleshooting.html
+++ b/docs/troubleshooting.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/youtube.html b/docs/youtube.html
index 8eeaaf2..51f657e 100644
--- a/docs/youtube.html
+++ b/docs/youtube.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docsrc/_static/eq_tweet.png b/docsrc/_static/eq_tweet.png
new file mode 100644
index 0000000..277f53c
Binary files /dev/null and b/docsrc/_static/eq_tweet.png differ
diff --git a/docsrc/_static/eq_tweet_extra.png b/docsrc/_static/eq_tweet_extra.png
new file mode 100644
index 0000000..50c7a52
Binary files /dev/null and b/docsrc/_static/eq_tweet_extra.png differ
diff --git a/docsrc/conf.py b/docsrc/conf.py
index 149973a..ef84341 100644
--- a/docsrc/conf.py
+++ b/docsrc/conf.py
@@ -17,7 +17,6 @@
 # sys.path.insert(0, os.path.abspath('.'))
 sys.path.insert(0, os.path.abspath('../'))
 from datetime import datetime
-import rsudp
 
 
 # -- Project information -----------------------------------------------------
@@ -27,7 +26,8 @@
 author = 'Ian Nesbitt, Richard Boaz'
 
 # The short X.Y version
-version = rsudp.__version__
+sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
+from rsudp._version import version
 # The full version, including alpha/beta/rc tags
 release = ''
 
diff --git a/docsrc/settings.rst b/docsrc/settings.rst
index 5eb558c..5275245 100644
--- a/docsrc/settings.rst
+++ b/docsrc/settings.rst
@@ -407,7 +407,33 @@ If :json:`"enabled"` is :json:`true`, and all API keys have been generated and a
 then the :class:`rsudp.c_tweet.Tweeter` class will use the Twitter API to
 create tweets when an ALARM message arrives on the queue.
 If :json:`"tweet_images"` is :json:`true`, then the module will also tweet a saved image of the event,
-if :json:`"eq_screenshots"` is set to :json:`true` in the "plot" module.
+if :json:`"eq_screenshots"` is set to :json:`true` in the "plot" module. If any text is put in the
+:json:`"extra_text"` string, then the software will insert that text (no longer than 143 characters)
+into the tweets after a single space. For example, an unmodified tweet with :code:`"extra_text": ""`
+might look like this:
+
+.. _eq-tweet:
+.. figure::  _static/eq_tweet.png
+    :align:   center
+
+    An example tweet sent with the "extra_text" parameter empty (this is the default).
+
+
+Changing the :json:`"extra_text"` parameter to :code:`"extra_text": "from #Williamstown #MA"`
+would render something like the following:
+
+.. _eq-tweet-extra:
+.. figure::  _static/eq_tweet_extra.png
+    :align:   center
+
+    An example tweet sent with the "extra_text" parameter filled.
+
+.. warning::
+
+    Starting the software with an :json:`"extra_text"` string in excess of 143 characters
+    will yield a warning and the :json:`"extra_text"` string will be truncated
+    in order to avoid the tweet being rejected for exceeding the 280 character limit.
+
 
 .. _setting-up-twitter:
 
diff --git a/rsudp/__init__.py b/rsudp/__init__.py
index 6c6562e..f764299 100644
--- a/rsudp/__init__.py
+++ b/rsudp/__init__.py
@@ -3,6 +3,7 @@
 import warnings
 from time import gmtime
 import pkg_resources
+from . import _version
 
 # saved in case needed in the future
 # warnings.filterwarnings('ignore', category=UserWarning, module='rsudp')
@@ -14,7 +15,7 @@
 '''
 
 name = 'rsudp'
-__version__ = pkg_resources.require(name)[0].version
+__version__ = _version.version
 
 default_loc = '%s/.config/rsudp' % os.path.expanduser('~').replace('\\', '/')
 os.makedirs(default_loc, exist_ok=True)
diff --git a/rsudp/_version.py b/rsudp/_version.py
new file mode 100644
index 0000000..69c1e6b
--- /dev/null
+++ b/rsudp/_version.py
@@ -0,0 +1,1 @@
+version = "1.0.2"
\ No newline at end of file
diff --git a/rsudp/c_tweet.py b/rsudp/c_tweet.py
index f6d3365..1182f7d 100644
--- a/rsudp/c_tweet.py
+++ b/rsudp/c_tweet.py
@@ -56,13 +56,15 @@ class Tweeter(rs.ConsumerThread):
 	:param str consumer_secret: Twitter calls this the "consumer key secret"
 	:param str access_token: Twitter calls this the "consumer access token"
 	:param str access_secret: Twitter calls this the "consumer access secret"
-	:param bool send_images: whether or not to send images. if False, only alerts will be sent.
+	:param bool tweet_images: whether or not to send images. if False, only alerts will be sent.
+	:type extra_text: bool or str
+	:param extra_text: approximately 180 characters to post .
 	:param queue.Queue q: queue of data and messages sent by :class:`rsudp.c_consumer.Consumer`
 
 
 	'''
 	def __init__(self, consumer_key, consumer_secret, access_token, access_token_secret,
-				 q=False, tweet_images=False,
+				 q=False, tweet_images=False, extra_text=False,
 				 ):
 		"""
 		Initialize the process
@@ -78,6 +80,8 @@ def __init__(self, consumer_key, consumer_secret, access_token, access_token_sec
 		self.access_token = access_token
 		self.access_token_secret = access_token_secret
 
+		self._resolve_extra_text(extra_text)
+
 		if q:
 			self.queue = q
 		else:
@@ -97,7 +101,22 @@ def __init__(self, consumer_key, consumer_secret, access_token, access_token_sec
 		self.message1 = '(#RaspberryShake station %s.%s%s) Image of event detected at' % (rs.net, rs.stn, self.region)
 
 		printM('Starting.', self.sender)
-	
+
+
+	def _resolve_extra_text(self, extra_text):
+		if ((extra_text == '') or (extra_text == None) or (extra_text == False)):
+			self.extra_text = ''
+		else:
+			extra_text = str(extra_text)
+			len_ex_txt = len(extra_text)
+
+			if len_ex_txt > 143:
+				printW('extra_text parameter is longer than allowable (%s chars) and will be truncated. Please keep extra_text at or below 143 characters.' % len_ex_txt, sender=self.sender)
+				extra_text = extra_text[:143]
+
+			self.extra_text =  ' %s' % (extra_text)
+
+
 	def auth(self):
 		self.twitter = Twython(
 			self.consumer_key,
@@ -127,7 +146,7 @@ def _when_alarm(self, d):
 		'''
 		event_time = helpers.fsec(helpers.get_msg_time(d))
 		self.last_event_str = '%s' % (event_time.strftime(self.fmt)[:22])
-		message = '%s %s UTC - %s' % (self.message0, self.last_event_str, self.livelink)
+		message = '%s %s UTC%s - %s' % (self.message0, self.last_event_str, self.extra_text, self.livelink)
 		response = None
 		try:
 			printM('Sending tweet...', sender=self.sender)
@@ -166,7 +185,7 @@ def _when_img(self, d):
 		if self.tweet_images:
 			imgpath = helpers.get_msg_path(d)
 			imgtime = helpers.fsec(helpers.get_msg_time(d))
-			message = '%s %s UTC' % (self.message1, imgtime.strftime(self.fmt)[:22])
+			message = '%s %s UTC%s' % (self.message1, imgtime.strftime(self.fmt)[:22], self.extra_text)
 			response = None
 			if os.path.exists(imgpath):
 				with open(imgpath, 'rb') as image:
diff --git a/rsudp/client.py b/rsudp/client.py
index ce1b067..12059fe 100644
--- a/rsudp/client.py
+++ b/rsudp/client.py
@@ -307,11 +307,12 @@ def run(settings, debug):
 		access_token = settings['tweets']['access_token']
 		access_token_secret = settings['tweets']['access_secret']
 		tweet_images = settings['tweets']['tweet_images']
+		extra_text = settings['tweets']['extra_text']
 
 		q = mk_q()
 		tweet = Tweeter(q=q, consumer_key=consumer_key, consumer_secret=consumer_secret,
 						access_token=access_token, access_token_secret=access_token_secret,
-						tweet_images=tweet_images)
+						tweet_images=tweet_images, extra_text=extra_text)
 		mk_p(tweet)
 
 	if settings['telegram']['enabled']:
diff --git a/rsudp/helpers.py b/rsudp/helpers.py
index 5e9dac1..a5af74e 100644
--- a/rsudp/helpers.py
+++ b/rsudp/helpers.py
@@ -76,7 +76,8 @@ def default_settings(output_dir='%s/rsudp' % os.path.expanduser('~').replace('\\
     "api_key": "n/a",
     "api_secret": "n/a",
     "access_token": "n/a",
-    "access_secret": "n/a"},
+    "access_secret": "n/a",
+	"extra_text": ""},
 "telegram": {
     "enabled": false,
     "send_images": true,
diff --git a/setup.py b/setup.py
index 682c71a..e0f879b 100644
--- a/setup.py
+++ b/setup.py
@@ -1,4 +1,5 @@
 import setuptools
+from rsudp import _version
 
 with open("README.md", "r") as fh:
     long_description = fh.read()
@@ -6,7 +7,7 @@
 
 setuptools.setup(
     name="rsudp",
-    version="1.0.2",
+    version=_version.version,
     author="Ian Nesbitt",
     author_email="ian.nesbitt@raspberryshake.org",
     license='GPLv3',


Test patch:
diff --git a/docs/c_testing.html b/docs/c_testing.html
index 404fc5b..b7b49b9 100644
--- a/docs/c_testing.html
+++ b/docs/c_testing.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/t_testdata.html b/docs/t_testdata.html
index 65f4392..e67a57f 100644
--- a/docs/t_testdata.html
+++ b/docs/t_testdata.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/test.html b/docs/test.html
index 842680d..142f064 100644
--- a/docs/test.html
+++ b/docs/test.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>
             
           
diff --git a/docs/testing.html b/docs/testing.html
index 1e66597..10439c5 100644
--- a/docs/testing.html
+++ b/docs/testing.html
@@ -64,7 +64,7 @@
             
             
               <div class="version">
-                1.0.0
+                1.0.2
               </div>