Need help cloning? Visit
is a free Git and Mercurial client for Windows.
is a free Git and Mercurial client for Mac.
+# HG changeset patch
+# Parent edda0a74267ab32e26e3d1cd4cd40ef4e2e31c76
+# User Julien Jehannet <email@example.com>
+# Date 1296314379 -3600
+update setupcfg documentation with some notes and new examples
+- replace underscore by dash in fields
+- new section information
+- field names are case-insensitive
+- some metadata fields are automatically generated
+diff --git a/docs/source/setupcfg.rst b/docs/source/setupcfg.rst
+@@ -10,21 +10,32 @@ Each section contains a description of i
+ - 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.
++- Options that are marked *\*environ* can use environment markers, as described
++ in :PEP:`345`.
+ The sections are:
+-- command sections
++ Global options for Distutils2.
++ The metadata section contains the metadata for the project as described in
++ Declaration of package files included in the project.
++ Redefinition of user options for Distutils2 commands.
+-Contains global options for Distutils2. This section is shared with Distutils1.
++Contains global options for Distutils2. This section is shared with Distutils1
++(legacy version distributed in python 2.X standard library).
+ - **commands**: Defined Distutils2 command. A command is defined by its fully
+ qualified name.
+@@ -44,7 +55,7 @@ Contains global options for Distutils2.
+ compiler =
+ *\*optional* *\*multi*
+@@ -52,21 +63,28 @@ Contains global options for Distutils2.
+ :file:`setup.cfg` file is read. The callable receives the configuration
+ in form of a mapping and can make some changes to it. *\*optional*
++ setup_hook = distutils2.tests.test_config.hook
+ The metadata section contains the metadata for the project as described in
++ Field names are case-insensitive.
+ - **name**: Name of the project.
+-- **version**: Version of the project. Must comply with PEP 386.
++- **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*
++ classifiers (:PEP:`301`). *\*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
+@@ -113,14 +131,18 @@ Example::
+ name = pypi2rpm
+ version = 0.1
+ author = Tarek Ziade
+- author_email = firstname.lastname@example.org
++ author-email = email@example.com
+ summary = Script that transforms a sdist archive into a rpm archive
+ description-file = README
+- home_page = http://bitbucket.org/tarek/pypi2rpm
++ home-page = http://bitbucket.org/tarek/pypi2rpm
++ project-url: RSS feed, https://bitbucket.org/tarek/pypi2rpm/rss
+ classifier = Development Status :: 3 - Alpha
+ License :: OSI Approved :: Mozilla Public License 1.1 (MPL 1.1)
++ Some metadata fields seen in :PEP:`345` are automatically generated
++ as the Metadata-Version value for instance.
+@@ -147,15 +169,20 @@ Example::
+-Each command can have its options described in :file:`setup.cfg`
++Each Distutils2 command can have its own user options defined in :file:`setup.cfg`
+- manifest_makers = package.module.Maker
++ manifest-builders = package.module.Maker
++To override the building class in order to compile your python2 files to python3::
++ use-2to3 = True