GitXplorerGitXplorer
b

yamlmagic

public
8 stars
1 forks
7 issues

Commits

List of commits on branch master.
Unverified
97c8b90bd892f7bebf85d1e0d501df3a6a5735b1

travis appeasement

bbollwyvl committed 10 years ago
Unverified
563a910105868a65ac37a282198e1e35d81ca733

resaving test

bbollwyvl committed 10 years ago
Unverified
d0c75ca9d8f97225a1538f7fc59f02130d38fa98

initial commit as module

bbollwyvl committed 10 years ago
Unverified
2ba9ef42e9ffa36f4839facbde55492538fd6ec8

bbollwyvl committed 10 years ago
Unverified
89766cde6dfe7f61c120486f605afc278ad4fc7e

bbollwyvl committed 10 years ago

README

The README file for this repository.

yamlmagic

an `IPython <http://ipython.org/>`__
`magic <https://ipython.org/ipython-doc/dev/interactive/tutorial.html>`__
for capturing data in `YAML <http://yaml.org/>`__ into a running
IPython kernel.

|Build Status| |pypi|

.. |Build Status| image:: https://travis-ci.org/bollwyvl/yamlmagic.svg?branch=master :target: https://travis-ci.org/bollwyvl/yamlmagic .. |pypi| image:: https://pypip.in/version/yamlmagic/badge.svg?style=flat

Install

From the command line (or with ! in a notebook cell):

.. code:: bash

pip install yamlmagic

Enable

Ad-hoc


In the notebook, you can use the ``%load_ext`` or ``%reload_ext`` line
magic.

.. code:: python

    %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:

.. code:: python

c.InteractiveShellApp.extensions = ['yaml_magic']

Use

The %%yaml cell magic will either act as simple parser:

.. code:: python

%%yaml
a_toplevel_key: 1

.. parsed-literal::

<IPython.core.display.Javascript object>

.. parsed-literal::

{'a_toplevel_key': 1}

which can be accessed by the special last result variable _:

.. code:: python

_

.. parsed-literal::

{'a_toplevel_key': 1}

Or will update a named variable with the parsed document:

.. code:: python

%%yaml x
- a: 1
  b: 2

.. parsed-literal::

<IPython.core.display.Javascript object>

.. code:: python

x

.. parsed-literal::

[{'a': 1, 'b': 2}]

By default, yaml.SafeLoader will be used, which won't allow the powerful but dangerous <http://pyyaml.org/wiki/PyYAMLDocumentation#LoadingYAML>__ (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...

.. code:: python

from yaml import Loader
class FooLoader(Loader):
    # some special things you have built
    pass

.. code:: python

%%yaml --loader FooLoader
!!python/float 0

.. parsed-literal::

<IPython.core.display.Javascript object>

.. parsed-literal::

0.0

...or dotted-notation path to a loader:

.. code:: python

%%yaml --loader yaml.Loader
!!python/float 0

.. parsed-literal::

<IPython.core.display.Javascript object>

.. parsed-literal::

0.0

Contribute

Issues <https://github.com/bollwyvl/yamlmagic/issues>__ and pull requests <https://github.com/bollwyvl/yamlmagic/pulls>__ welcome!

License

yamlmagic is released as free software under the BSD 3-Clause license <./LICENSE>__.

Thank