Roam.ai Docs
HomeContactDashboard
  • Introduction
  • Getting Started
    • Key Concepts
  • Frameworks
  • Android
    • Quickstart (Android)
    • Pub/Sub Locations (Android)
    • SDK Methods (Android)
      • SDK Configuration (Android)
      • Get Current Location (Android)
      • Update Current Location (Android)
      • Update Location When Stationary (Android)
      • Trip v1 SDK Methods (Android)
      • Trip v2 SDK Methods (Android)
        • Create Trip (Android)
        • Update Trip (Android)
        • Start Quick Trip (Android)
        • Start Trip (Android)
        • End Trip (Android)
        • Pause Trip (Android)
        • Resume Trip (Android)
        • Sync Trip (Android)
        • Get Trip (Android)
        • Get Active Trips (Android)
        • Get Trip Summary (Android)
        • Subscribe to Trip (Android)
        • Delete Trip (Android)
    • Utility Methods (Android)
    • Troubleshooting (Android)
    • Changelog (Android)
  • iOS
    • Quickstart (iOS)
    • Pub/Sub Locations (iOS)
    • SDK Methods (iOS)
      • SDK Configuration (iOS)
      • Get Current Location (iOS)
      • Update Current Location (iOS)
      • Update Location When Stationary (iOS)
      • Trips v1 SDK Methods (iOS)
      • Trips v2 SDK Methods (iOS)
        • Create Trip (iOS)
        • Update Trip (iOS)
        • Start Quick Trip (iOS)
        • Start Trip (iOS)
        • End Trip (iOS)
        • Pause Trip (iOS)
        • Resume Trip (iOS)
        • Sync Trip (iOS)
        • Get Trip (iOS)
        • Get Active Trips (iOS)
        • Get Trip Summary (iOS)
        • Subscribe Trip (iOS)
        • Delete Trip (iOS)
    • Utility Methods (iOS)
    • Troubleshooting (iOS)
    • Changelog (iOS)
  • React Native
  • Flutter
  • PRODUCTS
  • Tracking (BETA)
  • Geofencing
  • Trips
  • APIs
    • Authorization
    • Users API
      • Create User API
      • Get User API
      • Update User API
    • Locations API
      • Get Locations API
      • Get Stop Locations API
    • Insights API
      • Get User POIs API
      • Get User Home Location API
      • Get User Work Location API
    • Trips v1 API
      • Create Trip API v1
      • Get Trip API
      • Update Trip API v1
      • Delete Trip API v1
      • Trip Summary API
      • Export Trip Summary as GPX
    • Trips v2 API
      • Create Trip API
      • Get Single Trip API
      • Get Multiple Trips API
      • Update Trip API
      • Control Trip API
        • Start Trip API
        • Pause Trip API
        • Resume Trip API
        • End Trip API
      • Get Trip Summary API
      • Export Trip API
      • Delete Trip API
    • Geofencing API
      • CREATE Geofence API
      • GET Geofence API
      • UPDATE Geofence API
      • DELETE Geofence API
    • Events API
      • Get Events
      • Trip Events
    • Nearby API
      • Get Nearby User API
      • Get Nearby Geofence API
    • Moving Geofence API
      • Create Moving-Geofence API
      • Update Moving-Geofence API
      • GET Moving-Geofence API
      • Delete Moving-Geofence API
    • User Groups API
      • Create Group API
      • Get User Group by ID
      • Get User Group List
      • Add Users to Group API
      • Update Group API
      • Find Nearby Users from Group
    • Query with Metadata
  • WEBHOOK
    • Webhook
    • Slack Integration
  • LIBRARIES
    • Javascript Library
    • Go Library
    • Python Library
Powered by GitBook
On this page
  • Installation
  • Example Usage
  • Subscribe Locations
  • Unsubscribe
  • Handling Callbacks

Was this helpful?

Export as PDF
  1. LIBRARIES

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>)

PreviousGo Library

Last updated 2 years ago

Was this helpful?