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.

pip install roam-python

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:

from roam import Client​

#Do something when you receive locations
def custom_callback_function(payload):    
  print(payload)    
  log(payload)
  
#To listen locations at project level with the callback function
client = Client(API_KEY=<API-KEY>, CALLBACK=<custom_callback_function>)

#Subcribe to locations
client.sub()

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.

client = Client(API_KEY=<API-KEY>, USER_ID=<USER-ID>, CALLBACK=<custom_callback_function>)

Example Usage

from roam import Client​

#Do something when you receive locations
def custom_callback_function(payload):    
  print(payload)    
  log(payload)
  
#To listen locations at user level with the callback function
client = Client(API_KEY=<API-KEY>, USER_ID=<USER-ID>, CALLBACK=<custom_callback_function>)

#Subcribe to locations
client.sub()

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.

USER_LIST = ["user_id1", "user_id2", ...]
client = Client(API_KEY=<API-KEY>, USER_ID=<USER_LIST>, CALLBACK=<custom_callback_function>)

Example Usage

from roam import Client​

#Do something when you receive locations
def custom_callback_function(payload):    
  print(payload)    
  log(payload)

#Create a user list with the list of user_id's
USER_LIST = ["user_id1", "user_id2", ..]​

#To listen locations for list of user with the callback function
client = Client(API_KEY=<API-KEY>, USER_ID=<USER-LIST>, CALLBACK=<custom_callback_function>)

#Subcribe to locations
client.sub()

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.

client = Client(API_KEY=<API-KEY>, GROUP_ID=<GROUP_ID>, CALLBACK=<custom_callback_function>)

Example Usage

from roam import Client​

#Do something when you receive locations
def custom_callback_function(payload):    
  print(payload)    
  log(payload)
  
#To listen locations for list of user with the callback function
client = Client(API_KEY=<API-KEY>, GROUP_ID=<GROUP_ID>, CALLBACK=<custom_callback_function>)

#Subcribe to locations
client.sub()

Unsubscribe

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

client.disconnect()

Handling Callbacks

By default, the library prints out the locations. If locations are required for any other output, then use the callback function.

def custom_callback_function(payload):    
  # print(payload)    
  # save_to_file(payload)    
  # log(payload)
  
​client = Client(API_KEY=<API-KEY>, CALLBACK=<custom_callback_function>)

Last updated