Python Library
The Python backend library for Roam Location Subscription is used to subscribe to user locations at a project level. It can also be used to subscribe to the locations 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. It works at a project level and is fairly simple to use:
  • Create an instance of a client with your API key.
  • Define your custom callback function which will be executed in every location received from the server.
  • Subscribe with the help of the client to receive 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 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 while 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 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 it 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 User 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 code below to disconnect from the client instance.
1
client.disconnect()
Copied!

Handling Callbacks

By default, the library prints out the locations. If locations are required for any other output, then use the 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 28d ago