summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorFred Drake <fdrake@acm.org>2004-06-11 21:50:33 (GMT)
committerFred Drake <fdrake@acm.org>2004-06-11 21:50:33 (GMT)
commit0eb32a65b06613d25aeb18f0104554171bea4840 (patch)
tree8f2972143d9f85b54edf4d66117b76a00c9fc47a /Doc
parent5c26e860960ca30341ed61c8f20c34b0667ad315 (diff)
downloadcpython-0eb32a65b06613d25aeb18f0104554171bea4840.zip
cpython-0eb32a65b06613d25aeb18f0104554171bea4840.tar.gz
cpython-0eb32a65b06613d25aeb18f0104554171bea4840.tar.bz2
Add support for package data.
This is basically the support for package data from Phillip Eby's setuptools package. I've changed it only to fit it into the core implementation rather than to live in subclasses, and added documentation.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/dist/dist.tex49
1 files changed, 49 insertions, 0 deletions
diff --git a/Doc/dist/dist.tex b/Doc/dist/dist.tex
index 7b91809..b692c06 100644
--- a/Doc/dist/dist.tex
+++ b/Doc/dist/dist.tex
@@ -652,6 +652,55 @@ setup(...
\end{verbatim}
+\subsection{Installing Package Data}
+
+Often, additional files need to be installed into a package. These
+files are often data that's closely related to the package's
+implementation, or text files containing documentation that might be
+of interest to programmers using the package. These files are called
+\dfn{package data}.
+
+Package data can be added to packages using the \code{package_data}
+keyword argument to the \function{setup()} function. The value must
+be a mapping from package name to a list of relative path names that
+should be copied into the package. The paths are interpreted as
+relative to the directory containing the package (information from the
+\code{package_dir} mapping is used if appropriate); that is, the files
+are expected to be part of the package in the source directories.
+They may contain glob patterns as well.
+
+The path names may contain directory portions; any necessary
+directories will be created in the installation.
+
+For example, if a package should contain a subdirectory with several
+data files, the files can be arranged like this in the source tree:
+
+\begin{verbatim}
+setup.py
+src/
+ mypkg/
+ __init__.py
+ module.py
+ data/
+ tables.dat
+ spoons.dat
+ forks.dat
+\end{verbatim}
+
+The corresponding call to \function{setup()} might be:
+
+\begin{verbatim}
+setup(...,
+ packages=['mypkg'],
+ package_dir={'mypkg': 'src/mypkg'},
+ package_data={'pypkg': ['data/*.dat']},
+ )
+\end{verbatim}
+
+
+\versionadded{2.4}
+
+
\subsection{Installing Additional Files}
The \option{data\_files} option can be used to specify additional