@@ -103,7 +103,7 @@ def __init__(
103103 if send :
104104 consumer .start ()
105105
106- def identify (self , distinct_id = None , properties = None , context = None , timestamp = None , message_id = None ):
106+ def identify (self , distinct_id = None , properties = None , context = None , timestamp = None , uuid = None ):
107107 properties = properties or {}
108108 context = context or {}
109109 require ("distinct_id" , distinct_id , ID_TYPES )
@@ -115,13 +115,13 @@ def identify(self, distinct_id=None, properties=None, context=None, timestamp=No
115115 "distinct_id" : distinct_id ,
116116 "$set" : properties ,
117117 "event" : "$identify" ,
118- "messageId " : message_id ,
118+ "uuid " : uuid ,
119119 }
120120
121121 return self ._enqueue (msg )
122122
123123 def capture (
124- self , distinct_id = None , event = None , properties = None , context = None , timestamp = None , message_id = None , groups = None
124+ self , distinct_id = None , event = None , properties = None , context = None , timestamp = None , uuid = None , groups = None
125125 ):
126126 properties = properties or {}
127127 context = context or {}
@@ -135,7 +135,7 @@ def capture(
135135 "context" : context ,
136136 "distinct_id" : distinct_id ,
137137 "event" : event ,
138- "messageId " : message_id ,
138+ "uuid " : uuid ,
139139 }
140140
141141 if groups :
@@ -144,7 +144,7 @@ def capture(
144144
145145 return self ._enqueue (msg )
146146
147- def set (self , distinct_id = None , properties = None , context = None , timestamp = None , message_id = None ):
147+ def set (self , distinct_id = None , properties = None , context = None , timestamp = None , uuid = None ):
148148 properties = properties or {}
149149 context = context or {}
150150 require ("distinct_id" , distinct_id , ID_TYPES )
@@ -156,12 +156,12 @@ def set(self, distinct_id=None, properties=None, context=None, timestamp=None, m
156156 "distinct_id" : distinct_id ,
157157 "$set" : properties ,
158158 "event" : "$set" ,
159- "messageId " : message_id ,
159+ "uuid " : uuid ,
160160 }
161161
162162 return self ._enqueue (msg )
163163
164- def set_once (self , distinct_id = None , properties = None , context = None , timestamp = None , message_id = None ):
164+ def set_once (self , distinct_id = None , properties = None , context = None , timestamp = None , uuid = None ):
165165 properties = properties or {}
166166 context = context or {}
167167 require ("distinct_id" , distinct_id , ID_TYPES )
@@ -173,14 +173,12 @@ def set_once(self, distinct_id=None, properties=None, context=None, timestamp=No
173173 "distinct_id" : distinct_id ,
174174 "$set_once" : properties ,
175175 "event" : "$set_once" ,
176- "messageId " : message_id ,
176+ "uuid " : uuid ,
177177 }
178178
179179 return self ._enqueue (msg )
180180
181- def group_identify (
182- self , group_type = None , group_key = None , properties = None , context = None , timestamp = None , message_id = None
183- ):
181+ def group_identify (self , group_type = None , group_key = None , properties = None , context = None , timestamp = None , uuid = None ):
184182 properties = properties or {}
185183 context = context or {}
186184 require ("group_type" , group_type , ID_TYPES )
@@ -197,12 +195,12 @@ def group_identify(
197195 "distinct_id" : "${}_{}" .format (group_type , group_key ),
198196 "timestamp" : timestamp ,
199197 "context" : context ,
200- "messageId " : message_id ,
198+ "uuid " : uuid ,
201199 }
202200
203201 return self ._enqueue (msg )
204202
205- def alias (self , previous_id = None , distinct_id = None , context = None , timestamp = None , message_id = None ):
203+ def alias (self , previous_id = None , distinct_id = None , context = None , timestamp = None , uuid = None ):
206204 context = context or {}
207205
208206 require ("previous_id" , previous_id , ID_TYPES )
@@ -221,7 +219,7 @@ def alias(self, previous_id=None, distinct_id=None, context=None, timestamp=None
221219
222220 return self ._enqueue (msg )
223221
224- def page (self , distinct_id = None , url = None , properties = None , context = None , timestamp = None , message_id = None ):
222+ def page (self , distinct_id = None , url = None , properties = None , context = None , timestamp = None , uuid = None ):
225223 properties = properties or {}
226224 context = context or {}
227225
@@ -237,7 +235,7 @@ def page(self, distinct_id=None, url=None, properties=None, context=None, timest
237235 "timestamp" : timestamp ,
238236 "context" : context ,
239237 "distinct_id" : distinct_id ,
240- "messageId " : message_id ,
238+ "uuid " : uuid ,
241239 }
242240
243241 return self ._enqueue (msg )
@@ -247,17 +245,20 @@ def _enqueue(self, msg):
247245 timestamp = msg ["timestamp" ]
248246 if timestamp is None :
249247 timestamp = datetime .utcnow ().replace (tzinfo = tzutc ())
250- message_id = msg .get ("messageId" )
251- if message_id is None :
252- message_id = uuid4 ()
253248
254249 require ("timestamp" , timestamp , datetime )
255250 require ("context" , msg ["context" ], dict )
256251
257252 # add common
258253 timestamp = guess_timezone (timestamp )
259254 msg ["timestamp" ] = timestamp .isoformat ()
260- msg ["messageId" ] = stringify_id (message_id )
255+
256+ # only send if "uuid" is truthy
257+ if "uuid" in msg :
258+ uuid = msg .pop ("uuid" )
259+ if uuid :
260+ msg ["uuid" ] = stringify_id (uuid )
261+
261262 if not msg .get ("properties" ):
262263 msg ["properties" ] = {}
263264 msg ["properties" ]["$lib" ] = "posthog-python"
0 commit comments