Jupyter遥测库
项目描述
遥测
为Jupyter应用程序和扩展提供遥测。
遥测(təˈlemətrē):记录和传输仪器读数的过程。[牛津高阶英汉双解大词典]
Jupyter遥测使Jupyter应用程序(例如Jupyter服务器、Jupyter笔记本、JupyterLab、JupyterHub等)能够记录 事件——即应用程序用户的操作——并将它们作为 结构化 数据传输到远程(或本地)目的地。它使用Python的标准化 logging
库来处理事件的传输,使用户可以将事件发送到本地文件、通过Web等。
安装
Jupyter的遥测库可以从PyPI安装。
pip install jupyter_telemetry
基本用法
遥测提供了一个可配置的traitlets对象EventLog
,用于在Python中进行结构化事件日志记录。它利用Python的标准logging
库来过滤、处理和记录事件。所有事件都通过jsonschema
(jsonschema)进行验证,与注册的JSON模式进行比较。
让我们看看一个基本的EventLog
示例。
import logging
from jupyter_telemetry import EventLog
eventlog = EventLog(
# Use logging handlers to route where events
# should be record.
handlers=[
logging.FileHandler('events.log')
],
# List schemas of events that should be recorded.
allowed_schemas=[
'uri.to.event.schema'
]
)
EventLog有两个可配置的特性
handlers
:Python的logging
处理器的列表。allowed_schemas
:要记录的事件模式的列表。
事件模式必须与EventLog
注册,以便记录事件。事件模式看起来像这样
{
"$id": "url.to.event.schema",
"title": "My Event",
"description": "All events must have a name property.",
"type": "object",
"properties": {
"name": {
"title": "Name",
"description": "Name of event",
"type": "string"
}
},
"required": ["name"],
"version": 1
}
需要2个字段
$id
:识别该模式的有效URI(可能从远程地址获取)。version
:该模式的版本。
其他字段遵循标准的JSON模式结构。
可以从Python的dict
对象、文件或URL注册模式。此示例从文件加载上述示例模式。
# Register the schema.
eventlog.register_schema_file('schema.json')
使用record_event
方法记录事件。此方法验证事件数据,并将JSON字符串路由到EventLog
中列出的Python logging
处理器。
# Record an example event.
event = {'name': 'example event'}
eventlog.record_event(
schema_id='url.to.event.schema',
version=1,
event=event
)
项目详情
关闭
jupyter_telemetry-0.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 445c613ae3df70d255fe3de202f936bba8b77b4055c43207edf22468ac875314 |
|
MD5 | 578a8787b59d1d68924e8597e4300398 |
|
BLAKE2b-256 | c459edd04590235d9afe2b2b49ec449c6146dc71b717110f4a1034d52eb54303 |
关闭
jupyter_telemetry-0.1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1de3e423b23aa40ca4a4238d65c56dda544061ff5aedc3f7647220ed7e3b9589 |
|
MD5 | a4c9f286d496242b0d48436ac950ffde |
|
BLAKE2b-256 | 90ab8d565a0797dacf82dea161ba5c40bd1f3ddbf365e3f7f8fd63007f03b19f |