bionic (1) epydoc.1.gz

Provided by: python-epydoc_3.0.1+dfsg-17_all bug

NAME

       epydoc - generate API documentation from Python docstrings

SYNOPSIS

       epydoc [action] [options] names...

DESCRIPTION

       epydoc  generates  API  documentation  for  Python  modules  and  packages, based on their docstrings.  A
       lightweight markup language called epytext can be used to format docstrings, and to add information about
       specific  fields,  such as parameters and instance variables.  Epydoc also understands docstrings written
       in ReStructuredText, Javadoc, and plaintext.  Currently, epydoc supports two basic output  formats:  HTML
       and LaTeX.

       The  HTML  API  documentation  produced  by  epydoc  consists  of  a set of HTML files, including: an API
       documentation page for each class and module; a syntax-highlighted source code page for each  module;  an
       identifier  index page; a help page; and a frames-based table of contents.  When appropriate, epydoc will
       also generate index pages for bugs, defined terms, and to-do items; a class hierarchy page; and a package
       hierarchy page.

       The  LaTeX  API documentation produced by epydoc consists of a main LaTeX file, and a LaTeX file for each
       module.  If you use --dvi, --ps, or --pdf , then epydoc will invoke  external  commands  to  convert  the
       LaTeX  output  to  the  requested  format.   Note  that  the LaTeX files containing the documentation for
       individual modules can be included as chapters or sections of other  LaTeX  documents,  using  the  LaTeX
       \include  command.   If  you  wish  to  include individual classes in other LaTeX documents, then use the
       --separate-classes option to produce a separate LaTeX file for each class.

       epydoc can also be used to check the completeness of the API documentation.  By default, it  checks  that
       every  public  package,  module,  class,  method,  and function has a docstring description.  The --tests
       option can be used to specify additional tests to perform.

REPRODUCIBLE BUILD BEHAVIOR

       Using  the  current  date  within  Epydoc-generated  documentation  results  in  documentation  that   is
       "unreproducible",  meaning  that  the content of the files changes from build to build even if the source
       tree does not.  To make it easier to generate reproducible builds, this version of  Epydoc  supports  two
       features: the --no-include-build-time option and the SOURCE_DATE_EPOCH environment variable.

       The  --no-include-build-time  option  can  be  used  when  you  know  up-front that you do not need build
       timestamps in your generated documentation.  The SOURCE_DATE_EPOCH environment variable is  intended  for
       use by packaging systems, such as the Debian build process.  Packaging systems will set SOURCE_DATE_EPOCH
       to a sensible timestamp that is somehow related to the state of the source tree, and that timestamp  will
       be  used  by  Eypdoc  rather  than  the  current  timestamp.  Builds using SOURCE_DATE_EPOCH will thus be
       reproducible.

OPTIONS

       Epydoc's options are divided into six categories: basic  options,  actions,  generation  options,  output
       options, graph options, and return value options.

       BASIC OPTIONS

           names...
                  The  list  of objects that should be documented.  Objects can be specified using Python dotted
                  names (such as os.path), filenames (such as epydoc/epytext.py), or directory  names  (such  as
                  epydoc/).   Directory  names specify packages, and are expanded to include all sub-modules and
                  sub-packages.  If you wish to exclude certain sub-modules or sub-packages, use  the  --exclude
                  option (described below).

           --config file
                  A configuration file, specifying additional optionsand/ornames.  This option may be repeated.

           --q, --quiet, --v, --verbose
                  Produce  quite (or verbose) output.  If used multiple times, this option produces successively
                  more quiet (or verbose) output.

           --debug
                  Show full tracebacks for internal errors.

           --simple-term
                  Do not try to use color or cursor control when  displaying  the  progress  bar,  warnings,  or
                  errors.

       ACTIONS

           --html    Write HTML output.  [default]

           --latex   Write LaTeX output.

           --dvi     Write DVI output.

           --ps      Write Postscript output.

           --pdf     Write Adobe Acrobat (pdf) output.

           --check   Perform completeness checks on the documentation.

           --pickle  Write the documentation to a pickle file.

       GENERATION OPTIONS

           --docformat format
                  Set  the  default  value for __docformat__ to format.  __docformat__ is a module variable that
                  specifies the markup language for the docstrings in a module.  Its value consists of the  name
                  of  a markup language, optionally followed by a language code (such as en for English).  For a
                  list of the markup languages currently recognized by epydoc, run epydoc --help docformat.

           --parse-only
                  Gather all information about the documented objects by  parsing  the  relevant  Python  source
                  code;  in  particular,  do  not  use  introspection to gather information about the documented
                  objects.  This option should be used when epydoc is run on untrusted code; or on code that can
                  not  be  introspected  because  of  missing  dependencies, or because importing it would cause
                  undesired side-effects.

           --introspect-only
                  Gather all information about the documented objects by introspection; in  particular,  do  not
                  gather information by parsing the object's Python source code.

           --exclude PATTERN
                  Do not document any object whose name matches the given regular expression pattern.

           --exclude-introspect PATTERN
                  Do  not  use introspection to gather information about any object whose name matches the given
                  regular expression.

           --exclude-parse PATTERN
                  Do not use Python source code parsing to  gather  information  about  any  object  whose  name
                  matches the given regular expression.

           --inheritance format
                  The  format that should be used to display inherited methods, variables, and properties in the
                  generated "summary" tables.  If format is "grouped," then inherited objects are gathered  into
                  groups,  based  on  which  class  that  they  are inherited from.  If format is "listed," then
                  inherited objects are listed in a short list at the end of the summary table.   If  format  is
                  "included,"  then  inherited  objects  are  mixed  in with non-inherited objects.  The default
                  format for HTML output is "grouped."

           --show-private, --no-private
                  These options control whether documentation is generated for private objects.  By default, the
                  generated documentation includes private objects, and users can choose whether to view private
                  objects or not, by clicking on "show private" and "hide private" links.  But if  you  want  to
                  discourage  users from directly accessing private objects, then you may prefer not to generate
                  documentation for private objects.

           --show-imports, --no-imports
                  These options control whether module imports are included in the generated documentation.   By
                  default, imports are not included.

           --show-sourcecode, --no-sourcecode
                  These  options  control  whether  or  not  epydoc  should  generate  syntax-highlighted  pages
                  containing the source code of each module in the HTML  output.   By  default,  the  sourcecode
                  pages are generated.

           --include-log
                  Generate  an  HTML  page  epydoc-log.html  containing  all error and warning messages that are
                  generated by epydoc, and include it in the generated output.

           --no-include-build-time
                  Do not print the build time in the page footer.  This is useful if you are trying to  generate
                  reproducible  builds,  where  each  build  against  a  given version of a source tree produces
                  exactly the same artifacts.

       OUTPUT OPTIONS

           -o dir, --output dir
                  The output directory.  If dir does not exist, then it will be created.  If no output directory
                  is specified, then the action name (e.g., html or pdf).  html

           -c sheet, --css sheet
                  CSS  stylesheet for HTML output files.  If sheet is a file, then the stylesheet is copied from
                  that file; otherwise, sheet is taken to be the name of a built-in stylesheet.  For a  list  of
                  the  built-in  stylesheets, run epydoc --help css.  If a CSS stylesheet is not specified, then
                  the default stylesheet is used.

           -n name, --name name
                  The name of the project whose documentation is being generated.

           -u url, --url url
                  The URL of the project's homepage.

           --navlink html
                  HTML code for the homepage link on the HTML navigation bar.  If this HTML  code  contains  any
                  hyperlinks  (<a  href=...>),  then  it  will be inserted verbatim.  If it does not contain any
                  hyperlinks, and a project url is specified (with --url), then a hyperlink to the specified URL
                  is added to the link.

           --help-file file
                  An  alternate help file.  file should contain the body of an HTML file -- navigation bars will
                  be added to it.

           --show-frames, --no-frames
                  These options control whether HMTL output will include a frames-based table of contents  page.
                  By default, the frames-based table of contents is included.

           --separate-classes
                  In  the  LaTeX output, describe each class in a separate section of the documentation, instead
                  of including them in the documentation for their modules.  This creates a separate LaTeX  file
                  for  each  class, so it can also be useful if you want to include the documentation for one or
                  two classes as sections of your own LaTeX document.

       GRAPH OPTIONS

           --graph graphtype
                  Include graphs of type graphtype in the generated output.   Graphs  are  generated  using  the
                  Graphviz dot executable.  If this executable is not on the path, then use --dotpath to specify
                  its location.  This option may be repeated to include multiple  graph  types  in  the  output.
                  graphtype should be one of: all, classtree, callgraph, or umlclasstree.

           --dotpath path
                  The path to the Graphviz dot executable.

           --graph-font font
                  The name of the font used to generate Graphviz graphs.  (e.g., helvetica or times).

           --graph-font-size size
                  The size of the font used to generate Graphviz graphs, in points.

           --pstat file
                  A pstat output file, to be used in generating call graphs.

       RETURN VALUE OPTIONS

           --fail-on-error
                  Return a non-zero exit status, indicating failure, if any errors are encountered.

           --fail-on-warning
                  Return  a  non-zero exit status, indicating failure, if any errors or warnings are encountered
                  (not including docstring warnings).

           --fail-on-docstring-warning
                  Return a non-zero exit status, indicating failure, if any errors or warnings  are  encountered
                  (including docstring warnings).

HTML FILES

       The HTML API documentation produced by epydoc consists of the following files:

       OBJECT DOCUMENTATION PAGES

           index.html
                  The  standard entry point for the documentation.  Normally, index.html is a copy of the frames
                  file (frames.html).  But if the --no-frames option is used, then index.html is a copy  of  the
                  API  documentation  home  page,  which  is  normally  the documentation page for the top-level
                  package or module (or the trees page if there is no top-level package or module).

           module-module.html
                  The API documentation for a module.  module is the complete dotted name of the module, such as
                  sys or epydoc.epytext.

           class-class.html
                  The  API  documentation for a class, exception, or type.  class is the complete dotted name of
                  the class, such as epydoc.epytext.Token or array.ArrayType.

           module-pysrc.html
                  A syntax-highlighted page containing the Python source code for module.   This  page  includes
                  links back to the API documentation pages.

           module-tree.html
                  The module hierarchy.

           class-tree.html
                  The class hierarchy.  This page is only generated if at least one class is documented.

       INDICES

           identifier-index.html
                  An  index  of  all  documented  identifiers.  If the identifier index contains more than 3,000
                  entries,  then  it  will   be   split   into   separate   pages   for   each   letter,   named
                  identifier-index-a.html, identifier-index-b.html, etc.

           term-index.html
                  An index of all explicitly marked definitional terms.  This page is only generated if at least
                  one definition term is marked in a formatted docstring.

           bug-index.html
                  An index of all explicitly marked @bug fields.  This page is only generated if  at  least  one
                  @bug field is listed in a formatted docstring.

           todo-index.html
                  An  index  of all explicitly marked @todo fields.  This page is only generated if at least one
                  @todo field is listed in a formatted docstring.

           changed-index.html
                  An index of all explicitly marked @changed fields.  This page is only generated  if  at  least
                  one @changed field is listed in a formatted docstring.

           deprecated-index.html
                  An index of all explicitly marked @deprecated fields.  This page is only generated if at least
                  one @deprecated field is listed in a formatted docstring.

           since-index.html
                  An index of all explicitly marked @since fields.  This page is only generated if at least  one
                  @since field is listed in a formatted docstring.

       FRAMES-BASED TABLE OF CONTENTS

           frames.html
                  The  main frames file.  Two frames on the left side of the window contain a table of contents,
                  and the main frame on the right side of the window contains API documentation pages.

           toc.html
                  The top-level table of contents page.  This page is  displayed  in  the  upper-left  frame  of
                  frames.html, and provides links to the toc-everything.html and toc-module-module.html pages.

           toc-everything.html
                  The  table of contents for the entire project.  This page is displayed in the lower-left frame
                  of frames.html, and provides links to every class, type,  exception,  function,  and  variable
                  defined by the project.

           toc-module-module.html
                  The  table  of  contents  for  a  module.   This  page is displayed in the lower-left frame of
                  frames.html, and provides links to  every  class,  type,  exception,  function,  and  variable
                  defined  by  the  module.   module  is  the complete dotted name of the module, such as sys or
                  epydoc.epytext.

       OTHER PAGES

           help.html
                  The help page for the project.  This page  explains  how  to  use  and  navigate  the  webpage
                  produced by epydoc.

           redirect.html
                  This page uses javascript to translate dotted names to their corresponding URLs.  For example,
                  in epydoc's documentation,  loading  the  page  <redirect.html#epydoc.apidoc.DottedName>  will
                  automatically redirect the browser to <epydoc.apidoc-module.html#DottedName>.

           epydoc.css
                  The CSS stylesheet used to display all HTML pages.

           epydoc.js
                  A javascript file used to define javascript functions used by epydoc.

           epydoc-log.html
                  A page containing a log of all warnings and errors that were generated by epydoc, along with a
                  table listing all of the options that were used.

LATEX FILES

       The LaTeX API documentation produced by epydoc consists of the following files:

           api.pdf
                  An Adobe Acrobat (pdf) file containing the complete API  documentation.   This  file  is  only
                  generated if you use the --pdf option.

           api.tex
                  The top-level LaTeX file.  This file imports the other LaTeX files, to create a single unified
                  document.

           api.dvi
                  A dvi file containing the complete API documentation.  This file is only generated if you  use
                  the --dvi option, the --ps option, or the --pdf option.

           api.ps A  postscript  file containing the complete API documentation.  This file is only generated if
                  you use the --ps option or the --pdf option.

           module-module.tex
                  The API documentation for a module.  module is the complete dotted name of the module, such as
                  sys or epydoc.epytext.

           class-class.tex
                  The  API  documentation for a class, exception, or type.  class is the complete dotted name of
                  the class, such as epydoc.epytext.Token or array.ArrayType.  These class  documentation  files
                  are  only  created  if the --separate-classes option is used; otherwise, the documentation for
                  each class is included in its module's documentation file.

DIAGNOSTICS

       EPYTEXT MARKUP WARNING MESSAGES
           Epytext errors are caused by epytext docstrings that contain invalid  markup.   Whenever  an  epytext
           error  is  detected,  the  docstring  in  question  is  treated as a plaintext docstring.  Epydoc can
           generate the following epytext errors:

           Bad link target.
                  The target specified for an inline  link  construction  (L{...})  is  not  well-formed.   Link
                  targets must be valid python identifiers.

           Bad uri target.
                  The  target  specified  for  an  inline  uri  construction  (U{...}) is not well-formed.  This
                  typically occurs if inline markup is nested inside the URI target.

           Fields must be at the top level.
                  The list of fields (@param, etc.)  is contained by some other block structure (such as a  list
                  or a section).

           Fields must be the final elements.
                  The list of fields (@param, etc.)  is not at the end of a docstring.

           Headings must occur at top level.
                  The heading is contianed in some other block structure (such as a list).

           Improper doctest block indentation.
                  The doctest block dedents past the indentation of its initial prompt line.

           Improper heading indentation.
                  The heading for a section is not left-aligned with the paragraphs in the section that contains
                  it.

           Improper paragraph indentation.
                  The paragraphs within a block are not  left-aligned.   This  error  is  often  generated  when
                  plaintext docstrings are parsed using epytext.

           Invalid escape.
                  An unknown escape sequence was used with the inline escape construction (E{...}).

           Lists must be indented.
                  An unindented line immediately following a paragraph starts with a list bullet.  Epydoc is not
                  sure whether you meant to start a new list item, or meant for a paragraph to  include  a  word
                  that  looks like a bullet.  If you intended the former, then indent the list.  If you intended
                  the latter, then change the word-wrapping of the paragraph, or escape the first  character  of
                  the word that looks like a bullet.

           Unbalanced '{'.
                  The  docstring contains unbalanced braces.  Epytext requires that all braces must be balanced.
                  To include a single unbalanced brace, use the escape sequences E{lb} (left  brace)  and  E{rb}
                  (right brace).

           Unbalanced '}'.
                  The  docstring contains unbalanced braces.  Epytext requires that all braces must be balanced.
                  To include a single unbalanced brace, use the escape sequences E{lb} (left  brace)  and  E{rb}
                  (right brace).

           Unknown inline markup tag.
                  An unknown tag was used with the inline markup construction ( x{...} ).

           Wrong underline character for heading.
                  The  underline character used for this section heading does not indicate an appopriate section
                  level.  The "=" character should be used to underline sections; "-" for subsections;  and  "~"
                  for subsubsections.

           Possible mal-formatted field item.
                  Epytext  detected  a  line that looks like a field item, but is not correctly formatted.  This
                  typically occurs when the trailing colon (":") is not included in the field tag.

           Possible heading typo.
                  Epytext detected a pair of lines that looks like  a  heading,  but  the  number  of  underline
                  characters  does  not match the number of characters in the heading.  The number of characters
                  in these two lines must match exactly for them to be considered a heading.

       FIELD WARNINGS
           Field warnings are caused by docstrings containing invalid fields.  The contents of the invalid field
           are generally ignored.  Epydoc can generate the following field warnings:

           @param for unknown parameter param.
                  A  @param  field  was  used  to  specify  the type for a parameter that is not included in the
                  function's signature.  This is typically caused by a typo in the parameter name.

           tag did not expect an argument.
                  The field tag tag was used with an argument, but it does not take one.

           tag expected an argument.
                  The field tag tag was used without an argument, but it requires one.

           @type for unknown parameter param.
                  A @type field was used to specify the type for  a  parameter  that  is  not  included  in  the
                  function's signature.  This is typically caused by a typo in the parameter name.

           @type for unknown variable var.
                  A  @type  field was used to specify the type for a variable, but no other information is known
                  about the variable.  This is typically caused by a typo in the variable name.

           Unknown field tag tag.
                  A docstring contains a field with the unknown tag tag.

           Redefinition of field.
                  Multiple field tags define the value of field in the same docstring, but field can only take a
                  single value.

EXAMPLES

       epydoc -n epydoc -u http://epydoc.sf.net epydoc/
              Generate  the  HTML  API documentation for the epydoc package and all of its submodules, and write
              the output to the html directory.  In the headers and footers, use epydoc as the project name, and
              http://epydoc.sf.net as the project URL.

       epydoc --pdf -n epydoc epydoc/
              Generate  the  LaTeX API documentation for the epydoc package and all of its submodules, and write
              the output to the latex directory.

EXIT STATUS

       0      Successful program execution.

       1      Usage error.

       2      Epydoc generated an error or warning, and one of the options  --fail-on-error,  --fail-on-warning,
              or --fail-on-docstring-warning was specified.

       other  Internal error (Python exception).

AUTHOR

       Epydoc  was  written  by  Edward  Loper.   This  man  page  was originally written by Moshe Zadka, and is
       currently maintained by Edward Loper.

BUGS

       Report bugs to <edloper@users.sourceforge.net>.

SEE ALSO

       epydocgui(1)

       The epydoc webpage
              <http://epydoc.sourceforge.net>

       The epytext markup language manual
              <http://epydoc.sourceforge.net/epytext.html>

                                                                                                       EPYDOC(1)