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>, 'LightBG': <IPython.utils.coloransi.ColorScheme object>, 'Linux': <IPython.utils.coloransi.ColorScheme object>, 'Neutral': <IPython.utils.coloransi.ColorScheme object>, 'NoColor': <IPython.utils.coloransi.ColorScheme object>}, code_color_table={'': <IPython.utils.coloransi.ColorScheme object>, 'LightBG': <IPython.utils.coloransi.ColorScheme object>, 'Linux': <IPython.utils.coloransi.ColorScheme object>, 'Neutral': <IPython.utils.coloransi.ColorScheme object>, 'NoColor': <IPython.utils.coloransi.ColorScheme object>}, scheme='NoColor', str_detail_level=0, parent=None, config=None)¶ Bases:
IPython.utils.colorable.Colorable
-
__init__
(color_table={'': <IPython.utils.coloransi.ColorScheme object>, 'LightBG': <IPython.utils.coloransi.ColorScheme object>, 'Linux': <IPython.utils.coloransi.ColorScheme object>, 'Neutral': <IPython.utils.coloransi.ColorScheme object>, 'NoColor': <IPython.utils.coloransi.ColorScheme object>}, code_color_table={'': <IPython.utils.coloransi.ColorScheme object>, 'LightBG': <IPython.utils.coloransi.ColorScheme object>, 'Linux': <IPython.utils.coloransi.ColorScheme object>, 'Neutral': <IPython.utils.coloransi.ColorScheme object>, 'NoColor': <IPython.utils.coloransi.ColorScheme object>}, scheme='NoColor', str_detail_level=0, parent=None, config=None)¶ Create a configurable given a config config.
Parameters: - config (Config) – If this is empty, default values are used. If config is a
Config
instance, it will be used to configure the instance. - parent (Configurable instance, optional) – The parent Configurable instance of this object.
Notes
Subclasses of Configurable must call the
__init__()
method ofConfigurable
before doing anything else and usingsuper()
:class MyConfigurable(Configurable): def __init__(self, config=None): super(MyConfigurable, self).__init__(config=config) # Then any other code you need to finish initialization.
This ensures that instances will be configured properly.
- config (Config) – If this is empty, default values are used. If config is a
-
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.
-
11 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: 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.
call_tip
(oinfo, format_call=True)¶ Extract call tip data from an oinfo dict.
Parameters: 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 – 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