Important

This documentation covers IPython versions 6.0 and higher. Beginning with version 6.0, IPython stopped supporting compatibility with Python versions lower than 3.3 including all versions of Python 2.7.

If you are looking for an IPython version compatible with Python 2.7, please use the IPython 5.x LTS release and refer to its documentation (LTS is the long term support release).

Module: core.oinspect

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.

1 Class

class IPython.core.oinspect.Inspector(color_table={'': <IPython.utils.coloransi.ColorScheme object>, 'Linux': <IPython.utils.coloransi.ColorScheme object>, 'Neutral': <IPython.utils.coloransi.ColorScheme object>, 'NoColor': <IPython.utils.coloransi.ColorScheme object>, 'LightBG': <IPython.utils.coloransi.ColorScheme object>}, code_color_table={'': <IPython.utils.coloransi.ColorScheme object>, 'Linux': <IPython.utils.coloransi.ColorScheme object>, 'Neutral': <IPython.utils.coloransi.ColorScheme object>, 'NoColor': <IPython.utils.coloransi.ColorScheme object>, 'LightBG': <IPython.utils.coloransi.ColorScheme object>}, scheme=None, str_detail_level=0, parent=None, config=None)

Bases: IPython.utils.colorable.Colorable

__init__(color_table={'': <IPython.utils.coloransi.ColorScheme object>, 'Linux': <IPython.utils.coloransi.ColorScheme object>, 'Neutral': <IPython.utils.coloransi.ColorScheme object>, 'NoColor': <IPython.utils.coloransi.ColorScheme object>, 'LightBG': <IPython.utils.coloransi.ColorScheme object>}, code_color_table={'': <IPython.utils.coloransi.ColorScheme object>, 'Linux': <IPython.utils.coloransi.ColorScheme object>, 'Neutral': <IPython.utils.coloransi.ColorScheme object>, 'NoColor': <IPython.utils.coloransi.ColorScheme object>, 'LightBG': <IPython.utils.coloransi.ColorScheme object>}, scheme=None, str_detail_level=0, parent=None, config=None)
info(obj, oname='', formatter=None, info=None, detail_level=0)

DEPRECATED. Compute a dict with detailed information about an object.

noinfo(msg, oname)

Generic message when no information is found.

pdef(obj, oname='')

Print the call signature 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, enable_html_pager=True)

Show detailed information about an object.

Optional arguments:

  • oname: name of the variable pointing to the object.

  • formatter: callable (optional)

    A special formatter for docstrings.

    The formatter is a callable that takes a string as an input and returns either a formatted string or a mime type bundle in the form of a dictionnary.

    Although the support of custom formatter returning a string instead of a mime type bundle is deprecated.

  • info: a structure with some information fields which may have been precomputed already.

  • detail_level: if set to 1, more information is given.

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.

10 Functions

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

Make an object info dict with all fields present.

IPython.core.oinspect.get_encoding(obj)

Get encoding for python source file defining obj

Returns None if obj is not defined in a sourcefile.

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, oname='')

Wrapper around inspect.getsource.

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

Parameters:
  • obj (object) – an object whose source code we will attempt to extract
  • oname (str) – (optional) a name under which the object is known
Returns:

src

Return type:

unicode or None

IPython.core.oinspect.is_simple_callable(obj)

True if obj is a function ()

IPython.core.oinspect.getargspec(obj)

Wrapper around inspect.getfullargspec() on Python 3, and :func:inspect.getargspec` on Python 2.

In addition to functions and methods, this can also handle objects with a __call__ attribute.

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.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 – The absolute path to the file where the object was defined.
Return type:str
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 – The line number where the object definition starts.
Return type:int