2000-12-12 21:12:45 -05:00
|
|
|
PEP: 233
|
|
|
|
Title: Python Online Help
|
|
|
|
Version: $Revision$
|
2006-03-23 15:13:19 -05:00
|
|
|
Last-Modified: $Date$
|
2007-06-27 19:59:28 -04:00
|
|
|
Author: paul@prescod.net (Paul Prescod)
|
2001-04-18 06:32:43 -04:00
|
|
|
Status: Deferred
|
2000-12-12 21:12:45 -05:00
|
|
|
Type: Standards Track
|
2017-01-07 13:33:00 -05:00
|
|
|
Content-Type: text/x-rst
|
2000-12-12 21:12:45 -05:00
|
|
|
Created: 11-Dec-2000
|
|
|
|
Python-Version: 2.1
|
|
|
|
Post-History:
|
|
|
|
|
|
|
|
|
|
|
|
Abstract
|
2017-01-07 13:33:00 -05:00
|
|
|
========
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
This PEP describes a command-line driven online help facility for
|
|
|
|
Python. The facility should be able to build on existing
|
|
|
|
documentation facilities such as the Python documentation and
|
|
|
|
docstrings. It should also be extensible for new types and
|
|
|
|
modules.
|
2000-12-12 21:12:45 -05:00
|
|
|
|
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
Interactive use
|
|
|
|
===============
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
Simply typing "help" describes the help function (through ``repr()``
|
|
|
|
overloading).
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
"help" can also be used as a function.
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
The function takes the following forms of input::
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
help( "string" ) -- built-in topic or global
|
|
|
|
help( <ob> ) -- docstring from object or type
|
|
|
|
help( "doc:filename" ) -- filename from Python documentation
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
If you ask for a global, it can be a fully-qualified name, such as::
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
help("xml.dom")
|
|
|
|
|
|
|
|
You can also use the facility from a command-line::
|
2000-12-12 21:12:45 -05:00
|
|
|
|
|
|
|
python --help if
|
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
In either situation, the output does paging similar to the "more"
|
|
|
|
command.
|
2000-12-12 21:12:45 -05:00
|
|
|
|
|
|
|
|
|
|
|
Implementation
|
2017-01-07 13:33:00 -05:00
|
|
|
==============
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
The help function is implemented in an ``onlinehelp`` module which is
|
|
|
|
demand-loaded.
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
There should be options for fetching help information from
|
|
|
|
environments other than the command line through the ``onlinehelp``
|
|
|
|
module::
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
onlinehelp.gethelp(object_or_string) -> string
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
It should also be possible to override the help display function
|
|
|
|
by assigning to ``onlinehelp``.displayhelp(object_or_string).
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
The module should be able to extract module information from
|
|
|
|
either the HTML or LaTeX versions of the Python documentation.
|
|
|
|
Links should be accommodated in a "lynx-like" manner.
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
Over time, it should also be able to recognize when docstrings are
|
|
|
|
in "special" syntaxes like structured text, HTML and LaTeX and
|
|
|
|
decode them appropriately.
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
A prototype implementation is available with the Python source
|
|
|
|
distribution as nondist/sandbox/doctools/``onlinehelp``.py.
|
2000-12-12 21:12:45 -05:00
|
|
|
|
|
|
|
|
|
|
|
Built-in Topics
|
2017-01-07 13:33:00 -05:00
|
|
|
===============
|
|
|
|
|
|
|
|
help( "intro" ) - What is Python? Read this first!
|
|
|
|
|
|
|
|
help( "keywords" ) - What are the keywords?
|
|
|
|
|
|
|
|
help( "syntax" ) - What is the overall syntax?
|
|
|
|
|
|
|
|
help( "operators" ) - What operators are available?
|
|
|
|
|
|
|
|
help( "builtins" ) - What functions, types, etc. are built-in?
|
|
|
|
|
|
|
|
help( "modules" ) - What modules are in the standard library?
|
2000-12-12 21:12:45 -05:00
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
help( "copyright" ) - Who owns Python?
|
|
|
|
|
|
|
|
help( "moreinfo" ) - Where is there more information?
|
|
|
|
|
|
|
|
help( "changes" ) - What changed in Python 2.0?
|
|
|
|
|
|
|
|
help( "extensions" ) - What extensions are installed?
|
|
|
|
|
|
|
|
help( "faq" ) - What questions are frequently asked?
|
|
|
|
|
|
|
|
help( "ack" ) - Who has done work on Python lately?
|
2000-12-12 21:12:45 -05:00
|
|
|
|
|
|
|
|
|
|
|
Security Issues
|
2017-01-07 13:33:00 -05:00
|
|
|
===============
|
|
|
|
|
|
|
|
This module will attempt to import modules with the same names as
|
|
|
|
requested topics. Don't use the modules if you are not confident
|
|
|
|
that everything in your ``PYTHONPATH`` is from a trusted source.
|
2000-12-12 21:12:45 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
2017-01-07 13:33:00 -05:00
|
|
|
..
|
|
|
|
Local Variables:
|
|
|
|
mode: indented-text
|
|
|
|
indent-tabs-mode: nil
|
|
|
|
End:
|