跳转到主要内容

一个用于IPython笔记本的YAML魔法

项目描述

一个IPython 魔法,用于将数据捕获到YAML中,以便在运行中的IPython内核中使用。

Build Status pypi

安装

从命令行(或在笔记本单元格中使用!

pip install yamlmagic

启用

临时

在笔记本中,您可以使用%load_ext%reload_ext行魔法。

%reload_ext yamlmagic

配置

在您的配置文件ipython_kernel_config.py中,您可以添加以下行以自动将yamlmagic加载到所有运行中的内核中

c.InteractiveShellApp.extensions = ['yaml_magic']

使用

%%yaml单元格魔法将作为简单的解析器

%%yaml
a_toplevel_key: 1
<IPython.core.display.Javascript object>
{'a_toplevel_key': 1}

可以通过特殊最后一个结果变量_访问

_
{'a_toplevel_key': 1}

或将解析的文档更新到命名变量中

%%yaml x
- a: 1
  b: 2
<IPython.core.display.Javascript object>
x
[{'a': 1, 'b': 2}]

默认情况下,将使用 yaml.SafeLoader,它不会允许使用功能强大但危险的(且不兼容的)`!python/ 标签 <http://pyyaml.org/wiki/PyYAMLDocumentation#YAMLtagsandPythontypes>`__。如果您想使用它们,请使用带有 -l(或 --loader)参数的 BaseLoader 子类,它可以通过局部变量获得...

from yaml import Loader
class FooLoader(Loader):
    # some special things you have built
    pass
%%yaml --loader FooLoader
- a: !!python/float 1
  b: !!python/float 2
<IPython.core.display.Javascript object>
[{'a': 1.0, 'b': 2.0}]

……或者一个指向加载器的点分路径

%%yaml --loader yaml.Loader
- a: !!python/float 1
  b: !!python/float 2
<IPython.core.display.Javascript object>
[{'a': 1.0, 'b': 2.0}]

贡献

问题拉取请求 欢迎使用!

许可证

yamlmagic 以免费软件的形式发布,受 BSD 3-Clause 许可证 的保护。

感谢

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分布

yamlmagic-0.2.0.tar.gz (7.0 kB 查看散列)

上传时间

构建分布

yamlmagic-0.2.0-py2.py3-none-any.whl (5.5 kB 查看散列)

上传时间 Python 2 Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页面