@@ -17,9 +17,9 @@ Abstract
1717========
1818
1919This PEP relaxes the constraint on dynamic metadata listed in the ``[project] ``
20- section in ``pyproject.toml `` to allow the static portion of mixed metadata to
21- be defined in the normal location if the field is a table or array by having
22- the dynamic fields extend the static ones.
20+ section in ``pyproject.toml `` to allow a static portion of mixed metadata to be
21+ defined in the normal location if the field is a table or array by having the
22+ dynamic fields extend the static ones.
2323
2424This allows users to opt into allowing a backend to extend metadata while still
2525keeping the static portions of the metadata defined in the standard location in
@@ -317,19 +317,26 @@ a static component to existing dynamic metadata support.
317317How to Teach This
318318=================
319319
320+ If you currently have dynamic metadata, but some list or table entries are
321+ known statically, you can now make that explicit by adding them to the
322+ corresponding static entry in the project table, while keeping the entry in the
323+ ``project.dynamic `` list to allow the dynamic portion to be added by your build
324+ backend.
325+
320326The current guides that state metadata must not be listed in both ``[project] ``
321- and ``project.dynamic `` can be updated to say that some fields can be extended
322- by ``project.dynamic ``. Since dynamic metadata is already an advanced concept,
323- this will likely not affect most existing tutorial material aimed at
324- introductory packaging.
327+ and ``project.dynamic `` can be updated to say that lists and tables marked with
328+ ``project.dynamic `` can still have static entries . Since dynamic metadata is
329+ already an advanced concept, this will likely not affect most existing tutorial
330+ material aimed at introductory packaging.
325331
326332The ``pyproject.toml `` `specification <pyprojectspec >`__ will be updated to
327333include the behavior of fields when specified and also listed in the dynamic
328334field.
329335
330- It should also be noted that specifying something in dynamic will require any
331- tool that requires the full metadata to invoke the backend even if it is
332- partially statically specified, so it should not be used unless necessary.
336+ It should also be noted that specifying something in ``dynamic `` will require
337+ any tool that requires the full metadata to invoke the backend even if it is
338+ partially statically specified, so it should not be used unless necessary, just
339+ like any other dynamic metadata.
333340
334341
335342Rejected Ideas
0 commit comments