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 |