[Python-checkins] distutils2: added setup.cfg doc

tarek.ziade python-checkins at python.org
Sat Nov 13 12:10:52 CET 2010


tarek.ziade pushed 9904e15b80c1 to distutils2:

http://hg.python.org/distutils2/rev/9904e15b80c1
changeset:   815:9904e15b80c1
tag:         tip
user:        Tarek Ziade <tarek at ziade.org>
date:        Sat Nov 13 12:10:07 2010 +0100
summary:     added setup.cfg doc
files:       docs/source/setupcfg.rst

diff --git a/docs/source/setupcfg.rst b/docs/source/setupcfg.rst
new file mode 100644
--- /dev/null
+++ b/docs/source/setupcfg.rst
@@ -0,0 +1,161 @@
+==================
+The setup.cfg file
+==================
+
+This document describes the :file:`setup.cfg`, a ini-like file used by
+Distutils2 to replace the :file:`setup.py` file.
+
+Each section contains a description of its options.
+
+- Options that are marked *\*multi* can have multiple values, one value
+  per line.
+- Options that are marked *\*optional* can be omited.
+- Options that are marked *\*environ* can use environement markes, as described
+  in PEP 345.
+
+The sections are:
+
+- global
+- metadata
+- files
+- command sections
+
+
+global
+======
+
+Contains global options for Distutils2. This section is shared with Distutils1.
+
+- **commands**: Defined Distutils2 command. A command is defined by its fully
+  qualified name.
+
+  Examples::
+
+    [global]
+    commands =
+        package.sdist.CustomSdistCommand
+
+  *\*optional* *\*multi*
+
+- **compilers**: Defined Distutils2 compiler. A compiler is defined by its fully
+  qualified name. 
+
+  Example::
+
+    [global]
+    compiler =
+        package.compilers.CustomCCompiler
+
+  *\*optional* *\*multi*
+
+- **setup_hook**: defines a callable that will be called right after the
+  :file:`setup.cfg` file is read. The callable receives the configuration
+  in form of a mapping and can make some changes to it. *\*optional*
+
+
+metadata
+========
+
+The metadata section contains the metadata for the project as described in
+PEP 345.
+
+
+Fields:
+
+- **name**: Name of the project.
+- **version**: Version of the project. Must comply with PEP 386.
+- **platform**: Platform specification describing an operating system supported
+  by the distribution which is not listed in the "Operating System" Trove
+  classifiers. *\*multi* *\*optional*
+- **supported-platform**: Binary distributions containing a PKG-INFO file will
+  use the Supported-Platform field in their metadata to specify the OS and
+  CPU for which the binary distribution was compiled.  The semantics of
+  the Supported-Platform field are freeform. *\*multi* *\*optional*
+- **summary**: A one-line summary of what the distribution does.
+  (Used to be called *description* in Distutils1.)
+- **description**: A longer description. (Used to be called *long_description*
+  in Distutils1.) A file can be provided in the *description-file* field.
+  *\*optional*
+- **description-file**: path to a text file that will be used for the
+  **description** field. *\*optional*
+- **keywords**: A list of additional keywords to be used to assist searching
+  for the distribution in a larger catalog. Comma or space-separated. *\*optional*
+- **home-page**: The URL for the distribution's home page.
+- **download-url**: The URL from which this version of the distribution
+  can be downloaded. *\*optional*
+- **author**: Author's name. *\*optional*
+- **author-email**: Author's e-mail. *\*optional*
+- **maintainer**: Maintainer's name. *\*optional*
+- **maintainer-email**: Maintainer's e-mail. *\*optional*
+- **license**: A text indicating the term of uses, when a trove classifier does
+  not match. *\*optional*.
+- **classifiers**: Classification for the distribution, as described in PEP 301.
+  *\*optional* *\*multi* *\*environ*
+- **requires-dist**: name of another distutils project required as a dependency.
+  The format is *name (version)* where version is an optional
+  version declaration, as described in PEP 345. *\*optional* *\*multi* *\*environ*
+- **provides-dist**: name of another distutils project contained whithin this
+  distribution. Same format than *requires-dist*. *\*optional* *\*multi* *\*environ*
+- **obsoletes-dist**: name of another distutils project this version obsoletes.
+  Same format than *requires-dist*. *\*optional* *\*multi* *\*environ*
+- **requires-python**: Specifies the Python version the distribution requires.
+  The value is a version number, as described in PEP 345.
+  *\*optional* *\*multi* *\*environ*
+- **requires-externals**: a dependency in the system. This field is free-form,
+  and just a hint for downstream maintainers. *\*optional* *\*multi* *\*environ*
+- **project-url**: A label, followed by a browsable URL for the project.
+  "label, url". The label is limited to 32 signs. *\*optional* *\*multi*
+
+
+Example::
+
+    [metadata]
+    name = pypi2rpm
+    version = 0.1
+    author = Tarek Ziade
+    author_email = tarek at ziade.org
+    summary = Script that transforms a sdist archive into a rpm archive
+    description-file = README
+    home_page = http://bitbucket.org/tarek/pypi2rpm
+
+    classifier = Development Status :: 3 - Alpha
+        License :: OSI Approved :: Mozilla Public License 1.1 (MPL 1.1)
+
+
+
+files
+=====
+
+This section describes the files included in the project.
+
+- **packages**: a list of packages the project includes *\*optional* *\*multi*
+- **modules**: a list of packages the project includes *\*optional* *\*multi*
+- **scripts**: a list of scripts the project includes *\*optional* *\*multi*
+- **extra_files**: a list of patterns to include extra files *\*optional* *\*multi*
+
+Example::
+
+    [files]
+    packages =
+            pypi2rpm
+            pypi2rpm.command
+
+    scripts =
+            pypi2rpm/pypi2rpm.py
+
+    extra_files =
+            setup.py
+
+
+command sections
+================
+
+Each command can have its options described in :file:`setup.cfg`
+
+
+Example::
+
+    [sdist]
+    manifest_makers = package.module.Maker
+
+

--
Repository URL: http://hg.python.org/distutils2


More information about the Python-checkins mailing list