\section{\module{compileall} ---
         Byte-compile Python libraries}

\declaremodule{standard}{compileall}
\modulesynopsis{Tools for byte-compiling all Python source files in a
                directory tree.}


This module provides some utility functions to support installing
Python libraries.  These functions compile Python source files in a
directory tree, allowing users without permission to write to the
libraries to take advantage of cached byte-code files.

The source file for this module may also be used as a script to
compile Python sources in directories named on the command line or in
\code{sys.path}.


\begin{funcdesc}{compile_dir}{dir\optional{, maxlevels\optional{,
                              ddir\optional{, force\optional{, 
                              rx\optional{, quiet}}}}}}
  Recursively descend the directory tree named by \var{dir}, compiling
  all \file{.py} files along the way.  The \var{maxlevels} parameter
  is used to limit the depth of the recursion; it defaults to
  \code{10}.  If \var{ddir} is given, it is used as the base path from 
  which the filenames used in error messages will be generated.  If
  \var{force} is true, modules are re-compiled even if the timestamps
  are up to date. 

  If \var{rx} is given, it specifies a regular expression of file
  names to exclude from the search; that expression is searched for in
  the full path.

  If \var{quiet} is true, nothing is printed to the standard output
  in normal operation.
\end{funcdesc}

\begin{funcdesc}{compile_path}{\optional{skip_curdir\optional{,
                               maxlevels\optional{, force}}}}
  Byte-compile all the \file{.py} files found along \code{sys.path}.
  If \var{skip_curdir} is true (the default), the current directory is
  not included in the search.  The \var{maxlevels} and
  \var{force} parameters default to \code{0} and are passed to the
  \function{compile_dir()} function.
\end{funcdesc}


\begin{seealso}
  \seemodule[pycompile]{py_compile}{Byte-compile a single source file.}
\end{seealso}
