Infinario Python开发包
infinario的Python项目详细描述
infinario python sdk
=====
…图片::https://travis ci.org/infinario/python sdk.svg
:target:https://travis ci.org/infinario/python sdk
:alt:travis ci
"infinario.infinario"类提供对infinario python跟踪api的访问,
同时支持同步和异步模式。
例如:
…代码块::python
from infinario import infinario
client=infinario('12345678-90ab-cdef-1234-567890abcdef')\production environment
\client=infinario('12345678-90ab-cdef-1234-567890abcdef',silent=false)开发环境
我们建议在开发环境中将"silent"参数设置为"false",因为它会导致infinario api在出现错误时抛出异常。当保留默认值"true"时,将记录所有错误
(另请参阅"logger"参数)。
您需要使用infinario project secret(在概览屏幕中找到)作为"secret"关键字参数初始化客户机。代码块::python
client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321')
生成
它们。这可以在调用客户机的
构造函数时正确完成。代码块::python
python
client=infinario('12345678-90AB-CDEF-1234-567890ABCDEF',customer='john123')
或者通过调用'identify'。
代码块::python
tracking events
----
要跟踪当前选定客户的事件,只需调用"track"方法即可。代码块::python
您还可以指定一个事件属性字典,将
与事件一起存储。代码块::python
代码块::python
timestamp=time.time()
时间流逝..
client.track('purchase',timestamp=timestamp)
代码块::python
client.update({'first_name':'john','last_name':'smith'})
代码块::python
client.get_html('banner left')
将返回::
<;img src="/my-awesome-banner-1.png"/>;'
analysis export
----
使用"export_analysis"客户机方法。
在客户机初始化期间需要进行身份验证(见上文)。
第一个参数是分析类型(漏斗、报告、保留、分段)。第二个参数是json object
,它至少包含要导出的分析的id。
可选参数包括format`(format`(native-json`(默认值)、`table-json`、`csv`)、
`time zone`(根据iana时区数据库,默认值为'utc`)
`(Unix时间戳指定要包含的事件的上限,默认为现在)。
…代码块::python
client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321')
data=client.export撸analysis('funnel',{
'analysis撸id':'2f86608f-24f5-11e3-9950-c48494cf5',
'format':'native json',
'时区':'utc',
})
代码块::python
{
"success":true,
"name":"转换漏斗",
"steps":["first visit","registration","first log in","purchase","payment"],
"total":{
"counts":[48632,24120,20398,1256,1250],
"times":[-16804502 45 540300],
"metric":1987562
},
"drill-down":{
"type":"none",
"series":[]
},
"metric":{
"step":4,
"property":"price"
}
}
分段结果
---------
您还可以导出特定客户的分段结果
(您需要在初始化时指定该客户,或使用"identify"方法指定该客户)。
在客户端初始化期间进行身份验证所必需的(见上文)。
…代码块::python
client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321',
customer='john123')
segment=client.segment_for('11112222-3333-4444-5555-6677888',
timezone=utc,timeout=0.5)
如果客户不属于任何
定义的段,或者在给定的超时时间内无法确定其段,该方法将返回"none"。
"timezone"和"timeout"参数是可选的,默认值如示例所示。
transport types
----
默认情况下,客户端使用简单的非缓冲同步传输。三种可用的传输类型是:
*`nulltransport`-无请求,对于在infinario构造函数中禁用跟踪很有用。
*`synchronoustransport`(默认值)大多数操作在请求infinario api时都是阻塞的
*`asynchronoustransport`-大多数操作都是非阻塞的(有关详细信息,请参阅代码)、
buffered和使用单个工作线程。当不再跟踪数据时,必须关闭Infinario客户端。
**我们建议不要使用异步传输,因为无法保证数据将被发送。**
例如,在各种系统故障事件中,甚至由于误用,都可能发生数据丢失。
要异步跟踪代码中的数据,请考虑使用库(如芹菜)创建自己的异步工作进程,并使用synchronoustransport从中发送数据。
代码块::python
transport=asynchronoustransport)
代码块:sh
token='12345678-90ab-cdef-1234-567890abcdef'
customer='john123'
"$token""$customer"first_name=john last_name=smith
=====
…图片::https://travis ci.org/infinario/python sdk.svg
:target:https://travis ci.org/infinario/python sdk
:alt:travis ci
"infinario.infinario"类提供对infinario python跟踪api的访问,
同时支持同步和异步模式。
例如:
…代码块::python
from infinario import infinario
client=infinario('12345678-90ab-cdef-1234-567890abcdef')\production environment
\client=infinario('12345678-90ab-cdef-1234-567890abcdef',silent=false)开发环境
我们建议在开发环境中将"silent"参数设置为"false",因为它会导致infinario api在出现错误时抛出异常。当保留默认值"true"时,将记录所有错误
(另请参阅"logger"参数)。
您需要使用infinario project secret(在概览屏幕中找到)作为"secret"关键字参数初始化客户机。代码块::python
client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321')
生成
它们。这可以在调用客户机的
构造函数时正确完成。代码块::python
python
client=infinario('12345678-90AB-CDEF-1234-567890ABCDEF',customer='john123')
或者通过调用'identify'。
代码块::python
tracking events
----
要跟踪当前选定客户的事件,只需调用"track"方法即可。代码块::python
您还可以指定一个事件属性字典,将
与事件一起存储。代码块::python
代码块::python
timestamp=time.time()
时间流逝..
client.track('purchase',timestamp=timestamp)
代码块::python
client.update({'first_name':'john','last_name':'smith'})
代码块::python
client.get_html('banner left')
将返回::
<;img src="/my-awesome-banner-1.png"/>;'
analysis export
----
使用"export_analysis"客户机方法。
在客户机初始化期间需要进行身份验证(见上文)。
第一个参数是分析类型(漏斗、报告、保留、分段)。第二个参数是json object
,它至少包含要导出的分析的id。
可选参数包括format`(format`(native-json`(默认值)、`table-json`、`csv`)、
`time zone`(根据iana时区数据库,默认值为'utc`)
`(Unix时间戳指定要包含的事件的上限,默认为现在)。
…代码块::python
client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321')
data=client.export撸analysis('funnel',{
'analysis撸id':'2f86608f-24f5-11e3-9950-c48494cf5',
'format':'native json',
'时区':'utc',
})
代码块::python
{
"success":true,
"name":"转换漏斗",
"steps":["first visit","registration","first log in","purchase","payment"],
"total":{
"counts":[48632,24120,20398,1256,1250],
"times":[-16804502 45 540300],
"metric":1987562
},
"drill-down":{
"type":"none",
"series":[]
},
"metric":{
"step":4,
"property":"price"
}
}
分段结果
---------
您还可以导出特定客户的分段结果
(您需要在初始化时指定该客户,或使用"identify"方法指定该客户)。
在客户端初始化期间进行身份验证所必需的(见上文)。
…代码块::python
client=infinario('12345678-90ab-cdef-1234-567890abcdef',
secret='fedcba09-8765-4321-fedc-ba0987654321',
customer='john123')
segment=client.segment_for('11112222-3333-4444-5555-6677888',
timezone=utc,timeout=0.5)
如果客户不属于任何
定义的段,或者在给定的超时时间内无法确定其段,该方法将返回"none"。
"timezone"和"timeout"参数是可选的,默认值如示例所示。
transport types
----
默认情况下,客户端使用简单的非缓冲同步传输。三种可用的传输类型是:
*`nulltransport`-无请求,对于在infinario构造函数中禁用跟踪很有用。
*`synchronoustransport`(默认值)大多数操作在请求infinario api时都是阻塞的
*`asynchronoustransport`-大多数操作都是非阻塞的(有关详细信息,请参阅代码)、
buffered和使用单个工作线程。当不再跟踪数据时,必须关闭Infinario客户端。
**我们建议不要使用异步传输,因为无法保证数据将被发送。**
例如,在各种系统故障事件中,甚至由于误用,都可能发生数据丢失。
要异步跟踪代码中的数据,请考虑使用库(如芹菜)创建自己的异步工作进程,并使用synchronoustransport从中发送数据。
代码块::python
transport=asynchronoustransport)
代码块:sh
token='12345678-90ab-cdef-1234-567890abcdef'
customer='john123'
"$token""$customer"first_name=john last_name=smith