Commit 4a2ebc7e authored by John T. Wodder II's avatar John T. Wodder II

Docs proofreading

parent db938d31
...@@ -2281,21 +2281,23 @@ Configuring setup() using setup.cfg files ...@@ -2281,21 +2281,23 @@ Configuring setup() using setup.cfg files
.. note:: New in 30.3.0 (8 Dec 2016). .. note:: New in 30.3.0 (8 Dec 2016).
.. important:: ``setup.py`` with ``setup()`` function call is still required even .. important::
if your configuration resides in ``setup.cfg``. A ``setup.py`` file containing a ``setup()`` function call is still
required even if your configuration resides in ``setup.cfg``.
``Setuptools`` allows using configuration files (usually `setup.cfg`) ``Setuptools`` allows using configuration files (usually :file:`setup.cfg`)
to define package’s metadata and other options which are normally supplied to define a package’s metadata and other options that are normally supplied
to ``setup()`` function. to the ``setup()`` function.
This approach not only allows automation scenarios, but also reduces This approach not only allows automation scenarios but also reduces
boilerplate code in some cases. boilerplate code in some cases.
.. note:: .. note::
Implementation presents limited compatibility with distutils2-like
``setup.cfg`` sections (used by ``pbr`` and ``d2to1`` packages).
Namely: only metadata related keys from ``metadata`` section are supported This implementation has limited compatibility with the distutils2-like
``setup.cfg`` sections used by the ``pbr`` and ``d2to1`` packages.
Namely: only metadata-related keys from ``metadata`` section are supported
(except for ``description-file``); keys from ``files``, ``entry_points`` (except for ``description-file``); keys from ``files``, ``entry_points``
and ``backwards_compat`` are not supported. and ``backwards_compat`` are not supported.
...@@ -2336,12 +2338,13 @@ boilerplate code in some cases. ...@@ -2336,12 +2338,13 @@ boilerplate code in some cases.
src.subpackage2 src.subpackage2
Metadata and options could be set in sections with the same names. Metadata and options are set in the config sections of the same name.
* Keys are the same as keyword arguments one provides to ``setup()`` function. * Keys are the same as the keyword arguments one provides to the ``setup()``
function.
* Complex values could be placed comma-separated or one per line * Complex values can be written comma-separated or placed one per line
in *dangling* sections. The following are the same: in *dangling* config values. The following are equivalent:
.. code-block:: ini .. code-block:: ini
...@@ -2353,10 +2356,11 @@ Metadata and options could be set in sections with the same names. ...@@ -2353,10 +2356,11 @@ Metadata and options could be set in sections with the same names.
one one
two two
* In some cases complex values could be provided in subsections for clarity. * In some cases, complex values can be provided in dedicated subsections for
clarity.
* Some keys allow ``file:``, ``attr:`` and ``find:`` directives to cover * Some keys allow ``file:``, ``attr:``, and ``find:`` directives in order to
common usecases. cover common usecases.
* Unknown keys are ignored. * Unknown keys are ignored.
...@@ -2369,33 +2373,34 @@ Some values are treated as simple strings, some allow more logic. ...@@ -2369,33 +2373,34 @@ Some values are treated as simple strings, some allow more logic.
Type names used below: Type names used below:
* ``str`` - simple string * ``str`` - simple string
* ``list-comma`` - dangling list or comma-separated values string * ``list-comma`` - dangling list or string of comma-separated values
* ``list-semi`` - dangling list or semicolon-separated values string * ``list-semi`` - dangling list or string of semicolon-separated values
* ``bool`` - ``True`` is 1, yes, true * ``bool`` - ``True`` is 1, yes, true
* ``dict`` - list-comma where keys from values are separated by = * ``dict`` - list-comma where keys are separated from values by ``=``
* ``section`` - values could be read from a dedicated (sub)section * ``section`` - values are read from a dedicated (sub)section
Special directives: Special directives:
* ``attr:`` - value could be read from module attribute * ``attr:`` - Value is read from a module attribute. ``attr:`` supports
* ``file:`` - value could be read from a list of files and then concatenated callables and iterables; unsupported types are cast using ``str()``.
* ``file:`` - Value is read from a list of files and then concatenated
.. note:: .. note::
``file:`` directive is sandboxed and won't reach anything outside The ``file:`` directive is sandboxed and won't reach anything outside
directory with ``setup.py``. the directory containing ``setup.py``.
Metadata Metadata
-------- --------
.. note:: .. note::
Aliases given below are supported for compatibility reasons, The aliases given below are supported for compatibility reasons,
but not advised. but their use is not advised.
============================== ================= ===== ============================== ================= =====
Key Aliases Accepted value type Key Aliases Type
============================== ================= ===== ============================== ================= =====
name str name str
version attr:, str version attr:, str
...@@ -2417,17 +2422,12 @@ requires list-comma ...@@ -2417,17 +2422,12 @@ requires list-comma
obsoletes list-comma obsoletes list-comma
============================== ================= ===== ============================== ================= =====
.. note::
**version** - ``attr:`` supports callables; supports iterables;
unsupported types are casted using ``str()``.
Options Options
------- -------
======================= ===== ======================= =====
Key Accepted value type Key Type
======================= ===== ======================= =====
zip_safe bool zip_safe bool
setup_requires list-semi setup_requires list-semi
...@@ -2454,10 +2454,10 @@ py_modules list-comma ...@@ -2454,10 +2454,10 @@ py_modules list-comma
.. note:: .. note::
**packages** - ``find:`` directive can be further configured **packages** - The ``find:`` directive can be further configured
in a dedicated subsection `options.packages.find`. This subsection in a dedicated subsection ``options.packages.find``. This subsection
accepts the same keys as `setuptools.find` function: accepts the same keys as the `setuptools.find` function:
`where`, `include`, `exclude`. ``where``, ``include``, and ``exclude``.
Configuration API Configuration API
...@@ -2465,7 +2465,7 @@ Configuration API ...@@ -2465,7 +2465,7 @@ Configuration API
Some automation tools may wish to access data from a configuration file. Some automation tools may wish to access data from a configuration file.
``Setuptools`` exposes ``read_configuration()`` function allowing ``Setuptools`` exposes a ``read_configuration()`` function for
parsing ``metadata`` and ``options`` sections into a dictionary. parsing ``metadata`` and ``options`` sections into a dictionary.
...@@ -2476,16 +2476,16 @@ parsing ``metadata`` and ``options`` sections into a dictionary. ...@@ -2476,16 +2476,16 @@ parsing ``metadata`` and ``options`` sections into a dictionary.
conf_dict = read_configuration('/home/user/dev/package/setup.cfg') conf_dict = read_configuration('/home/user/dev/package/setup.cfg')
By default ``read_configuration()`` will read only file provided By default, ``read_configuration()`` will read only the file provided
in the first argument. To include values from other configuration files in the first argument. To include values from other configuration files
which could be in various places set `find_others` function argument which could be in various places, set the ``find_others`` keyword argument
to ``True``. to ``True``.
If you have only a configuration file but not the whole package you can still If you have only a configuration file but not the whole package, you can still
try to get data out of it with the help of `ignore_option_errors` function try to get data out of it with the help of the ``ignore_option_errors`` keyword
argument. When it is set to ``True`` all options with errors possibly produced argument. When it is set to ``True``, all options with errors possibly produced
by directives, such as ``attr:`` and others will be silently ignored. by directives, such as ``attr:`` and others, will be silently ignored.
As a consequence the resulting dictionary will include no such options. As a consequence, the resulting dictionary will include no such options.
-------------------------------- --------------------------------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment