-will turn on location reporting.
+will turn on location reporting. This can also be set on call-by-call basis.
+``show`` is built atop the `options <http://pypi.python.org/pypi/options>`_ module
+for configuration management, and also the output management of
+`say <http://pypi.python.org/pypi/say>`_. All ``say`` options work in show.
+See that module for additional detail.
-``show.props(x)`` shows the properties of object x. An optional second
+Showing Object Properties
+shows the properties of object ``x``. ("Properties" here
+is generic language for "values" or "attributes" associated with
+an object, and isn't used in the technical sense of Python properties.)
+Properties will be listed alphabetically, but with those starting with underscores
+(``_``), usually indicating "private" data, sorted after those that are
+conventionally considered public.
+If ``x`` has real ``@property`` members, those too displayed. However, other class
+attributes that ``x`` rightfully inherits, but that are not directly present in the
+``x`` instance, will not be displayed.
parameter can determine which properties are shown. E.g.::
-Sadly, because Python provides weaker introspection during
-interactive operation, (see e.g. `this <http://stackoverflow.com/questions/13204161/how-to-access-the-calling-source-line-from-interactive-shell>`_)
-``show()`` is somewhat limited in interactive use. It works at the main
-level and usually in imported modules, but does work within the body of functions defined
+``show`` has draft support for both interactive Python and iPython.
+interactive prompt, and within imported modules. It cannot, however, be used
+within functions and classes defined within the interactive session. This is
+due to how Python supprots--or fails to support--introspection in this instance.
+Whether this is a hard limit, or something
+that can be worked around over time, remains to be seen.
+See e.g. `this <http://stackoverflow.com/questions/13204161/how-to-access-the-calling-source-line-from-interactive-shell>`_.
- * ``show`` is the companion to, and built on the output management of,
- `say <http://pypi.python.org/pypi/say>`_.
- * Automated multi-version testing
is managed with the wonderful
+ * Automated multi-version testing managed with the wonderful
- and `tox <http://pypi.python.org/pypi/tox>`_
modules. ``show`` is
+ and `tox <http://pypi.python.org/pypi/tox>`_. ``show`` is
successfully packaged for, and tested against, all late-model verions of
Python: 2.6, 2.7, 3.2, and 3.3, as well as PyPy 1.9 (based on 2.7.2).
- draft support for interactive Python and iPython. Works well at the
- interactive prompt, and within imported modules; it cannot, however, be used
- within interactively defined functions and classes. There may be a hard limit
- on Python introspection of interactive code. Or it could be something
- that can be worked around over time.
* The author, `Jonathan Eunice <mailto:firstname.lastname@example.org>`_ or
`@jeunice on Twitter <http://twitter.com/jeunice>`_
welcomes your comments and suggestions.