a YAML magic for IPython notebooks
Project description
an IPython magic for capturing data in YAML into a running IPython kernel.
Install
From the command line (or with ! in a notebook cell):
pip install yamlmagic
Enable
Ad-hoc
In the notebook, you can use the %load_ext or %reload_ext line magic.
%reload_ext yamlmagic
Configuration
In your profile’s ipython_kernel_config.py, you can add the following line to automatically load yamlmagic into all your running kernels:
c.InteractiveShellApp.extensions = ['yaml_magic']
Use
The %%yaml cell magic will either act as simple parser:
%%yaml
a_toplevel_key: 1
<IPython.core.display.Javascript object>
{'a_toplevel_key': 1}
which can be accessed by the special last result variable _:
_
{'a_toplevel_key': 1}
Or will update a named variable with the parsed document:
%%yaml x
- a: 1
b: 2
<IPython.core.display.Javascript object>
x
[{'a': 1, 'b': 2}]
By default, yaml.SafeLoader will be used, which won’t allow the powerful but dangerous (and unportable) `!python/ tags <http://pyyaml.org/wiki/PyYAMLDocumentation#YAMLtagsandPythontypes>`__. If you’d like to use them, provide the -l (or --loader) argument with a BaseLoader subclass available via a local variable…
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}]
…or dotted-notation path to a loader:
%%yaml --loader yaml.Loader
- a: !!python/float 1
b: !!python/float 2
<IPython.core.display.Javascript object>
[{'a': 1.0, 'b': 2.0}]
Contribute
Issues and pull requests welcome!
License
yamlmagic is released as free software under the BSD 3-Clause license.
Thank
[@tonyfast](http://robclewley.github.io) for asking for this
[@robclewley](http://robclewley.github.io) for documentation-shaming a gist into a module
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for yamlmagic-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2d405f613b3bdd8004355cb242092a840f2a24a26db1cdbcc867e2004a80d03 |
|
MD5 | 159290bdaab6734555489dd9f397ad21 |
|
BLAKE2b-256 | bddbd677d565b9048b9003ae6aac3ec34cce9dcc0e9c13bd68289c7c8dde3959 |