IPython Documentation

Table Of Contents

Previous topic

core.magics.script

Next topic

core.page

This Page

core.oinspect

Module: core.oinspect

Inheritance diagram for IPython.core.oinspect:

System Message: WARNING/2 (/home/roberto/Dropbox/Programming/IPython/MaemoMeeGo/ipython-0.13.1/docs/source/api/generated/IPython.core.oinspect.txt, line None)

Could not execute ‘dot’. Are you sure you have ‘graphviz’ installed?

Tools for inspecting Python objects.

Uses syntax highlighting for presenting the various information elements.

Similar in spirit to the inspect module, but all calls take a name argument to reference the name under which an object is being read.

Class

Inspector

class IPython.core.oinspect.Inspector(color_table={'': <IPython.utils.coloransi.ColorScheme instance at 0x220f248>, 'LightBG': <IPython.utils.coloransi.ColorScheme instance at 0x220f8c0>, 'NoColor': <IPython.utils.coloransi.ColorScheme instance at 0x220f248>, 'Linux': <IPython.utils.coloransi.ColorScheme instance at 0x220f878>}, code_color_table={'': <IPython.utils.coloransi.ColorScheme instance at 0x2192518>, 'LightBG': <IPython.utils.coloransi.ColorScheme instance at 0x21a5488>, 'NoColor': <IPython.utils.coloransi.ColorScheme instance at 0x2192518>, 'Linux': <IPython.utils.coloransi.ColorScheme instance at 0x21a5440>}, scheme='NoColor', str_detail_level=0)
__init__(color_table={'': <IPython.utils.coloransi.ColorScheme instance at 0x220f248>, 'LightBG': <IPython.utils.coloransi.ColorScheme instance at 0x220f8c0>, 'NoColor': <IPython.utils.coloransi.ColorScheme instance at 0x220f248>, 'Linux': <IPython.utils.coloransi.ColorScheme instance at 0x220f878>}, code_color_table={'': <IPython.utils.coloransi.ColorScheme instance at 0x2192518>, 'LightBG': <IPython.utils.coloransi.ColorScheme instance at 0x21a5488>, 'NoColor': <IPython.utils.coloransi.ColorScheme instance at 0x2192518>, 'Linux': <IPython.utils.coloransi.ColorScheme instance at 0x21a5440>}, scheme='NoColor', str_detail_level=0)
info(obj, oname='', formatter=None, info=None, detail_level=0)

Compute a dict with detailed information about an object.

Optional arguments:

  • oname: name of the variable pointing to the object.
  • formatter: special formatter for docstrings (see pdoc)
  • info: a structure with some information fields which may have been

precomputed already.

  • detail_level: if set to 1, more information is given.
noinfo(msg, oname)

Generic message when no information is found.

pdef(obj, oname='')

Print the definition header for any callable object.

If the object is a class, print the constructor information.

pdoc(obj, oname='', formatter=None)

Print the docstring for any object.

Optional: -formatter: a function to run the docstring through for specially formatted docstrings.

Examples

In [1]: class NoInit:
...: pass
In [2]: class NoDoc:
...: def __init__(self): ...: pass

In [3]: %pdoc NoDoc No documentation found for NoDoc

In [4]: %pdoc NoInit No documentation found for NoInit

In [5]: obj = NoInit()

In [6]: %pdoc obj No documentation found for obj

In [5]: obj2 = NoDoc()

In [6]: %pdoc obj2 No documentation found for obj2

pfile(obj, oname='')

Show the whole file where an object was defined.

pinfo(obj, oname='', formatter=None, info=None, detail_level=0)

Show detailed information about an object.

Optional arguments:

  • oname: name of the variable pointing to the object.
  • formatter: special formatter for docstrings (see pdoc)
  • info: a structure with some information fields which may have been

precomputed already.

  • detail_level: if set to 1, more information is given.
pinfo_fields1 = [('Type', 'type_name')]
pinfo_fields2 = [('String Form', 'string_form')]
pinfo_fields3 = [('Length', 'length'), ('File', 'file'), ('Definition', 'definition')]
pinfo_fields_obj = [('Class Docstring', 'class_docstring'), ('Constructor Docstring', 'init_docstring'), ('Call def', 'call_def'), ('Call docstring', 'call_docstring')]
psearch(pattern, ns_table, ns_search=[], ignore_case=False, show_all=False)

Search namespaces with wildcards for objects.

Arguments:

  • pattern: string containing shell-like wildcards to use in namespace

searches and optionally a type specification to narrow the search to objects of that type.

  • ns_table: dict of name->namespaces for search.

Optional arguments:

  • ns_search: list of namespace names to include in search.
  • ignore_case(False): make the search case-insensitive.
  • show_all(False): show all names, including those starting with

underscores.

psource(obj, oname='')

Print the source code for an object.

set_active_scheme(scheme)

Functions

IPython.core.oinspect.call_tip(oinfo, format_call=True)

Extract call tip data from an oinfo dict.

Parameters :

oinfo : dict

format_call : bool, optional

If True, the call line is formatted and returned as a string. If not, a tuple of (name, argspec) is returned.

Returns :

call_info : None, str or (str, dict) tuple.

When format_call is True, the whole call information is formattted as a single string. Otherwise, the object’s name and its argspec dict are returned. If no call information is available, None is returned.

docstring : str or None

The most relevant docstring for calling purposes is returned, if available. The priority is: call docstring for callable instances, then constructor docstring for classes, then main object’s docstring otherwise (regular functions).

IPython.core.oinspect.find_file(obj)

Find the absolute path to the file where an object was defined.

This is essentially a robust wrapper around inspect.getabsfile.

Returns None if no file can be found.

Parameters :

obj : any Python object

Returns :

fname : str

The absolute path to the file where the object was defined.

IPython.core.oinspect.find_source_lines(obj)

Find the line number in a file where an object was defined.

This is essentially a robust wrapper around inspect.getsourcelines.

Returns None if no file can be found.

Parameters :

obj : any Python object

Returns :

lineno : int

The line number where the object definition starts.

IPython.core.oinspect.format_argspec(argspec)

Format argspect, convenience wrapper around inspect’s.

This takes a dict instead of ordered arguments and calls inspect.format_argspec with the arguments in the necessary order.

IPython.core.oinspect.getargspec(obj)

Get the names and default values of a function’s arguments.

A tuple of four things is returned: (args, varargs, varkw, defaults). ‘args’ is a list of the argument names (it may contain nested lists). ‘varargs’ and ‘varkw’ are the names of the * and ** arguments or None. ‘defaults’ is an n-tuple of the default values of the last n arguments.

Modified version of inspect.getargspec from the Python Standard Library.

IPython.core.oinspect.getdoc(obj)

Stable wrapper around inspect.getdoc.

This can’t crash because of attribute problems.

It also attempts to call a getdoc() method on the given object. This allows objects which provide their docstrings via non-standard mechanisms (like Pyro proxies) to still be inspected by ipython’s ? system.

IPython.core.oinspect.getsource(obj, is_binary=False)

Wrapper around inspect.getsource.

This can be modified by other projects to provide customized source extraction.

Inputs:

  • obj: an object whose source code we will attempt to extract.

Optional inputs:

  • is_binary: whether the object is known to come from a binary source.

This implementation will skip returning any output for binary objects, but custom extractors may know how to meaningfully process them.

IPython.core.oinspect.object_info(**kw)

Make an object info dict with all fields present.