@@ -39,7 +39,7 @@ def __init__(self, token, consumer=None):
3939 def _now (self ):
4040 return time .time ()
4141
42- def track (self , distinct_id , event_name , properties = {}):
42+ def track (self , distinct_id , event_name , properties = {}, meta = {} ):
4343 """
4444 Notes that an event has occurred, along with a distinct_id
4545 representing the source of that event (for example, a user id),
@@ -69,9 +69,10 @@ def track(self, distinct_id, event_name, properties={}):
6969 'event' : event_name ,
7070 'properties' : all_properties ,
7171 }
72+ event .update (meta )
7273 self ._consumer .send ('events' , json .dumps (event ))
7374
74- def alias (self , alias_id , original ):
75+ def alias (self , alias_id , original , meta = {} ):
7576 """
7677 Gives custom alias to a people record.
7778
@@ -85,9 +86,9 @@ def alias(self, alias_id, original):
8586 'distinct_id' : original ,
8687 'alias' : alias_id ,
8788 'token' : self ._token ,
88- })
89+ }, meta = meta )
8990
90- def people_set (self , distinct_id , properties ):
91+ def people_set (self , distinct_id , properties , meta = {} ):
9192 """
9293 Set properties of a people record.
9394
@@ -100,9 +101,9 @@ def people_set(self, distinct_id, properties):
100101 return self .people_update ({
101102 '$distinct_id' : distinct_id ,
102103 '$set' : properties ,
103- })
104+ }, meta = meta )
104105
105- def people_set_once (self , distinct_id , properties ):
106+ def people_set_once (self , distinct_id , properties , meta = {} ):
106107 """
107108 Set immutable properties of a people record.
108109
@@ -115,9 +116,9 @@ def people_set_once(self, distinct_id, properties):
115116 return self .people_update ({
116117 '$distinct_id' : distinct_id ,
117118 '$set_once' : properties ,
118- })
119+ }, meta = meta )
119120
120- def people_increment (self , distinct_id , properties ):
121+ def people_increment (self , distinct_id , properties , meta = {} ):
121122 """
122123 Increments/decrements numerical properties of people record.
123124
@@ -130,9 +131,9 @@ def people_increment(self, distinct_id, properties):
130131 return self .people_update ({
131132 '$distinct_id' : distinct_id ,
132133 '$add' : properties ,
133- })
134+ }, meta = meta )
134135
135- def people_append (self , distinct_id , properties ):
136+ def people_append (self , distinct_id , properties , meta = {} ):
136137 """
137138 Appends to the list associated with a property.
138139
@@ -146,9 +147,9 @@ def people_append(self, distinct_id, properties):
146147 return self .people_update ({
147148 '$distinct_id' : distinct_id ,
148149 '$append' : properties ,
149- })
150+ }, meta = meta )
150151
151- def people_union (self , distinct_id , properties ):
152+ def people_union (self , distinct_id , properties , meta = {} ):
152153 """
153154 Merges the values for a list associated with a property.
154155
@@ -161,9 +162,9 @@ def people_union(self, distinct_id, properties):
161162 return self .people_update ({
162163 '$distinct_id' : distinct_id ,
163164 '$union' : properties ,
164- })
165+ }, meta = meta )
165166
166- def people_unset (self , distinct_id , properties ):
167+ def people_unset (self , distinct_id , properties , meta = {} ):
167168 """
168169 Removes properties from a profile.
169170
@@ -175,9 +176,9 @@ def people_unset(self, distinct_id, properties):
175176 return self .people_update ({
176177 '$distinct_id' : distinct_id ,
177178 '$unset' : properties ,
178- })
179+ }, meta = meta )
179180
180- def people_delete (self , distinct_id ):
181+ def people_delete (self , distinct_id , meta = {} ):
181182 """
182183 Permanently deletes a profile.
183184
@@ -189,9 +190,9 @@ def people_delete(self, distinct_id):
189190 return self .people_update ({
190191 '$distinct_id' : distinct_id ,
191192 '$delete' : "" ,
192- })
193+ }, meta = meta )
193194
194- def people_track_charge (self , distinct_id , amount , properties = {}):
195+ def people_track_charge (self , distinct_id , amount , properties = {}, meta = {} ):
195196 """
196197 Tracks a charge to a user.
197198
@@ -206,9 +207,9 @@ def people_track_charge(self, distinct_id, amount, properties={}):
206207 mp.track_charge('1234', 50, {'$time': "2013-04-01T09:02:00"})
207208 """
208209 properties .update ({'$amount' : amount })
209- return self .people_append (distinct_id , {'$transactions' : properties })
210+ return self .people_append (distinct_id , {'$transactions' : properties }, meta = meta )
210211
211- def people_update (self , message ):
212+ def people_update (self , message , meta = {} ):
212213 """
213214 Send a generic update to Mixpanel people analytics.
214215 Caller is responsible for formatting the update message, as
@@ -224,6 +225,7 @@ def people_update(self, message):
224225 '$time' : int (self ._now () * 1000 ),
225226 }
226227 record .update (message )
228+ record .update (meta )
227229 self ._consumer .send ('people' , json .dumps (record ))
228230
229231class MixpanelException (Exception ):
0 commit comments