aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevendra2014-12-31 02:27:47 +0530
committerDevendra2014-12-31 02:27:47 +0530
commite0b8230e747cac84fef69ecb261523f768f3616d (patch)
tree5fe958829e8820d0c09ab09926444f19153a0aec
parenta0ffcf82565df8358c8498dbf6da6889ef292b55 (diff)
downloadpubnub-python-e0b8230e747cac84fef69ecb261523f768f3616d.tar.bz2
modiying comments for docs
-rw-r--r--Pubnub.py18
-rw-r--r--docs/build/doctrees/environment.picklebin10081 -> 14179 bytes
-rw-r--r--docs/build/doctrees/index.doctreebin412563 -> 708092 bytes
-rw-r--r--docs/build/html/_sources/index.txt6
-rw-r--r--docs/build/html/genindex.html143
-rw-r--r--docs/build/html/index.html1080
-rw-r--r--docs/build/html/objects.invbin411 -> 561 bytes
-rw-r--r--docs/build/html/searchindex.js2
-rw-r--r--docs/source/index.rst6
-rw-r--r--python/README.md50
10 files changed, 1283 insertions, 22 deletions
diff --git a/Pubnub.py b/Pubnub.py
index 9d927be..c30d1dd 100644
--- a/Pubnub.py
+++ b/Pubnub.py
@@ -775,7 +775,7 @@ class PubnubBase(object):
Only works in async mode
Args:
- channel_group: Channel group name ( string ) on which to publish message
+ channel_group: Channel group name ( string )
callback: A callback method should be passed to the method.
If passed, the api works in async mode.
Required argument when working with twisted or tornado .
@@ -1544,19 +1544,19 @@ class PubnubCoreAsync(PubnubBase):
def subscribe_group(self, channel_groups, callback, error=None,
connect=None, disconnect=None, reconnect=None, sync=False):
- """Subscribe to data on a channel.
+ """Subscribe to data on a channel group.
This function causes the client to create an open TCP socket to the
PubNub Real-Time Network and begin listening for messages on a specified channel.
- To subscribe to a channel the client must send the appropriate subscribe_key at
+ To subscribe to a channel group the client must send the appropriate subscribe_key at
initialization.
Only works in async mode
Args:
- channel: (string/list)
- Specifies the channel to subscribe to. It is possible to specify
- multiple channels as a comma separated list or andarray.
+ channel_groups: (string/list)
+ Specifies the channel groups to subscribe to. It is possible to specify
+ multiple channel groups as a comma separated list or andarray.
callback: (function)
This callback is called on receiving a message from the channel.
@@ -1841,8 +1841,7 @@ class PubnubCoreAsync(PubnubBase):
Only works in async mode
Args:
- channel: Channel name ( string ) on which to publish message
-
+ channel: Channel name ( string )
"""
if channel in self.subscriptions is False:
return False
@@ -1862,8 +1861,7 @@ class PubnubCoreAsync(PubnubBase):
Only works in async mode
Args:
- channel_group: Channel group name ( string ) on which to publish message
-
+ channel_group: Channel group name ( string )
"""
if channel_group in self.subscription_groups is False:
return False
diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle
index eab7341..fa41cd8 100644
--- a/docs/build/doctrees/environment.pickle
+++ b/docs/build/doctrees/environment.pickle
Binary files differ
diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree
index 2075527..fc17376 100644
--- a/docs/build/doctrees/index.doctree
+++ b/docs/build/doctrees/index.doctree
Binary files differ
diff --git a/docs/build/html/_sources/index.txt b/docs/build/html/_sources/index.txt
index af3593e..6b41e89 100644
--- a/docs/build/html/_sources/index.txt
+++ b/docs/build/html/_sources/index.txt
@@ -14,18 +14,18 @@ Welcome to PubNub's documentation!
Pubnub
---------------------------------
.. autoclass:: Pubnub
- :members: publish, subscribe, unsubscribe, presence, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time
+ :members: publish, subscribe, subscribe_group, unsubscribe, unsubscribe_group, presence, presence_group, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time, channel_group_list_namespaces, channel_group_remove_namespace, channel_group_list_groups, channel_group_list_channels, channel_groups_add_channel, channel_group_remove_channel, channel_group_remove_group
PubnubTwisted
---------------------------------
.. autoclass:: PubnubTwisted
- :members: publish, subscribe, unsubscribe, presence, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time
+ :members: publish, subscribe, subscribe_group, unsubscribe, unsubscribe_group, presence, presence_group, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time, channel_group_list_namespaces, channel_group_remove_namespace, channel_group_list_groups, channel_group_list_channels, channel_groups_add_channel, channel_group_remove_channel, channel_group_remove_group
PubnubTornado
---------------------------------
.. autoclass:: PubnubTornado
- :members: publish, subscribe, unsubscribe, presence, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time
+ :members: publish, subscribe, subscribe_group, unsubscribe, unsubscribe_group, presence, presence_group, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time, channel_group_list_namespaces, channel_group_remove_namespace, channel_group_list_groups, channel_group_list_channels, channel_groups_add_channel, channel_group_remove_channel, channel_group_remove_group
Indices and tables
==================
diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html
index 80a0f59..54efb5d 100644
--- a/docs/build/html/genindex.html
+++ b/docs/build/html/genindex.html
@@ -50,6 +50,7 @@
<div class="genindex-jumpbox">
<a href="#A"><strong>A</strong></a>
+ | <a href="#C"><strong>C</strong></a>
| <a href="#D"><strong>D</strong></a>
| <a href="#E"><strong>E</strong></a>
| <a href="#G"><strong>G</strong></a>
@@ -81,6 +82,98 @@
</dl></td>
</tr></table>
+<h2 id="C">C</h2>
+<table style="width: 100%" class="indextable genindextable"><tr>
+ <td style="width: 33%" valign="top"><dl>
+
+ <dt><a href="index.html#Pubnub.Pubnub.channel_group_list_channels">channel_group_list_channels() (Pubnub.Pubnub method)</a>
+ </dt>
+
+ <dd><dl>
+
+ <dt><a href="index.html#Pubnub.PubnubTornado.channel_group_list_channels">(Pubnub.PubnubTornado method)</a>
+ </dt>
+
+
+ <dt><a href="index.html#Pubnub.PubnubTwisted.channel_group_list_channels">(Pubnub.PubnubTwisted method)</a>
+ </dt>
+
+ </dl></dd>
+
+ <dt><a href="index.html#Pubnub.Pubnub.channel_group_list_groups">channel_group_list_groups() (Pubnub.Pubnub method)</a>
+ </dt>
+
+ <dd><dl>
+
+ <dt><a href="index.html#Pubnub.PubnubTornado.channel_group_list_groups">(Pubnub.PubnubTornado method)</a>
+ </dt>
+
+
+ <dt><a href="index.html#Pubnub.PubnubTwisted.channel_group_list_groups">(Pubnub.PubnubTwisted method)</a>
+ </dt>
+
+ </dl></dd>
+
+ <dt><a href="index.html#Pubnub.Pubnub.channel_group_list_namespaces">channel_group_list_namespaces() (Pubnub.Pubnub method)</a>
+ </dt>
+
+ <dd><dl>
+
+ <dt><a href="index.html#Pubnub.PubnubTornado.channel_group_list_namespaces">(Pubnub.PubnubTornado method)</a>
+ </dt>
+
+
+ <dt><a href="index.html#Pubnub.PubnubTwisted.channel_group_list_namespaces">(Pubnub.PubnubTwisted method)</a>
+ </dt>
+
+ </dl></dd>
+ </dl></td>
+ <td style="width: 33%" valign="top"><dl>
+
+ <dt><a href="index.html#Pubnub.Pubnub.channel_group_remove_channel">channel_group_remove_channel() (Pubnub.Pubnub method)</a>
+ </dt>
+
+ <dd><dl>
+
+ <dt><a href="index.html#Pubnub.PubnubTornado.channel_group_remove_channel">(Pubnub.PubnubTornado method)</a>
+ </dt>
+
+
+ <dt><a href="index.html#Pubnub.PubnubTwisted.channel_group_remove_channel">(Pubnub.PubnubTwisted method)</a>
+ </dt>
+
+ </dl></dd>
+
+ <dt><a href="index.html#Pubnub.Pubnub.channel_group_remove_group">channel_group_remove_group() (Pubnub.Pubnub method)</a>
+ </dt>
+
+ <dd><dl>
+
+ <dt><a href="index.html#Pubnub.PubnubTornado.channel_group_remove_group">(Pubnub.PubnubTornado method)</a>
+ </dt>
+
+
+ <dt><a href="index.html#Pubnub.PubnubTwisted.channel_group_remove_group">(Pubnub.PubnubTwisted method)</a>
+ </dt>
+
+ </dl></dd>
+
+ <dt><a href="index.html#Pubnub.Pubnub.channel_group_remove_namespace">channel_group_remove_namespace() (Pubnub.Pubnub method)</a>
+ </dt>
+
+ <dd><dl>
+
+ <dt><a href="index.html#Pubnub.PubnubTornado.channel_group_remove_namespace">(Pubnub.PubnubTornado method)</a>
+ </dt>
+
+
+ <dt><a href="index.html#Pubnub.PubnubTwisted.channel_group_remove_namespace">(Pubnub.PubnubTwisted method)</a>
+ </dt>
+
+ </dl></dd>
+ </dl></td>
+</tr></table>
+
<h2 id="D">D</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
@@ -195,6 +288,20 @@
</dl></dd>
+ <dt><a href="index.html#Pubnub.Pubnub.presence_group">presence_group() (Pubnub.Pubnub method)</a>
+ </dt>
+
+ <dd><dl>
+
+ <dt><a href="index.html#Pubnub.PubnubTornado.presence_group">(Pubnub.PubnubTornado method)</a>
+ </dt>
+
+
+ <dt><a href="index.html#Pubnub.PubnubTwisted.presence_group">(Pubnub.PubnubTwisted method)</a>
+ </dt>
+
+ </dl></dd>
+
<dt><a href="index.html#Pubnub.Pubnub.publish">publish() (Pubnub.Pubnub method)</a>
</dt>
@@ -208,6 +315,8 @@
</dt>
</dl></dd>
+ </dl></td>
+ <td style="width: 33%" valign="top"><dl>
<dt><a href="index.html#Pubnub.Pubnub">Pubnub (class in Pubnub)</a>
</dt>
@@ -218,8 +327,6 @@
</dt>
</dl></dd>
- </dl></td>
- <td style="width: 33%" valign="top"><dl>
<dt><a href="index.html#Pubnub.PubnubTornado">PubnubTornado (class in Pubnub)</a>
</dt>
@@ -269,6 +376,22 @@
</dl></dd>
</dl></td>
+ <td style="width: 33%" valign="top"><dl>
+
+ <dt><a href="index.html#Pubnub.Pubnub.subscribe_group">subscribe_group() (Pubnub.Pubnub method)</a>
+ </dt>
+
+ <dd><dl>
+
+ <dt><a href="index.html#Pubnub.PubnubTornado.subscribe_group">(Pubnub.PubnubTornado method)</a>
+ </dt>
+
+
+ <dt><a href="index.html#Pubnub.PubnubTwisted.subscribe_group">(Pubnub.PubnubTwisted method)</a>
+ </dt>
+
+ </dl></dd>
+ </dl></td>
</tr></table>
<h2 id="T">T</h2>
@@ -309,6 +432,22 @@
</dl></dd>
</dl></td>
+ <td style="width: 33%" valign="top"><dl>
+
+ <dt><a href="index.html#Pubnub.Pubnub.unsubscribe_group">unsubscribe_group() (Pubnub.Pubnub method)</a>
+ </dt>
+
+ <dd><dl>
+
+ <dt><a href="index.html#Pubnub.PubnubTornado.unsubscribe_group">(Pubnub.PubnubTornado method)</a>
+ </dt>
+
+
+ <dt><a href="index.html#Pubnub.PubnubTwisted.unsubscribe_group">(Pubnub.PubnubTwisted method)</a>
+ </dt>
+
+ </dl></dd>
+ </dl></td>
</tr></table>
diff --git a/docs/build/html/index.html b/docs/build/html/index.html
index 26bff5e..8d4e139 100644
--- a/docs/build/html/index.html
+++ b/docs/build/html/index.html
@@ -125,6 +125,298 @@ The dict returned contains values with keys &#8216;message&#8217; and &#8216;pay
</dd></dl>
<dl class="method">
+<dt id="Pubnub.Pubnub.channel_group_list_channels">
+<tt class="descname">channel_group_list_channels</tt><big>(</big><em>channel_group</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.channel_group_list_channels" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get list of channels for a group.</p>
+<p>Using this method, list of channels for a group, can be obtained.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_group: (string) (optional) </dt>
+<dd>Channel Group name. It can also contain namespace.
+If namespace is also specified, then the parameter
+will be in format namespace:channel_group</dd>
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_list_channels method returns a dict which contains list of channels
+in payload field
+{</p>
+<blockquote>
+<div>u&#8217;status&#8217;: 200,
+u&#8217;payload&#8217;: {&#8220;channels&#8221;: [&#8220;hi&#8221;], &#8220;group&#8221;: &#8220;abcd&#8221;},
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</div></blockquote>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_channels gets the a dict containing list of channels
+under payload field</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;payload&#8217;: {&#8220;channels&#8221;: [&#8220;hi&#8221;], &#8220;group&#8221;: &#8220;abcd&#8221;}</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.Pubnub.channel_group_list_groups">
+<tt class="descname">channel_group_list_groups</tt><big>(</big><em>namespace=None</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.channel_group_list_groups" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get list of groups.</p>
+<p>Using this method, list of groups for the subscribe key associated with PubNub
+object, can be obtained. If namespace is provided, groups within the namespace
+only are listed</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><p class="first">namespace: (string) (optional) namespace
+callback: (optional)</p>
+<blockquote>
+<div>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</div></blockquote>
+<dl class="last docutils">
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_list_groups method returns a dict which contains list of groups
+in payload field
+{</p>
+<blockquote>
+<div>u&#8217;status&#8217;: 200,
+u&#8217;payload&#8217;: {&#8220;namespace&#8221;: &#8220;dev&#8221;, &#8220;groups&#8221;: [&#8220;abcd&#8221;]},
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</div></blockquote>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_namespaces gets the a dict containing list of groups
+under payload field</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;payload&#8217;: {&#8220;namespace&#8221;: &#8220;dev&#8221;, &#8220;groups&#8221;: [&#8220;abcd&#8221;]}</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.Pubnub.channel_group_list_namespaces">
+<tt class="descname">channel_group_list_namespaces</tt><big>(</big><em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.channel_group_list_namespaces" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get list of namespaces.</p>
+<p>You can obtain list of namespaces for the subscribe key associated with PubNub
+object using this method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_list_namespaces method returns a dict which contains list of namespaces
+in payload field
+{</p>
+<blockquote>
+<div><p>u&#8217;status&#8217;: 200,
+u&#8217;payload&#8217;: {</p>
+<blockquote>
+<div>u&#8217;sub_key&#8217;: u&#8217;demo&#8217;,
+u&#8217;namespaces&#8217;: [u&#8217;dev&#8217;, u&#8217;foo&#8217;]</div></blockquote>
+<p>},
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</p>
+</div></blockquote>
+<p>}</p>
+<p>Async Mode: None (callback gets the response as parameter)</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_namespaces gets the a dict containing list of namespaces
+under payload field</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd><dl class="first docutils">
+<dt>u&#8217;payload&#8217;: {</dt>
+<dd>u&#8217;sub_key&#8217;: u&#8217;demo&#8217;,
+u&#8217;namespaces&#8217;: [u&#8217;dev&#8217;, u&#8217;foo&#8217;]</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+<p>}</p>
+<p class="last">namespaces is the list of namespaces for the given subscribe key</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.Pubnub.channel_group_remove_channel">
+<tt class="descname">channel_group_remove_channel</tt><big>(</big><em>channel_group</em>, <em>channel</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.channel_group_remove_channel" title="Permalink to this definition">¶</a></dt>
+<dd><p>Remove channel.</p>
+<p>A channel can be removed from a group method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_group: (string)</dt>
+<dd>Channel Group name. It can also contain namespace.
+If namespace is also specified, then the parameter
+will be in format namespace:channel_group</dd>
+<dt>channel: (string)</dt>
+<dd>Can be a channel name, a list of channel names,
+or a comma separated list of channel names</dd>
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_remove_channel method returns a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_remove_channel gets the a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.Pubnub.channel_group_remove_group">
+<tt class="descname">channel_group_remove_group</tt><big>(</big><em>channel_group</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.channel_group_remove_group" title="Permalink to this definition">¶</a></dt>
+<dd><p>Remove channel group.</p>
+<p>A channel group can be removed using this method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_group: (string)</dt>
+<dd>Channel Group name. It can also contain namespace.
+If namespace is also specified, then the parameter
+will be in format namespace:channel_group</dd>
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_remove_group method returns a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_remove_group gets the a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.Pubnub.channel_group_remove_namespace">
+<tt class="descname">channel_group_remove_namespace</tt><big>(</big><em>namespace</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.channel_group_remove_namespace" title="Permalink to this definition">¶</a></dt>
+<dd><p>Remove a namespace.</p>
+<p>A namespace can be deleted using this method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><p class="first">namespace: (string) namespace to be deleted
+callback: (optional)</p>
+<blockquote>
+<div>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</div></blockquote>
+<dl class="last docutils">
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_remove_namespace method returns a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_namespaces gets the a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
<dt id="Pubnub.Pubnub.decrypt">
<tt class="descname">decrypt</tt><big>(</big><em>message</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.decrypt" title="Permalink to this definition">¶</a></dt>
<dd><p>Method for decrypting data.</p>
@@ -360,6 +652,29 @@ Required argument when working with twisted or tornado .</div></blockquote>
</dd></dl>
<dl class="method">
+<dt id="Pubnub.Pubnub.presence_group">
+<tt class="descname">presence_group</tt><big>(</big><em>channel_group</em>, <em>callback</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.presence_group" title="Permalink to this definition">¶</a></dt>
+<dd><p>Subscribe to presence events on a channel group.</p>
+<blockquote>
+<div>Only works in async mode</div></blockquote>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><p class="first">channel_group: Channel group name ( string )
+callback: A callback method should be passed to the method.</p>
+<blockquote>
+<div>If passed, the api works in async mode.
+Required argument when working with twisted or tornado .</div></blockquote>
+<dl class="last docutils">
+<dt>error: Optional variable. An error method can be passed as parameter.</dt>
+<dd>If passed, the api works in async mode.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd>None</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
<dt id="Pubnub.Pubnub.publish">
<tt class="descname">publish</tt><big>(</big><em>channel</em>, <em>message</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.publish" title="Permalink to this definition">¶</a></dt>
<dd><p>Publishes data on a channel.</p>
@@ -502,6 +817,38 @@ multiple channels as a comma separated list or andarray.</dd>
</dd></dl>
<dl class="method">
+<dt id="Pubnub.Pubnub.subscribe_group">
+<tt class="descname">subscribe_group</tt><big>(</big><em>channel_groups</em>, <em>callback</em>, <em>error=None</em>, <em>connect=None</em>, <em>disconnect=None</em>, <em>reconnect=None</em>, <em>sync=False</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.subscribe_group" title="Permalink to this definition">¶</a></dt>
+<dd><p>Subscribe to data on a channel group.</p>
+<p>This function causes the client to create an open TCP socket to the
+PubNub Real-Time Network and begin listening for messages on a specified channel.
+To subscribe to a channel group the client must send the appropriate subscribe_key at
+initialization.</p>
+<p>Only works in async mode</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_groups: (string/list)</dt>
+<dd>Specifies the channel groups to subscribe to. It is possible to specify
+multiple channel groups as a comma separated list or andarray.</dd>
+<dt>callback: (function)</dt>
+<dd>This callback is called on receiving a message from the channel.</dd>
+<dt>error: (function) (optional)</dt>
+<dd>This callback is called on an error event</dd>
+<dt>connect: (function) (optional)</dt>
+<dd>This callback is called on a successful connection to the PubNub cloud</dd>
+<dt>disconnect: (function) (optional)</dt>
+<dd>This callback is called on client disconnect from the PubNub cloud</dd>
+<dt>reconnect: (function) (optional)</dt>
+<dd>This callback is called on successfully re-connecting to the PubNub cloud</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd>None</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
<dt id="Pubnub.Pubnub.time">
<tt class="descname">time</tt><big>(</big><em>callback=None</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.time" title="Permalink to this definition">¶</a></dt>
<dd><p>This function will return a 17 digit precision Unix epoch.</p>
@@ -532,7 +879,18 @@ Required argument when working with twisted or tornado .</dd>
<dt>Unsubscribe from channel .</dt>
<dd>Only works in async mode</dd>
<dt>Args:</dt>
-<dd>channel: Channel name ( string ) on which to publish message</dd>
+<dd>channel: Channel name ( string )</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.Pubnub.unsubscribe_group">
+<tt class="descname">unsubscribe_group</tt><big>(</big><em>channel_group</em><big>)</big><a class="headerlink" href="#Pubnub.Pubnub.unsubscribe_group" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Unsubscribe from channel group.</dt>
+<dd>Only works in async mode</dd>
+<dt>Args:</dt>
+<dd>channel_group: Channel group name ( string )</dd>
</dl>
</dd></dl>
@@ -614,6 +972,298 @@ The dict returned contains values with keys &#8216;message&#8217; and &#8216;pay
</dd></dl>
<dl class="method">
+<dt id="Pubnub.PubnubTwisted.channel_group_list_channels">
+<tt class="descname">channel_group_list_channels</tt><big>(</big><em>channel_group</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.channel_group_list_channels" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get list of channels for a group.</p>
+<p>Using this method, list of channels for a group, can be obtained.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_group: (string) (optional) </dt>
+<dd>Channel Group name. It can also contain namespace.
+If namespace is also specified, then the parameter
+will be in format namespace:channel_group</dd>
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_list_channels method returns a dict which contains list of channels
+in payload field
+{</p>
+<blockquote>
+<div>u&#8217;status&#8217;: 200,
+u&#8217;payload&#8217;: {&#8220;channels&#8221;: [&#8220;hi&#8221;], &#8220;group&#8221;: &#8220;abcd&#8221;},
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</div></blockquote>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_channels gets the a dict containing list of channels
+under payload field</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;payload&#8217;: {&#8220;channels&#8221;: [&#8220;hi&#8221;], &#8220;group&#8221;: &#8220;abcd&#8221;}</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTwisted.channel_group_list_groups">
+<tt class="descname">channel_group_list_groups</tt><big>(</big><em>namespace=None</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.channel_group_list_groups" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get list of groups.</p>
+<p>Using this method, list of groups for the subscribe key associated with PubNub
+object, can be obtained. If namespace is provided, groups within the namespace
+only are listed</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><p class="first">namespace: (string) (optional) namespace
+callback: (optional)</p>
+<blockquote>
+<div>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</div></blockquote>
+<dl class="last docutils">
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_list_groups method returns a dict which contains list of groups
+in payload field
+{</p>
+<blockquote>
+<div>u&#8217;status&#8217;: 200,
+u&#8217;payload&#8217;: {&#8220;namespace&#8221;: &#8220;dev&#8221;, &#8220;groups&#8221;: [&#8220;abcd&#8221;]},
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</div></blockquote>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_namespaces gets the a dict containing list of groups
+under payload field</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;payload&#8217;: {&#8220;namespace&#8221;: &#8220;dev&#8221;, &#8220;groups&#8221;: [&#8220;abcd&#8221;]}</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTwisted.channel_group_list_namespaces">
+<tt class="descname">channel_group_list_namespaces</tt><big>(</big><em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.channel_group_list_namespaces" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get list of namespaces.</p>
+<p>You can obtain list of namespaces for the subscribe key associated with PubNub
+object using this method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_list_namespaces method returns a dict which contains list of namespaces
+in payload field
+{</p>
+<blockquote>
+<div><p>u&#8217;status&#8217;: 200,
+u&#8217;payload&#8217;: {</p>
+<blockquote>
+<div>u&#8217;sub_key&#8217;: u&#8217;demo&#8217;,
+u&#8217;namespaces&#8217;: [u&#8217;dev&#8217;, u&#8217;foo&#8217;]</div></blockquote>
+<p>},
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</p>
+</div></blockquote>
+<p>}</p>
+<p>Async Mode: None (callback gets the response as parameter)</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_namespaces gets the a dict containing list of namespaces
+under payload field</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd><dl class="first docutils">
+<dt>u&#8217;payload&#8217;: {</dt>
+<dd>u&#8217;sub_key&#8217;: u&#8217;demo&#8217;,
+u&#8217;namespaces&#8217;: [u&#8217;dev&#8217;, u&#8217;foo&#8217;]</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+<p>}</p>
+<p class="last">namespaces is the list of namespaces for the given subscribe key</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTwisted.channel_group_remove_channel">
+<tt class="descname">channel_group_remove_channel</tt><big>(</big><em>channel_group</em>, <em>channel</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.channel_group_remove_channel" title="Permalink to this definition">¶</a></dt>
+<dd><p>Remove channel.</p>
+<p>A channel can be removed from a group method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_group: (string)</dt>
+<dd>Channel Group name. It can also contain namespace.
+If namespace is also specified, then the parameter
+will be in format namespace:channel_group</dd>
+<dt>channel: (string)</dt>
+<dd>Can be a channel name, a list of channel names,
+or a comma separated list of channel names</dd>
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_remove_channel method returns a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_remove_channel gets the a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTwisted.channel_group_remove_group">
+<tt class="descname">channel_group_remove_group</tt><big>(</big><em>channel_group</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.channel_group_remove_group" title="Permalink to this definition">¶</a></dt>
+<dd><p>Remove channel group.</p>
+<p>A channel group can be removed using this method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_group: (string)</dt>
+<dd>Channel Group name. It can also contain namespace.
+If namespace is also specified, then the parameter
+will be in format namespace:channel_group</dd>
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_remove_group method returns a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_remove_group gets the a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTwisted.channel_group_remove_namespace">
+<tt class="descname">channel_group_remove_namespace</tt><big>(</big><em>namespace</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.channel_group_remove_namespace" title="Permalink to this definition">¶</a></dt>
+<dd><p>Remove a namespace.</p>
+<p>A namespace can be deleted using this method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><p class="first">namespace: (string) namespace to be deleted
+callback: (optional)</p>
+<blockquote>
+<div>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</div></blockquote>
+<dl class="last docutils">
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_remove_namespace method returns a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_namespaces gets the a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
<dt id="Pubnub.PubnubTwisted.decrypt">
<tt class="descname">decrypt</tt><big>(</big><em>message</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.decrypt" title="Permalink to this definition">¶</a></dt>
<dd><p>Method for decrypting data.</p>
@@ -849,6 +1499,29 @@ Required argument when working with twisted or tornado .</div></blockquote>
</dd></dl>
<dl class="method">
+<dt id="Pubnub.PubnubTwisted.presence_group">
+<tt class="descname">presence_group</tt><big>(</big><em>channel_group</em>, <em>callback</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.presence_group" title="Permalink to this definition">¶</a></dt>
+<dd><p>Subscribe to presence events on a channel group.</p>
+<blockquote>
+<div>Only works in async mode</div></blockquote>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><p class="first">channel_group: Channel group name ( string )
+callback: A callback method should be passed to the method.</p>
+<blockquote>
+<div>If passed, the api works in async mode.
+Required argument when working with twisted or tornado .</div></blockquote>
+<dl class="last docutils">
+<dt>error: Optional variable. An error method can be passed as parameter.</dt>
+<dd>If passed, the api works in async mode.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd>None</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
<dt id="Pubnub.PubnubTwisted.publish">
<tt class="descname">publish</tt><big>(</big><em>channel</em>, <em>message</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.publish" title="Permalink to this definition">¶</a></dt>
<dd><p>Publishes data on a channel.</p>
@@ -991,6 +1664,38 @@ multiple channels as a comma separated list or andarray.</dd>
</dd></dl>
<dl class="method">
+<dt id="Pubnub.PubnubTwisted.subscribe_group">
+<tt class="descname">subscribe_group</tt><big>(</big><em>channel_groups</em>, <em>callback</em>, <em>error=None</em>, <em>connect=None</em>, <em>disconnect=None</em>, <em>reconnect=None</em>, <em>sync=False</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.subscribe_group" title="Permalink to this definition">¶</a></dt>
+<dd><p>Subscribe to data on a channel group.</p>
+<p>This function causes the client to create an open TCP socket to the
+PubNub Real-Time Network and begin listening for messages on a specified channel.
+To subscribe to a channel group the client must send the appropriate subscribe_key at
+initialization.</p>
+<p>Only works in async mode</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_groups: (string/list)</dt>
+<dd>Specifies the channel groups to subscribe to. It is possible to specify
+multiple channel groups as a comma separated list or andarray.</dd>
+<dt>callback: (function)</dt>
+<dd>This callback is called on receiving a message from the channel.</dd>
+<dt>error: (function) (optional)</dt>
+<dd>This callback is called on an error event</dd>
+<dt>connect: (function) (optional)</dt>
+<dd>This callback is called on a successful connection to the PubNub cloud</dd>
+<dt>disconnect: (function) (optional)</dt>
+<dd>This callback is called on client disconnect from the PubNub cloud</dd>
+<dt>reconnect: (function) (optional)</dt>
+<dd>This callback is called on successfully re-connecting to the PubNub cloud</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd>None</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
<dt id="Pubnub.PubnubTwisted.time">
<tt class="descname">time</tt><big>(</big><em>callback=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.time" title="Permalink to this definition">¶</a></dt>
<dd><p>This function will return a 17 digit precision Unix epoch.</p>
@@ -1021,7 +1726,18 @@ Required argument when working with twisted or tornado .</dd>
<dt>Unsubscribe from channel .</dt>
<dd>Only works in async mode</dd>
<dt>Args:</dt>
-<dd>channel: Channel name ( string ) on which to publish message</dd>
+<dd>channel: Channel name ( string )</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTwisted.unsubscribe_group">
+<tt class="descname">unsubscribe_group</tt><big>(</big><em>channel_group</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTwisted.unsubscribe_group" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Unsubscribe from channel group.</dt>
+<dd>Only works in async mode</dd>
+<dt>Args:</dt>
+<dd>channel_group: Channel group name ( string )</dd>
</dl>
</dd></dl>
@@ -1103,6 +1819,298 @@ The dict returned contains values with keys &#8216;message&#8217; and &#8216;pay
</dd></dl>
<dl class="method">
+<dt id="Pubnub.PubnubTornado.channel_group_list_channels">
+<tt class="descname">channel_group_list_channels</tt><big>(</big><em>channel_group</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.channel_group_list_channels" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get list of channels for a group.</p>
+<p>Using this method, list of channels for a group, can be obtained.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_group: (string) (optional) </dt>
+<dd>Channel Group name. It can also contain namespace.
+If namespace is also specified, then the parameter
+will be in format namespace:channel_group</dd>
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_list_channels method returns a dict which contains list of channels
+in payload field
+{</p>
+<blockquote>
+<div>u&#8217;status&#8217;: 200,
+u&#8217;payload&#8217;: {&#8220;channels&#8221;: [&#8220;hi&#8221;], &#8220;group&#8221;: &#8220;abcd&#8221;},
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</div></blockquote>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_channels gets the a dict containing list of channels
+under payload field</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;payload&#8217;: {&#8220;channels&#8221;: [&#8220;hi&#8221;], &#8220;group&#8221;: &#8220;abcd&#8221;}</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTornado.channel_group_list_groups">
+<tt class="descname">channel_group_list_groups</tt><big>(</big><em>namespace=None</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.channel_group_list_groups" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get list of groups.</p>
+<p>Using this method, list of groups for the subscribe key associated with PubNub
+object, can be obtained. If namespace is provided, groups within the namespace
+only are listed</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><p class="first">namespace: (string) (optional) namespace
+callback: (optional)</p>
+<blockquote>
+<div>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</div></blockquote>
+<dl class="last docutils">
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_list_groups method returns a dict which contains list of groups
+in payload field
+{</p>
+<blockquote>
+<div>u&#8217;status&#8217;: 200,
+u&#8217;payload&#8217;: {&#8220;namespace&#8221;: &#8220;dev&#8221;, &#8220;groups&#8221;: [&#8220;abcd&#8221;]},
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</div></blockquote>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_namespaces gets the a dict containing list of groups
+under payload field</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;payload&#8217;: {&#8220;namespace&#8221;: &#8220;dev&#8221;, &#8220;groups&#8221;: [&#8220;abcd&#8221;]}</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTornado.channel_group_list_namespaces">
+<tt class="descname">channel_group_list_namespaces</tt><big>(</big><em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.channel_group_list_namespaces" title="Permalink to this definition">¶</a></dt>
+<dd><p>Get list of namespaces.</p>
+<p>You can obtain list of namespaces for the subscribe key associated with PubNub
+object using this method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_list_namespaces method returns a dict which contains list of namespaces
+in payload field
+{</p>
+<blockquote>
+<div><p>u&#8217;status&#8217;: 200,
+u&#8217;payload&#8217;: {</p>
+<blockquote>
+<div>u&#8217;sub_key&#8217;: u&#8217;demo&#8217;,
+u&#8217;namespaces&#8217;: [u&#8217;dev&#8217;, u&#8217;foo&#8217;]</div></blockquote>
+<p>},
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</p>
+</div></blockquote>
+<p>}</p>
+<p>Async Mode: None (callback gets the response as parameter)</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_namespaces gets the a dict containing list of namespaces
+under payload field</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd><dl class="first docutils">
+<dt>u&#8217;payload&#8217;: {</dt>
+<dd>u&#8217;sub_key&#8217;: u&#8217;demo&#8217;,
+u&#8217;namespaces&#8217;: [u&#8217;dev&#8217;, u&#8217;foo&#8217;]</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+<p>}</p>
+<p class="last">namespaces is the list of namespaces for the given subscribe key</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTornado.channel_group_remove_channel">
+<tt class="descname">channel_group_remove_channel</tt><big>(</big><em>channel_group</em>, <em>channel</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.channel_group_remove_channel" title="Permalink to this definition">¶</a></dt>
+<dd><p>Remove channel.</p>
+<p>A channel can be removed from a group method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_group: (string)</dt>
+<dd>Channel Group name. It can also contain namespace.
+If namespace is also specified, then the parameter
+will be in format namespace:channel_group</dd>
+<dt>channel: (string)</dt>
+<dd>Can be a channel name, a list of channel names,
+or a comma separated list of channel names</dd>
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_remove_channel method returns a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_remove_channel gets the a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTornado.channel_group_remove_group">
+<tt class="descname">channel_group_remove_group</tt><big>(</big><em>channel_group</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.channel_group_remove_group" title="Permalink to this definition">¶</a></dt>
+<dd><p>Remove channel group.</p>
+<p>A channel group can be removed using this method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_group: (string)</dt>
+<dd>Channel Group name. It can also contain namespace.
+If namespace is also specified, then the parameter
+will be in format namespace:channel_group</dd>
+<dt>callback: (optional)</dt>
+<dd>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_remove_group method returns a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_remove_group gets the a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTornado.channel_group_remove_namespace">
+<tt class="descname">channel_group_remove_namespace</tt><big>(</big><em>namespace</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.channel_group_remove_namespace" title="Permalink to this definition">¶</a></dt>
+<dd><p>Remove a namespace.</p>
+<p>A namespace can be deleted using this method.</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><p class="first">namespace: (string) namespace to be deleted
+callback: (optional)</p>
+<blockquote>
+<div>A callback method should be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</div></blockquote>
+<dl class="last docutils">
+<dt>error: (optional)</dt>
+<dd>Optional variable. An error method can be passed to the method.
+If set, the api works in async mode.
+Required argument when working with twisted or tornado .</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd><p class="first">Sync Mode: dict
+channel_group_remove_namespace method returns a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p>}</p>
+<p>Async Mode: None ( callback gets the response as parameter )</p>
+<p>Response Format:</p>
+<p>The callback passed to channel_group_list_namespaces gets the a dict indicating status of the request</p>
+<dl class="docutils">
+<dt>{</dt>
+<dd>u&#8217;status&#8217;: 200,
+u&#8217;message&#8217;: &#8216;OK&#8217;,
+u&#8217;service&#8217;: u&#8217;channel-registry&#8217;,
+u&#8217;error&#8217;: False</dd>
+</dl>
+<p class="last">}</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
<dt id="Pubnub.PubnubTornado.decrypt">
<tt class="descname">decrypt</tt><big>(</big><em>message</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.decrypt" title="Permalink to this definition">¶</a></dt>
<dd><p>Method for decrypting data.</p>
@@ -1338,6 +2346,29 @@ Required argument when working with twisted or tornado .</div></blockquote>
</dd></dl>
<dl class="method">
+<dt id="Pubnub.PubnubTornado.presence_group">
+<tt class="descname">presence_group</tt><big>(</big><em>channel_group</em>, <em>callback</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.presence_group" title="Permalink to this definition">¶</a></dt>
+<dd><p>Subscribe to presence events on a channel group.</p>
+<blockquote>
+<div>Only works in async mode</div></blockquote>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><p class="first">channel_group: Channel group name ( string )
+callback: A callback method should be passed to the method.</p>
+<blockquote>
+<div>If passed, the api works in async mode.
+Required argument when working with twisted or tornado .</div></blockquote>
+<dl class="last docutils">
+<dt>error: Optional variable. An error method can be passed as parameter.</dt>
+<dd>If passed, the api works in async mode.</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd>None</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
<dt id="Pubnub.PubnubTornado.publish">
<tt class="descname">publish</tt><big>(</big><em>channel</em>, <em>message</em>, <em>callback=None</em>, <em>error=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.publish" title="Permalink to this definition">¶</a></dt>
<dd><p>Publishes data on a channel.</p>
@@ -1480,6 +2511,38 @@ multiple channels as a comma separated list or andarray.</dd>
</dd></dl>
<dl class="method">
+<dt id="Pubnub.PubnubTornado.subscribe_group">
+<tt class="descname">subscribe_group</tt><big>(</big><em>channel_groups</em>, <em>callback</em>, <em>error=None</em>, <em>connect=None</em>, <em>disconnect=None</em>, <em>reconnect=None</em>, <em>sync=False</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.subscribe_group" title="Permalink to this definition">¶</a></dt>
+<dd><p>Subscribe to data on a channel group.</p>
+<p>This function causes the client to create an open TCP socket to the
+PubNub Real-Time Network and begin listening for messages on a specified channel.
+To subscribe to a channel group the client must send the appropriate subscribe_key at
+initialization.</p>
+<p>Only works in async mode</p>
+<dl class="docutils">
+<dt>Args:</dt>
+<dd><dl class="first last docutils">
+<dt>channel_groups: (string/list)</dt>
+<dd>Specifies the channel groups to subscribe to. It is possible to specify
+multiple channel groups as a comma separated list or andarray.</dd>
+<dt>callback: (function)</dt>
+<dd>This callback is called on receiving a message from the channel.</dd>
+<dt>error: (function) (optional)</dt>
+<dd>This callback is called on an error event</dd>
+<dt>connect: (function) (optional)</dt>
+<dd>This callback is called on a successful connection to the PubNub cloud</dd>
+<dt>disconnect: (function) (optional)</dt>
+<dd>This callback is called on client disconnect from the PubNub cloud</dd>
+<dt>reconnect: (function) (optional)</dt>
+<dd>This callback is called on successfully re-connecting to the PubNub cloud</dd>
+</dl>
+</dd>
+<dt>Returns:</dt>
+<dd>None</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
<dt id="Pubnub.PubnubTornado.time">
<tt class="descname">time</tt><big>(</big><em>callback=None</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.time" title="Permalink to this definition">¶</a></dt>
<dd><p>This function will return a 17 digit precision Unix epoch.</p>
@@ -1510,7 +2573,18 @@ Required argument when working with twisted or tornado .</dd>
<dt>Unsubscribe from channel .</dt>
<dd>Only works in async mode</dd>
<dt>Args:</dt>
-<dd>channel: Channel name ( string ) on which to publish message</dd>
+<dd>channel: Channel name ( string )</dd>
+</dl>
+</dd></dl>
+
+<dl class="method">
+<dt id="Pubnub.PubnubTornado.unsubscribe_group">
+<tt class="descname">unsubscribe_group</tt><big>(</big><em>channel_group</em><big>)</big><a class="headerlink" href="#Pubnub.PubnubTornado.unsubscribe_group" title="Permalink to this definition">¶</a></dt>
+<dd><dl class="docutils">
+<dt>Unsubscribe from channel group.</dt>
+<dd>Only works in async mode</dd>
+<dt>Args:</dt>
+<dd>channel_group: Channel group name ( string )</dd>
</dl>
</dd></dl>
diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv
index a3f471d..8959d68 100644
--- a/docs/build/html/objects.inv
+++ b/docs/build/html/objects.inv
Binary files differ
diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js
index 4d83cb9..eec0fc8 100644
--- a/docs/build/html/searchindex.js
+++ b/docs/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:42,terms:{"23f34d3f4rq34r34rq23q":0,all:0,newest:0,my_rw_authkei:0,obtain:0,tcp:0,ssl_on:0,reconnect:0,ttl:0,follow:0,twist:0,simultan:0,callback:0,cipher:0,paramet:0,access:0,onli:0,group:0,uuid:0,zone:0,how:0,here_now:0,readabl:0,publish_kei:0,send:0,should:0,pub2:0,valid:0,dict:0,appli:0,input:0,sent:0,pubsub:0,real:0,applic:0,digit:0,"return":0,string:0,thei:0,transpar:0,fals:0,none:0,auth:0,ssl:0,mechan:0,now:0,requir:0,my_channel:0,reveal:0,daemon:0,name:0,specif:0,level:0,channel_group:0,revers:0,list:0,geograph:0,privileg:0,server:0,separ:0,provid:0,token:0,api:0,mode:0,contain:0,comma:0,remov:0,set:0,specifi:0,permiss:0,my_admin_authkei:0,multipl:0,sync:0,my_ro_authkei:0,sampl:0,result:0,pass:0,pres_uuid:0,successfulli:0,event:0,special:0,page:0,variabl:0,index:0,what:0,oldest:0,network:0,channel:0,subscribe_kei:0,"while":0,publish:0,cipher_kei:0,current:0,method:0,state:0,pool:0,enncrypt:0,"new":0,get:0,across:0,attribut:0,object:0,kei:0,gener:0,each:0,usag:0,here:0,plaintext:0,base:0,async:0,locat:0,my_authkei:0,secret_kei:0,valu:0,care:0,both:0,about:0,output:0,socket:0,success:0,through:0,manag:0,precis:0,"123123234t234f34fq3dq":0,auth_kei:0,my_subkei:0,com:0,first:0,origin:0,arg:0,simpli:0,directli:0,revok:0,slice:0,transit:0,number:0,unix:0,"boolean":0,uniqu:0,ensur:0,total:0,storag:0,your:0,cloud:0,min:0,given:0,from:0,associ:0,doubl:0,three:0,messag:0,avail:0,start:0,call:0,includ:0,subscrib:0,taken:0,unsubscrib:0,store:0,listen:0,"function":0,option:0,presenc:0,search:0,andarrai:0,ani:0,line:0,"true":0,must:0,count:0,replic:0,ciphertext:0,retriev:0,possibl:0,"default":0,servic:0,work:0,histor:0,histori:0,below:0,limit:0,can:0,behavior:0,error:0,minut:0,initi:0,fetch:0,connect:0,control:0,payload:0,exampl:0,creat:0,"int":0,dure:0,respons:0,decrypt:0,argument:0,pub3:0,"case":0,pub1:0,exist:0,pub5:0,pub4:0,need:0,w34tcw45t45tcw435tww3:0,"null":0,sever:0,occup:0,end:0,open:0,grant:0,receiv:0,format:0,when:0,write:0,also:0,epoch:0,playback:0,take:0,which:0,indefinit:0,you:0,unlimit:0,singl:0,begin:0,thi:0,tornado:0,max:0,previou:0,"143r34f34t34fq34q34q3":0,statu:0,disconnect:0,abc:0,user:0,establish:0,eavesdropp:0,encrypt:0,data:0,"class":0,demonstr:0,audit:0,appropri:0,center:0,read:0,secur:0,quantiti:0,caus:0,inform:0,client:0,combin:0,potenti:0,time:0,pam:0,azur:0,order:0},objtypes:{"0":"py:module","1":"py:method","2":"py:class"},objnames:{"0":["py","module","Python module"],"1":["py","method","Python method"],"2":["py","class","Python class"]},filenames:["index"],titles:["Welcome to PubNub&#8217;s documentation!"],objects:{"":{Pubnub:[0,0,0,"-"]},"Pubnub.PubnubTornado":{audit:[0,1,1,""],revoke:[0,1,1,""],grant:[0,1,1,""],here_now:[0,1,1,""],decrypt:[0,1,1,""],publish:[0,1,1,""],presence:[0,1,1,""],subscribe:[0,1,1,""],unsubscribe:[0,1,1,""],time:[0,1,1,""],encrypt:[0,1,1,""],history:[0,1,1,""]},"Pubnub.PubnubTwisted":{audit:[0,1,1,""],revoke:[0,1,1,""],grant:[0,1,1,""],here_now:[0,1,1,""],presence:[0,1,1,""],decrypt:[0,1,1,""],publish:[0,1,1,""],subscribe:[0,1,1,""],unsubscribe:[0,1,1,""],time:[0,1,1,""],encrypt:[0,1,1,""],history:[0,1,1,""]},Pubnub:{PubnubTornado:[0,2,1,""],Pubnub:[0,2,1,""],PubnubTwisted:[0,2,1,""]},"Pubnub.Pubnub":{audit:[0,1,1,""],revoke:[0,1,1,""],here_now:[0,1,1,""],grant:[0,1,1,""],decrypt:[0,1,1,""],publish:[0,1,1,""],presence:[0,1,1,""],subscribe:[0,1,1,""],unsubscribe:[0,1,1,""],time:[0,1,1,""],encrypt:[0,1,1,""],history:[0,1,1,""]}},titleterms:{welcom:0,pubnub:0,indic:0,pubnubtwist:0,tabl:0,pubnubtornado:0,document:0}}) \ No newline at end of file
+Search.setIndex({envversion:42,terms:{"23f34d3f4rq34r34rq23q":0,all:0,newest:0,my_rw_authkei:0,thi:0,channel_group_list_group:0,obtain:0,tcp:0,output:0,ssl_on:0,reconnect:0,ttl:0,follow:0,twist:0,simultan:0,callback:0,cipher:0,paramet:0,begin:0,access:0,onli:0,group:0,uuid:0,channel_group_list_channel:0,field:0,here_now:0,readabl:0,publish_kei:0,send:0,should:0,pub2:0,valid:0,dict:0,under:0,input:0,must:0,sent:0,pubsub:0,real:0,applic:0,digit:0,"return":0,string:0,thei:0,get:0,fals:0,none:0,auth:0,sub_kei:0,ssl:0,mechan:0,now:0,requir:0,my_channel:0,reveal:0,daemon:0,name:0,specif:0,level:0,channel_group:0,revers:0,list:0,geograph:0,privileg:0,server:0,separ:0,provid:0,token:0,api:0,mode:0,contain:0,comma:0,manag:0,set:0,specifi:0,permiss:0,my_admin_authkei:0,multipl:0,sync:0,my_ro_authkei:0,sampl:0,result:0,pass:0,pres_uuid:0,successfulli:0,servic:0,special:0,variabl:0,index:0,statu:0,oldest:0,network:0,channel:0,subscribe_kei:0,"while":0,publish:0,cipher_kei:0,current:0,delet:0,state:0,pool:0,enncrypt:0,"new":0,channel_group_remove_namespac:0,foo:0,across:0,attribut:0,object:0,kei:0,gener:0,each:0,usag:0,here:0,plaintext:0,base:0,async:0,locat:0,method:0,secret_kei:0,valu:0,care:0,both:0,about:0,your:0,slice:0,min:0,success:0,through:0,page:0,precis:0,"123123234t234f34fq3dq":0,auth_kei:0,my_subkei:0,com:0,first:0,origin:0,abcd:0,arg:0,simpli:0,directli:0,revok:0,appli:0,transit:0,within:0,number:0,channel_group_remove_group:0,unix:0,"boolean":0,uniqu:0,ensur:0,total:0,storag:0,my_authkei:0,cloud:0,channel_group_remove_channel:0,given:0,from:0,associ:0,doubl:0,three:0,messag:0,avail:0,start:0,call:0,includ:0,subscrib:0,taken:0,unsubscrib:0,store:0,listen:0,"function":0,option:0,namespac:0,presenc:0,search:0,andarrai:0,ani:0,line:0,"true":0,socket:0,count:0,replic:0,ciphertext:0,retriev:0,possibl:0,"default":0,remov:0,work:0,histor:0,dev:0,histori:0,below:0,limit:0,can:0,behavior:0,error:0,minut:0,initi:0,fetch:0,connect:0,control:0,payload:0,exampl:0,creat:0,"int":0,demo:0,dure:0,respons:0,decrypt:0,argument:0,pub3:0,"case":0,pub1:0,exist:0,pub5:0,pub4:0,need:0,w34tcw45t45tcw435tww3:0,"null":0,sever:0,occup:0,end:0,open:0,secur:0,receiv:0,transpar:0,when:0,event:0,write:0,how:0,epoch:0,playback:0,read:0,take:0,which:0,indefinit:0,you:0,zone:0,channel_group_list_namespac:0,unlimit:0,singl:0,unsubscribe_group:0,registri:0,tornado:0,max:0,previou:0,"143r34f34t34fq34q34q3":0,what:0,disconnect:0,presence_group:0,abc:0,user:0,establish:0,eavesdropp:0,encrypt:0,subscribe_group:0,data:0,"class":0,demonstr:0,audit:0,appropri:0,center:0,also:0,grant:0,request:0,quantiti:0,caus:0,inform:0,client:0,combin:0,potenti:0,time:0,format:0,pam:0,azur:0,order:0},objtypes:{"0":"py:module","1":"py:method","2":"py:class"},objnames:{"0":["py","module","Python module"],"1":["py","method","Python method"],"2":["py","class","Python class"]},filenames:["index"],titles:["Welcome to PubNub&#8217;s documentation!"],objects:{"":{Pubnub:[0,0,0,"-"]},"Pubnub.PubnubTornado":{channel_group_remove_channel:[0,1,1,""],audit:[0,1,1,""],unsubscribe_group:[0,1,1,""],revoke:[0,1,1,""],here_now:[0,1,1,""],grant:[0,1,1,""],decrypt:[0,1,1,""],presence_group:[0,1,1,""],publish:[0,1,1,""],presence:[0,1,1,""],subscribe:[0,1,1,""],unsubscribe:[0,1,1,""],channel_group_remove_group:[0,1,1,""],channel_group_list_groups:[0,1,1,""],time:[0,1,1,""],channel_group_remove_namespace:[0,1,1,""],encrypt:[0,1,1,""],subscribe_group:[0,1,1,""],channel_group_list_channels:[0,1,1,""],channel_group_list_namespaces:[0,1,1,""],history:[0,1,1,""]},"Pubnub.PubnubTwisted":{channel_group_remove_channel:[0,1,1,""],audit:[0,1,1,""],unsubscribe_group:[0,1,1,""],revoke:[0,1,1,""],grant:[0,1,1,""],presence:[0,1,1,""],here_now:[0,1,1,""],decrypt:[0,1,1,""],presence_group:[0,1,1,""],channel_group_remove_group:[0,1,1,""],subscribe:[0,1,1,""],unsubscribe:[0,1,1,""],publish:[0,1,1,""],channel_group_list_groups:[0,1,1,""],time:[0,1,1,""],channel_group_remove_namespace:[0,1,1,""],encrypt:[0,1,1,""],subscribe_group:[0,1,1,""],channel_group_list_channels:[0,1,1,""],channel_group_list_namespaces:[0,1,1,""],history:[0,1,1,""]},Pubnub:{PubnubTornado:[0,2,1,""],Pubnub:[0,2,1,""],PubnubTwisted:[0,2,1,""]},"Pubnub.Pubnub":{channel_group_remove_channel:[0,1,1,""],audit:[0,1,1,""],unsubscribe_group:[0,1,1,""],revoke:[0,1,1,""],here_now:[0,1,1,""],presence:[0,1,1,""],grant:[0,1,1,""],decrypt:[0,1,1,""],presence_group:[0,1,1,""],channel_group_remove_namespace:[0,1,1,""],channel_group_remove_group:[0,1,1,""],subscribe:[0,1,1,""],unsubscribe:[0,1,1,""],publish:[0,1,1,""],channel_group_list_groups:[0,1,1,""],time:[0,1,1,""],encrypt:[0,1,1,""],subscribe_group:[0,1,1,""],channel_group_list_channels:[0,1,1,""],channel_group_list_namespaces:[0,1,1,""],history:[0,1,1,""]}},titleterms:{welcom:0,pubnub:0,indic:0,pubnubtwist:0,tabl:0,pubnubtornado:0,document:0}}) \ No newline at end of file
diff --git a/docs/source/index.rst b/docs/source/index.rst
index af3593e..6b41e89 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -14,18 +14,18 @@ Welcome to PubNub's documentation!
Pubnub
---------------------------------
.. autoclass:: Pubnub
- :members: publish, subscribe, unsubscribe, presence, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time
+ :members: publish, subscribe, subscribe_group, unsubscribe, unsubscribe_group, presence, presence_group, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time, channel_group_list_namespaces, channel_group_remove_namespace, channel_group_list_groups, channel_group_list_channels, channel_groups_add_channel, channel_group_remove_channel, channel_group_remove_group
PubnubTwisted
---------------------------------
.. autoclass:: PubnubTwisted
- :members: publish, subscribe, unsubscribe, presence, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time
+ :members: publish, subscribe, subscribe_group, unsubscribe, unsubscribe_group, presence, presence_group, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time, channel_group_list_namespaces, channel_group_remove_namespace, channel_group_list_groups, channel_group_list_channels, channel_groups_add_channel, channel_group_remove_channel, channel_group_remove_group
PubnubTornado
---------------------------------
.. autoclass:: PubnubTornado
- :members: publish, subscribe, unsubscribe, presence, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time
+ :members: publish, subscribe, subscribe_group, unsubscribe, unsubscribe_group, presence, presence_group, history, here_now, grant, audit, revoke, get_origin, set_origin, get_auth_key, set_auth_key, encrypt, decrypt, time, channel_group_list_namespaces, channel_group_remove_namespace, channel_group_list_groups, channel_group_list_channels, channel_groups_add_channel, channel_group_remove_channel, channel_group_remove_group
Indices and tables
==================
diff --git a/python/README.md b/python/README.md
index e9084e2..0ce3455 100644
--- a/python/README.md
+++ b/python/README.md
@@ -60,6 +60,37 @@ pubnub.subscribe(channel, callback=callback, error=callback,
connect=connect, reconnect=reconnect, disconnect=disconnect)
```
+#### SUBSCRIBE to group
+
+```
+# Listen for Messages
+
+channel_group = 'group1'
+
+def callback(message, channel_group, channel):
+ print(message)
+
+
+def error(message):
+ print("ERROR : " + str(message))
+
+
+def connect(message):
+ print("CONNECTED")
+
+
+def reconnect(message):
+ print("RECONNECTED")
+
+
+def disconnect(message):
+ print("DISCONNECTED")
+
+
+pubnub.subscribe_group(channel_group, callback=callback, error=callback,
+ connect=connect, reconnect=reconnect, disconnect=disconnect)
+```
+
#### SUBSCRIBE Synchronous ( compatible with pre-3.5 )
Runs in tight loop if callback return True.
Loop ends when callback return False
@@ -106,6 +137,25 @@ def error(message):
pubnub.presence(channel, callback=callback, error=callback)
```
+#### PRESENCE channel group
+
+```
+# Listen for Presence Event Messages
+
+channel_group = 'group1'
+
+def callback(message, channel_group, channel):
+ print(message)
+
+
+def error(message):
+ print("ERROR : " + str(message))
+
+
+
+pubnub.presence_group(channel_group, callback=callback, error=callback)
+```
+
#### HERE_NOW
```