Python Library
A Python backend library for Cyprinus Location Subscription. It is used to subscribe to a group of user's locations at the project level or to subscribe to the location of a single user.

Installation

You can install our python SDK from the PIP package manager.
1
pip install roam-python
Copied!

Example Usage

You can think of this library as a wrapper around our REST API which needs your API key for authorization and it works as per project level.
It is fairly simple to use:
  • Create an instance of a client with your API key.
  • Define your custom callback function which will be executed on every location received from the server.
  • Subscribe with the help of the client for receiving the location updates.
Example usage code:
1
from roam import Client​
2
3
#Do something when you receive locations
4
def custom_callback_function(payload):
5
print(payload)
6
log(payload)
7
8
#To listen locations at project level with the callback function
9
client = Client(API_KEY=<API-KEY>, CALLBACK=<custom_callback_function>)
10
11
#Subcribe to locations
12
client.sub()
Copied!

Subscribe Locations

Single User's Locations

You can also use the Library to subscribe to a single user's location and listen to it. You have to pass the User ID which our Mobile SDKs return during creating a user.
1
client = Client(API_KEY=<API-KEY>, USER_ID=<USER-ID>, CALLBACK=<custom_callback_function>)
Copied!
Example Usage
1
from roam import Client​
2
3
#Do something when you receive locations
4
def custom_callback_function(payload):
5
print(payload)
6
log(payload)
7
8
#To listen locations at user level with the callback function
9
client = Client(API_KEY=<API-KEY>, USER_ID=<USER-ID>, CALLBACK=<custom_callback_function>)
10
11
#Subcribe to locations
12
client.sub()
Copied!

List of User’s Locations

You can use the Library to subscribe to a list of users and listen to their location updates.
Create a list with the User IDs you want to listen to and use the list when creating the client instance.
1
USER_LIST = ["user_id1", "user_id2", ...]
2
client = Client(API_KEY=<API-KEY>, USER_ID=<USER_LIST>, CALLBACK=<custom_callback_function>)
Copied!
Example Usage
1
from roam import Client​
2
3
#Do something when you receive locations
4
def custom_callback_function(payload):
5
print(payload)
6
log(payload)
7
8
#Create a user list with the list of user_id's
9
USER_LIST = ["user_id1", "user_id2", ..]
10
11
#To listen locations for list of user with the callback function
12
client = Client(API_KEY=<API-KEY>, USER_ID=<USER-LIST>, CALLBACK=<custom_callback_function>)
13
14
#Subcribe to locations
15
client.sub()
Copied!

Group of User’s Location

You can also use the SDK to subscribe to a user group and listen to their location updates.
You can get the group_id from our developer API for user grouping. You can use the group_id when creating the Client instance to listen to locations at the user group level.
1
client = Client(API_KEY=<API-KEY>, GROUP_ID=<GROUP_ID>, CALLBACK=<custom_callback_function>)
Copied!
Example Usage
1
from roam import Client​
2
3
#Do something when you receive locations
4
def custom_callback_function(payload):
5
print(payload)
6
log(payload)
7
8
#To listen locations for list of user with the callback function
9
client = Client(API_KEY=<API-KEY>, GROUP_ID=<GROUP_ID>, CALLBACK=<custom_callback_function>)
10
11
#Subcribe to locations
12
client.sub()
Copied!

Unsubscribe

If you wish to unsubscribe from location updates at any point, use the below code to disconnect from the client instance.
1
client.disconnect()
Copied!

Handling Callbacks

By default the Library prints out the locations. If the locations are required for any other output, then use a callback function.
1
def custom_callback_function(payload):
2
# print(payload)
3
# save_to_file(payload)
4
# log(payload)
5
6
​client = Client(API_KEY=<API-KEY>, CALLBACK=<custom_callback_function>)
Copied!
Last modified 4mo ago