Package: usermaven
PRIVACY-FRIENDLY ANALYTICS TOOLUsermaven PythonThis module is compatible with Python 3.6 and above.Installingpip3installusermavenUsagefromusermavenimportClientclient=Client(api_key='your_workspace_api_key',server_token="your_workspace_server_token")client.identify(user={'email':'user@domain.com','id':'lzL24K3kYw','created_at':'2022-01-20T09:55:35'})client.track(user_id='lzL24K3kYw',event_type='signed_up')Instantiating usermaven-python's client objectCreate an instance of the client with your Usermaven workspace credentials.fromusermavenimportClientclient=Client(api_key='your_workspace_api_key',server_token="your_workspace_server_token")Create a Usermaven user profileclient.identify(user={'email':'user@domain.com','id':'lzL24K3kYw','created_at':'2022-01-20T09:55:35'})Required argumentsuser: The user object is the only required argument foridentifycall.email,idandcreated_atare required
fields for the user object. Recommended fields for the user object arefirst_nameandlast_name. Additionally you
can pass any custom properties in the form of dictionary to your user object.Optional argumentsYou can also pass optional arguments to theidentifymethod.company: A company object for which the user belongs to. It is optional but if it is passed, it must containname,idandcreated_atfields. You can also submit custom properties in the form of dictionary for the company object.
Example:client.identify(user={# Required attributes of user object'email':'user@domain.com','id':'lzL24K3kYw','created_at':'2022-01-20T09:55:35',# Recommended attributes - First name and last name are shown on people pages.'first_name':'John','last_name':'Smith',# Optional attributes (you can name attributes what you wish)'custom':{'plan_name':'premium'}},# If your product is used by multiple users in a company, we recommend to pass the Company attributes.company={# Required attributes of company object'name':'Usermaven','id':'uPq9oUGrIt','created_at':'2022-01-20T09:55:35',# Optional attributes such as industry, website, employee count etc.'custom':{'plan':'enterprise','industry':'Technology','website':'https://usermaven.com','employees':'20'}})Track a custom eventclient.track(user_id='lzL24K3kYw',event_type='plan_purchased')Required argumentsuser_id: For thetrackcall, you must pass theuser_idof the user you want to track the event for.event_type: For track call,event_typeis a required argument and you must pass a value to the event_type.
We recommend using [verb] [noun], likegoal createdorpayment succeededto easily identify what your events mean
later on.Optional argumentsYou can also pass optional arguments to thetrackmethod.company: A company object for which the user belongs to. It is optional but if it is passed, it must containname,idandcreated_atfields. You can also submit custom properties in the form of dictionary for the company object.event_attributes: This can contain information related to the event that is being tracked. Example:client.track(user_id='lzL24K3kYw',# Unique ID for the user in database. (Required)event_type='plan_purchased',# Event name to be tracked (Required)# Optional attributescompany={# Required attributes of company object'name':'Usermaven','id':'uPq9oUGrIt','created_at':'2022-01-20T09:55:35',# Optional attributes such as industry, website, employee count etc.'custom':{'plan':'enterprise','industry':'Technology','website':'https://usermaven.com','employees':'20'}},event_attributes={'plan_name':'premium','plan_price':'100','plan_currency':'USD'})Local Setup for DevelopmentFor local development, you can clone the repository and install the dependencies using the following commands:gitclone"https://github.com/usermaven/usermaven-python.git"poetryinstallRunning testsChanges to the library can be tested by runningpython -m unittest -vfrom the parent directory.