##// END OF EJS Templates
Adjust %matplotlib docstring re: matplotlib_inline. (#13927)...
Adjust %matplotlib docstring re: matplotlib_inline. (#13927) set_matplotlib_formats and set_matplotlib_close have been deprecated in IPython.display and moved out to matplotlib_inline.backend_inline; adjust the docstring of the %matplotlib magic accordingly.

File last commit:

r24579:ce22f499
r28083:0a010a12 merge
Show More
magics.py
46 lines | 1.5 KiB | text/x-python | PythonLexer
Thomas Kluyver
Add Sphinx extension to document line & cell magics
r18184 import re
from sphinx import addnodes
Thomas Kluyver
Various improvements to docs infrastructure for magics
r18296 from sphinx.domains.std import StandardDomain
from sphinx.roles import XRefRole
Thomas Kluyver
Add Sphinx extension to document line & cell magics
r18184
Thomas Kluyver
Various improvements to docs infrastructure for magics
r18296 name_re = re.compile(r"[\w_]+")
Thomas Kluyver
Add Sphinx extension to document line & cell magics
r18184
def parse_magic(env, sig, signode):
Thomas Kluyver
Various improvements to docs infrastructure for magics
r18296 m = name_re.match(sig)
Thomas Kluyver
Add Sphinx extension to document line & cell magics
r18184 if not m:
raise Exception("Invalid magic command: %s" % sig)
Thomas Kluyver
Various improvements to docs infrastructure for magics
r18296 name = "%" + sig
signode += addnodes.desc_name(name, name)
return m.group(0)
class LineMagicRole(XRefRole):
"""Cross reference role displayed with a % prefix"""
prefix = "%"
def process_link(self, env, refnode, has_explicit_title, title, target):
if not has_explicit_title:
title = self.prefix + title.lstrip("%")
target = target.lstrip("%")
return title, target
Thomas Kluyver
Add Sphinx extension to document line & cell magics
r18184
def parse_cell_magic(env, sig, signode):
Thomas Kluyver
Various improvements to docs infrastructure for magics
r18296 m = name_re.match(sig)
Thomas Kluyver
Add Sphinx extension to document line & cell magics
r18184 if not m:
raise ValueError("Invalid cell magic: %s" % sig)
Thomas Kluyver
Various improvements to docs infrastructure for magics
r18296 name = "%%" + sig
signode += addnodes.desc_name(name, name)
return m.group(0)
Thomas Kluyver
Add Sphinx extension to document line & cell magics
r18184
Thomas Kluyver
Various improvements to docs infrastructure for magics
r18296 class CellMagicRole(LineMagicRole):
"""Cross reference role displayed with a %% prefix"""
prefix = "%%"
Thomas Kluyver
Add Sphinx extension to document line & cell magics
r18184
Thomas Kluyver
Various improvements to docs infrastructure for magics
r18296 def setup(app):
Thomas Kluyver
Generate documentation of line & cell magics
r18294 app.add_object_type('magic', 'magic', 'pair: %s; magic command', parse_magic)
Matthias Bussonnier
Fix magic directive and role....
r24579 app.add_role_to_domain('std', 'magic', LineMagicRole(), override=True)
Thomas Kluyver
Generate documentation of line & cell magics
r18294 app.add_object_type('cellmagic', 'cellmagic', 'pair: %s; cell magic', parse_cell_magic)
Matthias Bussonnier
Fix magic directive and role....
r24579 app.add_role_to_domain('std', 'cellmagic', CellMagicRole(), override=True)
Michael Droettboom
Support parallel sphinx building
r21874
metadata = {'parallel_read_safe': True, 'parallel_write_safe': True}
return metadata