diff --git a/locales/ar/LC_MESSAGES/messages.po b/locales/ar/LC_MESSAGES/messages.po index 85a1af5d2..8242217ac 100644 --- a/locales/ar/LC_MESSAGES/messages.po +++ b/locales/ar/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-01-18 07:31+0000\n" "Last-Translator: Youcef Guenaoua \n" "Language-Team: Arabic `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3180,6 +3182,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5202,9 +5205,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11901,7 +11904,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12250,6 +12254,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12277,11 +12282,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13298,6 +13311,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13327,14 +13561,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15526,10 +15752,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/ars/LC_MESSAGES/messages.po b/locales/ars/LC_MESSAGES/messages.po index d76fd9dc6..1bf8b5606 100644 --- a/locales/ars/LC_MESSAGES/messages.po +++ b/locales/ars/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1663,7 +1663,9 @@ msgid "Where to read more about this?" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:213 -msgid "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" +msgid "" +"`Why you shouldn't invoke setup.py directly `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3175,6 +3177,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5197,9 +5200,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11896,7 +11899,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12245,6 +12249,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12272,11 +12277,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13293,6 +13306,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13322,14 +13556,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15521,10 +15747,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/de/LC_MESSAGES/messages.po b/locales/de/LC_MESSAGES/messages.po index 52a53a33d..5ffc22459 100644 --- a/locales/de/LC_MESSAGES/messages.po +++ b/locales/de/LC_MESSAGES/messages.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-10-17 21:16+0000\n" "Last-Translator: Emr \n" "Language-Team: German `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3246,6 +3248,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5275,9 +5278,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11980,7 +11983,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12329,6 +12333,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12356,11 +12361,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13377,6 +13390,231 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +#, fuzzy +#| msgid "Package Index" +msgid "Package Building" +msgstr "Paketindex" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +#, fuzzy +#| msgid "Documentation types" +msgid "Reference Implementation" +msgstr "Dokumentationstypen" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13406,14 +13644,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15609,12 +15839,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -#, fuzzy -#| msgid "Documentation types" -msgid "Reference Implementation" -msgstr "Dokumentationstypen" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/eo/LC_MESSAGES/messages.po b/locales/eo/LC_MESSAGES/messages.po index d369be1c7..d1e3fb72d 100644 --- a/locales/eo/LC_MESSAGES/messages.po +++ b/locales/eo/LC_MESSAGES/messages.po @@ -1,15 +1,15 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) 2013–2020, PyPA # This file is distributed under the same license as the Python Packaging User Guide package. -# phlostically , 2021. +# phlostically , 2021, 2024, 2025. # meowmeowmeowcat , 2021. msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" -"PO-Revision-Date: 2021-08-06 05:45+0000\n" -"Last-Translator: meowmeowmeowcat \n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" +"PO-Revision-Date: 2025-01-07 04:23+0000\n" +"Last-Translator: phlostically \n" "Language-Team: Esperanto \n" "Language: eo\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.8-dev\n" +"X-Generator: Weblate 5.10-dev\n" #: ../source/contribute.rst:5 msgid "Contribute to this guide" @@ -48,7 +48,7 @@ msgstr "Verki novan enhavon" #: ../source/contribute.rst:14 msgid "Translate the guide" -msgstr "" +msgstr "Traduki ĉi tiun gvidilon" #: ../source/contribute.rst:16 msgid "" @@ -57,12 +57,19 @@ msgid "" "`pull requests`__. If you're planning to write or edit the guide, please " "read the :ref:`style guide `." msgstr "" +"La plejparto e la laboro pri |PyPUG| okazas ĉe `la GitHub-deponejo de la " +"projekto `__. Por eki, vidu la liston de " +"`nesolvitaj cimoj `__ kaj `tirpetoj `__. Se vi " +"planas verki aŭ redakti la gvidilon, bonvolu legi la :ref:`gvidilon pri " +"stilo `." #: ../source/contribute.rst:25 msgid "" "By contributing to the |PyPUG|, you're expected to follow the PSF's `Code of " "Conduct`__." msgstr "" +"Kontribuante al |PyPUG|, vi devas observi la `Kondutkodon `__ de PSF." #: ../source/contribute.rst:32 msgid "Documentation types" @@ -75,6 +82,10 @@ msgid "" "quality documentation. When proposing new additions to the project please " "pick the appropriate documentation type." msgstr "" +"Ĉi tiu projekto konsistas el kvar malsamaj dokumentaj specoj por specifaj " +"celoj. La projekto celas sekvi `la procezon Diátaxis `_ " +"por verki kvalitan dokumentaron. Kiam vi proponas novajn aldonojn al la " +"projekto, bonvolu elekti la taŭgan dokumentan specon." #: ../source/contribute.rst:42 ../source/index.rst:55 #: ../source/tutorials/index.rst:2 @@ -87,6 +98,10 @@ msgid "" "goal. They are opinionated step-by-step guides. They do not include " "extraneous warnings or information. `example tutorial-style document`_." msgstr "" +"Lernilo fokusiĝas pri instruado de la leganto pri novaj konceptoj per " +"efektivigado de iu celo. Lernilo estas opinihava, paŝon-post-paŝa dokumento. " +"Ĝi ne inkluzivas negravajn avertojn aŭ informojn. `ekzempla lernileca " +"dokumento `_." #: ../source/contribute.rst:51 ../source/guides/index.rst:2 #: ../source/index.rst:69 @@ -102,6 +117,11 @@ msgid "" "accomplishing the task. :doc:`example guide-style document `." msgstr "" +"Gvidiloj estas por plenumi specifan taskon kaj povas supozi iun nivelon de " +"scio. Tiuj similas al lerniloj sed havas mallarĝan kaj klaran fokuson kaj " +"povas disponigi multajn avertojn kaj kromajn informojn laŭbezone. Ili ankaŭ " +"povas diskuti plurajn metodojn por unu tasko. :doc:`ekzempla gvidila " +"dokumento `." #: ../source/contribute.rst:60 ../source/discussions/index.rst:2 msgid "Discussions" @@ -113,6 +133,9 @@ msgid "" "specific topic without a specific goal in mind. :doc:`example discussion-" "style document `." msgstr "" +"Diskutoj estas por komprenado kaj informado. Tiuj esploras specifan temon " +"sen specifa celo. :doc:`ekzempla diskuta dokumento `." #: ../source/contribute.rst:67 msgid "Specifications" @@ -125,31 +148,39 @@ msgid "" "tools. :doc:`example specification-style document `." msgstr "" +"Specifoj estas referenca dokumentaro por plene priskribi interkonsentitan " +"interfacon por kongrueco inter iloj pri pakado. :doc:`ekzempla specifo-" +"dokumento `." #: ../source/contribute.rst:75 msgid "Translations" -msgstr "" +msgstr "Tradukoj" #: ../source/contribute.rst:77 msgid "" "We use `Weblate`_ to manage translations of this project. Please visit the " "`packaging.python.org`_ project on Weblate to contribute." msgstr "" +"Ni uzas `Weblate`_ por administri tradukadon de ĉi tiu projekto. Bonvolu " +"viziti la projekton `packaging.python.org`_ ĉe Weblate por kontribui." #: ../source/contribute.rst:80 msgid "" "If you are experiencing issues while you are working on translations, please " "open an issue on `GitHub`_." msgstr "" +"Se vi spertas problemojn dum tradukado, bonvolu raporti cimon ĉe `GitHub`_." #: ../source/contribute.rst:85 msgid "" "Any translations of this project should follow `reStructuredText syntax`_." msgstr "" +"Traduko de ĉi tiu projekto devas sekvi `la sintakson reStructuredText " +"`_." #: ../source/contribute.rst:93 msgid "Adding a language" -msgstr "" +msgstr "Aldoni lingvon" #: ../source/contribute.rst:95 msgid "" @@ -157,40 +188,47 @@ msgid "" "guilabel:`Start new translation` at the bottom of the language list and add " "the language you want to translate." msgstr "" +"Se via lingvo ne estas listigita en `packaging.python.org`_, alklaku la " +"butonon :guilabel:`Start new translation` ĉe la malsupro de la listo de " +"lingvoj, kaj aldonu la lingvon al kiu vi volas traduki." #: ../source/contribute.rst:100 msgid "Following reStructuredText syntax" -msgstr "" +msgstr "Sekvi la sintakson reStructuredText" #: ../source/contribute.rst:102 msgid "" "If you are not familiar with reStructuredText (RST) syntax, please read " "`this guide`_ before translating on Weblate." msgstr "" +"Se vi ne bone scias la sintakson reStructuredText (RST), bonvolu legi `ĉi " +"tiun gvidilon `_ antaŭ ol ektraduki ĉe Weblate." #: ../source/contribute.rst:105 msgid "**Do not translate the text in reference directly**" -msgstr "" +msgstr "**Ne traduku tekston en referenco rekte**" #: ../source/contribute.rst:107 msgid "" "When translating the text in reference, please do not translate them " "directly." -msgstr "" +msgstr "Kiam vi tradukas tekston en referenco, bonvolu ne traduki ĝin rekte." #: ../source/contribute.rst:0 msgid "Wrong: Translate the following text directly:" -msgstr "" +msgstr "Malĝuste: Traduki la jenon rekte:" #: ../source/contribute.rst:0 msgid "" "Right: Translate the following text with your own language and add the " "original reference:" msgstr "" +"Ĝuste: Traduki la jenan tekston al via propra lingvo kaj aldoni la " +"originalan referencon:" #: ../source/contribute.rst:124 msgid "Building the guide locally" -msgstr "" +msgstr "Konstrui la gvidilon loke" #: ../source/contribute.rst:126 msgid "" @@ -198,13 +236,13 @@ msgid "" "locally in order to test your changes. In order to build this guide locally, " "you'll need:" msgstr "" +"Kvankam tio ne necesas por kontribui, estas utile konstrui ĉi tiun gvidilon " +"loke por elprovi viajn ŝanĝojn. Por konstrui ĉi tiun gvidilon loke, vi " +"bezonos la jenon:" #: ../source/contribute.rst:130 -#, fuzzy msgid ":doc:`Nox `. You can install or upgrade nox using ``pip``:" -msgstr "" -"`Nox `_. Vi povas instali aŭ " -"ĝisdatigi nox per ``pip``::" +msgstr ":doc:`Nox `. Vi povas instali aŭ ĝisdatigi nox per ``pip``:" #: ../source/contribute.rst:137 msgid "" @@ -213,12 +251,18 @@ msgid "" "guide:starting/installation>` to install Python 3.11 on your operating " "system." msgstr "" +"Python 3.11. Niaj konstruaj programetoj estas ordinare testata nur per " +"Python 3.11. Vidu :doc:`Hitchhiker's Guide to Python installation " +"instructions ` por instali Python 3.11 " +"sur via mastruma sistemo." #: ../source/contribute.rst:141 msgid "" "To build the guide, run the following shell command in the project's root " "folder:" msgstr "" +"Por konstrui la gvidilon, rulu la jenan konzolan komandon ĉe la radika " +"dosierujo de la projekto:" #: ../source/contribute.rst:147 msgid "" @@ -227,12 +271,18 @@ msgid "" "guide in web browser, but it's recommended to serve the guide using an HTTP " "server." msgstr "" +"Post fino de la procezo, vi povas trovi la HTML-eligaĵon en la dosierujo ``./" +"build/html``. Vi povas malfermi la dosieron ``index.html`` por rigardi la " +"gvidilon en TTT-legilo, sed estas rekomendate servi la gvidilon per HTTP-" +"servilo." #: ../source/contribute.rst:152 msgid "" "You can build the guide and serve it via an HTTP server using the following " "command:" msgstr "" +"Vi povas konstrui la gvidilon kaj servi ĝin per HTTP-servilo uzante la jenan " +"komandon:" #: ../source/contribute.rst:159 msgid "The guide will be browsable via http://localhost:8000." @@ -240,7 +290,7 @@ msgstr "La gvidilo estos legebla ĉe http://localhost:8000." #: ../source/contribute.rst:163 msgid "Where the guide is deployed" -msgstr "" +msgstr "Kie la gvidilo disponiĝas" #: ../source/contribute.rst:165 msgid "" @@ -248,6 +298,9 @@ msgid "" "readthedocs.org/projects/python-packaging-user-guide/. It's served from a " "custom domain and fronted by Fast.ly." msgstr "" +"La gvido disponiĝas per ReadTheDocs, kaj la agordoj troviĝas ĉe https://" +"readthedocs.org/projects/python-packaging-user-guide/. Ĝi estas servata ĉe " +"propra retadreso per Fast.ly." #: ../source/contribute.rst:171 msgid "Style guide" @@ -260,6 +313,9 @@ msgid "" "your contributions will help add to a cohesive whole and make it easier for " "your contributions to be accepted into the project." msgstr "" +"Ĉi tiu stila gvidilo havas rekomendojn pri kiel verki la |PyPUG|. Antaŭ ol " +"vi ekverkas, bonvolu revizii ĝin. Sekvante la stilgvidilon, viaj kontribuoj " +"pli koheros kaj iĝos pli akceptindaj en la projekton." #: ../source/contribute.rst:180 msgid "Purpose" @@ -270,6 +326,8 @@ msgid "" "The purpose of the |PyPUG| is to be the authoritative resource on how to " "package, publish, and install Python projects using current tools." msgstr "" +"La |PyPUG| celas esti la aŭtoritata dokumento pri kiel enpaki, eldoni kaj " +"instali Python-projektojn per nunaj iloj." #: ../source/contribute.rst:187 msgid "Scope" @@ -280,6 +338,8 @@ msgid "" "The guide is meant to answer questions and solve problems with accurate and " "focused recommendations." msgstr "" +"La gvidilo celas respondi al demandoj kaj solvi problemojn per precizaj kaj " +"enfokusigitaj rekomendoj." #: ../source/contribute.rst:192 msgid "" @@ -289,14 +349,20 @@ msgid "" "detail, while this guide describes only the parts of pip that are needed to " "complete the specific tasks described in this guide." msgstr "" +"La gvidilo ne celas esti plenplena, nek anstataŭigi la dokumentaron de " +"individuaj projektoj. Ekzemple, pip havas dekduojn da komandoj, opciojn, kaj " +"agordoj. La dokumentaro de pip priskribas ĉiujn el tiuj detale, dum la " +"gvidilo nur priskribas tiajn partojn de pip, kiaj necesas por kompletigi la " +"specifajn taskojn priskribitajn en la gvidilo." #: ../source/contribute.rst:200 msgid "Audience" -msgstr "" +msgstr "Legantaro" #: ../source/contribute.rst:202 msgid "The audience of this guide is anyone who uses Python with packages." msgstr "" +"La legantoj de ĉi tiu gvidilo estas iuj ajn, kiuj uzas Python kun pakoj." #: ../source/contribute.rst:204 msgid "" @@ -304,6 +370,9 @@ msgid "" "share your age, gender, education, culture, and more, but they deserve to " "learn about packaging just as much as you do." msgstr "" +"Ne forgesu, ke la Python-komunumo estas granda kaj bonveniga. Legantoj ne " +"povas havi la saman aĝon, sekson, edukon, kulturon ktp kiel vi, sed ili " +"meritas lerni pakadon tiel, kiel vi." #: ../source/contribute.rst:208 msgid "" @@ -311,6 +380,9 @@ msgid "" "themselves as programmers. The audience of this guide includes astronomers " "or painters or students as well as professional software developers." msgstr "" +"Aparte notu, ke ne ĉiuj, kiuj uzas Python, rigardas sin kiel programistojn. " +"La legandaro de ĉi tiu gvidilo inkluzivas astronomojn, pentristojn kaj " +"lernantojn kune kun profesiaj programistoj." #: ../source/contribute.rst:214 msgid "Voice and tone" @@ -321,6 +393,8 @@ msgid "" "When writing this guide, strive to write with a voice that's approachable " "and humble, even if you have all the answers." msgstr "" +"Dum verkado de tiu gvidilo, klopodu skribi kun voĉo amikeca kaj humila, eĉ " +"se vi scias ĉion." #: ../source/contribute.rst:219 msgid "" @@ -329,6 +403,10 @@ msgid "" "person has asked you a question and you know the answer. How do you respond? " "*That* is how you should write this guide." msgstr "" +"Imagu, ke vi laboras pri Python-projekto kun iu inteligenta kaj sperta. Vi " +"ŝatas labori kun tiu, kaj tiu ŝatas labori kun vi. Tiu ulo demandis al vi, " +"kaj vi scias la respondon. Kiel vi respondus? Jen *tiel* vi verku ĉi tiun " +"gvidilon." #: ../source/contribute.rst:224 msgid "" @@ -339,6 +417,10 @@ msgid "" "hereby granted permission to end a sentence in a preposition, if that's what " "you want to end it with." msgstr "" +"Jen rapida kontrolo: provu laŭtlegi por senti la voĉon kaj tonon de via " +"verkaĵo. Ĉu ĝi similas ion, kion vi dirus, aŭ similas aktoraĵon aŭ prelegon? " +"Se tio plaĉas al vi, uzu malformalan lingvaĵon kaj ignoru trostriktajn " +"gramatikajn regulojn." #: ../source/contribute.rst:231 msgid "" @@ -347,10 +429,13 @@ msgid "" "joke, but if you're covering a sensitive security recommendation, you might " "want to avoid jokes altogether." msgstr "" +"Dum verkado de la gvidilo, adaptu vian tonon por la graveco kaj malfacileco " +"de la temo. Se vi verkas enkondukan lernilon, estas bone ŝerci, sed se vi " +"diskutas gravan rekomendon pri sekureco, vi eble volas eviti ŝercojn entute." #: ../source/contribute.rst:238 msgid "Conventions and mechanics" -msgstr "" +msgstr "Konvencioj kaj meĥaniko" #: ../source/contribute.rst:246 msgid "**Write to the reader**" @@ -387,6 +472,9 @@ msgid "" "you're going to make assumptions, then say what assumptions that you're " "going to make." msgstr "" +"Evitu nedeklaritajn supozojn. Je Interreta legado, iu ajn paĝo de la gvidilo " +"povas esti la unua paĝo vidata de leganto. Se vi supozas ion, do klarigu " +"tiujn supozojn." #: ../source/contribute.rst:257 msgid "**Cross-reference generously**" @@ -398,6 +486,8 @@ msgid "" "that covers it, or link to a relevant document elsewhere. Save the reader a " "search." msgstr "" +"La unuan fojon vi mencias ilon aŭ praktikon, ligu al la parto de la gvidilo " +"pri ĝi aŭ al signifa dokumento aliloka. Ne serĉigu la leganton." #: ../source/contribute.rst:267 msgid "**Respect naming practices**" @@ -442,15 +532,15 @@ msgstr "" #: ../source/contribute.rst:0 msgid "Wrong: A maintainer uploads the file. Then he…" -msgstr "" +msgstr "Malĝuste: Mastrumanto alŝutas la dosieron. Poste li…" #: ../source/contribute.rst:0 msgid "Right: A maintainer uploads the file. Then they…" -msgstr "" +msgstr "Ĝuste: Mastrumanto alŝutas la dosieron. Poste ŝ/li…" #: ../source/contribute.rst:0 msgid "Right: A maintainer uploads the file. Then the maintainer…" -msgstr "" +msgstr "Ĝuste: Mastrumanto alŝutas la dosieron. Poste la mastrumanto…" #: ../source/contribute.rst:288 msgid "**Headings**" @@ -463,12 +553,18 @@ msgid "" "reader might want to know *How do I install MyLibrary?* so a good heading " "might be *Install MyLibrary*." msgstr "" +"Verku titolojn uzante tiujn vortojn, kiujn la leganto serĉas. Bona maniero " +"fari tion estas kompletigi implicitan demandon. Ekzemple, leganto eble volas " +"scii: *Kiel mi instalu MiaBiblioteko?* Tiel, bona ebla titolo estas *Instali " +"MiaBiblioteko*." #: ../source/contribute.rst:284 msgid "" "In section headings, use sentence case. In other words, write headings as " "you would write a typical sentence." msgstr "" +"En paragrafaj titoloj, uzu frazan usklon. Alivorte, skribu titolojn tiel, " +"kiel vi skribus ordinaran frazon." #: ../source/contribute.rst:0 msgid "Wrong: Things You Should Know About Python" @@ -487,10 +583,12 @@ msgid "" "In body text, write numbers one through nine as words. For other numbers or " "numbers in tables, use numerals." msgstr "" +"En alineo, skribo la nombrojn unu ĝis naŭ kiel vortojn. Por aliaj nombroj aŭ " +"nombroj en tabeloj, uzu ciferojn." #: ../source/discussions/deploying-python-applications.rst:4 msgid "Deploying Python applications" -msgstr "" +msgstr "Disponigi Python-programojn" #: ../source/discussions/deploying-python-applications.rst:0 #: ../source/discussions/single-source-version.rst:0 @@ -525,7 +623,7 @@ msgstr "Laste reviziita" #: ../source/discussions/deploying-python-applications.rst:7 msgid "2021-8-24" -msgstr "" +msgstr "24 Aŭgusto 2021" #: ../source/discussions/deploying-python-applications.rst:11 #: ../source/specifications/externally-managed-environments.rst:130 @@ -535,7 +633,7 @@ msgstr "Superrigardo" #: ../source/discussions/deploying-python-applications.rst:15 msgid "Supporting multiple hardware platforms" -msgstr "" +msgstr "Subtenante plurajn aparatajn platformojn" #: ../source/discussions/deploying-python-applications.rst:37 msgid "OS packaging & installers" @@ -559,6 +657,12 @@ msgid "" "tool downloads the specified Python-interpreter for Windows and packages it " "with all the dependencies in a single Windows-executable installer." msgstr "" +"`Pynsist `__ estas ilo faskiganta Python-" +"programon kune kun la Python -interpretilo en unu instalilon uzantan NSIS. " +"Plej ofte, pakado nur postulas elekti version de la Python-interpretilo kaj " +"deklari la dependencojn de la programo. La ilo elŝutas la specifitan Python-" +"interpretilon por Windows kaj pakas ĝin kune kun ĉiuj dependaĵoj en unu " +"Windows-ruleblan instalilon." #: ../source/discussions/deploying-python-applications.rst:67 msgid "" @@ -567,6 +671,9 @@ msgid "" "application directory, independent of any other Python installation on the " "computer." msgstr "" +"La instalita programo estas lanĉebla per lanĉilo aldonita de la instalilo al " +"la startmenuo. Ĝi uzas Python-interpretilon instalitan ene de ĝia programa " +"dosierujo, sendependan de aliaj Python-instalaĵoj sur la komputilo." #: ../source/discussions/deploying-python-applications.rst:71 msgid "" @@ -575,6 +682,10 @@ msgid "" "GUI) in the :any:`documentation `. The tool is released under " "the MIT-licence." msgstr "" +"Granda avantaĝo de Pynsist estas, ke la Windows-pakoj estas konstrueblaj sur " +"Linux. Ekzistas pluraj ekzemploj por diversaj specoj de programoj (konzolaj, " +"grafikfasadaj) en la :any:`dokumentaro `. La ilo estas sub la " +"licenco MIT." #: ../source/discussions/deploying-python-applications.rst:77 msgid "Application bundles" @@ -595,6 +706,15 @@ msgid "" "supported. The distutils extension is released under the MIT-licence and " "Mozilla Public License 2.0." msgstr "" +"`py2exe `__ estas etendaĵo de distutils, " +"kiu ebligas konstrui memstarajn Windows-programojn (32-bitajn aŭ 64-bitajn) " +"el Python-programoj. Versioj de Python inkluzivitaj en la oficiala evolua " +"ciklo estas subtenata (vidu `Staton de la branĉoj de Python `__). py2exe povas konstrui konzolajn programojn kaj " +"fenestrajn (grafikfasadajn) programojn. Konstruado de servoj por Windows kaj " +"servoj DLL/EXE COM eble funkcios, sed tio ne estas aktive subtenata. La " +"etendaĵo de distutils estas disponebla sub la Licenco MIT kaj la Mozilla " +"Public License 2.0." #: ../source/discussions/deploying-python-applications.rst:103 msgid "macOS" @@ -612,15 +732,20 @@ msgid "" "applications, it cannot create Mac applications on other platforms. py2app " "is released under the MIT-license." msgstr "" +"`py2app `__ estas komando por Python " +"setuptools, kiu ebligas fari aŭtonoman programfaskon aŭ kromprogramon por " +"macOS el Python-programon. Notu, ke py2app DEVAS esti uzita sur macOS por " +"konstrui; ĝi ne povas krei Mac-programojn sur aliaj platformoj. py2app uzas " +"la licencon MIT." #: ../source/discussions/deploying-python-applications.rst:115 msgid "Unix (including Linux and macOS)" -msgstr "" +msgstr "Unikso (inkluzive de Linux kaj macOS)" #: ../source/discussions/deploying-python-applications.rst:118 #: ../source/key_projects.rst:576 msgid "pex" -msgstr "" +msgstr "pex" #: ../source/discussions/deploying-python-applications.rst:120 msgid "" @@ -632,6 +757,13 @@ msgid "" "meaning that a single pex file can be portable across Linux and macOS. pex " "is released under the Apache License 2.0." msgstr "" +"`pex `__ estas biblioteko por generi .pex-" +"dosieron (Python EXecutable), kiu estas rulebla Python-medio simile al " +"virtualenv. pex estas plivastigo de la ideoj en :pep:`441` kaj igas la " +"disponigon de Python-programojn tiel facila kiel cp. pex-dosiero povas eĉ " +"inkluzivi plurajn platformspecifajn Python-distribuojn; tial, unu pex-" +"dosiero povas esti portebla inter Linux kaj macOS. pex uzas la Apache-" +"Licencon 2.0." #: ../source/discussions/deploying-python-applications.rst:129 msgid "Configuration management" @@ -639,7 +771,7 @@ msgstr "Administrado de agordoj" #: ../source/discussions/distribution-package-vs-import-package.rst:5 msgid "Distribution package vs. import package" -msgstr "" +msgstr "Distribua pako kaj importa pako" #: ../source/discussions/distribution-package-vs-import-package.rst:7 msgid "" @@ -648,12 +780,13 @@ msgid "" "related meanings in Python packaging, \"distribution package\" and \"import " "package\"." msgstr "" +"La vorto «pako» signifas plurajn malsamajn konceptoj. Jen paĝo klariganta la " +"diferencojn inter la du malsamaj sed rilataj signifoj je Python-pakado, " +"«distribua pako» kaj «importa pako»." #: ../source/discussions/distribution-package-vs-import-package.rst:13 -#, fuzzy -#| msgid "Source Distributions vs Wheels" msgid "What's a distribution package?" -msgstr "Fonto-Distribuoj kontraste kun Wheel-oj" +msgstr "Kio estas distribua pako?" #: ../source/discussions/distribution-package-vs-import-package.rst:15 msgid "" @@ -666,6 +799,13 @@ msgid "" "Alternatively, the term \"distribution package\" can be used to refer to a " "specific file that contains a certain version of a project." msgstr "" +"Distribua pako estas instalebla peco da programaro. Plej ofte, tio estas " +"sinonima al «projekto». Kiam vi tajpas ``pip install pako``, aŭ kiam vi " +"skribas ``dependencies = [\"pako\"]`` en via ``pyproject.toml``, ``pako`` " +"estas la nomo de distribua pako. Kiam vi serĉas aŭ foliumas PyPI_, la plej " +"vaste konata fonto por instali Python-bibliotekojn kaj ilojn, vi vidas " +"liston da distribuaj pakoj. Alternative, la termino «distribua pako» povas " +"signifi specifan dosieron enhavantan specifan version de projekto." #: ../source/discussions/distribution-package-vs-import-package.rst:24 msgid "" @@ -674,12 +814,13 @@ msgid "" "by the system package manager of the `Linux distribution `_, which " "is a different meaning." msgstr "" +"Notu, ke en la mondo de Linux, «distribua pako» aŭ simple «pako» estas io " +"provizata de la sistema pakadministrilo de la `Linux-distribuo `_, " +"kio estas alia signifo." #: ../source/discussions/distribution-package-vs-import-package.rst:31 -#, fuzzy -#| msgid "and import the package:" msgid "What's an import package?" -msgstr "kaj enportu la pakon:" +msgstr "Kio estas importa pako?" #: ../source/discussions/distribution-package-vs-import-package.rst:33 msgid "" @@ -691,16 +832,25 @@ msgid "" "is a directory on the file system, containing modules as ``.py`` files and " "subpackages as subdirectories." msgstr "" +"Importa pako estas Python-modulo. Tiel, kiam vi skribas ``import pako`` aŭ " +"``from pako import funk`` en via Python-kodo, ``pako`` estas la nomo de " +"importa pako. Pli precize, importa pako estas speciala Python-modulo, kiu " +"povas enhavi submodulojn. Ekzemple, la pako ``numpy`` enhavas modulojn kiel " +"``numpy.linalg`` kaj ``numpy.fft``. Ordinare, importa pako estas dosierujo " +"en la dosiersistemo, enhavanta modulojn kiel ``.py``-dosierojn kaj subpakojn " +"kiel subdosierujojn." #: ../source/discussions/distribution-package-vs-import-package.rst:42 msgid "" "You can use an import package as soon as you have installed a distribution " "package that provides it." msgstr "" +"Vi povas uzi importan pakon tuj, kiam vi instalis distribuan pakon " +"provizanta ĝin." #: ../source/discussions/distribution-package-vs-import-package.rst:47 msgid "What are the links between distribution packages and import packages?" -msgstr "" +msgstr "Kiel ligiĝas distribuaj pakoj kaj importaj pakoj?" #: ../source/discussions/distribution-package-vs-import-package.rst:49 msgid "" @@ -708,6 +858,9 @@ msgid "" "(or non-package module), with a matching name. For example, ``pip install " "numpy`` lets you ``import numpy``." msgstr "" +"Plej ofte, distribua pako provizas nur unu importan pakon (aŭ ne-pakan " +"modulon), kun la sama nomo. Ekzemple, ``pip install numpy`` ebligas vin " +"skribi ``import numpy``." #: ../source/discussions/distribution-package-vs-import-package.rst:53 msgid "" @@ -717,6 +870,10 @@ msgid "" "blindly install the PyPI package ``foo`` if you see ``import foo``; this may " "install an unintended, and potentially even malicious package.)" msgstr "" +"Tamen, tio estas nur konvencia. PyPI kaj aliaj pakindeksoj *ne devigas ajnan " +"rilaton* inter la nomo de distribua pako kaj la importaj pakoj provizataj de " +"ĝi. (Tial, vi ne simple instalu la PyPI-pakon ``pako``, se vi vidas ``import " +"pako``; tio eble instalos neintencitan aŭ eĉ malican pakon.)" #: ../source/discussions/distribution-package-vs-import-package.rst:59 msgid "" @@ -729,6 +886,14 @@ msgid "" "generally, a fork of an existing library is a common reason for differing " "names between the distribution package and the import package." msgstr "" +"Distribua pako povas provizi importan pakon de alia nomo. Ekzemple, " +"konsideru la popularan bibliotekon Pillow_ por pritraktado de bildoj. La " +"nomo de ĝia distribua pako estas ``Pillow``, sed ĝi provizas la importan " +"pakon ``PIL``. Tio estas pro historiaj kialoj: Pillow komenciĝis kiel forko " +"de la biblioteko PIL kaj retenis la importan nomon ``PIL``, por ke " +"ekzistantaj uzantoj de PIL povas ekuzi Pillow senŝanĝe. Pli ĝenerale, " +"forkado de ekzistanta biblioteko estas ofta kialo por malsamaj nomoj inter " +"la distribua pako kaj la importa pako." #: ../source/discussions/distribution-package-vs-import-package.rst:69 msgid "" @@ -737,6 +902,10 @@ msgid "" "packages with the same name can be provided by several distribution " "packages. Again, forks are a common reason for this." msgstr "" +"En iu pakindekso (kiel PyPI), la nomoj de distribuaj pakoj devas esti " +"unikaj. Tamen, neniu simila devo ekzistas por la nomoj de importaj pakoj. " +"Pluraj distribuaj pakoj povas provizi importajn pakojn de la sama nomo. " +"Forkado estas ofta kialo pri tio." #: ../source/discussions/distribution-package-vs-import-package.rst:74 msgid "" @@ -745,10 +914,14 @@ msgid "" "which provides both an ``attrs`` import package with a newer API, and an " "``attr`` import package with an older but supported API." msgstr "" +"Male, distribua pako povas provizi plurajn importajn pakojn, kvankam tio " +"maloftas. Ekzemple, la distribua pako attrs_ provizas kaj importan pakon " +"``attrs`` de pli nova API kaj importan pakon ``attr`` de pli malnova sed " +"subtenata API." #: ../source/discussions/distribution-package-vs-import-package.rst:81 msgid "How do distribution package names and import package names compare?" -msgstr "" +msgstr "Kiel komparas nomo de distribua pako kaj nomo de importa pako?" #: ../source/discussions/distribution-package-vs-import-package.rst:83 msgid "" @@ -757,6 +930,10 @@ msgid "" "[#non-identifier-mod-name]_. In particular, they use underscores ``_`` as " "word separator and they are case-sensitive." msgstr "" +"La nomo de importa pako devas esti validan identigilon de Python (la :ref:" +"`precizaj reguloj ` troviĝas en la dokumentaro de " +"Python) [#non-identifier-mod-name]_. Speciale, ĝi uzas substrekojn ``_`` " +"kiel vortapartigilojn kaj estas usklecdistinga." #: ../source/discussions/distribution-package-vs-import-package.rst:88 msgid "" @@ -768,6 +945,13 @@ msgid "" "``pip install awesome-package`` (the precise rules are given in the :ref:" "`name normalization specification `)." msgstr "" +"Aliflanke, nomo de distribua pako povas enhavi streketon ``-`` aŭ substrekon " +"``_`` kaj ankaŭ povas enhavi punkton ``.``, kiu estas kelkfoje uzata por " +"paki subpakon de :ref:`nomspaca pako `. Por " +"plej multaj celoj, ĝi estas usklecoblinda kaj al la diferenco inter ``-`` " +"kaj ``_``. Ekzemple, ``pip install Bonega_Pako`` estas sama kiel ``pip " +"install bonega-pako`` (la precizaj reguloj troviĝas en la :ref:`specifo pri " +"normigo de nomoj `)." #: ../source/discussions/distribution-package-vs-import-package.rst:101 msgid "" @@ -775,6 +959,9 @@ msgid "" "have a valid Python identifier as their name, using :doc:`importlib `, this is vanishingly rare and strongly discouraged." msgstr "" +"Kvantam teĥnike eblas importi pakon/modulon, kies nomo ne estas valida " +"Python-identigilo, per :doc:`importlib `, tio " +"estas maloftega kaj malrekomendegata." #: ../source/discussions/index.rst:4 msgid "" @@ -782,6 +969,8 @@ msgid "" "specific topic. If you're just trying to get stuff done, see :doc:`/guides/" "index`." msgstr "" +"**Diskutoj** celas provizi plenajn informojn pri specifa temo. Se vi nur " +"volas eklabori, legu :doc:`/guides/index`." #: ../source/discussions/install-requires-vs-requirements.rst:5 msgid "install_requires vs requirements files" @@ -798,23 +987,31 @@ msgid "" "correctly. When the project is installed by :ref:`pip`, this is the " "specification that is used to install its dependencies." msgstr "" +"``install_requires`` estas ŝlosilvorto de :ref:`setuptools` en :file:`setup." +"py` kiu specifas la *minimumon* necesan por rulado de projekto. Kiam la " +"projekto estas instalata de :ref:`pip`, ĝi estas la specifo uzatan por " +"instali la dependaĵojn." #: ../source/discussions/install-requires-vs-requirements.rst:16 msgid "" "For example, if the project requires A and B, your ``install_requires`` " "would be like so:" msgstr "" +"Ekzemple, se la projekto postulas A kaj B, via ``install_requires`` estos " +"jena:" #: ../source/discussions/install-requires-vs-requirements.rst:26 msgid "" "Additionally, it's best practice to indicate any known lower or upper bounds." -msgstr "" +msgstr "Cetere, bone estas specifi ajnan konatan malsupran aŭ supran limojn." #: ../source/discussions/install-requires-vs-requirements.rst:28 msgid "" "For example, it may be known, that your project requires at least v1 of 'A', " "and v2 of 'B', so it would be like so:" msgstr "" +"Ekzemple, eble vi scias, ke via projekto postulas almenaŭ v1 de «A»k aj v2 " +"de «B», jene:" #: ../source/discussions/install-requires-vs-requirements.rst:38 msgid "" @@ -822,6 +1019,9 @@ msgid "" "breaks the compatibility of your project with v2 of 'A' and later, so it " "makes sense to not allow v2:" msgstr "" +"Oni eble ankaŭ scias, ke projekto «A» enkondukis ŝanĝon en sia versio 2 " +"rompantan la kongruecon de onia projekton kun versio 2 aŭ posta de «A», kaj " +"tial volas malpermesi version 2:" #: ../source/discussions/install-requires-vs-requirements.rst:49 msgid "" @@ -830,6 +1030,9 @@ msgid "" "dependencies of your dependencies). This is overly-restrictive, and " "prevents the user from gaining the benefit of dependency upgrades." msgstr "" +"Ne estas bona praktiko uzi ``install_requires`` por alpingli dependaĵojn al " +"specifaj versioj aŭ specifi subdependaĵojn (dependaĵojn de dependaĵo). Tio " +"estas tro strikta kaj malhelpas ĝisdatigon de dependaĵoj." #: ../source/discussions/install-requires-vs-requirements.rst:54 msgid "" @@ -851,6 +1054,8 @@ msgid "" ":ref:`Requirements Files ` described most simply, " "are just a list of :ref:`pip:pip install` arguments placed into a file." msgstr "" +":ref:`Postulo-Dosiero `, plej simple, estas listo de " +"argumentoj al :ref:`pip:pip install` en dosiero." #: ../source/discussions/install-requires-vs-requirements.rst:67 msgid "" @@ -858,6 +1063,9 @@ msgid "" "ref:`Requirements Files ` are often used to define " "the requirements for a complete Python environment." msgstr "" +"Dum ``install_requires`` difinas dependecojn de unu projekto, :ref:`Postulo-" +"Dosiero ` ofte difinas la postulojn pri plena Python-" +"medio." #: ../source/discussions/install-requires-vs-requirements.rst:71 msgid "" @@ -882,24 +1090,29 @@ msgid "" "during an install, requirements files are not, and only are used when a user " "specifically installs them using ``python -m pip install -r``." msgstr "" +"Dum metadatenoj de ``install_requires`` estas aŭtomate analizitaj far pip " +"dum instalado, postulo-dosieroj ne estas, kaj nur estas uzataj, kiam oni " +"specife instalas per ``python -m pip install -r``." #: ../source/discussions/install-requires-vs-requirements.rst:88 msgid "" "For more on \"Abstract\" vs \"Concrete\" requirements, see https://caremad." "io/posts/2013/07/setup-vs-requirement/." msgstr "" +"Por pli pri «abstraktaj» kaj «konkretaj» postuloj, legu https://caremad.io/" +"posts/2013/07/setup-vs-requirement/." #: ../source/discussions/package-formats.rst:5 -#, fuzzy -#| msgid "Package version" msgid "Package Formats" -msgstr "Versio de pako" +msgstr "Pakaj formoj" #: ../source/discussions/package-formats.rst:7 msgid "" "This page discusses the file formats that are used to distribute Python " "packages and the differences between them." msgstr "" +"Jen paĝo pri la dosierformoj uzataj por distribui Python-pakojn kaj la " +"diferencojn inter ili." #: ../source/discussions/package-formats.rst:10 msgid "" @@ -912,12 +1125,18 @@ msgid "" "publishing a package on PyPI (or elsewhere), you should always upload both " "an sdist and one or more wheel." msgstr "" +"Ekzistas dosieroj en du formoj en pakindicoj kiel PyPI_: **fontaj " +"distribuoj** (anglalingve mallonge **sdist**) kaj **duumaj distribuoj**, " +"ofte konata kiel **wheel**. Ekzemple, la `paĝo ĉe PyPI por pip 23.3.1 `_ provizas du dosierojn, ``pip-23.3.1.tar.gz`` kaj ``pip-23.3.1-py3-" +"none-any.whl``. La unua estas fonta distribuo; la dua estas wheel. Kiel " +"klarigite ĉi-sube, tiuj du servas malsamajn celojn. Kiam vi eldonas pakon ĉe " +"PyPI (aŭ aliloke), vi ĉiam elŝutu fontan distribuon kaj unu aŭ pluraj wheel-" +"o(j)n." #: ../source/discussions/package-formats.rst:21 -#, fuzzy -#| msgid "Source Distributions vs Wheels" msgid "What is a source distribution?" -msgstr "Fonto-Distribuoj kontraste kun Wheel-oj" +msgstr "Kio estas fonta distribuo?" #: ../source/discussions/package-formats.rst:23 msgid "" @@ -929,6 +1148,13 @@ msgid "" "INFO`` file follows the format specified in :ref:`core-metadata` and is not " "intended to be written by hand [#core-metadata-format]_." msgstr "" +"Koncepte, fonta distribuo estas arĥivo de la fontkodo en kruda formo. " +"Konkrete, fonta distribuo estas ``.tar.gz``-arĥivo enhavanta la fontkodon " +"kun plia speciala dosiero nomita ``PKG-INFO``, kiu enhavas la projektajn " +"metadatenojn. La ĉeesto de tiu dosiero helpas plirapidigi pakilojn, ĉar ne " +"necesas rekomputi la metadatenojn. La dosiero ``PKG-INFO`` sekvas la formon " +"specifitan en :ref:`core-metadata` kaj ne estas malaŭtomate verkinda [#core-" +"metadata-format]_." #: ../source/discussions/package-formats.rst:31 msgid "" @@ -937,6 +1163,10 @@ msgid "" "(like Linux and macOS), or :ref:`the command line interface of Python's " "tarfile module ` on any platform." msgstr "" +"Tial, vi povas inspekti la enhavon de fonta distribuo maldensigante ĝin per " +"normaj enarĥivigiloj kiel ``tar -xvf`` ĉe Unikso (kiel Linux kaj macOS) aŭ :" +"ref:`la komandlinia interfaco de la Python-modulo tarfile ` ĉe ajna platformo." #: ../source/discussions/package-formats.rst:36 msgid "" @@ -948,28 +1178,41 @@ msgid "" "Homebrew and MacPorts on macOS, ...), who, for various reasons, may prefer " "them over, e.g., pulling from a Git repository." msgstr "" +"Fonta distribuo servas plurajn celojn en la pakada ekosistemo. Kiam :ref:" +"`pip`, la norma Python-pakinstalilo, ne povas trovi instaleblan wheel, ĝi " +"elŝutos fontan distribuon, konstruos wheel de ĝi, kaj instalos la wheel. " +"Krome, fonta distribuo ofte estas uzata kiel la paka fonto far subpakantoj " +"(kiel ekzemple Linux-distribuoj, Conda, Homebrew kaj MacPorts sur macOS, " +"…) , kiuj, pro diversaj kialoj, eble preferas fontan distribuon ol interalie " +"la Git-deponejon." #: ../source/discussions/package-formats.rst:44 msgid "" "A source distribution is recognized by its file name, which has the form :" "samp:`{package_name}-{version}.tar.gz`, e.g., ``pip-23.3.1.tar.gz``." msgstr "" +"Fonta distribuo estas rekonata per ĝia dosiernomo de la formo :samp:" +"`{paknomo}-{versio}.tar.gz`, ekz. ``pip-23.3.1.tar.gz``." #: ../source/discussions/package-formats.rst:50 msgid "" "If you want technical details on the sdist format, read the :ref:`sdist " "specification `." msgstr "" +"Se vi deziras teĥnikajn detalojn pri la fontdistribua dosierformo, legu :ref:" +"`la specifon pri fontaj distribuoj `." #: ../source/discussions/package-formats.rst:55 msgid "What is a wheel?" -msgstr "" +msgstr "Kio estas wheel?" #: ../source/discussions/package-formats.rst:57 msgid "" "Conceptually, a wheel contains exactly the files that need to be copied when " "installing the package." msgstr "" +"Koncepte, wheel enhavas precize tiujn dosierojn, kiuj devas esti kopiitaj " +"dum instalado de la pako." #: ../source/discussions/package-formats.rst:60 msgid "" @@ -980,6 +1223,12 @@ msgid "" "files) but compiled, executable code (like ``.so`` files on Linux or DLLs on " "Windows)." msgstr "" +"Ekzistas granda diferenco inter fontaj distribuoj kaj wheel-oj por pakoj " +"kun :term:`etendaj moduloj `, verkitaj en tradukendaj " +"lingvoj kiel C, C++ kaj Rust, kiuj devas esti tradukitaj al " +"platformodependaj maŝinkodoj. Je tia pako, wheel ne enhavas fontkodon (kiel " +"C-fontdosieron), sed enhavas tradukitan, ruleblan kodon (kiel la ``.so``-" +"dosierojn ĉe Linux aŭ DLL ĉe Windows)." #: ../source/discussions/package-formats.rst:66 msgid "" @@ -998,6 +1247,10 @@ msgid "" "versions. Python is an interpreted language, which does not need ahead-of-" "time compilation, so wheels contain ``.py`` files just like sdists." msgstr "" +"Por pure-Python-a pako, la diferenco inter fonta distribuo kaj wheel estas " +"malpli markita. Estas ordinare unu rado, por ĉiuj platformoj kaj Python-" +"versioj. Python estas interpretata lingvo ne bezonanta antaŭan tradukadon; " +"tial wheel enhavas nur ``.py``-dosierojn, same kiel fonta distribuo." #: ../source/discussions/package-formats.rst:77 msgid "" @@ -1007,6 +1260,10 @@ msgid "" "Python version instead of one single wheel. Instead, installers like :ref:" "`pip` generate them while installing the package." msgstr "" +"Se vi scivolas pri bajtkodaj ``.pyc``-dosieroj, ili ne inkluziviĝas en " +"wheel, ĉar ili estas facile generebla, kaj inkluzivi ilin nenecese estigus " +"po unu wheel por ĉiu Python-versio por multaj pakoj, anstataŭ ununura pako. " +"Anstataŭe, instalilo kiel :ref:`pip` generas ilin dum instalado de la pako." #: ../source/discussions/package-formats.rst:83 msgid "" @@ -1033,6 +1290,16 @@ msgid "" "for your users, since a wheel is directly installable. By only including " "files that must be installed, wheels also make for smaller downloads." msgstr "" +"Vi eble scivolas, ĉu wheel estas vere necesa por «simpla kaj baza» pure " +"Python-a projekto. Pro la fleksebleco de fonta distribuo, instalilo kiel pip " +"ne povas rekte instali fontan distribuon – ĝi devas unue konstrui wheel per :" +"term:`konstrua malfasado ` specifita de la fonta distribuo " +"(la konstrua malfasado povas ĉiel transformi konstruante la wheel, kiel " +"ekzemple traduki C-etendaĵojn). Tial, eĉ por pure Python-a projekto, vi ĉiam " +"alŝutu kaj fontan distribuon kaj wheel al PyPI aŭ alia pakindekso. Tio multe " +"plirapidigas instaladon por uzantoj, ĉar wheel estas rekte instalebla. " +"Inkluzivante nur instalendajn dosierojn, wheel ankaŭ estas malpli granda por " +"elŝuti." #: ../source/discussions/package-formats.rst:102 msgid "" @@ -1043,6 +1310,12 @@ msgid "" "interface of Python's zipfile module `. This can " "be very useful to check that the wheel includes all the files you need it to." msgstr "" +"Teĥnike, wheel estas ZIP-arĥivo (malkiel fonta distribuo, kiu estas TAR-" +"arĥivo). Oni povas inspekti la enhavojn malpakante ĝin kiel ordinaran ZIP-" +"arĥivon, ekz., per ``unzip`` sur Uniksaj platformoj kiel Linux kaj macOS, " +"``Expand-Archive`` en Powershell sur Windows aŭ :ref:`la komandlinia fasado " +"de la modulo zipfile de Python `. Tio povas esti " +"utilega por kontroli, ĉu rado inkluzivas ĉiujn dosierojn bezonatajn." #: ../source/discussions/package-formats.rst:109 msgid "" @@ -1061,6 +1334,11 @@ msgid "" "the wheel is compatible with. For example, the name ``pip-23.3.1-py3-none-" "any.whl`` means that:" msgstr "" +"La dosiernomo de wheel (ignorante kelkajn maloftajn trajtojn) aspektas " +"jene: :samp:`{nomo_de_pako}-{versio}-{python_etikedo}-{abi_etikedo}-" +"{platforma_etikedo}.whl`. Tiu nomada konvencio identigas tiujn platformojn " +"kaj Python-versiojn, kun kiuj la wheel kongruas. Ekzemple, la nomo " +"``pip-23.3.1-py3-none-any.whl`` signifas la jenon:" #: ../source/discussions/package-formats.rst:121 msgid "" @@ -1068,30 +1346,38 @@ msgid "" "whether CPython, the most widely used Python implementation, or an " "alternative implementation like PyPy_;" msgstr "" +"(``py3``) Ĉi tiu wheel estas instalebla sur ajna realigo de Python 3, ĉu " +"CPython, la plej ĝenerale uzata realigo de Python, aŭ alternativa realigo " +"kiel PyPy_;" #: ../source/discussions/package-formats.rst:124 msgid "(``none``) It does not depend on the Python version;" -msgstr "" +msgstr "(``none``) Ĝi ne dependas de la versio de Python;" #: ../source/discussions/package-formats.rst:125 msgid "(``any``) It does not depend on the platform." -msgstr "" +msgstr "(``any``) Ĝi ne dependas de la platformo." #: ../source/discussions/package-formats.rst:127 msgid "" "The pattern ``py3-none-any`` is common for pure Python projects. Packages " "with extension modules typically ship multiple wheels with more complex tags." msgstr "" +"La patroneo ``py3-none-any`` estas ofta por puraj Python-projektoj. Pakoj " +"kun etendaĵaj moduloj ofte eldonas plurajn wheel-ojn de pli komplikaj " +"etikedoj." #: ../source/discussions/package-formats.rst:130 msgid "" "All technical details on the wheel format can be found in the :ref:`wheel " "specification `." msgstr "" +"Ĉiaj teknikaj detaloj pri la dosierformo wheel troviĝas en la :ref:`specifo " +"pri wheel `." #: ../source/discussions/package-formats.rst:138 msgid "What about eggs?" -msgstr "" +msgstr "Kio pri egg?" #: ../source/discussions/package-formats.rst:140 msgid "" @@ -1099,22 +1385,29 @@ msgid "" "format. It should not be used anymore. Since August 2023, PyPI `rejects egg " "uploads `_." msgstr "" +"«Egg» estas malnova pakformo anstataŭigita per la formo wheel. Ĝi ne plu " +"estu uzata. Ekde la Aŭgusto de 2023, PyPI `malakceptas alŝuton de egg `_." #: ../source/discussions/package-formats.rst:144 msgid "Here's a breakdown of the important differences between wheel and egg." -msgstr "" +msgstr "Jen la gravaj diferencoj inter wheel kaj egg." #: ../source/discussions/package-formats.rst:146 msgid "" "The egg format was introduced by :ref:`setuptools` in 2004, whereas the " "wheel format was introduced by :pep:`427` in 2012." msgstr "" +"La formo egg estis enkondukita de :ref:`setuptools` en 2004, dum la formo " +"wheel estis enkondukita de :pep:`427` en 2012." #: ../source/discussions/package-formats.rst:149 msgid "" "Wheel has an :doc:`official standard specification `. Egg did not." msgstr "" +"Wheel havas :doc:`oficialan norman specifon `. Specifo ne ekzistis pri Egg." #: ../source/discussions/package-formats.rst:152 msgid "" @@ -1123,6 +1416,9 @@ msgid "" "and a runtime installation format (if left zipped), and was designed to be " "importable." msgstr "" +"Wheel estas :term:`distribua ` formo, alivorte pakada " +"formo. [#wheel-importable]_ Egg estis kaj distribua formo kaj rultempa " +"instala formo (se ĝi restis zip-densigita) kaj estis intence importebla." #: ../source/discussions/package-formats.rst:156 msgid "" @@ -1132,12 +1428,18 @@ msgid "" "\"universal\", similar to an :term:`sdist `." msgstr "" +"Wheel-arĥivo ne inkluzivas ``.pyc``-dosierojn. Tial, se la distribuo nur " +"enhavas Python-dosierojn (kaj ne tradukitajn etendaĵojn), kaj kongruas kun " +"Python 2 kaj 3, ĝi povas esti «universala» simile al :term:`fonta distribuo " +"`." #: ../source/discussions/package-formats.rst:161 msgid "" "Wheel uses standard :ref:`.dist-info directories `. Egg used ``.egg-info``." msgstr "" +"Wheel uzas la norman :ref:`dosierujon .dist-info `. Egg uzis ``.egg-info``." #: ../source/discussions/package-formats.rst:164 msgid "" @@ -1145,12 +1447,17 @@ msgid "" "single wheel archive can indicate its compatibility with a number of Python " "language versions and implementations, ABIs, and system architectures." msgstr "" +"Wheel havas :ref:`pli riĉan dosiernoman konvencion `. " +"Unu wheel-arĥivo povas indiki sian kongruecon kun pluraj versioj de la " +"lingvo Python, de realigoj de Python, de ABI-oj kaj de sistemaj arĥitekturoj." #: ../source/discussions/package-formats.rst:168 msgid "" "Wheel is versioned. Every wheel file contains the version of the wheel " "specification and the implementation that packaged it." msgstr "" +"Wheel estas versihava. Ĉiu wheel-dosiero enhavas la versiojn de la wheel-" +"specifo kaj la realigon pakinte ĝin." #: ../source/discussions/package-formats.rst:171 msgid "" @@ -1158,6 +1465,9 @@ msgid "" "org/2/library/sysconfig.html#installation-paths>`_, therefore making it " "easier to convert to other formats." msgstr "" +"Wheel estas interne organizita laŭ `dosierlokaj tipoj de sysconfig `_, " +"plifaciligante konverti ali aliaj formoj." #: ../source/discussions/package-formats.rst:177 msgid "" @@ -1188,6 +1498,10 @@ msgid "" "Index (PyPI)>` using requirement specifiers, and automatically installing " "dependencies." msgstr "" +":ref:`easy_install `, nun `evitinda `_, estis " +"eldonita en 2004 kiel parto de :ref:`setuptools`. Tiam, ĝi estis utila por " +"instali :term:`pakojn ` el :term:`PyPI ` uzante postulo-specifilojn kaj aŭtomate instali dependaĵojn." #: ../source/discussions/pip-vs-easy-install.rst:14 msgid "" @@ -1199,12 +1513,19 @@ msgid "" "introducing the idea of :ref:`Requirements Files `, " "which gave users the power to easily replicate environments." msgstr "" +":ref:`pip` venis poste en 2008, kiel alternativo al :ref:`easy_install " +"`, kvankam ĝi plejparte baziĝis sur la komponantoj del :ref:" +"`setuptools`. Tiutempe, ĝi notinde *ne* instalis pakon kiel :term:`Egg " +"` aŭ de :term:`Egg ` (sed simple kiel «platan» pakon de :term:" +"`fonta distribuo `), kaj enkondukis :ref:" +"`Postulo-Dosierojn `, ebligante uzanton facile " +"reprodukti mediojn." #: ../source/discussions/pip-vs-easy-install.rst:22 msgid "" "Here's a breakdown of the important differences between pip and the " "deprecated easy_install:" -msgstr "" +msgstr "Jen la gravaj diferencoj inter pip kaj la evitinda easy_install:" #: ../source/discussions/pip-vs-easy-install.rst:25 msgid "**pip**" @@ -1250,11 +1571,11 @@ msgstr "Jes (``python -m pip uninstall``)" #: ../source/discussions/pip-vs-easy-install.rst:32 msgid "Dependency Overrides" -msgstr "" +msgstr "Anstataŭigo de Dependeco" #: ../source/discussions/pip-vs-easy-install.rst:32 msgid "Yes (:ref:`Requirements Files `)" -msgstr "" +msgstr "Jes (:ref:`Postulo-Dosieroj `)" #: ../source/discussions/pip-vs-easy-install.rst:35 msgid "List Installed Packages" @@ -1278,7 +1599,7 @@ msgstr "Plata pako kun metadatenoj en :file:`egg-info`." #: ../source/discussions/pip-vs-easy-install.rst:41 msgid "Encapsulated Egg format" -msgstr "" +msgstr "Enkapsuligita Egg-formo" #: ../source/discussions/pip-vs-easy-install.rst:44 msgid "sys.path modification" @@ -1286,11 +1607,11 @@ msgstr "modifado de sys.path" #: ../source/discussions/pip-vs-easy-install.rst:48 msgid "Installs from :term:`Eggs `" -msgstr "" +msgstr "Instalas de :term:`Egg `" #: ../source/discussions/pip-vs-easy-install.rst:51 msgid "`pylauncher support`_" -msgstr "" +msgstr "`subteno de pylauncher `_" #: ../source/discussions/pip-vs-easy-install.rst:51 msgid "Yes [1]_" @@ -1298,15 +1619,15 @@ msgstr "Jes [1]_" #: ../source/discussions/pip-vs-easy-install.rst:54 msgid ":ref:`Multi-version Installs`" -msgstr "" +msgstr ":ref:`Plurversiaj Instaloj `" #: ../source/discussions/pip-vs-easy-install.rst:57 msgid "Exclude scripts during install" -msgstr "" +msgstr "Ekskluzivi programetojn dum instalado" #: ../source/discussions/pip-vs-easy-install.rst:60 msgid "per project index" -msgstr "" +msgstr "unu-projekta indekso" #: ../source/discussions/pip-vs-easy-install.rst:60 msgid "Only in virtualenv" @@ -1327,11 +1648,11 @@ msgstr "" #: ../source/discussions/setup-py-deprecated.rst:6 msgid "Is ``setup.py`` deprecated?" -msgstr "" +msgstr "Ĉu ``setup.py`` estas evitinda?" #: ../source/discussions/setup-py-deprecated.rst:8 msgid "No, :term:`setup.py` and :ref:`setuptools` are not deprecated." -msgstr "" +msgstr "Ne, :term:`setup.py` kaj :ref:`setuptools` ne estas evitindaj." #: ../source/discussions/setup-py-deprecated.rst:10 msgid "" @@ -1347,74 +1668,65 @@ msgid "" "However, ``python setup.py`` and the use of :file:`setup.py` as a command " "line tool are deprecated." msgstr "" +"Tamen, ``python setup.py`` kaj la uzado de :file:`setup.py` kiel komandlinia " +"ilo estas evitindaj." #: ../source/discussions/setup-py-deprecated.rst:21 msgid "" "This means that commands such as the following **MUST NOT** be run anymore:" -msgstr "" +msgstr "Tio signifas, ke oni **NE UZU** la ĉi-subajn komandojn:" #: ../source/discussions/setup-py-deprecated.rst:23 #: ../source/discussions/setup-py-deprecated.rst:35 #: ../source/guides/modernize-setup-py-project.rst:32 -#, fuzzy -#| msgid "Yes (``python -m pip uninstall``)" msgid "``python setup.py install``" -msgstr "Jes (``python -m pip uninstall``)" +msgstr "``python setup.py install``" #: ../source/discussions/setup-py-deprecated.rst:24 #: ../source/discussions/setup-py-deprecated.rst:37 #: ../source/guides/modernize-setup-py-project.rst:34 msgid "``python setup.py develop``" -msgstr "" +msgstr "``python setup.py develop``" #: ../source/discussions/setup-py-deprecated.rst:25 #: ../source/discussions/setup-py-deprecated.rst:39 #: ../source/guides/modernize-setup-py-project.rst:36 -#, fuzzy msgid "``python setup.py sdist``" -msgstr "``requires-python``" +msgstr "``python setup.py sdist``" #: ../source/discussions/setup-py-deprecated.rst:26 #: ../source/discussions/setup-py-deprecated.rst:41 #: ../source/guides/modernize-setup-py-project.rst:38 msgid "``python setup.py bdist_wheel``" -msgstr "" +msgstr "``python setup.py bdist_wheel``" #: ../source/discussions/setup-py-deprecated.rst:30 msgid "What commands should be used instead?" -msgstr "" +msgstr "Kiuj komandoj mi uzu anstataŭe?" #: ../source/discussions/setup-py-deprecated.rst:33 #: ../source/guides/modernize-setup-py-project.rst:30 -#, fuzzy -#| msgid "Rarely Used Fields" msgid "Deprecated" -msgstr "Malofte uzataj kampoj" +msgstr "Evitindaj" #: ../source/discussions/setup-py-deprecated.rst:33 #: ../source/guides/modernize-setup-py-project.rst:30 -#, fuzzy -#| msgid "Creating pyproject.toml" msgid "Recommendation" -msgstr "Krei la dosieron pyproject.toml" +msgstr "Rekomendo" #: ../source/discussions/setup-py-deprecated.rst:35 #: ../source/guides/modernize-setup-py-project.rst:32 -#, fuzzy -#| msgid "Yes (``python -m pip uninstall``)" msgid "``python -m pip install .``" -msgstr "Jes (``python -m pip uninstall``)" +msgstr "``python -m pip install .``" #: ../source/discussions/setup-py-deprecated.rst:37 #: ../source/guides/modernize-setup-py-project.rst:34 -#, fuzzy -#| msgid "Yes (``python -m pip uninstall``)" msgid "``python -m pip install --editable .``" -msgstr "Jes (``python -m pip uninstall``)" +msgstr "``python -m pip install --editable .``" #: ../source/discussions/setup-py-deprecated.rst:39 msgid "``python -m build`` [#needs-build]_" -msgstr "" +msgstr "``python -m build`` [#needs-build]_" #: ../source/discussions/setup-py-deprecated.rst:45 msgid "" @@ -1435,6 +1747,14 @@ msgid "" "on the local filesystem as argument to its ``install`` sub-command. So this " "would also be a valid command: ``python -m pip install path/to/project``." msgstr "" +"Por instali setuptools-bazan projekton, oni ofte rulis la komandon " +"``install`` de :file:`setup.py``, kiel ekzemple ``python setup.py install``. " +"Nuntempe, la rekomendata metodo estas uzi :ref:`pip` rekte per la jena " +"komando: ``python - m pip install .`` en kiu la punkto ``.`` estas " +"dosiersistema loko, la aktuala dosierujo. Fakte, *pip* akceptas la lokan " +"dosiersisteman lokon de la projekta fontarba dosierujo kiel argumenton al " +"sia subkomando ``install``. Tiel, jen alia valida komando: ``python - m pip " +"install loko/de/projekto``." #: ../source/discussions/setup-py-deprecated.rst:65 msgid "" @@ -1442,6 +1762,9 @@ msgid "" "``python setup.py develop`` one can use the ``--editable`` option of pip's " "*install* sub-command: ``python -m pip install --editable .``." msgstr "" +"Por instalo en *evoluada* (aŭ *modifebla*) reĝimo, anstataŭ ``python setup." +"py develop`` oni uzu la flagon ``--editable`` de la subkomando *install* de " +"pip: ``python -m pip install --editable .``." #: ../source/discussions/setup-py-deprecated.rst:70 msgid "" @@ -1459,51 +1782,48 @@ msgid "" "The command ``python setup.py install`` was deprecated in setuptools version " "*58.3.0*." msgstr "" +"La komando ``python setup.py install`` evitindiĝis en setuptools versio " +"*58.3.0*." #: ../source/discussions/setup-py-deprecated.rst:85 msgid "What about other commands?" -msgstr "" +msgstr "Kio pri aliaj komandoj?" #: ../source/discussions/setup-py-deprecated.rst:87 msgid "What are some replacements for the other ``python setup.py`` commands?" -msgstr "" +msgstr "Kiuj estas anstataŭaĵoj por la aliaj komandoj ``python setup.py``?" #: ../source/discussions/setup-py-deprecated.rst:91 -#, fuzzy msgid "``python setup.py test``" -msgstr "``requires-python``" +msgstr "``python setup.py test``" #: ../source/discussions/setup-py-deprecated.rst:93 msgid "The recommendation is to use a test runner such as pytest_." -msgstr "" +msgstr "Ni rekomendas uzi testilon kiel pytest_." #: ../source/discussions/setup-py-deprecated.rst:99 msgid "" "``python setup.py check``, ``python setup.py register``, and ``python setup." "py upload``" msgstr "" +"``python setup.py check``, ``python setup.py register``, kaj ``python setup." +"py upload``" #: ../source/discussions/setup-py-deprecated.rst:101 msgid "A trusted replacement is :ref:`twine`:" -msgstr "" +msgstr "Fidinda anstataŭaĵo estas :ref:`twine`:" #: ../source/discussions/setup-py-deprecated.rst:103 -#, fuzzy -#| msgid "Yes (``python -m pip uninstall``)" msgid "``python -m twine check --strict dist/*``" -msgstr "Jes (``python -m pip uninstall``)" +msgstr "``python -m twine check --strict dist/*``" #: ../source/discussions/setup-py-deprecated.rst:104 -#, fuzzy -#| msgid "Yes (``python -m pip uninstall``)" msgid "``python -m twine register dist/*.whl`` [#not-pypi]_" -msgstr "Jes (``python -m pip uninstall``)" +msgstr "``python -m twine register dist/*.whl`` [#not-pypi]_" #: ../source/discussions/setup-py-deprecated.rst:105 -#, fuzzy -#| msgid "Yes (``python -m pip uninstall``)" msgid "``python -m twine upload dist/*``" -msgstr "Jes (``python -m pip uninstall``)" +msgstr "``python -m twine upload dist/*``" #: ../source/discussions/setup-py-deprecated.rst:107 msgid "" @@ -1511,147 +1831,132 @@ msgid "" "But might be necessary on other :term:`package indexes ` (for " "example :ref:`devpi`)." msgstr "" +"Ne necesa nek subtenata ĉe :term:`PyPI `. Tamen " +"ĝi eble necesas ĉe aliaj :term:`pakindeksoj ` (ekzemple :ref:" +"`devpi`)." #: ../source/discussions/setup-py-deprecated.rst:112 -#, fuzzy msgid "``python setup.py --version``" -msgstr "``requires-python``" +msgstr "``python setup.py --version``" #: ../source/discussions/setup-py-deprecated.rst:114 msgid "" "A possible replacement solution (among others) is to rely on setuptools-scm_:" -msgstr "" +msgstr "Ebla solvo (interalie) estas anstataŭe uzi setuptools-scm_:" #: ../source/discussions/setup-py-deprecated.rst:116 -#, fuzzy -#| msgid "Yes (``python -m pip uninstall``)" msgid "``python -m setuptools_scm``" -msgstr "Jes (``python -m pip uninstall``)" +msgstr "``python -m setuptools_scm``" #: ../source/discussions/setup-py-deprecated.rst:122 msgid "Remaining commands" -msgstr "" +msgstr "Aliaj komandoj" #: ../source/discussions/setup-py-deprecated.rst:124 msgid "" "This guide does not make suggestions of replacement solutions for those " "commands:" -msgstr "" +msgstr "Ĉi tiu gvidilo ne sugestas anstataŭaĵojn por la ĉi-subaj komandoj:" #: ../source/discussions/setup-py-deprecated.rst:129 msgid "``alias``" -msgstr "" +msgstr "``alias``" #: ../source/discussions/setup-py-deprecated.rst:130 msgid "``bdist``" -msgstr "" +msgstr "``bdist``" #: ../source/discussions/setup-py-deprecated.rst:131 msgid "``bdist_dumb``" -msgstr "" +msgstr "``bdist_dumb``" #: ../source/discussions/setup-py-deprecated.rst:132 msgid "``bdist_egg``" -msgstr "" +msgstr "``bdist_egg``" #: ../source/discussions/setup-py-deprecated.rst:133 msgid "``bdist_rpm``" -msgstr "" +msgstr "``bdist_rpm``" #: ../source/discussions/setup-py-deprecated.rst:134 -#, fuzzy -#| msgid "build" msgid "``build``" -msgstr "build" +msgstr "``build``" #: ../source/discussions/setup-py-deprecated.rst:135 msgid "``build_clib``" -msgstr "" +msgstr "``build_clib``" #: ../source/discussions/setup-py-deprecated.rst:136 msgid "``build_ext``" -msgstr "" +msgstr "``build_ext``" #: ../source/discussions/setup-py-deprecated.rst:137 msgid "``build_py``" -msgstr "" +msgstr "``build_py``" #: ../source/discussions/setup-py-deprecated.rst:138 -#, fuzzy msgid "``build_scripts``" -msgstr "``description``" +msgstr "``build_scripts``" #: ../source/discussions/setup-py-deprecated.rst:139 msgid "``clean``" -msgstr "" +msgstr "``clean``" #: ../source/discussions/setup-py-deprecated.rst:140 -#, fuzzy -#| msgid "``pypinfo``" msgid "``dist_info``" -msgstr "``pypinfo``" +msgstr "``dist_info``" #: ../source/discussions/setup-py-deprecated.rst:141 -#, fuzzy -#| msgid "**easy_install**" msgid "``easy_install``" -msgstr "**easy_install**" +msgstr "``easy_install``" #: ../source/discussions/setup-py-deprecated.rst:142 msgid "``editable_wheel``" -msgstr "" +msgstr "``editable_wheel``" #: ../source/discussions/setup-py-deprecated.rst:143 -#, fuzzy -#| msgid "``pypinfo``" msgid "``egg_info``" -msgstr "``pypinfo``" +msgstr "``egg_info``" #: ../source/discussions/setup-py-deprecated.rst:144 -#, fuzzy msgid "``install_data``" -msgstr "Uzi ``pip`` por instali Pipenv:" +msgstr "``install_data``" #: ../source/discussions/setup-py-deprecated.rst:145 -#, fuzzy msgid "``install_egg_info``" -msgstr "install_requires" +msgstr "``install_egg_info``" #: ../source/discussions/setup-py-deprecated.rst:146 -#, fuzzy msgid "``install_headers``" -msgstr "install_requires" +msgstr "``install_headers``" #: ../source/discussions/setup-py-deprecated.rst:147 -#, fuzzy msgid "``install_lib``" -msgstr "install_requires" +msgstr "``install_lib``" #: ../source/discussions/setup-py-deprecated.rst:148 -#, fuzzy msgid "``install_scripts``" -msgstr "``description``" +msgstr "``install_scripts``" #: ../source/discussions/setup-py-deprecated.rst:149 msgid "``rotate``" -msgstr "" +msgstr "``rotate``" #: ../source/discussions/setup-py-deprecated.rst:150 -#, fuzzy msgid "``saveopts``" -msgstr "``description``" +msgstr "``saveopts``" #: ../source/discussions/setup-py-deprecated.rst:151 msgid "``setopt``" -msgstr "" +msgstr "``setopt``" #: ../source/discussions/setup-py-deprecated.rst:152 msgid "``upload_docs``" -msgstr "" +msgstr "``upload_docs``" #: ../source/discussions/setup-py-deprecated.rst:156 msgid "What about custom commands?" -msgstr "" +msgstr "Kio pri propraj komandoj?" #: ../source/discussions/setup-py-deprecated.rst:158 msgid "" @@ -1660,10 +1965,13 @@ msgid "" "any other similar tool. Some examples of such tools are: chuy, make, nox or " "tox, pydoit, pyinvoke, taskipy, and thx." msgstr "" +"Same, propra :file:`setup.py`-komando estas evitinda. Ni rekomendas migri " +"tiajn proprajn komandojn al tasko-rulilo aŭ io simila. Jen kelkaj tiaj iloj: " +"chuy, make, nox aŭ tox, pydoit, pyinvoke, taskipy, kaj thx." #: ../source/discussions/setup-py-deprecated.rst:166 msgid "What about custom build steps?" -msgstr "" +msgstr "Kio pri propraj konstruaj paŝoj?" #: ../source/discussions/setup-py-deprecated.rst:168 msgid "" @@ -1675,7 +1983,7 @@ msgstr "" #: ../source/discussions/setup-py-deprecated.rst:175 #: ../source/guides/modernize-setup-py-project.rst:21 msgid "Should ``setup.py`` be deleted?" -msgstr "" +msgstr "Ĉu forviŝi ``setup.py``?" #: ../source/discussions/setup-py-deprecated.rst:177 msgid "" @@ -1683,12 +1991,13 @@ msgid "" "deprecated, its usage as a configuration file for setuptools is absolutely " "fine. There is likely no modification needed in :file:`setup.py`." msgstr "" +"Kvankam la uzado de :file:`setup.py` kiel ruleblaĵo estas evitinda, ĝia " +"uzado kiel agorda dosiero por setuptools estas absolute bona. Probable neniu " +"modifo necesas pri :file:`setup.py`." #: ../source/discussions/setup-py-deprecated.rst:183 -#, fuzzy -#| msgid "pyproject.toml" msgid "Is ``pyproject.toml`` mandatory?" -msgstr "pyproject.toml" +msgstr "Ĉu ``pyproject.toml`` estas deviga?" #: ../source/discussions/setup-py-deprecated.rst:185 msgid "" @@ -1696,11 +2005,15 @@ msgid "" "for a project to have a :file:`pyproject.toml` file at the root of its " "source tree with a content like this:" msgstr "" +"Kvankam ĝi ankoraŭ ne absolute necesas, estas **REKOMENDEGATA** havi " +"dosieron :file:`pyproject.toml` ĉe la radiko de fontarbo de projekto, kies " +"enhavo estas jena:" #: ../source/discussions/setup-py-deprecated.rst:196 msgid "" "The guide :ref:`modernize-setup-py-project` has more details about this." msgstr "" +"La gvidilo :ref:`modernize-setup-py-project` havas pliajn detalojn pri tio." #: ../source/discussions/setup-py-deprecated.rst:198 msgid "" @@ -1709,43 +2022,51 @@ msgid "" "table is to assume that the :term:`build backend ` is " "setuptools." msgstr "" +"La norma implicita konduto de :term:`konstrua fasado `, se " +"dosiero :file:`pyproject.toml` kaj ĝia tabelo ``[build-system]`` mankas, " +"estas supozi, ke :term:`la konstrua malfasado ` estas " +"setuptools." #: ../source/discussions/setup-py-deprecated.rst:204 msgid "Why? What does it all mean?" -msgstr "" +msgstr "Kial? Kio tio signifas?" #: ../source/discussions/setup-py-deprecated.rst:206 msgid "" "One way to look at it is that the scope of setuptools has now been reduced " "to the role of a build backend." msgstr "" +"Se mallonge diri, la rolo de setuptools reduktiĝis al nura konstrua " +"malfasado." #: ../source/discussions/setup-py-deprecated.rst:211 #: ../source/guides/modernize-setup-py-project.rst:244 msgid "Where to read more about this?" -msgstr "" +msgstr "Kie mi povas legi plu pri tio?" #: ../source/discussions/setup-py-deprecated.rst:213 -msgid "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" +msgid "" +"`Why you shouldn't invoke setup.py directly `__ by Paul Ganssle" msgstr "" +"`Kial vi ne rulu setup.py rekte (anglalingva) `__ far Paul Ganssle" #: ../source/discussions/setup-py-deprecated.rst:215 msgid ":doc:`setuptools:deprecated/commands`" -msgstr "" +msgstr ":doc:`setuptools:deprecated/commands`" #: ../source/discussions/single-source-version.rst:5 msgid "Single-sourcing the Project Version" -msgstr "" +msgstr "Unufontigi la Projektan Version" #: ../source/discussions/single-source-version.rst:7 -#, fuzzy -#| msgid "Incomplete" msgid "Complete" -msgstr "Nekompleta" +msgstr "Kompleta" #: ../source/discussions/single-source-version.rst:8 msgid "2024-10-07" -msgstr "" +msgstr "7 Oktobro 2024" #: ../source/discussions/single-source-version.rst:10 msgid "" @@ -1774,22 +2095,28 @@ msgid "" "Alternatively, a project's chosen build system may offer a way to define a " "single source of truth for the version number." msgstr "" +"Alternative, la konstrua sistemo de projekto povas ebligi difinadon de unu " +"fonto de vero pri la versia numero." #: ../source/discussions/single-source-version.rst:26 msgid "In general, the options are:" -msgstr "" +msgstr "Ĝenerale, jen la opcioj:" #: ../source/discussions/single-source-version.rst:28 msgid "" "If the code is in a version control system (VCS), such as Git, then the " "version can be extracted from the VCS." msgstr "" +"Se la kodo estas en versikontrola sistemo (VKS), kiel ekzemple Git, do la " +"versio povas esti eltirita el la VKS." #: ../source/discussions/single-source-version.rst:30 msgid "" "The version can be hard-coded into the :file:`pyproject.toml` file -- and " "the build system can copy it into other locations it may be required." msgstr "" +"La versio povas esti malaŭtomate enmetita en la dosieron :file:`pyproject." +"toml` – kaj la konstrua sistemo povas kopii ĝin al aliaj postulataj lokoj." #: ../source/discussions/single-source-version.rst:33 msgid "" @@ -1803,6 +2130,7 @@ msgstr "" #: ../source/discussions/single-source-version.rst:38 msgid "Consult your build system's documentation for their recommended method." msgstr "" +"Vidu la dokumentaron por via konstrua sistemo por la rekomendata metodo." #: ../source/discussions/single-source-version.rst:40 msgid "" @@ -1815,42 +2143,45 @@ msgstr "" #: ../source/discussions/single-source-version.rst:50 msgid "Build System Version Handling" -msgstr "" +msgstr "Pritraktado de Versioj far Konstruaj Sistemoj" #: ../source/discussions/single-source-version.rst:52 msgid "" "The following are links to some build system's documentation for handling " "version strings." msgstr "" +"Jen hiperligoj al dokumentaroj de konstrusistemoj por pritraktado de versiaj " +"signoĉenoj." #: ../source/discussions/single-source-version.rst:54 msgid "`Flit `_" -msgstr "" +msgstr "`Flit `_" #: ../source/discussions/single-source-version.rst:56 -#, fuzzy -#| msgid "`Poetry `_" msgid "`Hatchling `_" -msgstr "`Poetry `_" +msgstr "`Hatchling `_" #: ../source/discussions/single-source-version.rst:58 msgid "" "`PDM `_" msgstr "" +"`PDM `_" #: ../source/discussions/single-source-version.rst:60 msgid "" "`Setuptools `_" msgstr "" +"`Setuptools `_" #: ../source/discussions/single-source-version.rst:62 msgid "`setuptools_scm `_" -msgstr "" +msgstr "`setuptools_scm `_" #: ../source/discussions/src-layout-vs-flat-layout.rst:5 msgid "src layout vs flat layout" -msgstr "" +msgstr "src-aranĝo kontraste al plata aranĝo" #: ../source/discussions/src-layout-vs-flat-layout.rst:7 msgid "" @@ -1858,6 +2189,9 @@ msgid "" "repository, such that the various configuration files and :term:`import " "packages ` are all in the top-level directory." msgstr "" +"La «plata aranĝo» signifas organizi la projektajn dosierojn en dosierujo aŭ " +"deponejo tiel, ke la diversaj agordaoj dosieroj kaj :term:`importaj pakoj " +"` estas ĉiuj en la supranivela dosierujo." #: ../source/discussions/src-layout-vs-flat-layout.rst:25 msgid "" @@ -1866,18 +2200,26 @@ msgid "" "term:`import packages `) into a subdirectory. This " "subdirectory is typically named ``src/``, hence \"src layout\"." msgstr "" +"La «src-aranĝo» diferencas de la plata aranĝo movanta la kodon importeblan " +"(t.e. ``import mia_pako``, ankaŭ konatan kiel :term:`importajn pakojn " +"`) en subdosierujon. Tiu subdosierujo estas ofte nomita " +"``src/``; tial la nomo «src-aranĝo»." #: ../source/discussions/src-layout-vs-flat-layout.rst:45 msgid "" "Here's a breakdown of the important behaviour differences between the src " "layout and the flat layout:" msgstr "" +"Jen resumo de la gravaj kondutaj diferencoj inter src-aranĝo kaj plata " +"aranĝo:" #: ../source/discussions/src-layout-vs-flat-layout.rst:48 msgid "" "The src layout requires installation of the project to be able to run its " "code, and the flat layout does not." msgstr "" +"La src-aranĝo postulas instaladon de la projekto por ruli ĝian kodon, dum la " +"plata aranĝo ne postulas tion." #: ../source/discussions/src-layout-vs-flat-layout.rst:51 msgid "" @@ -1892,6 +2234,8 @@ msgid "" "The src layout helps prevent accidental usage of the in-development copy of " "the code." msgstr "" +"La src-aranĝo malhelpas neintencitan uzadon de la evoluigata kopio de la " +"kodo." #: ../source/discussions/src-layout-vs-flat-layout.rst:59 msgid "" @@ -1917,6 +2261,9 @@ msgid "" "userguide/development_mode>` is only able to import files that were meant to " "be importable." msgstr "" +"La src-aranĝo devigas, ke :doc:`redaktebla instalo < setuptools:userguide/" +"development_mode>` nur kapablas importi tiujn dosierojn, kiuj estas intence " +"importeblaj." #: ../source/discussions/src-layout-vs-flat-layout.rst:74 msgid "" @@ -1935,7 +2282,7 @@ msgstr "" #: ../source/discussions/src-layout-vs-flat-layout.rst:86 msgid "Running a command-line interface from source with src-layout" -msgstr "" +msgstr "Ruli komandlinian fasadon el fonto per src-aranĝo" #: ../source/discussions/src-layout-vs-flat-layout.rst:88 msgid "" @@ -1950,20 +2297,16 @@ msgstr "" #: ../source/discussions/versioning.rst:6 #: ../source/specifications/simple-repository-api.rst:319 -#, fuzzy -#| msgid "Version" msgid "Versioning" -msgstr "Versio" +msgstr "Versiado" #: ../source/discussions/versioning.rst:8 msgid "This discussion covers all aspects of versioning Python packages." -msgstr "" +msgstr "Jen diskuto pri ĉiuj flankoj de la versiado de Python-pakoj." #: ../source/discussions/versioning.rst:12 -#, fuzzy -#| msgid "Version Specifier" msgid "Valid version numbers" -msgstr "Versio-Specifilo" +msgstr "Validaj versiaj numeroj" #: ../source/discussions/versioning.rst:14 msgid "" @@ -1974,48 +2317,54 @@ msgid "" "`specification of version specifiers `. Here are some " "examples of version numbers [#version-examples]_:" msgstr "" +"Diversaj Python-projektoj uzas malsamajn versiajn skemojn pro siaj malsamaj " +"bezonoj. Tamen, por kongrui kun :ref:`pip` kaj aliaj iloj, ĉia projekto " +"devas observi flekseblan formon por versiaj identigiloj, pri kio la " +"aŭtoritata referenco estas la :ref:`specifo pri versio-specifiloj `. Jen kelkaj ekzemploj de versiaj numeroj [#version-examples]_:" #: ../source/discussions/versioning.rst:21 msgid "A simple version (final release): ``1.2.0``" -msgstr "" +msgstr "Simpla versio (fina eldono): ``1.2.0``" #: ../source/discussions/versioning.rst:22 msgid "A development release: ``1.2.0.dev1``" -msgstr "" +msgstr "Evoluanta eldono: ``1.2.0.dev1``" #: ../source/discussions/versioning.rst:23 msgid "An alpha release: ``1.2.0a1``" -msgstr "" +msgstr "Alfa-eldono: ``1.2.0a1``" #: ../source/discussions/versioning.rst:24 msgid "A beta release: ``1.2.0b1``" -msgstr "" +msgstr "Beta-eldono: ``1.2.0b1``" #: ../source/discussions/versioning.rst:25 msgid "A release candidate: ``1.2.0rc1``" -msgstr "" +msgstr "Eldonkandidato: ``1.2.0rc1``" #: ../source/discussions/versioning.rst:26 msgid "A post-release: ``1.2.0.post1``" -msgstr "" +msgstr "Posteldono: ``1.2.0.post1``" #: ../source/discussions/versioning.rst:27 msgid "" "A post-release of an alpha release (possible, but discouraged): ``1.2.0a1." "post1``" msgstr "" +"Posteldono de alfa-eldono (ebla, sed malrekomendata): ``1.2.0a1.post1``" #: ../source/discussions/versioning.rst:28 msgid "A simple version with only two components: ``23.12``" -msgstr "" +msgstr "Simpla versio kun nur du komponantoj: ``23.12``" #: ../source/discussions/versioning.rst:29 msgid "A simple version with just one component: ``42``" -msgstr "" +msgstr "Simpla versio kun nur unu komponanto: ``42``" #: ../source/discussions/versioning.rst:30 msgid "A version with an epoch: ``1!1.0``" -msgstr "" +msgstr "Versio kun epoko: ``1!1.0``" #: ../source/discussions/versioning.rst:32 msgid "" @@ -2053,10 +2402,16 @@ msgid "" "epoch, as in \"1!1.0\", in order to be treated as more recent than the old " "version numbers." msgstr "" +"Fine, epoko, kiuj estas malofte uzata, helpas ripari la ordon dum ŝanĝado de " +"la versia skemo. Ekzemple, se projekto uzas kalendaran versiadon, kun " +"versioj kiel 23.12, kaj ŝanĝas al semantika versiado, kun versioj kiel 1.0, " +"la komparo inter 1.0 kaj 23.12 estus malĝusta. Por korekti tion, la novaj " +"versiaj numeroj havu eksplicitan epokon, kiel «1!1.0», por esti pli novaj ol " +"la malnovaj versiaj numeroj." #: ../source/discussions/versioning.rst:59 msgid "Semantic versioning vs. calendar versioning" -msgstr "" +msgstr "Semantika versiado kaj kalendara versiado" #: ../source/discussions/versioning.rst:61 msgid "" @@ -2065,6 +2420,10 @@ msgid "" "new release of a package. Two versioning schemes are commonly used for " "Python packages, semantic versioning and calendar versioning." msgstr "" +"Versia skemo estas formala maniero interpreti la segmentojn de versia numero " +"kaj decidi la sekvan versian numeron por nova eldono de pako. Ekzistas du " +"versiaj skemoj ofte uzataj por Python-pakoj: semantika versiado kaj " +"kalendara versiado." #: ../source/discussions/versioning.rst:68 msgid "" @@ -2086,26 +2445,28 @@ msgstr "" #: ../source/discussions/versioning.rst:84 #: ../source/specifications/version-specifiers.rst:723 msgid "Semantic versioning" -msgstr "" +msgstr "Semantika versiado" #: ../source/discussions/versioning.rst:86 msgid "" "The idea of *semantic versioning* (or SemVer) is to use 3-part version " "numbers, *major.minor.patch*, where the project author increments:" msgstr "" +"La ideo de *semantika versiado* (aŭ SemVer) estas uzi tripartajn versiajn " +"numerojn, *maĵora.minora.flika*, je kiu la projekta aŭtoro alkrementas:" #: ../source/discussions/versioning.rst:89 msgid "*major* when they make incompatible API changes," -msgstr "" +msgstr "*maĵora* kiam nekongruaj API-ŝanĝoj okazas," #: ../source/discussions/versioning.rst:90 msgid "" "*minor* when they add functionality in a backwards-compatible manner, and" -msgstr "" +msgstr "*minora* kiam funkcioj aldoniĝas retrokongrue, kaj" #: ../source/discussions/versioning.rst:91 msgid "*patch*, when they make backwards-compatible bug fixes." -msgstr "" +msgstr "*flika*, kiam okazas retrokongruaj cimriparoj." #: ../source/discussions/versioning.rst:93 msgid "" @@ -2118,6 +2479,14 @@ msgid "" "strictness]_. Conversely, a bump of the major version number is sometimes " "used to signal significant but backwards-compatible new features." msgstr "" +"Plimulto de Python-projektoj uzas skemon similan al semantika versiado. " +"Tamen, multaj projektoj, speciale la grandegaj, ne strikte observas " +"semantikan versiadon, ĉar multaj ŝanĝoj havas teĥnike rompantajn ŝanĝojn sed " +"efikas sur nur malgrandan frakcion da uzantoj. Tiaj projektoj ofte " +"alkrementas la maĵoran numeron tiam, kiam la nekongrueco estas multa aŭ por " +"signali ŝanĝon pri la projekto, ne por ĉia malgranda nekongrueco [#semver-" +"strictness]_. Inverse, alkremento de la maĵora versia numero kelkfoje " +"signalas signifajn sed retrokongruajn novajn funkciojn." #: ../source/discussions/versioning.rst:103 msgid "" @@ -2130,12 +2499,22 @@ msgid "" "equivalent to ``name >= X.Y.Z, == X.Y.*``, i.e., it requires at least X.Y.Z " "and allows a later release with same X and Y but higher Z." msgstr "" +"Por tiuj projektoj, kiuj uzas striktan semantikan versiadon, tiu maniero " +"ebligas uzi :ref:`versio-specifilon de kongrua eldono `, per la operatoro ``~=``. Ekzemple, ``nomo ~= X.Y`` " +"proksimume ekvivalentas ``nomo >= X.Y, == X.*``, t.e., ĝi postulas minimume " +"la eldonon X.Y, kaj permesas ajnan pli novan eldonon kun pli granda Y kaj " +"sama X. Simile, ``nomo ~= X.Y.Z`` proksimume ekvivalentas ``nomo >= X.Y.Z, " +"== X.Y.*``, t.e., ĝi postulas minimume X.Y.Z kaj permesas pli novan eldonon " +"de samaj X kaj Y sed pli granda Z." #: ../source/discussions/versioning.rst:112 msgid "" "Python projects adopting semantic versioning should abide by clauses 1-8 of " "the `Semantic Versioning 2.0.0 specification `_." msgstr "" +"Python-projektoj uzantaj semantikan versiadon observu la regulojn 1–8 de la " +"`specifo Semantika Versiado 2.0.0 `_." #: ../source/discussions/versioning.rst:115 msgid "" @@ -2147,12 +2526,17 @@ msgid "" "contain backwards-incompatible API changes (:doc:`NumPy versioning policy " "`)." msgstr "" +"The populara dokumentargenerilo :doc:`Sphinx ` estas ekzemplo " +"de projekto uzanta striktan semantikan versiadon (vidu la :doc:`regulojn pri " +"versiado de Sphinx `). La fama " +"scienckomputa pako :doc:`NumPy ` eksplicite uzas «malstriktan» " +"semantikan versiadon, je kiu eldono alkrementa la minoran version povas " +"enhavi neretrokongruajn API-ŝanĝojn (vidu la :doc:`regulojn pri versiado de " +"NumPy `)." #: ../source/discussions/versioning.rst:124 -#, fuzzy -#| msgid "Version" msgid "Calendar versioning" -msgstr "Versio" +msgstr "Kalendara versiado" #: ../source/discussions/versioning.rst:126 msgid "" @@ -2160,6 +2544,9 @@ msgid "" "with a regular time based release cadence and a deprecation process that " "provides warnings for a number of releases prior to removal of a feature." msgstr "" +"Semantika versiado ne taŭgas por ĉiaj projektoj, ekzemple por tiaj " +"projektoj, kiaj eldona plano estas regule tempobaza kun avertoj pri forigota " +"funkcio dum kelkaj eldonoj antaŭ la forigado." #: ../source/discussions/versioning.rst:130 msgid "" @@ -2167,23 +2554,29 @@ msgid "" "`_ (CalVer), is that it is straightforward to tell how old the base " "feature set of a particular release is given just the version number." msgstr "" +"La ĉefavantaĝo de datobaza versiado aŭ `kalendara versiado `_ " +"(CalVer) estas, ke estas facile kompreni kiel malnova la baza funkciaro de " +"iu eldono estas nur per la versia numero." #: ../source/discussions/versioning.rst:134 msgid "" "Calendar version numbers typically take the form *year.month* (for example, " "23.12 for December 2023)." msgstr "" +"Kalendara versia numero ordinare estas de la formo *jaro.monato* (ekzemple, " +"23.12 por Decembro 2023)." #: ../source/discussions/versioning.rst:137 msgid "" ":doc:`Pip `, the standard Python package installer, uses calendar " "versioning." msgstr "" +":doc:`Pip `, la norma Python-pakinstalilo, uzas kalendaran " +"versiadon." #: ../source/discussions/versioning.rst:142 -#, fuzzy msgid "Other schemes" -msgstr "Versio" +msgstr "Aliaj skemoj" #: ../source/discussions/versioning.rst:144 msgid "" @@ -2206,7 +2599,7 @@ msgstr "" #: ../source/discussions/versioning.rst:157 #: ../source/specifications/version-specifiers.rst:114 msgid "Local version identifiers" -msgstr "" +msgstr "Loka versi-identigilo" #: ../source/discussions/versioning.rst:159 msgid "" @@ -2231,7 +2624,7 @@ msgstr "" #: ../source/discussions/versioning.rst:177 msgid "Accessing version information at runtime" -msgstr "" +msgstr "Akiri versiajn informojn dum rultempo" #: ../source/discussions/versioning.rst:179 msgid "" @@ -2246,6 +2639,8 @@ msgid "" "Many projects also choose to version their top level :term:`import packages " "` by providing a package level ``__version__`` attribute::" msgstr "" +"Multaj projektoj ankaŭ provizas version al la supranivela :term:`importa " +"pako ` per paknivela atributo ``__version__``::" #: ../source/discussions/versioning.rst:194 msgid "" @@ -2286,6 +2681,8 @@ msgid "" "Some more examples of unusual version numbers are given in a `blog post " "`_ by Seth Larson." msgstr "" +"Pliaj ekzemploj de strangaj versiaj numeroj troviĝas en `artikolo `_ de Seth Larson." #: ../source/discussions/versioning.rst:228 msgid "" @@ -2294,6 +2691,10 @@ msgid "" "stufft_>`_, `by Bernát Gábor `_, `by Brett Cannon " "`_. For a humoristic take, read about ZeroVer_." msgstr "" +"Por pli personaj vidpunktoj pri ĉi tiu temo, vidu la jenajn artikolojn: `far " +"Hynek Schlawak `_, `far Donald Stufft `_, `far Bernát Gábor `_, `far Brett " +"Cannon `_. Por humuro, legu pri ZeroVer_." #: ../source/discussions/versioning.rst:234 msgid "" @@ -2310,7 +2711,7 @@ msgstr "" #: ../source/flow.rst:3 msgid "The Packaging Flow" -msgstr "" +msgstr "La Pakada Laborfluo" #: ../source/flow.rst:5 msgid "" @@ -2319,6 +2720,10 @@ msgid "" "Package Index (PyPI)`_. It is written for package publishers, who are " "assumed to be the package author." msgstr "" +"Jen dokumento resumanta la fluon pri eldonado/distribuado de :term:" +"`distribua pako `, ofte al la `Python-Pakindekso " +"`_. Ĝi estis verkita por eldonantoj de pakoj, " +"kiuj estas supozite la aŭtoroj de la pakoj." #: ../source/flow.rst:12 msgid "" @@ -2332,12 +2737,16 @@ msgid "" "Publishing a package requires a flow from the author's source code to an end " "user's Python environment. The steps to achieve this are:" msgstr "" +"Eldonado de pako postulas fluon el la fontkodo de la aŭtoro ĝis la Python-" +"medio de la uzanto. Jen la paŝoj de tiu fluo:" #: ../source/flow.rst:19 msgid "" "Have a source tree containing the package. This is typically a checkout from " "a version control system (VCS)." msgstr "" +"Havu fontarbon enhavantan la pakon. Tiu devenas tipe de versikontrola " +"sistemo (VCS)." #: ../source/flow.rst:22 msgid "" @@ -2359,19 +2768,22 @@ msgstr "" #: ../source/flow.rst:35 msgid "Upload the build artifacts to the package distribution service." -msgstr "" +msgstr "Alŝutu la konstruitajn artefaktojn al la pak-distribua servo." #: ../source/flow.rst:37 msgid "" "At that point, the package is present on the package distribution service. " "To use the package, end users must:" msgstr "" +"Nun, la pako ĉeestas ĉe la pako-distribua servo. Por uzi la pakon, uzantoj " +"faru la jenon:" #: ../source/flow.rst:40 msgid "" "Download one of the package's build artifacts from the package distribution " "service." msgstr "" +"Elŝutu unu el la konstruitaj artefaktoj de la pako el la pak-distribua servo." #: ../source/flow.rst:43 msgid "" @@ -2379,20 +2791,25 @@ msgid "" "directory. This step may involve a build/compile step which, if needed, must " "be described by the package metadata." msgstr "" +"Instalu ĝin en ĝis Python-medio, ordinare en la dosierujo ``site-packages``. " +"Tio povas postuli konstruadon aŭ tradukadon, kiu devas esti priskribita de " +"la pakaj metadatenoj." #: ../source/flow.rst:47 msgid "" "These last 2 steps are typically performed by :ref:`pip` when an end user " "runs ``pip install``." msgstr "" +"La lastajn du paĵojn faras la ilo :ref:`pip`, kiam uzanto rulas ``pip " +"install``." #: ../source/flow.rst:50 msgid "The steps above are described in more detail below." -msgstr "" +msgstr "La ĉi-supraj paŝoj estas priskribitaj plidetale ĉi-sube." #: ../source/flow.rst:53 msgid "The source tree" -msgstr "" +msgstr "La fontarbo" #: ../source/flow.rst:55 msgid "" @@ -2400,11 +2817,13 @@ msgid "" "VCS. The particular version of the code used to create the build artifacts " "will typically be a checkout based on a tag associated with the version." msgstr "" +"La fontarbo enhavas la fontkodon de la pako, ofte el versikontrola sistemo. " +"La specifa versio de la kodo uzita por konstrui la artefaktojn ordinare " +"estas asociita al etikedo de la versio en la versikontrola sistemo." #: ../source/flow.rst:60 -#, fuzzy msgid "The configuration file" -msgstr "Administrado de agordoj" +msgstr "La agorda dosiero" #: ../source/flow.rst:62 msgid "" @@ -2412,6 +2831,9 @@ msgid "" "artifacts. The standard practice is to use a :file:`pyproject.toml` file in " "the `TOML format`_." msgstr "" +"La agorda dosiero dependas de la ilo uzita por krei la konstruitajn " +"artefaktojn. La norma praktiko estas uzi dosieron :file:`pyproject.toml` en " +"la `dosierformo TOML `_." #: ../source/flow.rst:68 msgid "" @@ -2421,10 +2843,15 @@ msgid "" "`poetry`, :ref:`setuptools`, `trampolim`_, and `whey`_. Each tool's " "documentation will show what to put in the ``[build-system]`` table." msgstr "" +"Minimume, la dosiero :file:`pyproject.toml` bezonas tabelon ``[build-" +"system]`` specifante la konstruilon. Ekzistas multaj konstruiloj, interalie " +"inkluzive de :ref:`flit`, :ref:`hatch`, :ref:`pdm`, :ref:`poetry`, :ref:" +"`setuptools`, `trampolim`_ kaj `whey`_. La dokumentaro de iu ilo klarigos la " +"enhavon de la tabelo ``[build-system]``." #: ../source/flow.rst:77 msgid "For example, here is a table for using :ref:`hatch`:" -msgstr "" +msgstr "Ekzemple, jen tabelo pri uzado de :ref:`hatch`:" #: ../source/flow.rst:85 msgid "" @@ -2447,25 +2874,28 @@ msgid "" "a ``[project]`` table containing project :doc:`Core Metadata ` (name, version, author and so forth)," msgstr "" +"tabelo ``[project]`` enhavanta la projektajn :doc:`Kernajn Metadatenojn ` (nomon, version, aŭtoron ktp)," #: ../source/flow.rst:101 msgid "a ``[tool]`` table containing tool-specific configuration options." -msgstr "" +msgstr "tabelo ``[tool]`` enhavantaj agordajn opciojn por specifaj iloj." #: ../source/flow.rst:103 msgid "" "Refer to the :ref:`pyproject.toml guide ` for a " "complete guide to ``pyproject.toml`` configuration." msgstr "" +"Vidu la :ref:`gvidilon pri pyproject.toml ` por " +"plenaj detaloj pri agordado de ``pyproject.toml``." #: ../source/flow.rst:108 msgid "Build artifacts" -msgstr "" +msgstr "Konstruaj artefaktoj" #: ../source/flow.rst:111 -#, fuzzy msgid "The source distribution (sdist)" -msgstr "Fonto-Distribuoj kontraste kun Wheel-oj" +msgstr "La fonta distribuo (sdist)" #: ../source/flow.rst:113 msgid "" @@ -2481,16 +2911,19 @@ msgid "" "The :ref:`build` package knows how to invoke your build tool to create one " "of these:" msgstr "" +"La pako :ref:`build` scias kiel alvoki vian konstruilon por krei unu el la " +"jeno:" #: ../source/flow.rst:126 msgid "" "Or, your build tool may provide its own interface for creating an sdist." msgstr "" +"Aŭ via konstruilo povas provizi sian propran interfacon por krei fontan " +"distribuon." #: ../source/flow.rst:130 -#, fuzzy msgid "The built distributions (wheels)" -msgstr "Fonto-Distribuoj kontraste kun Wheel-oj" +msgstr "La konstruita distribuo (wheel)" #: ../source/flow.rst:132 msgid "" @@ -2512,6 +2945,7 @@ msgstr "" #: ../source/flow.rst:150 msgid "Or, your build tool may provide its own interface for creating a wheel." msgstr "" +"Aŭ via konstruilo povas provizi sian propran interfacon por krei wheel." #: ../source/flow.rst:154 msgid "" @@ -2519,24 +2953,29 @@ msgid "" "from the source in the current directory; the above examples are " "deliberately specific." msgstr "" +"La implicita konduto de :ref:`build` estas fari kaj fontan distribuon kaj " +"wheel el la fonto en la aktuala dosierujo; la ĉi-supraj ekzemploj estas " +"intence specifaj." #: ../source/flow.rst:159 msgid "Upload to the package distribution service" -msgstr "" +msgstr "Alŝuti al la paka distribua servo" #: ../source/flow.rst:161 msgid "" "The :ref:`twine` tool can upload build artifacts to PyPI for distribution, " "using a command like:" msgstr "" +"La ilo :ref:`twine` povas alŝuti konstruitajn artefaktojn al PyPI por " +"distribuo, uzante komandon kiel la jenon:" #: ../source/flow.rst:168 msgid "Or, your build tool may provide its own interface for uploading." -msgstr "" +msgstr "Aŭ, via konstruilo eble provizas sian propran interfacon por alŝutado." #: ../source/flow.rst:171 msgid "Download and install" -msgstr "" +msgstr "Elŝuti kaj instali" #: ../source/flow.rst:173 msgid "" @@ -2544,12 +2983,17 @@ msgid "" "package into their Python environment. Typically this is done with :ref:" "`pip`, using a command like:" msgstr "" +"Nun, post eldonado de la pako, uzantoj povas elŝuti kaj instali la pakon en " +"siajn Python-mediojn. Oni faras tion per :ref:`pip`, uzante la jenan " +"komandon:" #: ../source/flow.rst:181 msgid "" "End users may also use other tools like :ref:`pipenv`, :ref:`poetry`, or :" "ref:`pdm`." msgstr "" +"Uzantoj povas ankaŭ uzi aliajn ilojn kiel :ref:`pipenv`, :ref:`poetry`, aŭ :" +"ref:`pdm`." #: ../source/glossary.rst:3 msgid "Glossary" @@ -2557,17 +3001,19 @@ msgstr "Terminaro" #: ../source/glossary.rst:8 msgid "Binary Distribution" -msgstr "" +msgstr "Duuma Distribuo" #: ../source/glossary.rst:11 msgid "" "A specific kind of :term:`Built Distribution` that contains compiled " "extensions." msgstr "" +"Specifa speco de :term:`Konstruita Distribuo` enhavanta tradukitajn " +"etendaĵojn." #: ../source/glossary.rst:14 msgid "Build Backend" -msgstr "" +msgstr "Konstrua Malfasado" #: ../source/glossary.rst:17 msgid "" @@ -2576,6 +3022,10 @@ msgid "" "Distribution>` from it. The build is delegated to the backend by a :term:" "`frontend `. All backends offer a standardized interface." msgstr "" +"Biblioteko prenanta fontarbon kaj konstruanta :term:`fontan distribuon " +"` or :term:`konstritan distribuon `. La :term:`fasado ` delegas la konstruadon al " +"la malfasado. Ĉia malfasado provizas normigitan interfacon." #: ../source/glossary.rst:24 msgid "" @@ -2583,10 +3033,13 @@ msgid "" "hatchling `, :ref:`maturin`, :ref:`meson-python`, :ref:`scikit-build-" "core`, and :ref:`setuptools`." msgstr "" +"Ekzemploj de konstruaj malfasadoj estas :ref:`flit-core de flit `, :" +"ref:`hatchling de hatch `, :ref:`maturin`, :ref:`meson-python`, :ref:" +"`scikit-build-core`, kaj :ref:`setuptools`." #: ../source/glossary.rst:32 msgid "Build Frontend" -msgstr "" +msgstr "Konstrua Fasado" #: ../source/glossary.rst:35 msgid "" @@ -2599,11 +3052,11 @@ msgstr "" #: ../source/glossary.rst:42 msgid "Examples of build frontends are :ref:`pip` and :ref:`build`." -msgstr "" +msgstr "Ekzemploj de konstruaj fasadoj estas :ref:`pip` kaj :ref:`build`." #: ../source/glossary.rst:44 msgid "Built Distribution" -msgstr "" +msgstr "Konstruita Distribuo" #: ../source/glossary.rst:47 msgid "" @@ -2619,7 +3072,7 @@ msgstr "" #: ../source/glossary.rst:56 msgid "Built Metadata" -msgstr "" +msgstr "Konstruitaj Metadatenoj" #: ../source/glossary.rst:59 msgid "" @@ -2630,10 +3083,8 @@ msgid "" msgstr "" #: ../source/glossary.rst:66 -#, fuzzy -#| msgid "Configuring metadata" msgid "Core Metadata" -msgstr "Agordi metadatenojn" +msgstr "Kernaj Metadatenoj" #: ../source/glossary.rst:69 msgid "" @@ -2644,7 +3095,7 @@ msgstr "" #: ../source/glossary.rst:74 msgid "Core Metadata Field" -msgstr "" +msgstr "Kerna Metadatena Kampo" #: ../source/glossary.rst:77 msgid "" @@ -2655,20 +3106,20 @@ msgid "" msgstr "" #: ../source/glossary.rst:83 -#, fuzzy -#| msgid "Source Distributions vs Wheels" msgid "Distribution Archive" -msgstr "Fonto-Distribuoj kontraste kun Wheel-oj" +msgstr "Distribua Arĥivo" #: ../source/glossary.rst:86 msgid "" "The physical distribution artifact (i.e. a file on disk) for a :term:" "`Distribution Package`." msgstr "" +"La fizika distribua artefakto (ekz. dosiero sur disko) por :term:`Distribua " +"Pako `." #: ../source/glossary.rst:89 msgid "Distribution Package" -msgstr "" +msgstr "Distribua Pako" #: ../source/glossary.rst:92 msgid "" @@ -2699,10 +3150,12 @@ msgid "" "A :term:`Built Distribution` format introduced by :ref:`setuptools`, which " "has been replaced by :term:`Wheel`. For details, see :ref:`egg-format`." msgstr "" +"Formo de :term:`Konstruita Distribuo` enkondukita de :ref:`setuptools`, nun " +"anstataŭita de :term:`Wheel`. Por detaloj, vidu :ref:`egg-format`." #: ../source/glossary.rst:111 msgid "Extension Module" -msgstr "" +msgstr "Etenda Modulo" #: ../source/glossary.rst:114 msgid "" @@ -2715,13 +3168,14 @@ msgstr "" #: ../source/glossary.rst:121 msgid "Import Package" -msgstr "" +msgstr "Importa Pako" #: ../source/glossary.rst:124 msgid "" "A Python module which can contain other modules or recursively, other " "packages." msgstr "" +"Python-modulo, kiu povas enhavi aliajn modulojn aŭ, rikure, aliajn pakojn." #: ../source/glossary.rst:127 msgid "" @@ -2733,10 +3187,8 @@ msgid "" msgstr "" #: ../source/glossary.rst:133 -#, fuzzy -#| msgid "Installer" msgid "Installed Project" -msgstr "Instalilo" +msgstr "Instalita Projekto" #: ../source/glossary.rst:136 msgid "" @@ -2744,10 +3196,13 @@ msgid "" "term:`Virtual Environment`, as described in the specicifcation :ref:" "`recording-installed-packages`." msgstr "" +":term:`Projekto ` instalita por uzo kun Python-interpretilo aŭ :" +"term:`Virtuala Medio `, laŭ la specifo :ref:`recording-" +"installed-packages`." #: ../source/glossary.rst:140 msgid "Known Good Set (KGS)" -msgstr "" +msgstr "Konata Bona Aro (KGS)" #: ../source/glossary.rst:143 msgid "" @@ -2767,20 +3222,24 @@ msgid "" "The basic unit of code reusability in Python, existing in one of two types: :" "term:`Pure Module`, or :term:`Extension Module`." msgstr "" +"La baza unuo de reuzebla kodo en Python, en unu el la du jenaj tipoj: :term:" +"`Pura Modulo ` aŭ :term:`Etendaĵa Modulo `." #: ../source/glossary.rst:155 msgid "Package Index" -msgstr "" +msgstr "Pakindekso" #: ../source/glossary.rst:158 msgid "" "A repository of distributions with a web interface to automate :term:" "`package ` discovery and consumption." msgstr "" +"Deponejo de distribuoj kun TTT-fasado por aŭtomatigi serĉadon kaj uzadon de :" +"term:`pakoj `." #: ../source/glossary.rst:161 msgid "Per Project Index" -msgstr "" +msgstr "Unu-Projekta Indekso" #: ../source/glossary.rst:164 msgid "" @@ -2788,6 +3247,9 @@ msgid "" "specific :term:`Project` as the index preferred or required to resolve " "dependencies of that project." msgstr "" +"Privata aŭ alia nekanona :term:`Pakindekso ` indikita de " +"specifa :term:`Projekto ` kiel la indekso preferata aŭ postulata " +"por solvi dependecojn de tiu projekto." #: ../source/glossary.rst:168 ../source/guides/hosting-your-own-index.rst:62 #: ../source/guides/index-mirrors-and-caches.rst:52 @@ -2827,20 +3289,20 @@ msgid "" msgstr "" #: ../source/glossary.rst:192 -#, fuzzy -#| msgid "Project name" msgid "Project Root Directory" -msgstr "Nomo de projekto" +msgstr "Projekta Radika Dosierujo" #: ../source/glossary.rst:195 msgid "" "The filesystem directory in which a :term:`Project`'s :term:`source tree " "` is located." msgstr "" +"La dosiersistema dosierujo, en kiu troviĝas la term:`fontarbo ` de :term:`projekto `." #: ../source/glossary.rst:198 msgid "Project Source Tree" -msgstr "" +msgstr "Projekta Fontarbo" #: ../source/glossary.rst:201 msgid "" @@ -2851,7 +3313,7 @@ msgstr "" #: ../source/glossary.rst:207 msgid "Project Source Metadata" -msgstr "" +msgstr "Projektaj Fontaj Metadatenoj" #: ../source/glossary.rst:210 msgid "" @@ -2872,12 +3334,12 @@ msgid "" "A :term:`Module` written in Python and contained in a single ``.py`` file " "(and possibly associated ``.pyc`` and/or ``.pyo`` files)." msgstr "" +":term:`Modulo ` verkita en Python kaj en unu dosiero ``.py`` (kaj " +"eble asociitaj dosieroj ``.pyc`` kaj/aŭ ``.pyo``)." #: ../source/glossary.rst:226 -#, fuzzy -#| msgid "Project name" msgid "Pyproject Metadata" -msgstr "Nomo de projekto" +msgstr "Pyproject-Metadatenoj" #: ../source/glossary.rst:229 msgid "" @@ -2889,10 +3351,8 @@ msgid "" msgstr "" #: ../source/glossary.rst:237 -#, fuzzy -#| msgid "pyproject.toml" msgid "Pyproject Metadata Key" -msgstr "pyproject.toml" +msgstr "Pyproject-Metadatena Ŝlosilo" #: ../source/glossary.rst:240 msgid "" @@ -2900,19 +3360,24 @@ msgid "" "of the :term:`Pyproject Metadata`. Notably, distinct from a :term:`Core " "Metadata Field`." msgstr "" +"Supranivela TOML-ŝlosilo en la tabelo ``[project]`` en ``pyproject.toml``; " +"parto de la :term:`Pyproject-Metadatenoj `. Notindas, ke " +"ĝi ne estas :term:`Kerna Metadatena Kampo `." #: ../source/glossary.rst:244 msgid "Pyproject Metadata Subkey" -msgstr "" +msgstr "Pyproject-Metadatena Subŝlosilo" #: ../source/glossary.rst:247 msgid "" "A second-level TOML key under a table-valued :term:`Pyproject Metadata Key`." msgstr "" +"Duanivela TOML-ŝlosilo sub tabelo-valora :term:`Pyproject-Metadatena Ŝlosilo " +"`." #: ../source/glossary.rst:250 msgid "Python Packaging Authority (PyPA)" -msgstr "" +msgstr "Python-Pakada Aŭtoritato (PyPA)" #: ../source/glossary.rst:253 msgid "" @@ -2923,10 +3388,16 @@ msgid "" "`_ and " "`the Python Discourse forum `__." msgstr "" +"PyPA estas laborgrupo mastrumanta multajn projektojn pri pakado de Python. " +"Ĝia retejo estas :doc:`pypa.io `. Ĝi gastigas projektojn ĉe " +"`GitHub `_ kaj `Bitbucket `_ kaj diskutas problemojn ĉe `la dissendolisto distutils-sig `_ kaj `la forumo " +"Discourse por Python `__." #: ../source/glossary.rst:262 msgid "Python Package Index (PyPI)" -msgstr "" +msgstr "Python-Pakindekso (PyPI)" #: ../source/glossary.rst:265 msgid "" @@ -2934,6 +3405,9 @@ msgid "" "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" +"`PyPI `_ estas la ĉefa :term:`pakindekso ` " +"por la Python-komunumo. Ĉiu Python-programisto povas uzi ĝin por uzi kaj " +"distribui siajn distribuojn." #: ../source/glossary.rst:268 msgid "pypi.org" @@ -2945,6 +3419,9 @@ msgid "" "Package Index (PyPI)`. It replaced the legacy index domain name, ``pypi." "python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" +"`pypi.org `_ estas la retadreso de la :term:`Python-" +"Pakindekso (PyPI)`. Ĝi anstataŭis la malnovan retadreson, ``pypi.python." +"org``, en 2017. Ĝi funkciiĝas per :ref:`warehouse`." #: ../source/glossary.rst:275 msgid "pyproject.toml" @@ -2954,16 +3431,20 @@ msgstr "pyproject.toml" msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" +"La ilo-sendependa :term:`projekta ` specifa dosiero. Difinita en :" +"pep:`518`." #: ../source/glossary.rst:280 msgid "Release" -msgstr "" +msgstr "Eldono" #: ../source/glossary.rst:283 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" +"Kopio de :term:`Projekto ` ĉe iu punkto en tempo, indikita de " +"versia identigilo." #: ../source/glossary.rst:286 msgid "" @@ -2975,7 +3456,7 @@ msgstr "" #: ../source/glossary.rst:291 msgid "Requirement" -msgstr "" +msgstr "Postulo" #: ../source/glossary.rst:294 msgid "" @@ -2988,7 +3469,7 @@ msgstr "" #: ../source/glossary.rst:300 msgid "Requirement Specifier" -msgstr "" +msgstr "Postulo-Specifilo" #: ../source/glossary.rst:303 msgid "" @@ -3000,7 +3481,7 @@ msgstr "" #: ../source/glossary.rst:308 msgid "Requirements File" -msgstr "" +msgstr "Postulo-Dosiero" #: ../source/glossary.rst:311 msgid "" @@ -3008,6 +3489,9 @@ msgid "" "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" +"Dosiero enhavanta liston de :term:`Postuloj ` instaleblaj per :" +"ref:`pip`. Por plian informoj, vidu la dokumentaron de :ref:`pip` pri :ref:" +"`Postulo-Dosieroj `." #: ../source/glossary.rst:315 #: ../source/guides/distributing-packages-using-setuptools.rst:59 @@ -3024,10 +3508,12 @@ msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" +"La projektaj specifaj dosieroj por :ref:`distutils` kaj :ref:`setuptools`. " +"Vidu ankaŭ :term:`pyproject.toml`." #: ../source/glossary.rst:322 msgid "Source Archive" -msgstr "" +msgstr "Fonta Arĥivo" #: ../source/glossary.rst:325 msgid "" @@ -3038,7 +3524,7 @@ msgstr "" #: ../source/glossary.rst:329 msgid "Source Distribution (or \"sdist\")" -msgstr "" +msgstr "Fonta Distribuo (aŭ «sdist»)" #: ../source/glossary.rst:332 msgid "" @@ -3051,13 +3537,13 @@ msgstr "" #: ../source/glossary.rst:338 msgid "System Package" -msgstr "" +msgstr "Sistema Pako" #: ../source/glossary.rst:341 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." -msgstr "" +msgstr "Pako en formo indiĝena al la mastruma sistemo, ekz. rpm aŭ dpkg." #: ../source/glossary.rst:344 msgid "Version Specifier" @@ -3074,7 +3560,7 @@ msgstr "" #: ../source/glossary.rst:352 msgid "Virtual Environment" -msgstr "" +msgstr "Virtuala Medio" #: ../source/glossary.rst:355 msgid "" @@ -3086,7 +3572,7 @@ msgstr "" #: ../source/glossary.rst:360 msgid "Wheel Format" -msgstr "" +msgstr "Wheel-Formo" #: ../source/glossary.rst:361 msgid "Wheel" @@ -3101,16 +3587,16 @@ msgid "" msgstr "" #: ../source/glossary.rst:371 -#, fuzzy -#| msgid "Project" msgid "Wheel Project" -msgstr "Projekto" +msgstr "Wheel-Projekto" #: ../source/glossary.rst:374 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; see :ref:" "`wheel`." msgstr "" +"La referenca realigo far PyPA de la :term:`Wheel-Formo `; " +"vidu :ref:`wheel`." #: ../source/glossary.rst:376 msgid "Working Set" @@ -3126,7 +3612,7 @@ msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:5 msgid "Analyzing PyPI package downloads" -msgstr "" +msgstr "Analizi la pakajn elŝutojn el PyPI" #: ../source/guides/analyzing-pypi-package-downloads.rst:7 msgid "" @@ -3143,7 +3629,7 @@ msgstr "Fonaj informoj" #: ../source/guides/analyzing-pypi-package-downloads.rst:16 msgid "PyPI does not display download statistics for a number of reasons: [#]_" -msgstr "" +msgstr "PyPI ne montras statistikojn pri elŝutoj pro kelkaj kialoj: [#]_" #: ../source/guides/analyzing-pypi-package-downloads.rst:18 msgid "" @@ -3158,29 +3644,37 @@ msgid "" "**Highly inaccurate:** A number of things prevent the download counts from " "being accurate, some of which include:" msgstr "" +"**Tre malpreciza:** Kelkaj problemoj malhelpas la precizecon de la kalkulado " +"de elŝutoj, interalie:" #: ../source/guides/analyzing-pypi-package-downloads.rst:26 msgid "``pip``'s download cache (lowers download counts)" -msgstr "" +msgstr "Elŝuta kaŝmemoro de ``pip`` (kiu malpliigas la kalkulon de eŝutoj)" #: ../source/guides/analyzing-pypi-package-downloads.rst:27 msgid "" "Internal or unofficial mirrors (can both raise or lower download counts)" msgstr "" +"Internaj aŭ neoficialaj speguloj (povas kaj pliigi kaj malpliigi elŝutajn " +"kalkulojn)" #: ../source/guides/analyzing-pypi-package-downloads.rst:28 msgid "Packages not hosted on PyPI (for comparisons sake)" -msgstr "" +msgstr "Pakoj ne gastigitaj de PyPI (por komparo)" #: ../source/guides/analyzing-pypi-package-downloads.rst:29 msgid "" "Unofficial scripts or attempts at download count inflation (raises download " "counts)" msgstr "" +"Neoficialaj instaliloj aŭ provoj falsi la fojojn de elŝutado (kiuj pliigas " +"la nombron de elŝutoj)" #: ../source/guides/analyzing-pypi-package-downloads.rst:31 msgid "Known historical data quality issues (lowers download counts)" msgstr "" +"Konataj historiaj problemoj pri datena kvalito (kiuj malpliigas la nombron " +"de elŝutoj)" #: ../source/guides/analyzing-pypi-package-downloads.rst:33 msgid "" @@ -3209,7 +3703,7 @@ msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:49 msgid "Getting set up" -msgstr "" +msgstr "Ekstarigi" #: ../source/guides/analyzing-pypi-package-downloads.rst:51 msgid "" @@ -3223,17 +3717,19 @@ msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:57 msgid "Navigate to the `BigQuery web UI`_." -msgstr "" +msgstr "Navigu al la `reta fasado de BigQuery `_." #: ../source/guides/analyzing-pypi-package-downloads.rst:58 msgid "Create a new project." -msgstr "" +msgstr "Krei novan projekton." #: ../source/guides/analyzing-pypi-package-downloads.rst:59 msgid "" "Enable the `BigQuery API `__." msgstr "" +"Ŝalti la `BigQuery API `__." #: ../source/guides/analyzing-pypi-package-downloads.rst:62 msgid "" @@ -3241,10 +3737,13 @@ msgid "" "out the `BigQuery quickstart guide `__." msgstr "" +"Por pli detalaj instrukcioj pri kiel ekuzi BigQuery, legu `BigQuery " +"quickstart guide `__." #: ../source/guides/analyzing-pypi-package-downloads.rst:68 msgid "Data schema" -msgstr "" +msgstr "Datena skemo" #: ../source/guides/analyzing-pypi-package-downloads.rst:70 msgid "" @@ -3266,6 +3765,7 @@ msgid "Description" msgstr "Priskribo" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -3317,9 +3817,8 @@ msgid "Installer" msgstr "Instalilo" #: ../source/guides/analyzing-pypi-package-downloads.rst:85 -#, fuzzy msgid "pip, :ref:`bandersnatch`" -msgstr "pip, `bandersnatch`_" +msgstr "pip, :ref:`bandersnatch`" #: ../source/guides/analyzing-pypi-package-downloads.rst:87 msgid "details.python" @@ -3335,13 +3834,15 @@ msgstr "``2.7.12``, ``3.6.4``" #: ../source/guides/analyzing-pypi-package-downloads.rst:92 msgid "Useful queries" -msgstr "" +msgstr "Utilaj informpetoj" #: ../source/guides/analyzing-pypi-package-downloads.rst:94 msgid "" "Run queries in the `BigQuery web UI`_ by clicking the \"Compose query\" " "button." msgstr "" +"Rulu informpetojn en la `reta fasado de BigQuery `_ " +"alklakante la butonon «Compose query»." #: ../source/guides/analyzing-pypi-package-downloads.rst:96 msgid "" @@ -3352,13 +3853,15 @@ msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:101 msgid "Counting package downloads" -msgstr "" +msgstr "Kalkuli elŝutojn de pako" #: ../source/guides/analyzing-pypi-package-downloads.rst:103 msgid "" "The following query counts the total number of downloads for the project " "\"pytest\"." msgstr "" +"Jen informpeto kalkulanta la totalan nombron de elŝutoj de la projekto " +"«pytest»." #: ../source/guides/analyzing-pypi-package-downloads.rst:118 #: ../source/guides/analyzing-pypi-package-downloads.rst:139 @@ -3376,6 +3879,8 @@ msgid "" "To count downloads from pip only, filter on the ``details.installer.name`` " "column." msgstr "" +"Por kalkuli nur elŝutojn per pip, filtru la kolumnon ``details.installer." +"name``." #: ../source/guides/analyzing-pypi-package-downloads.rst:141 msgid "24334215" @@ -3383,13 +3888,15 @@ msgstr "24334215" #: ../source/guides/analyzing-pypi-package-downloads.rst:145 msgid "Package downloads over time" -msgstr "" +msgstr "Nombro de pakaj elŝutoj tra tempo" #: ../source/guides/analyzing-pypi-package-downloads.rst:147 msgid "" "To group by monthly downloads, use the ``TIMESTAMP_TRUNC`` function. Also " "filtering by this column reduces corresponding costs." msgstr "" +"Por grupigi laŭ monatoj, uzu la funkcion ``TIMESTAMP_TRUNC``. Ankaŭ filtrado " +"per tiu kolumno reduktas la koston." #: ../source/guides/analyzing-pypi-package-downloads.rst:167 msgid "month" @@ -3397,7 +3904,7 @@ msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:169 msgid "1956741" -msgstr "" +msgstr "1956741" #: ../source/guides/analyzing-pypi-package-downloads.rst:169 msgid "2018-01-01" @@ -3421,37 +3928,39 @@ msgstr "2017-11-01" #: ../source/guides/analyzing-pypi-package-downloads.rst:175 msgid "2047310" -msgstr "" +msgstr "2047310" #: ../source/guides/analyzing-pypi-package-downloads.rst:175 msgid "2017-10-01" -msgstr "" +msgstr "2017-10-01" #: ../source/guides/analyzing-pypi-package-downloads.rst:177 msgid "1744443" -msgstr "" +msgstr "1744443" #: ../source/guides/analyzing-pypi-package-downloads.rst:177 msgid "2017-09-01" -msgstr "" +msgstr "2017-09-01" #: ../source/guides/analyzing-pypi-package-downloads.rst:179 msgid "1916952" -msgstr "" +msgstr "1916952" #: ../source/guides/analyzing-pypi-package-downloads.rst:179 msgid "2017-08-01" -msgstr "" +msgstr "2017-08-01" #: ../source/guides/analyzing-pypi-package-downloads.rst:183 msgid "Python versions over time" -msgstr "" +msgstr "Versioj de Python tra tempo" #: ../source/guides/analyzing-pypi-package-downloads.rst:185 msgid "" "Extract the Python version from the ``details.python`` column. Warning: This " "query processes over 500 GB of data." msgstr "" +"Eltiri la version de Python el la kolumno ``details.python``. Averto: tiu " +"informpeto pritraktas pli ol 500 gigabajtojn da datenoj." #: ../source/guides/analyzing-pypi-package-downloads.rst:204 msgid "python" @@ -3479,15 +3988,15 @@ msgstr "3.8" #: ../source/guides/analyzing-pypi-package-downloads.rst:210 msgid "7781904681" -msgstr "" +msgstr "7781904681" #: ../source/guides/analyzing-pypi-package-downloads.rst:212 msgid "2.7" -msgstr "" +msgstr "2.7" #: ../source/guides/analyzing-pypi-package-downloads.rst:212 msgid "6381252241" -msgstr "" +msgstr "6381252241" #: ../source/guides/analyzing-pypi-package-downloads.rst:214 msgid "null" @@ -3495,19 +4004,19 @@ msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:214 msgid "2026630299" -msgstr "" +msgstr "2026630299" #: ../source/guides/analyzing-pypi-package-downloads.rst:216 msgid "3.5" -msgstr "" +msgstr "3.5" #: ../source/guides/analyzing-pypi-package-downloads.rst:216 msgid "1894153540" -msgstr "" +msgstr "1894153540" #: ../source/guides/analyzing-pypi-package-downloads.rst:221 msgid "Getting absolute links to artifacts" -msgstr "" +msgstr "Akiri absolutajn hiperligojn al artefaktoj" #: ../source/guides/analyzing-pypi-package-downloads.rst:223 msgid "" @@ -3522,6 +4031,8 @@ msgid "" "The URL generated here is not guaranteed to be stable, but currently aligns " "with the URL where PyPI artifacts are hosted." msgstr "" +"La generita retadreso ne estas stabila, sed aktuale ĝi kongruas kun la " +"retadreso ĉe kiu la PyPI-artefaktoj troviĝas." #: ../source/guides/analyzing-pypi-package-downloads.rst:242 msgid "url" @@ -3533,6 +4044,9 @@ msgid "" "eb/45/79be82bdeafcecb9dca474cad4003e32ef8e4a0dec6abbd4145ccb02abe1/" "sampleproject-1.2.0.tar.gz" msgstr "" +"https://files.pythonhosted.org/packages/" +"eb/45/79be82bdeafcecb9dca474cad4003e32ef8e4a0dec6abbd4145ccb02abe1/" +"sampleproject-1.2.0.tar.gz" #: ../source/guides/analyzing-pypi-package-downloads.rst:246 msgid "" @@ -3540,6 +4054,9 @@ msgid "" "packages/56/0a/178e8bbb585ec5b13af42dae48b1d7425d6575b3ff9b02e5ec475e38e1d6/" "sampleproject_nomura-1.2.0-py2.py3-none-any.whl" msgstr "" +"https://files.pythonhosted.org/" +"packages/56/0a/178e8bbb585ec5b13af42dae48b1d7425d6575b3ff9b02e5ec475e38e1d6/" +"sampleproject_nomura-1.2.0-py2.py3-none-any.whl" #: ../source/guides/analyzing-pypi-package-downloads.rst:248 msgid "" @@ -3547,6 +4064,9 @@ msgid "" "packages/63/88/3200eeaf22571f18d2c41e288862502e33365ccbdc12b892db23f51f8e70/" "sampleproject_nomura-1.2.0.tar.gz" msgstr "" +"https://files.pythonhosted.org/" +"packages/63/88/3200eeaf22571f18d2c41e288862502e33365ccbdc12b892db23f51f8e70/" +"sampleproject_nomura-1.2.0.tar.gz" #: ../source/guides/analyzing-pypi-package-downloads.rst:250 msgid "" @@ -3554,6 +4074,9 @@ msgid "" "e9/2743311822e71c0756394b6c5ab15cb64ca66c78c6c6a5cd872c9ed33154/" "sampleproject_doubleyoung18-1.3.0-py2.py3-none-any.whl" msgstr "" +"https://files.pythonhosted.org/packages/21/" +"e9/2743311822e71c0756394b6c5ab15cb64ca66c78c6c6a5cd872c9ed33154/" +"sampleproject_doubleyoung18-1.3.0-py2.py3-none-any.whl" #: ../source/guides/analyzing-pypi-package-downloads.rst:252 msgid "" @@ -3561,10 +4084,13 @@ msgid "" "packages/6f/5b/2f3fe94e1c02816fe23c7ceee5292fb186912929e1972eee7fb729fa27af/" "sampleproject-1.3.1.tar.gz" msgstr "" +"https://files.pythonhosted.org/" +"packages/6f/5b/2f3fe94e1c02816fe23c7ceee5292fb186912929e1972eee7fb729fa27af/" +"sampleproject-1.3.1.tar.gz" #: ../source/guides/analyzing-pypi-package-downloads.rst:257 msgid "Caveats" -msgstr "" +msgstr "Avertoj" #: ../source/guides/analyzing-pypi-package-downloads.rst:259 msgid "" @@ -3574,16 +4100,23 @@ msgid "" "accurate (e.g. the percentage of Python 2 vs. Python 3 downloads) but total " "numbers are lower than actual by an order of magnitude." msgstr "" +"Aldone al la avertoj ĉi-supraj, Linehaul suferis de cimo, kiu kaŭzis tre " +"maltroan kalkuladon pri elŝutaj statistikoj antaŭ la 26a de Julio 2018. " +"Elŝutoj antaŭ tiu dato estas proporcie precizaj (ekz. la elcento de Python 2 " +"kontraste al Python 3), sed la reportataj totaloj estas pli-ol-dekoble " +"malgrandaj ol la realaj nombroj." #: ../source/guides/analyzing-pypi-package-downloads.rst:267 msgid "Additional tools" -msgstr "" +msgstr "Pliaj iloj" #: ../source/guides/analyzing-pypi-package-downloads.rst:269 msgid "" "Besides using the BigQuery console, there are some additional tools which " "may be useful when analyzing download statistics." msgstr "" +"Krom la BigQuery-konzolo, ekzistas kelkaj ceteraj iloj utilaj por analizado " +"de elŝuta statistiko." #: ../source/guides/analyzing-pypi-package-downloads.rst:273 msgid "``google-cloud-bigquery``" @@ -3609,11 +4142,11 @@ msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:309 msgid "Install `pypinfo`_ using pip." -msgstr "" +msgstr "Instalu `pypinfo`_ per pip." #: ../source/guides/analyzing-pypi-package-downloads.rst:315 msgid "Usage:" -msgstr "" +msgstr "Uzado:" #: ../source/guides/analyzing-pypi-package-downloads.rst:331 msgid "``pandas-gbq``" @@ -3623,27 +4156,33 @@ msgstr "``pandas-gbq``" msgid "" "The `pandas-gbq`_ project allows for accessing query results via `Pandas`_." msgstr "" +"La projekto `pandas-gbq`_ permesas atingi informpetajn rezultojn per " +"`Pandas`_." #: ../source/guides/analyzing-pypi-package-downloads.rst:337 #: ../source/specifications/dependency-specifiers.rst:491 msgid "References" -msgstr "" +msgstr "Referencoj" #: ../source/guides/analyzing-pypi-package-downloads.rst:339 msgid "" "`PyPI Download Counts deprecation email `__" msgstr "" +"`Retmesaĝo pri evitindigo de la Kalkuloj de Elŝutoj ĉe PyPI `__" #: ../source/guides/analyzing-pypi-package-downloads.rst:340 msgid "" "`PyPI BigQuery dataset announcement email `__" msgstr "" +"`Retmesaĝo anoncanta datenaron pri PyPI ĉe BigQuery `__" #: ../source/guides/creating-and-discovering-plugins.rst:3 msgid "Creating and discovering plugins" -msgstr "" +msgstr "Krei kaj malkovri kromprogramojn" #: ../source/guides/creating-and-discovering-plugins.rst:5 msgid "" @@ -3655,23 +4194,23 @@ msgstr "" #: ../source/guides/creating-and-discovering-plugins.rst:10 msgid "There are three major approaches to doing automatic plugin discovery:" -msgstr "" +msgstr "Ekzistas tri ĉefmanieroj igi kromaĵojn aŭtomate malkovreblaj:" #: ../source/guides/creating-and-discovering-plugins.rst:12 msgid "`Using naming convention`_." -msgstr "" +msgstr "`Uzi nomajn konvenciojn `_." #: ../source/guides/creating-and-discovering-plugins.rst:13 msgid "`Using namespace packages`_." -msgstr "" +msgstr "`Uzi nomspacajn pakojn `_." #: ../source/guides/creating-and-discovering-plugins.rst:14 msgid "`Using package metadata`_." -msgstr "" +msgstr "`Uzi pakajn metadatenojn `_." #: ../source/guides/creating-and-discovering-plugins.rst:18 msgid "Using naming convention" -msgstr "" +msgstr "Uzi noman konvencion" #: ../source/guides/creating-and-discovering-plugins.rst:20 msgid "" @@ -3687,6 +4226,8 @@ msgid "" "If you had both the `Flask-SQLAlchemy`_ and `Flask-Talisman`_ plugins " "installed then ``discovered_plugins`` would be:" msgstr "" +"Se vi instalis la kromaĵojn `Flask-SQLAlchemy`_ kaj `Flask-Talisman`_, do " +"``discovered_plugins`` estos:" #: ../source/guides/creating-and-discovering-plugins.rst:48 msgid "" @@ -3697,7 +4238,7 @@ msgstr "" #: ../source/guides/creating-and-discovering-plugins.rst:58 msgid "Using namespace packages" -msgstr "" +msgstr "Uzi nomspacajn pakojn" #: ../source/guides/creating-and-discovering-plugins.rst:60 msgid "" @@ -3735,6 +4276,18 @@ msgid "" "will need to explicitly pass a list of packages to :func:`setup`'s " "``packages`` argument instead of using :func:`setuptools.find_packages`." msgstr "" +"Ĉi tiu ekzemplo uzas subpakon kiel la nomspacan pakon (``myapp.plugins``), " +"sed ankaŭ eblas uzi supranivelan pakon por tiu celo (ekzemple " +"``myapp_plugins``). Elektado de la uzota nomspaco laŭ onia gusto, sed ne " +"estas rekomendata igi la ĉefan supranivelan pakon (``myapp`` en la ekzemplo) " +"nomspaca pako pro kromprogramoj, ĉar unu aĉa kromprogramo rompus la plenan " +"nomspacon, malimportebligante vian projekton. Por la maniero «nomspaca " +"subpako», kromprograma pako devas ne inkluzivi la :file:`__init__.py` por la " +"supranivela paka dosierujo (``myapp`` en la ekzemplo) kaj inkluzivi la " +"nomspacpako-stilan :file:`__init__.py` en la nomspaca subpaka dosierujo " +"(``myapp/plugins``). Tio ankaŭ implicas, ke kromprogramo devas eksplicite " +"doni liston de pakoj kiel la argumenton ``packages`` de :func:`setup`, " +"anstataŭ uzi :func:`setuptools.find_packages`." #: ../source/guides/creating-and-discovering-plugins.rst:114 msgid "" @@ -3743,10 +4296,14 @@ msgid "" "namespace-packages` documentation and clearly document which approach is " "preferred for plugins to your project." msgstr "" +"Nomspaca pako estas komplika funkcio, kaj estas pluraj malsamaj manieroj " +"krei iĝin. Estas rekomendegate legi la dokumentaron :doc:`packaging-" +"namespace-packages` kaj klare dokumenti la preferatan manieron por " +"kromprogramoj de via projekto." #: ../source/guides/creating-and-discovering-plugins.rst:122 msgid "Using package metadata" -msgstr "" +msgstr "Uzi pakajn metadatenojn" #: ../source/guides/creating-and-discovering-plugins.rst:124 msgid "" @@ -3761,6 +4318,8 @@ msgid "" "For example if you have a package named ``myapp-plugin-a`` and it includes " "the following in its ``pyproject.toml``:" msgstr "" +"Ekzemple, se vi havas pakon nomitan ``myapp-plugin-a``, kies ``pyproject." +"toml`` enhavas la jenon:" #: ../source/guides/creating-and-discovering-plugins.rst:136 msgid "" @@ -3774,12 +4333,16 @@ msgid "" "In this example, ``discovered_plugins`` would be a collection of type :class:" "`importlib.metadata.EntryPoint`:" msgstr "" +"En ĉi tiu ekzemplo, ``discovered_plugins`` estas kolekto de la tipo :class:" +"`importlib.metadata.EntryPoint`:" #: ../source/guides/creating-and-discovering-plugins.rst:160 msgid "" "Now the module of your choice can be imported by executing " "``discovered_plugins['a'].load()``." msgstr "" +"Nun via elektita modulo estas importebla per ``discovered_plugins['a']." +"load()``." #: ../source/guides/creating-and-discovering-plugins.rst:163 msgid "" @@ -3797,7 +4360,7 @@ msgstr "" #: ../source/guides/creating-command-line-tools.rst:5 msgid "Creating and packaging command-line tools" -msgstr "" +msgstr "Krei kaj paki komandliniajn programojn" #: ../source/guides/creating-command-line-tools.rst:7 msgid "" @@ -3809,10 +4372,8 @@ msgid "" msgstr "" #: ../source/guides/creating-command-line-tools.rst:12 -#, fuzzy -#| msgid "Creating the package files" msgid "Creating the package" -msgstr "Krei dosierojn de la pakaĵo" +msgstr "Krei la pakon" #: ../source/guides/creating-command-line-tools.rst:14 msgid "" @@ -3824,13 +4385,15 @@ msgstr "" #: ../source/guides/creating-command-line-tools.rst:17 #: ../source/guides/tool-recommendations.rst:45 msgid "Todo" -msgstr "" +msgstr "FIXME" #: ../source/guides/creating-command-line-tools.rst:17 msgid "" "Advise on the optimal structure of a Python package in another guide or " "discussion and link to it here." msgstr "" +"Konsili pri la optimuma strukturo de Python-pako en alia gvidilo aŭ diskuto " +"kaj ligi al ĝi ĉi tie." #: ../source/guides/creating-command-line-tools.rst:19 msgid "" @@ -3844,6 +4407,8 @@ msgid "" "The actual code responsible for the tool's functionality will be stored in " "the file :file:`greet.py`, named after the main module:" msgstr "" +"La reala kodo respondeca por la funkciado de la ilo troviĝos en la dosiero :" +"file:`greet.py`, nomita laŭ la ĉefmodulo:" #: ../source/guides/creating-command-line-tools.rst:73 msgid "" @@ -3869,6 +4434,8 @@ msgid "" "Now, add an empty :file:`__init__.py` file, to define the project as a " "regular :term:`import package `." msgstr "" +"Nun, aldonu malplenan dosieron :file:`__init__.py`, por marki la projekton " +"kiel ordinaran :term:`importan pakon `." #: ../source/guides/creating-command-line-tools.rst:99 msgid "" @@ -3877,6 +4444,10 @@ msgid "" "immediately with flat layout, but requires installation of the package with " "src layout), so initizalize the command-line interface here:" msgstr "" +"La dosiero :file:`__main__.py` estas la ĉefenirpunkto de la programo, kial " +"ĝi ruliĝas per :mod:`runpy` (t.e. ``python -m greetings``, kiu funkcias tuj " +"kun plata aranĝo sed postulas instaladon kun src-aranĝo). Tial, starigu la " +"komandlinian fasadon ĉi tie:" #: ../source/guides/creating-command-line-tools.rst:111 msgid "" @@ -3887,10 +4458,8 @@ msgid "" msgstr "" #: ../source/guides/creating-command-line-tools.rst:117 -#, fuzzy -#| msgid "pyproject.toml" msgid "``pyproject.toml``" -msgstr "pyproject.toml" +msgstr "``pyproject.toml``" #: ../source/guides/creating-command-line-tools.rst:119 msgid "" @@ -3914,18 +4483,20 @@ msgid "" "Now, the project's source tree is ready to be transformed into a :term:" "`distribution package `, which makes it installable." msgstr "" +"Nun, la fontarbo de la projekto pretas transformiĝi en instaleblan :term:" +"`distribuan pakon `." #: ../source/guides/creating-command-line-tools.rst:134 -#, fuzzy -#| msgid "Installing packages" msgid "Installing the package with ``pipx``" -msgstr "Instalo de pakoj" +msgstr "Instali la pakon per ``pipx``" #: ../source/guides/creating-command-line-tools.rst:136 msgid "" "After installing ``pipx`` as described in :ref:`installing-stand-alone-" "command-line-tools`, install your project:" msgstr "" +"Post instalo de ``pipx`` laŭ :ref:`installing-stand-alone-command-line-" +"tools`, instalu vian projekton:" #: ../source/guides/creating-command-line-tools.rst:143 msgid "" @@ -3945,6 +4516,8 @@ msgid "" "To just run the program without installing it permanently, use ``pipx run``, " "which will create a temporary (but cached) virtual environment for it:" msgstr "" +"Por simple ruli la programon sen malprovizora instalado, uzu ``pipx run``, " +"kiu kreos provizoran (sed enkaŝmemorigitan) virtualan medion por ĝi:" #: ../source/guides/creating-command-line-tools.rst:165 msgid "" @@ -3968,10 +4541,8 @@ msgid "" msgstr "" #: ../source/guides/creating-command-line-tools.rst:185 -#, fuzzy -#| msgid "Version Specifier" msgid "Conclusion" -msgstr "Versio-Specifilo" +msgstr "Konkludo" #: ../source/guides/creating-command-line-tools.rst:187 msgid "" @@ -3986,17 +4557,15 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:5 msgid "Packaging and distributing projects" -msgstr "" +msgstr "Paki kaj distribui projektojn" #: ../source/guides/distributing-packages-using-setuptools.rst:7 msgid "Outdated" -msgstr "" +msgstr "Eksvalidiĝinta" #: ../source/guides/distributing-packages-using-setuptools.rst:8 -#, fuzzy -#| msgid "2017-12-01" msgid "2023-12-14" -msgstr "2017-12-01" +msgstr "14 Decembro 2023" #: ../source/guides/distributing-packages-using-setuptools.rst:10 msgid "" @@ -4024,17 +4593,19 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:28 msgid "Requirements for packaging and distributing" -msgstr "" +msgstr "Postuloj por pakado kaj distribuado" #: ../source/guides/distributing-packages-using-setuptools.rst:29 msgid "" "First, make sure you have already fulfilled the :ref:`requirements for " "installing packages `." msgstr "" +"Unue certigu, ke vi jam plenumis la :ref:`postulojn por instali pakojn " +"`." #: ../source/guides/distributing-packages-using-setuptools.rst:32 msgid "Install \"twine\" [1]_:" -msgstr "" +msgstr "Instali «twine» [1]_:" #: ../source/guides/distributing-packages-using-setuptools.rst:46 msgid "" @@ -4042,14 +4613,17 @@ msgid "" "Package>` to :term:`PyPI ` (see :ref:`below " "`)." msgstr "" +"Vi postulas tiun por alŝuti viajn projektajn :term:`distribuojn " +"` al :term:`PyPI ` (vidu :" +"ref:`ĉi-sube `)." #: ../source/guides/distributing-packages-using-setuptools.rst:52 msgid "Configuring your project" -msgstr "" +msgstr "Agordi vian projekton" #: ../source/guides/distributing-packages-using-setuptools.rst:56 msgid "Initial files" -msgstr "" +msgstr "Komencaj dosieroj" #: ../source/guides/distributing-packages-using-setuptools.rst:61 msgid "" @@ -4058,10 +4632,14 @@ msgid "" "pypa/sampleproject/blob/db5806e0a3204034c51b1c00dde7d5eb3fa2532e/setup.py>`_ " "in the `PyPA sample project `_." msgstr "" +"La plej grava dosiero estas :file:`setup.py` ĉe la radiko de via projekta " +"dosierujo. Por ekzemplo, vidu `setup.py `_ en " +"la `ekzempla projekto de PyPA `_." #: ../source/guides/distributing-packages-using-setuptools.rst:66 msgid ":file:`setup.py` serves two primary functions:" -msgstr "" +msgstr ":file:`setup.py` havas du ĉeffunkciojn:" #: ../source/guides/distributing-packages-using-setuptools.rst:68 msgid "" @@ -4086,10 +4664,15 @@ msgid "" "pypa/sampleproject/blob/db5806e0a3204034c51b1c00dde7d5eb3fa2532e/setup." "cfg>`_ in the `PyPA sample project `_." msgstr "" +":file:`setup.cfg` estas ini-dosiero enhavanta implicitajn valorojn de opcioj " +"por la komandoj de :file:`setup.py`. Por ekzemplo, vidu `setup.cfg `_ en la `ekzempla projekto de PyPA `_." #: ../source/guides/distributing-packages-using-setuptools.rst:89 msgid "README.rst / README.md" -msgstr "" +msgstr "README.rst / README.md" #: ../source/guides/distributing-packages-using-setuptools.rst:91 msgid "" @@ -4107,6 +4690,9 @@ msgid "" "main/README.md>`_ from the `PyPA sample project `_." msgstr "" +"Por ekzemplo, vidu `README.md `_ en la `ekzempla projekto de PyPA `_." #: ../source/guides/distributing-packages-using-setuptools.rst:102 msgid "" @@ -4121,7 +4707,7 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:111 msgid "MANIFEST.in" -msgstr "" +msgstr "MANIFEST.in" #: ../source/guides/distributing-packages-using-setuptools.rst:113 msgid "" @@ -4142,11 +4728,11 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:123 msgid "" ":file:`MANIFEST.in` does not affect binary distributions such as wheels." -msgstr "" +msgstr ":file:`MANIFEST.in` ne rilatas al duuma distribuo kiel wheel." #: ../source/guides/distributing-packages-using-setuptools.rst:126 msgid "LICENSE.txt" -msgstr "" +msgstr "LICENSE.txt" #: ../source/guides/distributing-packages-using-setuptools.rst:128 msgid "" @@ -4164,10 +4750,13 @@ msgid "" "blob/main/LICENSE.txt>`_ from the `PyPA sample project `_." msgstr "" +"Por ekzemplo, vidu `LICENSE.txt `_ en la `ekzempla projekto de PyPA `_." #: ../source/guides/distributing-packages-using-setuptools.rst:139 msgid "" -msgstr "" +msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:141 msgid "" @@ -4182,10 +4771,13 @@ msgid "" "main/src/sample>`_ package that's included in the `PyPA sample project " "`_." msgstr "" +"Por ekzemplo, vidu la pakon `sample `_ en la `ekzempla projekto de PyPA `_." #: ../source/guides/distributing-packages-using-setuptools.rst:153 msgid "setup() args" -msgstr "" +msgstr "argumentoj por setup()" #: ../source/guides/distributing-packages-using-setuptools.rst:155 msgid "" @@ -4208,17 +4800,21 @@ msgid "" "contained in the `PyPA sample project `_." msgstr "" +"Plejparto de la ekzemploj devenas de `setup.py `_ en " +"la `ekzempla projekto de PyPA `_." #: ../source/guides/distributing-packages-using-setuptools.rst:170 msgid "" "See :ref:`Choosing a versioning scheme` for more information on ways to use " "versions to convey compatibility information to your users." msgstr "" +"Vidu :ref:`Elekti versian skemon ` por pli pri " +"kiel uzi version por komuniki informojn pri kongrueco al uzantoj." #: ../source/guides/distributing-packages-using-setuptools.rst:177 -#, fuzzy msgid "``packages``" -msgstr "``pandas-gbq``" +msgstr "``packages``" #: ../source/guides/distributing-packages-using-setuptools.rst:183 msgid "" @@ -4232,7 +4828,7 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:192 msgid "``py_modules``" -msgstr "" +msgstr "``py_modules``" #: ../source/guides/distributing-packages-using-setuptools.rst:198 msgid "" @@ -4240,6 +4836,9 @@ msgid "" "a package, set ``py_modules`` to a list of the names of the modules (minus " "the ``.py`` extension) in order to make :ref:`setuptools` aware of them." msgstr "" +"Se via projekto enhavas ajnan unu-dosieran Python-modulon ne en pako, agordu " +"``py_modules`` al listo de la nomoj de tiaj moduloj (sen la dosiersufikso ``." +"py``) por sciigi :ref:` setuptools`." #: ../source/guides/distributing-packages-using-setuptools.rst:204 #, fuzzy @@ -4258,10 +4857,12 @@ msgid "" "For more on using \"install_requires\" see :ref:`install_requires vs " "Requirements files`." msgstr "" +"Por pli pri «install_requires», vidu :ref:`install_requires kontraste al " +"Postulo-dosiero `." #: ../source/guides/distributing-packages-using-setuptools.rst:221 msgid "``package_data``" -msgstr "" +msgstr "``package_data``" #: ../source/guides/distributing-packages-using-setuptools.rst:230 msgid "" @@ -4284,10 +4885,13 @@ msgid "" "For more information, see :std:doc:`Including Data Files ` from the :std:doc:`setuptools docs `." msgstr "" +"Por pliaj informoj, vidu la paragrafon :std:doc:`Inkluzivi Datenajn " +"Dosierojn ` en la :std:doc:`dokumentaro de " +"setuptools `." #: ../source/guides/distributing-packages-using-setuptools.rst:247 msgid "``data_files``" -msgstr "" +msgstr "``data_files``" #: ../source/guides/distributing-packages-using-setuptools.rst:253 msgid "" @@ -4315,6 +4919,8 @@ msgid "" "For more information see the distutils section on :ref:`Installing " "Additional Files `." msgstr "" +"Por pliaj informoj, vidu la paragrafon pri distutils en :ref:`Installing " +"Additional Files `." #: ../source/guides/distributing-packages-using-setuptools.rst:274 msgid "" @@ -4340,17 +4946,19 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:291 msgid "Choosing a versioning scheme" -msgstr "" +msgstr "Elekti versian skemon" #: ../source/guides/distributing-packages-using-setuptools.rst:293 msgid "" "See :ref:`versioning` for information on common version schemes and how to " "choose between them." msgstr "" +"Vidu :ref:`versiadon ` por informoj pri oftaj versiaj skemoj kaj " +"kiel elekti inter ili." #: ../source/guides/distributing-packages-using-setuptools.rst:298 msgid "Working in \"development mode\"" -msgstr "" +msgstr "Labori en «programada reĝimo»" #: ../source/guides/distributing-packages-using-setuptools.rst:300 msgid "" @@ -4360,12 +4968,18 @@ msgid "" "as editable will be reflected the next time an interpreter process is " "started." msgstr "" +"Vi povas instali projekton en «modifebla» aŭ «programada» reĝimo, kiam vi " +"verkas ĝin. Se projekto estas modifeble instalita, ĝi estas modifebla enloke " +"sen reinstalado: ŝanĝoj al Python-fontdosieroj en modifeble instalita " +"projekto efektiviĝos, kiam la interpretila procezo relanĉiĝos." #: ../source/guides/distributing-packages-using-setuptools.rst:306 msgid "" "To install a Python package in \"editable\"/\"development\" mode Change " "directory to the root of the project directory and run:" msgstr "" +"Por instali Python-pakan en «modifebla»/«evoluata» reĝimo, iru al la radiko " +"de la projekta dosierujo, kaj rulu la jenon:" #: ../source/guides/distributing-packages-using-setuptools.rst:314 msgid "" @@ -4391,6 +5005,9 @@ msgid "" "line overrides the \"bar\" dependency, such that it's fulfilled from VCS, " "not PyPI." msgstr "" +"La unua linio instalas vian projekton kaj ĝiajn dependaĵojn. La dua linio " +"anstataŭigas la dependecon sur «bar», uzante versikontrolan sistemon, ne " +"PyPI." #: ../source/guides/distributing-packages-using-setuptools.rst:333 msgid "" @@ -4411,17 +5028,19 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:342 msgid "" "Lastly, if you don't want to install any dependencies at all, you can run:" -msgstr "" +msgstr "Laste, se vi ne volas instali ajnan dependaĵon, rulu la jenon:" #: ../source/guides/distributing-packages-using-setuptools.rst:349 msgid "" "For more information, see the :doc:`Development Mode ` section of the :ref:`setuptools` docs." msgstr "" +"Por pli da informo, vidu la paragrafon :doc:`Evoluada Reĝimo ` de la dokumentaro de :ref:`setuptools`." #: ../source/guides/distributing-packages-using-setuptools.rst:356 msgid "Packaging your project" -msgstr "" +msgstr "Paki vian projekton" #: ../source/guides/distributing-packages-using-setuptools.rst:358 msgid "" @@ -4436,16 +5055,20 @@ msgid "" "Before you can build wheels and sdists for your project, you'll need to " "install the ``build`` package:" msgstr "" +"Antaŭ ol konstrui wheel kaj fontan distribuon por via projekto, vi devas " +"instali la pakon ``build``:" #: ../source/guides/distributing-packages-using-setuptools.rst:380 msgid "Source distributions" -msgstr "" +msgstr "Fontaj distribuoj" #: ../source/guides/distributing-packages-using-setuptools.rst:382 msgid "" "Minimally, you should create a :term:`Source Distribution `:" msgstr "" +"Minimume, vi kreu :term:`Fontan Distribuon `:" #: ../source/guides/distributing-packages-using-setuptools.rst:398 msgid "" @@ -4458,7 +5081,7 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:406 msgid "Wheels" -msgstr "" +msgstr "Wheel" #: ../source/guides/distributing-packages-using-setuptools.rst:408 msgid "" @@ -4467,18 +5090,25 @@ msgid "" "through the \"build\" process. Installing wheels is substantially faster for " "the end user than installing from a source distribution." msgstr "" +"Vi ankaŭ kreu wheel por via projekto. Wheel estas :term:`konstruita pako " +"` instalebla sen konstruado. Instalado de wheel estas " +"multe pli rapida ol instalado de fonta distribuo." #: ../source/guides/distributing-packages-using-setuptools.rst:413 msgid "" "If your project is pure Python then you'll be creating a :ref:`\"Pure Python " "Wheel\" (see section below) `." msgstr "" +"Se via projekto estas pure Python-a, do vi kreos :ref:`«Pure Python-an " +"Wheel» (vidu la ĉi-suban paragrafon) `." #: ../source/guides/distributing-packages-using-setuptools.rst:416 msgid "" "If your project contains compiled extensions, then you'll be creating what's " "called a :ref:`*Platform Wheel* (see section below) `." msgstr "" +"Se via projekto enhavas tradukitan etendaĵon, vi kreos la tiel nomatan :ref:" +"`*Platforman Wheel* (vidu ĉi-suban paragrafon) `." #: ../source/guides/distributing-packages-using-setuptools.rst:419 msgid "" @@ -4492,21 +5122,25 @@ msgid "" "Only use this setting if your project does not have any C extensions *and* " "supports Python 2 and 3." msgstr "" +"Nur uzu tiun agordon, se via projekto ne havas iun ajn C-etendaĵon *kaj* " +"subtenas Python 2 kaj 3." #: ../source/guides/distributing-packages-using-setuptools.rst:435 msgid "Pure Python Wheels" -msgstr "" +msgstr "Pure Python-a Wheel" #: ../source/guides/distributing-packages-using-setuptools.rst:437 msgid "" "*Pure Python Wheels* contain no compiled extensions, and therefore only " "require a single Python wheel." msgstr "" +"*Pure Python-a Wheel* enhavas neniu tradukitan etendaĵon kaj tial nur " +"postulas unu Python-wheel." #: ../source/guides/distributing-packages-using-setuptools.rst:440 #: ../source/guides/distributing-packages-using-setuptools.rst:469 msgid "To build the wheel:" -msgstr "" +msgstr "Por konstrui la wheel:" #: ../source/guides/distributing-packages-using-setuptools.rst:454 msgid "" @@ -4514,22 +5148,29 @@ msgid "" "wheel that's named such that it's usable on any Python 3 installation. For " "details on the naming of wheel files, see :pep:`425`." msgstr "" +"La pako ``wheel`` detektos, ke la pako estas pure Python-a, kaj konstruos " +"wheel nomitan tiel, ke ĝi estos uzebla sur ajna instalo de Python 3. Por " +"pliaj detaloj pri la nomado de wheel-dosiero, vidu :pep:`425`." #: ../source/guides/distributing-packages-using-setuptools.rst:458 msgid "" "If you run ``build`` without ``--wheel`` or ``--sdist``, it will build both " "files for you; this is useful when you don't need multiple wheels." msgstr "" +"Se oni rulos ``build`` sen ``--wheel`` aŭ ``--sdist``, ĝi konstruos ambaŭ " +"dosierojn; tio utilas, se vi ne bezonas plurajn wheel-ojn." #: ../source/guides/distributing-packages-using-setuptools.rst:464 msgid "Platform Wheels" -msgstr "" +msgstr "Platformaj Wheel-oj" #: ../source/guides/distributing-packages-using-setuptools.rst:466 msgid "" "*Platform Wheels* are wheels that are specific to a certain platform like " "Linux, macOS, or Windows, usually due to containing compiled extensions." msgstr "" +"*Platforma Wheel* estas wheel specifa al iu platformo kiel Linux, macOS aŭ " +"Windows, ordinare pro enhavo de tradukitaj etendaĵoj." #: ../source/guides/distributing-packages-using-setuptools.rst:484 msgid "" @@ -4547,7 +5188,7 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:498 msgid "Uploading your Project to PyPI" -msgstr "" +msgstr "Alŝuti Vian Projekton al PyPI" #: ../source/guides/distributing-packages-using-setuptools.rst:500 msgid "" @@ -4601,12 +5242,17 @@ msgid "" "You can create an account `using the form on the PyPI website `_." msgstr "" +"Unue, necesas konto ĉe :term:`PyPI `. Vi povas " +"krei konton `per formularo ĉe la retejo de PyPI `_." #: ../source/guides/distributing-packages-using-setuptools.rst:539 msgid "" "Now you'll create a PyPI `API token`_ so you will be able to securely upload " "your project." msgstr "" +"Nun vi kreos `API-ĵetonon `_ por PyPI, tiel ke vi povos sekure " +"alŝuti vian projekton." #: ../source/guides/distributing-packages-using-setuptools.rst:542 msgid "" @@ -4614,22 +5260,29 @@ msgid "" "token`_; don't limit its scope to a particular project, since you are " "creating a new project." msgstr "" +"Iru al https://pypi.org/manage/account/#api-tokens kaj kreu novan `API-" +"ĵetonon `_; ne limigu ĝian rajton al iu projekto, ĉar vi estas " +"kreanta novan projekton." #: ../source/guides/distributing-packages-using-setuptools.rst:546 msgid "" "**Don't close the page until you have copied and saved the token — you won't " "see that token again.**" msgstr "" +"**Ne fermu la paĝon, ĝis vi kopiis kaj konservis la ĵetonon – vi ne vidos " +"tiun ĵetonon denove. **" #: ../source/guides/distributing-packages-using-setuptools.rst:549 msgid "" "To avoid having to copy and paste the token every time you upload, you can " "create a :file:`$HOME/.pypirc` file:" msgstr "" +"Se vi ne volas kopii kaj alglui la ĵetonon ĉiun fojon dum alŝutado, vi povas " +"krei dosieron :file:`$HOME/.pypirc`:" #: ../source/guides/distributing-packages-using-setuptools.rst:558 msgid "**Be aware that this stores your token in plaintext.**" -msgstr "" +msgstr "**Averto: tio senĉifre tenas vian ĵetonon.**" #: ../source/guides/distributing-packages-using-setuptools.rst:560 #: ../source/guides/migrating-to-pypi-org.rst:74 @@ -4638,16 +5291,19 @@ msgstr "" msgid "" "For more details, see the :ref:`specification ` for :file:`.pypirc`." msgstr "" +"Por pliaj detaloj, vidu la :ref:`specifon ` pri :file:`.pypirc`." #: ../source/guides/distributing-packages-using-setuptools.rst:566 msgid "Upload your distributions" -msgstr "" +msgstr "Alŝuti viajn distribuojn" #: ../source/guides/distributing-packages-using-setuptools.rst:568 msgid "" "Once you have an account you can upload your distributions to :term:`PyPI " "` using :ref:`twine`." msgstr "" +"Post kiam vi kreis vian konton, vi rajtas alŝuti viajn distribuojn al :term:" +"`PyPI ` per :ref:`twine`." #: ../source/guides/distributing-packages-using-setuptools.rst:571 msgid "" @@ -4680,7 +5336,7 @@ msgstr "" #: ../source/guides/dropping-older-python-versions.rst:5 msgid "Dropping support for older Python versions" -msgstr "" +msgstr "Malsubteni malnovajn versiojn de Python" #: ../source/guides/dropping-older-python-versions.rst:7 msgid "" @@ -4702,20 +5358,24 @@ msgid "" "This mechanism can be used to drop support for older Python versions, by " "amending the ``Requires-Python`` attribute in the package metadata." msgstr "" +"Tiu meĥanismo povas esti uzata por ĉesigi subtenon por malnovaj versioj de " +"Python, modifante la atributon ``Requires-Python`` en la pakaj metadatenoj." #: ../source/guides/dropping-older-python-versions.rst:15 msgid "Requirements" -msgstr "" +msgstr "Postuloj" #: ../source/guides/dropping-older-python-versions.rst:17 msgid "" "This workflow requires that the user installing the package uses Pip [#]_, " "or another installer that supports the Metadata 1.2 specification." msgstr "" +"Tiu laborfluo postulas, ke la uzanto instalanta la pakon uzu Pip [#]_ aŭ " +"alian instalilon subtenantan la specifon Metadatenoj 1.2." #: ../source/guides/dropping-older-python-versions.rst:20 msgid "Dealing with the universal wheels" -msgstr "" +msgstr "Pritrakti universalan wheel" #: ../source/guides/dropping-older-python-versions.rst:22 msgid "" @@ -4732,6 +5392,8 @@ msgid "" "If you use this method, either remove this option or section, or explicitly " "set ``universal`` to ``0``:" msgstr "" +"Se vi uzas tiun metodon, aŭ forigu tiun opcion aŭ sekcion, aŭ eksplicite " +"agordu ``universal`` kiel ``0``:" #: ../source/guides/dropping-older-python-versions.rst:41 msgid "" @@ -4739,24 +5401,25 @@ msgid "" "invocations, passing the ``--universal`` flag on the command line could " "override this setting." msgstr "" +"Pri :ref:`evitinda ` rekta alvoko de ``setup.py``, " +"uzado de la komandlinia flago ``--universal`` povas igi tiun agordon " +"ignorata." #: ../source/guides/dropping-older-python-versions.rst:45 msgid "Defining the Python version required" -msgstr "" +msgstr "Difini la postulatan version de Python" #: ../source/guides/dropping-older-python-versions.rst:48 -#, fuzzy -#| msgid "Installation format" msgid "1. Install twine" -msgstr "Instala dosierformo" +msgstr "1. Instalu twine" #: ../source/guides/dropping-older-python-versions.rst:50 msgid "Ensure that you have twine available at its latest version. Steps:" -msgstr "" +msgstr "Certigu, ke vi havas la plej novan version de twine, jene:" #: ../source/guides/dropping-older-python-versions.rst:66 msgid "2. Specify the version ranges for supported Python distributions" -msgstr "" +msgstr "2. Specifu la versian intervalon de subtenataj versioj de Python" #: ../source/guides/dropping-older-python-versions.rst:68 msgid "" @@ -4778,6 +5441,8 @@ msgid "" "If using the :ref:`setuptools` build backend, consult the `dependency-" "management`_ documentation for more options." msgstr "" +"Se oni uzas la konstruan malfasadon :ref:`setuptools`, oni konsultu la " +"dokumentaron `dependency-management`_ por pliaj opcioj." #: ../source/guides/dropping-older-python-versions.rst:92 msgid "" @@ -4788,13 +5453,15 @@ msgstr "" #: ../source/guides/dropping-older-python-versions.rst:96 msgid "3. Validating the Metadata before publishing" -msgstr "" +msgstr "3. Kontrolu la validecon de la Metadatenoj antaŭ eldonado" #: ../source/guides/dropping-older-python-versions.rst:98 msgid "" "Within a Python source package (the zip or the tar-gz file you download) is " "a text file called PKG-INFO." msgstr "" +"En fonta pako de Python (la zip-arĥivo aŭ tar.gz-arĥivo elŝutita de vi) " +"troviĝas teksta dosiero nomita PKG-INFO." #: ../source/guides/dropping-older-python-versions.rst:100 msgid "" @@ -4805,39 +5472,42 @@ msgstr "" #: ../source/guides/dropping-older-python-versions.rst:103 msgid "You can see the contents of the generated file like this:" -msgstr "" +msgstr "Oni povas vidi la enhavon de la generita dosiero jene:" #: ../source/guides/dropping-older-python-versions.rst:109 msgid "Validate that the following is in place, before publishing the package:" msgstr "" +"Konfirmu, ke la jenaj kondiĉoj estas plenumitaj, antaŭ ol eldoni la pakon:" #: ../source/guides/dropping-older-python-versions.rst:111 msgid "" "If you have upgraded correctly, the ``Metadata-Version`` value should be 1.2 " "or higher." msgstr "" +"Se vi ĝisdatigis ĝuste, la valoro de ``Metadata-Version`` estu 1.2 aŭ pli " +"alta." #: ../source/guides/dropping-older-python-versions.rst:112 msgid "" "The ``Requires-Python`` field is set and matches your specification in the " "configuration file." msgstr "" +"La kampo ``Requires-Python`` ekzistu kaj kongruu kun via specifo en la " +"agorda dosiero." #: ../source/guides/dropping-older-python-versions.rst:115 -#, fuzzy -#| msgid "Using installed packages" msgid "4. Publishing the package" -msgstr "Uzi instalitajn pakojn" +msgstr "4. Eldonu la pakon" #: ../source/guides/dropping-older-python-versions.rst:117 msgid "Proceed as suggested in :ref:`Uploading your Project to PyPI`." msgstr "" +"Daŭrigu laŭ la paragrafo :ref:`Alŝuti Vian Projekton al PyPI `." #: ../source/guides/dropping-older-python-versions.rst:120 -#, fuzzy -#| msgid "Python version" msgid "Dropping a Python version" -msgstr "Versio de Python" +msgstr "Malsubteni version de Python" #: ../source/guides/dropping-older-python-versions.rst:122 msgid "" @@ -4852,7 +5522,7 @@ msgstr "" #: ../source/guides/dropping-older-python-versions.rst:128 msgid "Each version compatibility change should have its own release." -msgstr "" +msgstr "Ĉiu versio-kongrueca ŝanĝo havu sian propran eldonon." #: ../source/guides/dropping-older-python-versions.rst:132 msgid "" @@ -4864,11 +5534,11 @@ msgstr "" #: ../source/guides/dropping-older-python-versions.rst:138 msgid "Support for the Metadata 1.2 specification has been added in Pip 9.0." -msgstr "" +msgstr "Subteno por la specifo Metadatenoj 1.2 estis aldonita al Pip 9.0." #: ../source/guides/hosting-your-own-index.rst:5 msgid "Hosting your own simple repository" -msgstr "" +msgstr "Gastigi vian propran simplan deponejon" #: ../source/guides/hosting-your-own-index.rst:8 msgid "" @@ -4894,7 +5564,7 @@ msgstr "" #: ../source/guides/hosting-your-own-index.rst:35 msgid "\"Manual\" repository" -msgstr "" +msgstr "«Malaŭtomata» deponejo" #: ../source/guides/hosting-your-own-index.rst:37 msgid "" @@ -4916,33 +5586,27 @@ msgstr "" #: ../source/guides/hosting-your-own-index.rst:57 #: ../source/guides/index-mirrors-and-caches.rst:47 -#, fuzzy -#| msgid "A simple project" msgid "Existing projects" -msgstr "Simpla projekto" +msgstr "Ekzistantaj projektoj" #: ../source/guides/hosting-your-own-index.rst:63 -#, fuzzy -#| msgid "Package version" msgid "Package upload" -msgstr "Versio de pako" +msgstr "Alŝuto de pako" #: ../source/guides/hosting-your-own-index.rst:64 msgid "PyPI fall-through [2]_" -msgstr "" +msgstr "Retroiro al PyPI [2]_" #: ../source/guides/hosting-your-own-index.rst:65 #: ../source/guides/index-mirrors-and-caches.rst:56 #: ../source/guides/supporting-windows-using-appveyor.rst:146 msgid "Additional notes" -msgstr "" +msgstr "Pliaj notoj" #: ../source/guides/hosting-your-own-index.rst:67 #: ../source/guides/index-mirrors-and-caches.rst:58 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`devpi`" -msgstr ":ref:`pip`" +msgstr ":ref:`devpi`" #: ../source/guides/hosting-your-own-index.rst:68 #: ../source/guides/hosting-your-own-index.rst:69 @@ -4968,99 +5632,83 @@ msgstr ":ref:`pip`" #: ../source/guides/index-mirrors-and-caches.rst:108 #: ../source/guides/index-mirrors-and-caches.rst:110 msgid "✔" -msgstr "" +msgstr "✔" #: ../source/guides/hosting-your-own-index.rst:70 msgid "" "multiple indexes with inheritance, with syncing, replication, fail-over; " "mirroring" msgstr "" +"pluraj indeksoj kun heredado, kun sinkronigo, replikado, rezervosistemo; " +"spegulado" #: ../source/guides/hosting-your-own-index.rst:73 #: ../source/guides/index-mirrors-and-caches.rst:71 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`simpleindex`" -msgstr ":ref:`pip`" +msgstr ":ref:`simpleindex`" #: ../source/guides/hosting-your-own-index.rst:78 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`pypiserver`" -msgstr ":ref:`pip`" +msgstr ":ref:`pypiserver`" #: ../source/guides/hosting-your-own-index.rst:83 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`pypiprivate`" -msgstr ":ref:`pip`" +msgstr ":ref:`pypiprivate`" #: ../source/guides/hosting-your-own-index.rst:88 #: ../source/guides/index-mirrors-and-caches.rst:77 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`pypicloud`" -msgstr ":ref:`pip`" +msgstr ":ref:`pypicloud`" #: ../source/guides/hosting-your-own-index.rst:91 msgid "unmaintained; also cached proxying; authentication, authorisation" -msgstr "" +msgstr "nemastrumata; ankaŭ kaŝmemora perado; aŭtentikigo, rajtigo" #: ../source/guides/hosting-your-own-index.rst:93 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`pywharf`" -msgstr ":ref:`pip`" +msgstr ":ref:`pywharf`" #: ../source/guides/hosting-your-own-index.rst:96 msgid "unmaintained; serve files in GitHub" -msgstr "" +msgstr "nemastrumata; servi dosierojn ĉe GitHub" #: ../source/guides/hosting-your-own-index.rst:98 #: ../source/guides/index-mirrors-and-caches.rst:83 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`pulppython`" -msgstr ":ref:`pip`" +msgstr ":ref:`pulppython`" #: ../source/guides/hosting-your-own-index.rst:101 msgid "also mirroring, proxying; plugin for Pulp" -msgstr "" +msgstr "ankaŭ spegulado, perado; kromaĵo por Pulp" #: ../source/guides/hosting-your-own-index.rst:103 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`pip2pi`" -msgstr ":ref:`pip`" +msgstr ":ref:`pip2pi`" #: ../source/guides/hosting-your-own-index.rst:106 msgid "also mirroring; manual synchronisation" -msgstr "" +msgstr "ankaŭ spegulado; malaŭtomata sinkronigo" #: ../source/guides/hosting-your-own-index.rst:108 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`dumb-pypi`" -msgstr ":ref:`pip`" +msgstr ":ref:`dumb-pypi`" #: ../source/guides/hosting-your-own-index.rst:111 msgid "not a server, but a static file site generator" -msgstr "" +msgstr "ne servilo, sed statikdosiera retejogenerilo" #: ../source/guides/hosting-your-own-index.rst:113 msgid ":ref:`httpserver`" -msgstr "" +msgstr ":ref:`httpserver`" #: ../source/guides/hosting-your-own-index.rst:116 msgid "standard-library" -msgstr "" +msgstr "standard-library" #: ../source/guides/hosting-your-own-index.rst:118 #: ../source/guides/index-mirrors-and-caches.rst:107 -#, fuzzy -#| msgid "`Poetry `_" msgid "`Apache `_" -msgstr "`Poetry `_" +msgstr "`Apache `_" #: ../source/guides/hosting-your-own-index.rst:121 #: ../source/guides/index-mirrors-and-caches.rst:111 @@ -5070,18 +5718,25 @@ msgid "" "mod_cache_disk.html>`_, you can cache requests to package indexes through an " "Apache server" msgstr "" +"uzante `mod_rewrite `_ kaj `mod_cache_disk `_, vi povas enkaŝmemirigi petojn al pakindeksoj per " +"Apache-servilo" #: ../source/guides/hosting-your-own-index.rst:131 msgid "" "For complete documentation of the simple repository protocol, see :ref:" "`simple repository API `." msgstr "" +"Por plena dokumentaro pri la simpla deponeja protokolo, vidu :ref:`la " +"simplan deponejan API `." #: ../source/guides/hosting-your-own-index.rst:134 msgid "" "Can be configured to fall back to PyPI (or another package index) if a " "requested package is missing." msgstr "" +"Estas agordebla por uzi PyPI (aŭ alian pakindekson), se petita pako mankas." #: ../source/guides/index.rst:4 msgid "" @@ -5092,13 +5747,11 @@ msgstr "" #: ../source/guides/index-mirrors-and-caches.rst:5 msgid "Package index mirrors and caches" -msgstr "" +msgstr "Pakindeksaj speguloj kaj kaŝmemoroj" #: ../source/guides/index-mirrors-and-caches.rst:8 -#, fuzzy -#| msgid "2017-12-01" msgid "2023-11-08" -msgstr "2017-12-01" +msgstr "8 Novembro 2023" #: ../source/guides/index-mirrors-and-caches.rst:10 msgid "" @@ -5109,11 +5762,11 @@ msgstr "" #: ../source/guides/index-mirrors-and-caches.rst:15 msgid "There are multiple classes of options in this area:" -msgstr "" +msgstr "Ekzistas pluraj klasoj de opcioj en tiu areo:" #: ../source/guides/index-mirrors-and-caches.rst:17 msgid "local/hosted caching of package indexes." -msgstr "" +msgstr "loka/gastigita kaŝmemoro de pakindeksoj." #: ../source/guides/index-mirrors-and-caches.rst:19 msgid "" @@ -5129,13 +5782,15 @@ msgstr "" #: ../source/guides/index-mirrors-and-caches.rst:29 msgid "Caching with pip" -msgstr "" +msgstr "Kaŝmemoroj kaj pip" #: ../source/guides/index-mirrors-and-caches.rst:31 msgid "" "pip provides a number of facilities for speeding up installation by using " "local cached copies of :term:`packages `:" msgstr "" +"pip provizas servojn por rapidigi instaladon uzante loke memoritajn kopiojn " +"de :term:`pakoj `:" #: ../source/guides/index-mirrors-and-caches.rst:34 msgid "" @@ -5149,72 +5804,70 @@ msgid "" "A variation on the above which pre-builds the installation files for the " "requirements using :ref:`python3 -m pip wheel `:" msgstr "" +"Variaĵo de la ĉi-supro, kiu antaŭkonstruas la instalajn dosierojn por la " +"postuloj per :ref:`python3 -m pip wheel `:" #: ../source/guides/index-mirrors-and-caches.rst:53 msgid "Cache" -msgstr "" +msgstr "Kaŝmemoro" #: ../source/guides/index-mirrors-and-caches.rst:54 msgid "Mirror" -msgstr "" +msgstr "Spegulo" #: ../source/guides/index-mirrors-and-caches.rst:55 msgid "Proxy" -msgstr "" +msgstr "Perilo" #: ../source/guides/index-mirrors-and-caches.rst:62 msgid "" "multiple indexes with inheritance; syncing, replication, fail-over; package " "upload" msgstr "" +"pluraj indeksoj kun heredado, kun sinkronigo, replikado, rezervosistemo; " +"alŝutado de pakoj" #: ../source/guides/index-mirrors-and-caches.rst:65 -#, fuzzy msgid ":ref:`bandersnatch`" -msgstr "pip, `bandersnatch`_" +msgstr ":ref:`bandersnatch`" #: ../source/guides/index-mirrors-and-caches.rst:75 msgid "custom plugin enables caching; re-routing to other package indexes" msgstr "" +"propra kromprogramo ebligas kaŝmemoron; alidirektado al aliaj pakindeksoj" #: ../source/guides/index-mirrors-and-caches.rst:81 msgid "unmaintained; authentication, authorisation" -msgstr "" +msgstr "nemastrumata; aŭtentikigo, rajtigo" #: ../source/guides/index-mirrors-and-caches.rst:87 msgid "plugin for Pulp; multiple proxied indexes; package upload" -msgstr "" +msgstr "kromaĵo por Pulp; pluraj peritaj indeksoj; alŝuto de pako" #: ../source/guides/index-mirrors-and-caches.rst:89 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`proxpi`" -msgstr ":ref:`pip`" +msgstr ":ref:`proxpi`" #: ../source/guides/index-mirrors-and-caches.rst:93 #: ../source/guides/index-mirrors-and-caches.rst:99 msgid "multiple proxied indexes" -msgstr "" +msgstr "pluraj peritaj indeksoj" #: ../source/guides/index-mirrors-and-caches.rst:95 msgid ":ref:`nginx_pypi_cache`" -msgstr "" +msgstr ":ref:`nginx_pypi_cache`" #: ../source/guides/index-mirrors-and-caches.rst:101 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`flaskpypiproxy`" -msgstr ":ref:`pip`" +msgstr ":ref:`flaskpypiproxy`" #: ../source/guides/index-mirrors-and-caches.rst:105 -#, fuzzy -#| msgid "Maintainer" msgid "unmaintained" -msgstr "Prizorganto" +msgstr "nemastrumata" #: ../source/guides/installing-scientific-packages.rst:5 msgid "Installing scientific packages" -msgstr "" +msgstr "Instali sciencajn pakojn" #: ../source/guides/installing-scientific-packages.rst:8 msgid "" @@ -5253,7 +5906,7 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:32 msgid "Building from source" -msgstr "" +msgstr "Konstrui el fonto" #: ../source/guides/installing-scientific-packages.rst:34 msgid "" @@ -5266,7 +5919,7 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:42 msgid "Linux distribution packages" -msgstr "" +msgstr "Linux-distribuaj pakoj" #: ../source/guides/installing-scientific-packages.rst:44 msgid "" @@ -5285,7 +5938,7 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:54 msgid "Windows installers" -msgstr "" +msgstr "Windows-instaliloj" #: ../source/guides/installing-scientific-packages.rst:56 msgid "" @@ -5294,12 +5947,18 @@ msgid "" "download page. Using these installers allows users to avoid the need to set " "up a suitable environment to build extensions locally." msgstr "" +"Multaj Python-projektoj, kiuj ne eldonas (aŭ ne povas eldoni) wheel-" +"dosierojn, minimume eldonas Windows-instalilojn, aŭ ĉe PyPI aŭ sur siaj " +"projektaj elŝutaj paĝoj. Uzante tian instalilon, uzanto ne bezonas starigi " +"taŭgan medion por konstrui etendaĵojn loke." #: ../source/guides/installing-scientific-packages.rst:61 msgid "" "The extensions provided in these installers are typically compatible with " "the CPython Windows installers published on python.org." msgstr "" +"La etendaĵoj disponigitaj en tiuj instaliloj ofte kongruas kun la Windows-" +"instaliloj de CPython ĉe python.org." #: ../source/guides/installing-scientific-packages.rst:64 msgid "" @@ -5316,10 +5975,13 @@ msgid "" "subcommand that can convert a Windows :command:`bdist_wininst` installer to " "a wheel." msgstr "" +"La projekto :term:`Wheel` ankaŭ provizas subkomandon :command:`wheel " +"convert`, kiu konvertas :command:`bdist_wininst`-instalilon por Windows al " +"wheel." #: ../source/guides/installing-scientific-packages.rst:77 msgid "macOS installers and package managers" -msgstr "" +msgstr "Instaliloj kaj pakadministriloj por macOS" #: ../source/guides/installing-scientific-packages.rst:79 msgid "" @@ -5327,6 +5989,9 @@ msgid "" "macOS installers that are compatible with the macOS CPython binaries " "published on python.org." msgstr "" +"Simila al la situacio ĉe Windows, multaj projektoj (inkluzive de NumPy) " +"eldonas macOS-instalilojn kongruajn kun la CPython-duumaĵojn por macOS ĉe " +"python.org." #: ../source/guides/installing-scientific-packages.rst:83 msgid "" @@ -5337,25 +6002,35 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:89 msgid "SciPy distributions" -msgstr "" +msgstr "Distribuoj de SciPy" #: ../source/guides/installing-scientific-packages.rst:91 +#, fuzzy +#| msgid "" +#| "The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an " +#| "easy to use and update format." msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" +"La retejo de SciPy listigas `plurajn distribuojn `_ provizantajn la plenan SciPy-stakon al uzanto en facile " +"uzebla kaj ĝisdatigebla formo." #: ../source/guides/installing-scientific-packages.rst:96 msgid "" "Some of these distributions may not be compatible with the standard ``pip`` " "and ``virtualenv`` based toolchain." msgstr "" +"Kelkaj el tiuj distribuoj eble ne kongruas kun la norma ilĉeno uzanta " +"``pip`` kaj ``virtualenv``." #: ../source/guides/installing-scientific-packages.rst:100 #: ../source/key_projects.rst:812 msgid "Spack" -msgstr "" +msgstr "Spack" #: ../source/guides/installing-scientific-packages.rst:101 msgid "" @@ -5368,6 +6043,13 @@ msgid "" "destructive; installing a new version of one package does not break existing " "installations, so many configurations can coexist on the same system." msgstr "" +"`Spack `_ estas fleksebla pakadministrilo " +"subtenanta plurajn versiojn, agordojn, platformojn kaj tradukilojn. Ĝi estis " +"verkita por grandaj superkomputejoj kaj sciencaj teamoj, kiuj ofte devas " +"konstrui programojn plurmaniere. Spack ne estas limigita al Python; ĝi povas " +"instali pakojn por ``C``, ``C++``, Fortrano, ``R``, kaj aliajn lingvojn. Ĝi " +"estas nedetruema; instalado de nova versio de unu pako ne rompas " +"ekzistantajn instalojn; tial pluraj agordoj povas kunekzisti sur unu sistemo." #: ../source/guides/installing-scientific-packages.rst:110 msgid "" @@ -5381,7 +6063,7 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:119 msgid "The conda cross-platform package manager" -msgstr "" +msgstr "La plurplatforma pakadministrilo conda" #: ../source/guides/installing-scientific-packages.rst:121 msgid "" @@ -5397,6 +6079,16 @@ msgid "" "package, so that :command:`conda update python` is possible, in contrast to " "pip, which only manages Python packages." msgstr "" +"``conda`` estas malfermitfonta (BSD-licenca) pakadministra kaj " +"mediadministra sistemo, kiu permesas instali plurajn versiojn de duumaj " +"programaj pakoj kaj iliaj dependaĵoj kaj facile ŝanĝi inter ili. Ĝi estas " +"plurplatforma, sur Windows, macOS kaj Linux. Conda povas esti uzita por paki " +"kaj distribui ĉiajn pakojn; ĝi ne estas limigita al nur Python-pakoj. Ĝi " +"plene subtenas indiĝenajn virtualajn mediojn. Conda igas mediojn unuaklasaj " +"civitanoj, faciligante krei sendependajn mediojn eĉ por C-bibliotekoj. Ĝi " +"estas verkita en Python, sed ne estas nur por Python. Conda administras " +"Python mem kiel pakon, tiel ke :command:`conda update python` eblas, " +"kontraste al pip, kiu nur administras Python-pakojn." #: ../source/guides/installing-scientific-packages.rst:133 msgid "" @@ -5424,7 +6116,7 @@ msgstr "" #: ../source/guides/installing-stand-alone-command-line-tools.rst:4 msgid "Installing stand alone command line tools" -msgstr "" +msgstr "Instali memstarajn komandliniajn ilojn" #: ../source/guides/installing-stand-alone-command-line-tools.rst:6 msgid "" @@ -5432,6 +6124,9 @@ msgid "" "are `mypy `_, `flake8 `_, `black `_, and :ref:`pipenv`." msgstr "" +"Multaj pakoj provizas komandliniajn aplikprogramojn. Jen kelkaj ekzemploj: " +"`mypy `_, `flake8 `_, `black `_ kaj :ref:`pipenv`." #: ../source/guides/installing-stand-alone-command-line-tools.rst:12 msgid "" @@ -5452,11 +6147,11 @@ msgstr "" #: ../source/guides/installing-stand-alone-command-line-tools.rst:23 msgid "pipx only works with Python 3.6+." -msgstr "" +msgstr "pipx nur funkcias kun Python 3.6+." #: ../source/guides/installing-stand-alone-command-line-tools.rst:25 msgid "pipx is installed with pip:" -msgstr "" +msgstr "Oni instalas pipx per pip:" #: ../source/guides/installing-stand-alone-command-line-tools.rst:43 msgid "" @@ -5469,54 +6164,61 @@ msgid "" "Now you can install packages with ``pipx install`` and run the package's " "applications(s) from anywhere." msgstr "" +"Nun vi povas instali pakon per ``pipx install`` kaj ruli la programojn de la " +"pako ie ajn." #: ../source/guides/installing-stand-alone-command-line-tools.rst:54 #: ../source/specifications/entry-points.rst:114 -#, fuzzy msgid "For example:" -msgstr "Ekzemploj" +msgstr "Ekzemple:" #: ../source/guides/installing-stand-alone-command-line-tools.rst:76 msgid "" "To see a list of packages installed with pipx and which applications are " "available, use ``pipx list``:" msgstr "" +"Por vidi liston de pakoj instalitaj per pipx kaj liston de haveblaj " +"programoj, uzu ``pipx list``:" #: ../source/guides/installing-stand-alone-command-line-tools.rst:100 msgid "To upgrade or uninstall a package:" -msgstr "" +msgstr "Por ĝisdatigi aŭ malinstali pakon:" #: ../source/guides/installing-stand-alone-command-line-tools.rst:107 msgid "pipx can be upgraded or uninstalled with pip:" -msgstr "" +msgstr "pipx estas ĝisdatigebla kaj malinstalebla per pip:" #: ../source/guides/installing-stand-alone-command-line-tools.rst:123 msgid "" "pipx also allows you to install and run the latest version of an application " "in a temporary, ephemeral environment. For example:" msgstr "" +"pipx ankaŭ permesas al vi instali kaj ruli la plej novan version de programo " +"en provizora, efemera medio. Ekzemple:" #: ../source/guides/installing-stand-alone-command-line-tools.rst:130 msgid "To see the full list of commands pipx offers, run:" -msgstr "" +msgstr "Por vidi la plenan liston de komandoj de pipx, rulu la jenon:" #: ../source/guides/installing-stand-alone-command-line-tools.rst:136 msgid "You can learn more about pipx at https://pipx.pypa.io/." -msgstr "" +msgstr "Lernu pli pri pipx ĉe https://pipx.pypa.io/." #: ../source/guides/installing-using-linux-tools.rst:5 msgid "Installing pip/setuptools/wheel with Linux Package Managers" -msgstr "" +msgstr "Instali pip/setuptools/wheel per Linux-pakadministrilojn" #: ../source/guides/installing-using-linux-tools.rst:8 msgid "2021-07-26" -msgstr "" +msgstr "26 Julio 2021" #: ../source/guides/installing-using-linux-tools.rst:10 msgid "" "This section covers how to install :ref:`pip`, :ref:`setuptools`, and :ref:" "`wheel` using Linux package managers." msgstr "" +"Jen paragrafo pri kiel instali :ref:`pip`, :ref:`setuptools`, kaj :ref:" +"`wheel` per Linux-pakadministriloj." #: ../source/guides/installing-using-linux-tools.rst:13 msgid "" @@ -5524,6 +6226,9 @@ msgid "" "python.org>`_, then this section does not apply. See the :ref:" "`installing_requirements` section instead." msgstr "" +"Se vi uzas Python elŝutitan el `python.org `_, ĉi " +"tiu paragrafo ne rilatas. Anstataŭe vidu la paragrafon :ref:" +"`installing_requirements`." #: ../source/guides/installing-using-linux-tools.rst:17 msgid "" @@ -5546,27 +6251,32 @@ msgstr "" #: ../source/guides/installing-using-linux-tools.rst:31 msgid "Fedora" -msgstr "" +msgstr "Fedora" #: ../source/guides/installing-using-linux-tools.rst:37 msgid "" "To learn more about Python in Fedora, please visit the `official Fedora " "docs`_, `Python Classroom`_ or `Fedora Loves Python`_." msgstr "" +"Por lerni pli pri Python en Fedora, bonvolu legi `la oficialan dokumentaron " +"de Fedora `_, `Python Classroom`_ aŭ `Fedora Loves " +"Python`_." #: ../source/guides/installing-using-linux-tools.rst:45 msgid "CentOS/RHEL" -msgstr "" +msgstr "CentOS/RHEL" #: ../source/guides/installing-using-linux-tools.rst:47 msgid "" "CentOS and RHEL don't offer :ref:`pip` or :ref:`wheel` in their core " "repositories, although :ref:`setuptools` is installed by default." msgstr "" +"CentOS kaj RHEL ne ofertas :ref:`pip` nek :ref:`wheel` en siaj ĉefdeponejoj, " +"kvankam :ref:`setuptools` estas apriore instalita." #: ../source/guides/installing-using-linux-tools.rst:50 msgid "To install pip and wheel for the system Python, there are two options:" -msgstr "" +msgstr "Por instali pip kaj wheel por la sistema Python, ekzistas du opcioj:" #: ../source/guides/installing-using-linux-tools.rst:52 msgid "" @@ -5574,12 +6284,17 @@ msgid "" "`these instructions `__. On EPEL 7, you can install pip and wheel like so:" msgstr "" +"Ŝaltu la `deponejon EPEL `_ laŭ `la " +"jenaj instrukcioj `__. Sur EPEL 7, vi povas instali pip kaj wheel jene:" #: ../source/guides/installing-using-linux-tools.rst:61 msgid "" "Since EPEL only offers extra, non-conflicting packages, EPEL does not offer " "setuptools, since it's in the core repository." msgstr "" +"EPEL nur ofertas ekstrajn, senkonfliktajn pakojn. Tial EPEL ne ofertas " +"setuptools, ĉar ĝi estas en la ĉefdeponejo." #: ../source/guides/installing-using-linux-tools.rst:65 msgid "" @@ -5588,36 +6303,46 @@ msgid "" "Infrastructure/Fedorahosted-retirement>`__ [1]_. You can install pip and " "wheel like so:" msgstr "" +"Ŝaltu la `Copr-deponejon de PyPA `_ laŭ `tiuj instrukcioj `__ [1]_. Vi povas instali pip kaj " +"wheel jene:" #: ../source/guides/installing-using-linux-tools.rst:74 msgid "To additionally upgrade setuptools, run:" -msgstr "" +msgstr "Por ankaŭ ĝisdatigi setuptools, rulu la jenon:" #: ../source/guides/installing-using-linux-tools.rst:81 msgid "" "To install pip, wheel, and setuptools, in a parallel, non-system environment " "(using yum) then there are two options:" msgstr "" +"Por instali pip, wheel kaj setuptools en paralela, nesistema medio (uzante " +"yum), ekzistas du opcioj:" #: ../source/guides/installing-using-linux-tools.rst:85 msgid "" "Use the \"Software Collections\" feature to enable a parallel collection " "that includes pip, setuptools, and wheel." msgstr "" +"Uzu la funkcion «Software Collections» por ŝalti paralelan kolekton " +"inkluzivantan pip, setuptools kaj wheel." #: ../source/guides/installing-using-linux-tools.rst:88 msgid "" "For Redhat, see here: https://developers.redhat.com/products/" "softwarecollections/overview" msgstr "" +"Por Red Hat, vidu la jenon: https://developers.redhat.com/products/" +"softwarecollections/overview" #: ../source/guides/installing-using-linux-tools.rst:90 msgid "For CentOS, see here: https://github.com/sclorg" -msgstr "" +msgstr "Por CentOS, vidu la jenon: https://github.com/sclorg" #: ../source/guides/installing-using-linux-tools.rst:92 msgid "Be aware that collections may not contain the most recent versions." -msgstr "" +msgstr "Konsciu, ke kolektoj eble ne havas la plej novajn versiojn." #: ../source/guides/installing-using-linux-tools.rst:94 msgid "" @@ -5629,19 +6354,19 @@ msgstr "" #: ../source/guides/installing-using-linux-tools.rst:100 msgid "For example, for Python 3.4 on CentOS7/RHEL7:" -msgstr "" +msgstr "Ekzemple, por Python 3.4 sur CentOS 7 / RHEL 7:" #: ../source/guides/installing-using-linux-tools.rst:108 msgid "openSUSE" -msgstr "" +msgstr "openSUSE" #: ../source/guides/installing-using-linux-tools.rst:118 msgid "Debian/Ubuntu and derivatives" -msgstr "" +msgstr "Debian/Ubuntu kaj idoj" #: ../source/guides/installing-using-linux-tools.rst:120 msgid "Firstly, update and refresh repository lists by running this command:" -msgstr "" +msgstr "Unue, ĝisdatigu la liston de deponejoj per la jena komando:" #: ../source/guides/installing-using-linux-tools.rst:129 msgid "" @@ -5652,19 +6377,20 @@ msgstr "" #: ../source/guides/installing-using-linux-tools.rst:135 msgid "Arch Linux" -msgstr "" +msgstr "Arch Linux" #: ../source/guides/installing-using-linux-tools.rst:143 msgid "" "Currently, there is no \"copr\" yum plugin available for CentOS/RHEL, so the " "only option is to manually place the repo files as described." msgstr "" +"Aktuale ne ekzistas ``yum``-kromprogramo por ``copr`` havebla ĉe CentOS/" +"RHEL. Tial, oni devas malaŭtomate enmetu deponejajn dosierojn laŭ la ĉi-" +"supra maniero." #: ../source/guides/installing-using-pip-and-virtual-environments.rst:2 -#, fuzzy -#| msgid "Installing packages" msgid "Install packages in a virtual environment using pip and venv" -msgstr "Instalo de pakoj" +msgstr "Instali pakojn en virtuala medio per pip kaj venv" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:4 msgid "" @@ -5674,30 +6400,28 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:8 -#, fuzzy -#| msgid "Creating Virtual Environments" msgid "Create and activate a virtual environment" -msgstr "Krei Virtualajn Mediojn" +msgstr "Krei kaj aktivigi virtualan medion" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:9 #: ../source/guides/installing-using-pip-and-virtual-environments.rst:153 msgid "Prepare pip" -msgstr "" +msgstr "Prepari pip" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:10 msgid "Install packages into a virtual environment using the ``pip`` command" -msgstr "" +msgstr "Instali pakojn en virtualan medion per la komando ``pip``" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:11 -#, fuzzy -#| msgid "install_requires vs requirements files" msgid "Use and create a requirements file" -msgstr "install_requires kontraste kun requirements.txt" +msgstr "Uzi kaj krei postulo-dosieron" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:14 msgid "" "This guide applies to supported versions of Python, currently 3.8 and higher." msgstr "" +"Ĉi tiu gvidilo validas pri subtenataj versioj de Python, aktuale 3.8 kaj pli " +"novaj." #: ../source/guides/installing-using-pip-and-virtual-environments.rst:18 msgid "" @@ -5716,16 +6440,12 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:32 -#, fuzzy -#| msgid "Creating Virtual Environments" msgid "Create and Use Virtual Environments" -msgstr "Krei Virtualajn Mediojn" +msgstr "Krei kaj Uzi Virtualajn Mediojn" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:35 -#, fuzzy -#| msgid "Creating Virtual Environments" msgid "Create a new virtual environment" -msgstr "Krei Virtualajn Mediojn" +msgstr "Krei novan virtualan medion" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:37 msgid "" @@ -5742,6 +6462,7 @@ msgid "" "It is recommended to use a virtual environment when working with third party " "packages." msgstr "" +"Estas rekomendate uzi virtualan medion dum laborado kun triapartiaj pakoj." #: ../source/guides/installing-using-pip-and-virtual-environments.rst:48 msgid "" @@ -5759,18 +6480,19 @@ msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:67 msgid "" "``venv`` will create a virtual Python installation in the ``.venv`` folder." -msgstr "" +msgstr "``venv`` kreos virtualan Python-instalon en la dosierujo ``.venv``." #: ../source/guides/installing-using-pip-and-virtual-environments.rst:69 msgid "" "You should exclude your virtual environment directory from your version " "control system using ``.gitignore`` or similar." msgstr "" +"Vi ekskluzivu vian virtualmedian dosierujon el via versikontrola sistemo per " +"``.gitignore`` aŭ io simila." #: ../source/guides/installing-using-pip-and-virtual-environments.rst:74 -#, fuzzy msgid "Activate a virtual environment" -msgstr "Krei Virtualajn Mediojn" +msgstr "Aktivigi virtualan medion" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:76 msgid "" @@ -5785,6 +6507,8 @@ msgid "" "To confirm the virtual environment is activated, check the location of your " "Python interpreter:" msgstr "" +"Por konfirmi, ke la virtuala medio estas aktiva, kontrolu la lokon de via " +"Python-interpretilo:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:108 msgid "" @@ -5800,16 +6524,16 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:130 -#, fuzzy -#| msgid "Creating Virtual Environments" msgid "Deactivate a virtual environment" -msgstr "Krei Virtualajn Mediojn" +msgstr "Malaktivigi virtualan medion" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:132 msgid "" "If you want to switch projects or leave your virtual environment, " "``deactivate`` the environment:" msgstr "" +"Se vi volas ŝanĝi projektojn aŭ lasi vian virtualan medion, ``malaktivigu`` " +"la medion:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:140 msgid "" @@ -5818,10 +6542,8 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:145 -#, fuzzy -#| msgid "Creating Virtual Environments" msgid "Reactivate a virtual environment" -msgstr "Krei Virtualajn Mediojn" +msgstr "Reaktivigi virtualan medion" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:147 msgid "" @@ -5835,6 +6557,8 @@ msgid "" ":ref:`pip` is the reference Python package manager. It's used to install and " "update packages into a virtual environment." msgstr "" +":ref:`pip` estas la referenca Python-pakadministrilo. Oni uzas ĝin por " +"instali kaj ĝisdatigi pakojn en virtualan medion." #: ../source/guides/installing-using-pip-and-virtual-environments.rst:161 msgid "" @@ -5848,51 +6572,53 @@ msgid "" "Afterwards, you should have the latest version of pip installed in your user " "site:" msgstr "" +"Poste, vi estos instalinta la plej novan version de pip en vian lokon de " +"uzanto:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:179 msgid "" "The Python installers for Windows include pip. You can make sure that pip is " "up-to-date by running:" msgstr "" +"La Python-instaliloj por Windows inkluzivas pip. Vi povas certigi ke pip " +"estas ĝisdata rulante la jenon:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:187 msgid "Afterwards, you should have the latest version of pip:" -msgstr "" +msgstr "Poste, vi havos la plej novan version de pip:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:195 -#, fuzzy -#| msgid "Installing packages" msgid "Install packages using pip" -msgstr "Instalo de pakoj" +msgstr "Instali pakojn per pip" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:197 msgid "" "When your virtual environment is activated, you can install packages. Use " "the ``pip install`` command to install packages." msgstr "" +"Kiam via virtuala medio estas aktivigita, vi povas instali pakojn. Uzu la " +"komandon ``pip install`` por instali pakojn." #: ../source/guides/installing-using-pip-and-virtual-environments.rst:201 -#, fuzzy -#| msgid "Installing packages" msgid "Install a package" -msgstr "Instalo de pakoj" +msgstr "Instali pakon" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:203 msgid "" "For example,let's install the `Requests`_ library from the :term:`Python " "Package Index (PyPI)`:" msgstr "" +"Ekzemple, ni instalos la biblioteko `Requests`_ el la :term:`Python-" +"Pakindico (PyPI)`:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:218 msgid "" "pip should download requests and all of its dependencies and install them:" -msgstr "" +msgstr "pip elŝutos requests kaj ĝiajn dependaĵojn kaj instalos ilin:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:239 -#, fuzzy -#| msgid "To install a specific version:" msgid "Install a specific package version" -msgstr "Por instali specifan version:" +msgstr "Instali specifan version de pako" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:241 msgid "" @@ -5903,34 +6629,35 @@ msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:257 msgid "To install the latest ``2.x`` release of requests:" -msgstr "" +msgstr "Por instali la plej novan version ``2.x`` de requests:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:271 msgid "To install pre-release versions of packages, use the ``--pre`` flag:" -msgstr "" +msgstr "Por instali antaŭeldonan version de pako, uzu la flagon ``--pre``:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:287 -#, fuzzy msgid "Install extras" -msgstr "Instalo de pakoj" +msgstr "Instali ekstraĵojn" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:289 msgid "" "Some packages have optional `extras`_. You can tell pip to install these by " "specifying the extra in brackets:" msgstr "" +"Kelkaj pakoj havas nedevigajn `ekstraĵojn `_. Vi povas igi pip " +"instali tiun specifante la ekstraĵon en rektaj krampoj:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:309 -#, fuzzy -#| msgid "Installing from other sources" msgid "Install a package from source" -msgstr "Instali el aliaj fontoj" +msgstr "Instali pakon el fonto" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:311 msgid "" "pip can install a package directly from its source code. For example, to " "install the source code in the ``google-auth`` directory:" msgstr "" +"pip povas instali pakon rekte de la fontkodo. Ekzemple, por instali la " +"fontkodon en la dosierujo ``google-auth``:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:328 msgid "" @@ -5941,34 +6668,38 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:347 -#, fuzzy -#| msgid "Installing from other sources" msgid "Install from version control systems" -msgstr "Instali el aliaj fontoj" +msgstr "Instali el versikontrola sistemo" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:349 msgid "" "pip can install packages directly from their version control system. For " "example, you can install directly from a git repository:" msgstr "" +"pip povas instali pakon rekte el versikontrola sistemo. Ekzemple, vi povas " +"instali rekte el git-deponejo:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:356 msgid "" "For more information on supported version control systems and syntax, see " "pip's documentation on :ref:`VCS Support `." msgstr "" +"Por pli da informoj pri subtenataj versikontrolaj sistemoj kaj sintakso, " +"vidu la dokumentaron de pip pri :ref:`Subtenado de Versikontrola Sistemo < " +"pip:VCS Support>`." #: ../source/guides/installing-using-pip-and-virtual-environments.rst:361 -#, fuzzy -#| msgid "Installing from other sources" msgid "Install from local archives" -msgstr "Instali el aliaj fontoj" +msgstr "Instali el loka arĥivo" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:363 msgid "" "If you have a local copy of a :term:`Distribution Package`'s archive (a zip, " "wheel, or tar file) you can install it directly with pip:" msgstr "" +"Se oni havas lokan kopion de la arĥivo de :term:`Distribua Pako " +"` (zip-arĥivo, wheel, aŭ tar-arĥivo), oni povas " +"instali ĝin rekte per pip:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:378 msgid "" @@ -5985,16 +6716,16 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:400 -#, fuzzy -#| msgid "Installing from other Indexes" msgid "Install from other package indexes" -msgstr "Instali el aliaj Indeksoj" +msgstr "Instali el aliaj pakindeksoj" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:402 msgid "" "If you want to download packages from a different index than the :term:" "`Python Package Index (PyPI)`, you can use the ``--index-url`` flag:" msgstr "" +"Por elŝuti el indekso alia ol :term:`PyPI `, " +"uzu la flagon ``--index-url``:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:417 msgid "" @@ -6002,23 +6733,25 @@ msgid "" "(PyPI)` and a separate index, you can use the ``--extra-index-url`` flag " "instead:" msgstr "" +"Se vi volas permesi pakojn el kaj :term:`PyPI ` " +"kaj aparta indekso, vi povas anstataŭe uzi la flagon ``--extra-index-url``:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:434 #: ../source/tutorials/installing-packages.rst:393 msgid "Upgrading packages" -msgstr "" +msgstr "Ĝisdatigi pakojn" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:436 msgid "" "pip can upgrade packages in-place using the ``--upgrade`` flag. For example, " "to install the latest version of ``requests`` and all of its dependencies:" msgstr "" +"pip povas ĝisdatigi pakon en loko uzante la flagon ``--upgrade``. Ekzemple, " +"por instali la plej novan version de ``requests`` kaj ĉiuj ĝiaj dependaĵoj:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:452 -#, fuzzy -#| msgid "Requirements files" msgid "Using a requirements file" -msgstr "Dosiero requirements.txt" +msgstr "Usi postulo-dosieron" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:454 msgid "" @@ -6032,20 +6765,23 @@ msgid "" "And tell pip to install all of the packages in this file using the ``-r`` " "flag:" msgstr "" +"Kaj igi pip instali ĉiujn pakojn en ĉi tiu dosiero per la flago ``-r``:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:478 msgid "Freezing dependencies" -msgstr "" +msgstr "Frostigi dependecojn" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:480 msgid "" "Pip can export a list of all installed packages and their versions using the " "``freeze`` command:" msgstr "" +"Pip povas eksporti liston de ĉiuj instalitaj pakoj kaj iliaj versioj per la " +"komando ``freeze``:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:495 msgid "Which will output a list of package specifiers such as:" -msgstr "" +msgstr "Tio eligos liston de pako-specifiloj jene:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:511 msgid "" @@ -6053,18 +6789,21 @@ msgid "" "Files` that can re-create the exact versions of all packages installed in an " "environment." msgstr "" +"La komando ``pip freeze`` utilas por krei :ref:`Postulo-Dosieron ` kiu povas rekrei la ekzaktajn versiojn de ĉiuj pakoj " +"instalitaj en iu medio." #: ../source/guides/installing-using-virtualenv.rst:2 -#, fuzzy -#| msgid "Installing packages" msgid "Installing packages using virtualenv" -msgstr "Instalo de pakoj" +msgstr "Instali pakojn per virtualenv" #: ../source/guides/installing-using-virtualenv.rst:4 msgid "" "This guide discusses how to install packages using :ref:`pip` and :ref:" "`virtualenv`, a tool to create isolated Python environments." msgstr "" +"Jen gvidilo pri kiel instali pakojn per :ref:`pip` kaj :ref:`virtualenv`, " +"kiu estas ilo por krei izolitajn Python-mediojn." #: ../source/guides/installing-using-virtualenv.rst:8 msgid "" @@ -6082,7 +6821,7 @@ msgstr "" #: ../source/guides/making-a-pypi-friendly-readme.rst:2 msgid "Making a PyPI-friendly README" -msgstr "" +msgstr "Verki README-dosieron uzeblan por PyPI" #: ../source/guides/making-a-pypi-friendly-readme.rst:4 msgid "" @@ -6094,13 +6833,15 @@ msgstr "" #: ../source/guides/making-a-pypi-friendly-readme.rst:9 msgid "Creating a README file" -msgstr "" +msgstr "Krei README-dosieron" #: ../source/guides/making-a-pypi-friendly-readme.rst:11 msgid "" "README files for Python projects are often named ``README``, ``README.txt``, " "``README.rst``, or ``README.md``." msgstr "" +"La README-dosieroj por Python-projektoj ofte nomiĝas ``README``, ``README." +"txt``, ``README.rst``, aŭ ``README.md``." #: ../source/guides/making-a-pypi-friendly-readme.rst:13 msgid "" @@ -6108,33 +6849,41 @@ msgid "" "supported by PyPI. Formats supported by `PyPI's README renderer `_ are:" msgstr "" +"Por bona montrado de via README, elektu marklingvon subtenatan de PyPI. Jen " +"la dosierformoj subtenataj de `la README-montrilo de PyPI `:" #: ../source/guides/making-a-pypi-friendly-readme.rst:16 msgid "plain text" -msgstr "" +msgstr "ordinara teksto" #: ../source/guides/making-a-pypi-friendly-readme.rst:17 -#, fuzzy msgid "" "`reStructuredText `_ (without " "Sphinx extensions)" -msgstr "Marklingvo reStructuredText: http://docutils.sourceforge.net/" +msgstr "" +"`reStructuredText `_ (sen " +"etendaĵoj Sphinx)" #: ../source/guides/making-a-pypi-friendly-readme.rst:18 msgid "" "Markdown (`GitHub Flavored Markdown `_ by " "default, or `CommonMark `_)" msgstr "" +"Markdown (`GitHub-Stila Markdown `_ " +"implicite, aŭ `CommonMark `_)" #: ../source/guides/making-a-pypi-friendly-readme.rst:21 msgid "" "It's customary to save your README file in the root of your project, in the " "same directory as your :file:`setup.py` file." msgstr "" +"Estas kutime meti la README-dosieron en la radiko de la projekto, en la sama " +"dosierujo kiel la dosiero :file:`setup.py`." #: ../source/guides/making-a-pypi-friendly-readme.rst:25 msgid "Including your README in your package's metadata" -msgstr "" +msgstr "Inkluzivi vian README-dosieron en la metadatenojn de via pako" #: ../source/guides/making-a-pypi-friendly-readme.rst:27 msgid "" @@ -6145,17 +6894,20 @@ msgstr "" #: ../source/guides/making-a-pypi-friendly-readme.rst:33 msgid ":ref:`description-optional`" -msgstr "" +msgstr ":ref:`description-optional`" #: ../source/guides/making-a-pypi-friendly-readme.rst:34 msgid ":ref:`description-content-type-optional`" -msgstr "" +msgstr ":ref:`description-content-type-optional`" #: ../source/guides/making-a-pypi-friendly-readme.rst:36 msgid "" "For example, to set these values in a package's :file:`setup.py` file, use " "``setup()``'s ``long_description`` and ``long_description_content_type``." msgstr "" +"Ekzemple, por agordi tiujn valorojn en la dosiero :file:`setup.py` de pako, " +"uzu la argumentojn ``long_description`` kaj " +"``long_description_content_type`` de ``setup()``." #: ../source/guides/making-a-pypi-friendly-readme.rst:39 msgid "" @@ -6170,10 +6922,12 @@ msgid "" "If you're using GitHub-flavored Markdown to write a project's description, " "ensure you upgrade the following tools:" msgstr "" +"Se vi uzas GitHub-stilan Markdown por priskribi projekton, certigu, ke vi " +"ĝisdatigis la jenajn ilojn:" #: ../source/guides/making-a-pypi-friendly-readme.rst:60 msgid "The minimum required versions of the respective tools are:" -msgstr "" +msgstr "Jen la minimumaj postulataj versioj de tiuj iloj:" #: ../source/guides/making-a-pypi-friendly-readme.rst:62 msgid "``setuptools >= 38.6.0``" @@ -6192,6 +6946,8 @@ msgid "" "It's recommended that you use ``twine`` to upload the project's distribution " "packages:" msgstr "" +"Ni rekomendas, ke vi uzu ``twine`` por alŝuti la distribuajn pakojn de via " +"projekto:" #: ../source/guides/making-a-pypi-friendly-readme.rst:72 msgid "" @@ -6199,10 +6955,13 @@ msgid "" "file:`README.md` as ``long_description`` and identifies the markup as GitHub-" "flavored Markdown:" msgstr "" +"Jen ekzempla dosiero :file:`setup.py` leganta :file:`README.md` kiel " +"``long_description`` kaj identiganta la marklingvon kiel GitHub-stilan " +"Markdown:" #: ../source/guides/making-a-pypi-friendly-readme.rst:94 msgid "Validating reStructuredText markup" -msgstr "" +msgstr "Kontroli la validecon de reStructuredText" #: ../source/guides/making-a-pypi-friendly-readme.rst:96 msgid "" @@ -6224,22 +6983,27 @@ msgstr "" msgid "" "You can check your README for markup errors before uploading as follows:" msgstr "" +"Vi povas kontroli vian README pri marklingvaj erarojn antaŭ alŝutado jene:" #: ../source/guides/making-a-pypi-friendly-readme.rst:106 msgid "" "Install the latest version of `twine `_; " "version 1.12.0 or higher is required:" msgstr "" +"Instalu la plej novan version de `twine `_; " +"versio 1.12.0 aŭ pli nova estas bezonata:" #: ../source/guides/making-a-pypi-friendly-readme.rst:121 msgid "" "Build the sdist and wheel for your project as described under :ref:" "`Packaging Your Project`." msgstr "" +"Konstruu la fontan distribuon kaj la wheel por via projekto laŭ :ref:`Paki " +"Vian Projekton `." #: ../source/guides/making-a-pypi-friendly-readme.rst:124 msgid "Run ``twine check`` on the sdist and wheel:" -msgstr "" +msgstr "Rulu ``twine check`` pri la fonta distribuo kaj la wheel:" #: ../source/guides/making-a-pypi-friendly-readme.rst:130 msgid "" @@ -6247,17 +7011,20 @@ msgid "" "renders fine, the command will output ``Checking distribution FILENAME: " "Passed``." msgstr "" +"Ĉi tiu komando raportis ajnan problemon pri montrado de via README. Se ĉio " +"estas senproblema, la komando eligos ``Checking distribution DOSIERNOMO: " +"Passed``." #: ../source/guides/migrating-to-pypi-org.rst:6 msgid "Migrating to PyPI.org" -msgstr "" +msgstr "Migri al PyPI.org" #: ../source/guides/migrating-to-pypi-org.rst:8 #: ../source/guides/multi-version-installs.rst:8 #: ../source/guides/supporting-multiple-python-versions.rst:9 #: ../source/guides/supporting-windows-using-appveyor.rst:7 msgid "Obsolete" -msgstr "" +msgstr "Evitinda" #: ../source/guides/migrating-to-pypi-org.rst:10 msgid "" @@ -6269,29 +7036,33 @@ msgstr "" #: ../source/guides/migrating-to-pypi-org.rst:16 msgid "Publishing releases" -msgstr "" +msgstr "Publikigi eldonojn" #: ../source/guides/migrating-to-pypi-org.rst:18 msgid "``pypi.org`` is the default upload platform as of September 2016." -msgstr "" +msgstr "``pypi.org`` estas la implicita alŝuta platformo en Septembro 2016." #: ../source/guides/migrating-to-pypi-org.rst:20 msgid "" "Uploads through ``pypi.python.org`` were *switched off* on **July 3, 2017**. " "As of April 13th, 2018, ``pypi.org`` is the URL for PyPI." msgstr "" +"Alŝutoj per ``pypi.python.org` *ne plu eblas* ekde **3 Julio 2017**. Je 13 " +"Aprilo 2018, ``pypi.org`` estas la retadreso por PyPI." #: ../source/guides/migrating-to-pypi-org.rst:23 msgid "" "The recommended way to migrate to PyPI.org for uploading is to ensure that " "you are using a new enough version of your upload tool." msgstr "" +"La rekomendata maniero migri al PyPI.org por alŝutado estas certigi, ke vi " +"uzas sufiĉe novan version de via alŝutilo." #: ../source/guides/migrating-to-pypi-org.rst:26 msgid "" "The default upload settings switched to ``pypi.org`` in the following " "versions:" -msgstr "" +msgstr "La implicita alŝuta celo ŝanĝiĝis al ``pypi.org'' en la jenaj versioj:" #: ../source/guides/migrating-to-pypi-org.rst:28 msgid "``twine`` 1.8.0" @@ -6303,19 +7074,19 @@ msgstr "" #: ../source/guides/migrating-to-pypi-org.rst:30 msgid "Python 2.7.13 (``distutils`` update)" -msgstr "" +msgstr "Python 2.7.13 (ĝisdatigo de ``distutils``)" #: ../source/guides/migrating-to-pypi-org.rst:31 msgid "Python 3.4.6 (``distutils`` update)" -msgstr "" +msgstr "Python 3.4.6 (ĝisdatigo de ``distutils``)" #: ../source/guides/migrating-to-pypi-org.rst:32 msgid "Python 3.5.3 (``distutils`` update)" -msgstr "" +msgstr "Python 3.5.3 (ĝisdatigo de ``distutils``)" #: ../source/guides/migrating-to-pypi-org.rst:33 msgid "Python 3.6.0 (``distutils`` update)" -msgstr "" +msgstr "Python 3.6.0 (ĝisdatigo de ``distutils``)" #: ../source/guides/migrating-to-pypi-org.rst:35 msgid "" @@ -6331,6 +7102,8 @@ msgid "" "Then simply delete the line starting with ``repository`` and you will use " "your upload tool's default URL." msgstr "" +"Poste simple forigu la linion komenciĝanta per ``repository``, kaj vi uzos " +"la aprioran retadreson de via alŝutilo." #: ../source/guides/migrating-to-pypi-org.rst:55 msgid "" @@ -6348,7 +7121,7 @@ msgstr "" #: ../source/guides/migrating-to-pypi-org.rst:77 msgid "Registering package names & metadata" -msgstr "" +msgstr "Registri pakajn nomojn kaj metadatenojn" #: ../source/guides/migrating-to-pypi-org.rst:79 msgid "" @@ -6362,17 +7135,19 @@ msgid "" "As a result, attempting explicit registration after switching to using PyPI." "org for uploads will give the following error message::" msgstr "" +"Tial, provado registri eksplicite post ŝanĝado al PyPI. org por alŝutado " +"kaŭzos la jenan eraron::" #: ../source/guides/migrating-to-pypi-org.rst:88 msgid "" "The solution is to skip the registration step, and proceed directly to " "uploading artifacts." -msgstr "" +msgstr "La solvo estas transsalti la registradon kaj rekte alŝuti artefaktojn." #: ../source/guides/migrating-to-pypi-org.rst:93 #: ../source/guides/using-testpypi.rst:5 msgid "Using TestPyPI" -msgstr "" +msgstr "Uzi TestPyPI" #: ../source/guides/migrating-to-pypi-org.rst:95 msgid "" @@ -6385,7 +7160,7 @@ msgstr "" #: ../source/guides/migrating-to-pypi-org.rst:117 msgid "Registering new user accounts" -msgstr "" +msgstr "Registri novajn uzantokontojn" #: ../source/guides/migrating-to-pypi-org.rst:119 msgid "" @@ -6393,10 +7168,13 @@ msgid "" "through ``pypi.python.org`` was *switched off* on **February 20, 2018**. New " "user registrations at ``pypi.org`` are open." msgstr "" +"Por malpliigi atakojn kontraŭ PyPI, registrado de nova uzanto per ``pypi." +"python.org`` *malebliĝis* je *20a de Februaro 2018*. Eblas registrado de " +"nova uzanto ĉe ``pypi.org``." #: ../source/guides/migrating-to-pypi-org.rst:125 msgid "Browsing packages" -msgstr "" +msgstr "Foliumi pakojn" #: ../source/guides/migrating-to-pypi-org.rst:127 msgid "" @@ -6408,31 +7186,31 @@ msgstr "" #: ../source/guides/migrating-to-pypi-org.rst:134 msgid "Downloading packages" -msgstr "" +msgstr "Elŝuti pakojn" #: ../source/guides/migrating-to-pypi-org.rst:136 msgid "``pypi.org`` is the default host for downloading packages." -msgstr "" +msgstr "``pypi.org`` estas la implicita servilo por elŝuti pakojn." #: ../source/guides/migrating-to-pypi-org.rst:139 msgid "Managing published packages and releases" -msgstr "" +msgstr "Administri eldonitajn pakojn kaj eldonojn" #: ../source/guides/migrating-to-pypi-org.rst:141 msgid "" "``pypi.org`` provides a fully functional interface for logged in users to " "manage their published packages and releases." msgstr "" +"``pypi.org`` provizas plenfunkcian fasadon por salutintaj uzantoj administri " +"siajn eldonitajn pakojn kaj versiojn." #: ../source/guides/modernize-setup-py-project.rst:6 msgid "How to modernize a ``setup.py`` based project?" -msgstr "" +msgstr "Kiel modernigi projekton uzantan ``setup.py``?" #: ../source/guides/modernize-setup-py-project.rst:10 -#, fuzzy -#| msgid "pyproject.toml" msgid "Should ``pyproject.toml`` be added?" -msgstr "pyproject.toml" +msgstr "Ĉu aldoni ``pyproject.toml``?" #: ../source/guides/modernize-setup-py-project.rst:12 msgid "" @@ -6446,6 +7224,7 @@ msgstr "" msgid "" "Note that it has influence on the build isolation feature of pip, see below." msgstr "" +"Notu, ke tio influas la konstruado-izolan funkcion de pip; vidu ĉi-sube." #: ../source/guides/modernize-setup-py-project.rst:23 msgid "" @@ -6457,10 +7236,8 @@ msgid "" msgstr "" #: ../source/guides/modernize-setup-py-project.rst:36 -#, fuzzy -#| msgid "Yes (``python -m pip uninstall``)" msgid "``python -m build``" -msgstr "Jes (``python -m pip uninstall``)" +msgstr "``python -m build``" #: ../source/guides/modernize-setup-py-project.rst:42 #: ../source/guides/modernize-setup-py-project.rst:66 @@ -6468,23 +7245,23 @@ msgstr "Jes (``python -m pip uninstall``)" #: ../source/guides/modernize-setup-py-project.rst:129 #: ../source/guides/modernize-setup-py-project.rst:221 msgid "For more details:" -msgstr "" +msgstr "Por pliaj detaloj:" #: ../source/guides/modernize-setup-py-project.rst:44 msgid ":ref:`setup-py-deprecated`" -msgstr "" +msgstr ":ref:`setup-py-deprecated`" #: ../source/guides/modernize-setup-py-project.rst:48 -#, fuzzy -#| msgid "Get started" msgid "Where to start?" -msgstr "Komenci" +msgstr "De kie komenci?" #: ../source/guides/modernize-setup-py-project.rst:50 msgid "" "The :term:`project` must contain a :file:`pyproject.toml` file at the root " "of its source tree that contains a ``[build-system]`` table like so:" msgstr "" +"La :term:`projekto ` devas ĉe la radiko de sia fontarbo enhavi " +"dosieron :file:`pyproject.toml` enhavantan tabelon ``[build-system]`` jene:" #: ../source/guides/modernize-setup-py-project.rst:60 msgid "" @@ -6498,27 +7275,27 @@ msgid "" "Note that the presence of a :file:`pyproject.toml` file (even if empty) " "triggers :ref:`pip` to change its default behavior to use *build isolation*." msgstr "" +"Notu ke la ĉeesto de dosiero :file:`pyproject.toml` (eĉ malplena) igas :ref:" +"`pip` ŝanĝi la aprioran konduton al uzo de *konstrua izolado*." #: ../source/guides/modernize-setup-py-project.rst:68 -#, fuzzy -#| msgid "Source Distributions vs Wheels" msgid ":ref:`distributing-packages`" -msgstr "Fonto-Distribuoj kontraste kun Wheel-oj" +msgstr ":ref:`distributing-packages`" #: ../source/guides/modernize-setup-py-project.rst:69 #: ../source/guides/modernize-setup-py-project.rst:113 msgid ":ref:`pyproject-build-system-table`" -msgstr "" +msgstr ":ref:`pyproject-build-system-table`" #: ../source/guides/modernize-setup-py-project.rst:70 #: ../source/guides/modernize-setup-py-project.rst:131 #: ../source/guides/modernize-setup-py-project.rst:247 msgid ":doc:`pip:reference/build-system/pyproject-toml`" -msgstr "" +msgstr ":doc:`pip:reference/build-system/pyproject-toml`" #: ../source/guides/modernize-setup-py-project.rst:74 msgid "How to handle additional build-time dependencies?" -msgstr "" +msgstr "Kiel pritrakti pliajn konstrutempajn dependecojn?" #: ../source/guides/modernize-setup-py-project.rst:76 msgid "" @@ -6533,17 +7310,19 @@ msgstr "" #: ../source/guides/modernize-setup-py-project.rst:139 #: ../source/guides/modernize-setup-py-project.rst:174 msgid "For example, a :file:`setup.py` file such as this:" -msgstr "" +msgstr "Ekzemple, jena dosiero `setup.py`:" #: ../source/guides/modernize-setup-py-project.rst:99 msgid "" "requires a :file:`pyproject.toml` file like this (:file:`setup.py` stays " "unchanged):" msgstr "" +"postulas dosieron :file:`pyproject.toml` jene (:file:`setup.py` restas " +"senŝanĝe):" #: ../source/guides/modernize-setup-py-project.rst:117 msgid "What is the build isolation feature?" -msgstr "" +msgstr "Kio estas la konstruo-izolada funkcio?" #: ../source/guides/modernize-setup-py-project.rst:119 msgid "" @@ -6557,60 +7336,63 @@ msgid "" "For some projects this isolation is unwanted and it can be deactivated as " "follows:" msgstr "" +"Por kelkaj projektoj, tia izolado estas nedezirata kaj malaktivigebla jene:" #: ../source/guides/modernize-setup-py-project.rst:126 -#, fuzzy -#| msgid "Yes (``python -m pip uninstall``)" msgid "``python -m build --no-isolation``" -msgstr "Jes (``python -m pip uninstall``)" +msgstr "``python -m build --no-isolation``" #: ../source/guides/modernize-setup-py-project.rst:127 -#, fuzzy -#| msgid "Yes (``python -m pip uninstall``)" msgid "``python -m pip install --no-build-isolation``" -msgstr "Jes (``python -m pip uninstall``)" +msgstr "``python -m pip install --no-build-isolation``" #: ../source/guides/modernize-setup-py-project.rst:135 msgid "How to handle packaging metadata?" -msgstr "" +msgstr "Kiel enmeti pakajn metadatenojn?" #: ../source/guides/modernize-setup-py-project.rst:137 msgid "" "All static metadata can optionally be moved to a ``[project]`` table in :" "file:`pyproject.toml`." msgstr "" +"Ĉiaj statikaj metadatenoj estas nedevige moveblaj al tabelo ``[project]`` " +"en :file:`pyproject.toml`." #: ../source/guides/modernize-setup-py-project.rst:151 msgid "can be entirely replaced by a :file:`pyproject.toml` file like this:" -msgstr "" +msgstr "estas plene anstataŭigebla per :file:`pyproject.toml` jene:" #: ../source/guides/modernize-setup-py-project.rst:164 msgid "" "Read :ref:`pyproject-project-table` for the full specification of the " "content allowed in the ``[project]`` table." msgstr "" +"Vidu :ref:`pyproject-project-table` por la plena specifo pri la enhavo " +"permesata en la tabelo ``[project]``." #: ../source/guides/modernize-setup-py-project.rst:169 msgid "How to handle dynamic metadata?" -msgstr "" +msgstr "Kiel enmeti dinamikajn metadatenojn?" #: ../source/guides/modernize-setup-py-project.rst:171 msgid "" "If some packaging metadata fields are not static they need to be listed as " "``dynamic`` in this ``[project]`` table." msgstr "" +"Se iu paka metadatena kampo ne estas statika, ĝi devas esti markita kiel " +"``dynamic`` en tiu tabelo ``[project]``." #: ../source/guides/modernize-setup-py-project.rst:191 msgid "can be modernized as follows:" -msgstr "" +msgstr "estas modernigebla jene:" #: ../source/guides/modernize-setup-py-project.rst:223 msgid ":ref:`declaring-project-metadata-dynamic`" -msgstr "" +msgstr ":ref:`declaring-project-metadata-dynamic`" #: ../source/guides/modernize-setup-py-project.rst:227 msgid "What if something that can not be changed expects a ``setup.py`` file?" -msgstr "" +msgstr "Kiel fari, se io neŝanĝebla atendas dosieron ``setup.py``?" #: ../source/guides/modernize-setup-py-project.rst:229 msgid "" @@ -6626,18 +7408,16 @@ msgid "" msgstr "" #: ../source/guides/modernize-setup-py-project.rst:246 -#, fuzzy -#| msgid "pyproject.toml" msgid ":ref:`pyproject-toml-spec`" -msgstr "pyproject.toml" +msgstr ":ref:`pyproject-toml-spec`" #: ../source/guides/modernize-setup-py-project.rst:248 msgid ":doc:`setuptools:build_meta`" -msgstr "" +msgstr ":doc:`setuptools:build_meta`" #: ../source/guides/multi-version-installs.rst:6 msgid "Multi-version installs" -msgstr "" +msgstr "Plurversiaj instaloj" #: ../source/guides/multi-version-installs.rst:11 msgid "" @@ -6670,6 +7450,16 @@ msgid "" "available by default, so the subsequent ``require`` call in your own code " "fails with a spurious version conflict." msgstr "" +"La grava problemo pri ``pkg_resources``-baza paralela instalado estas, ke " +"importado de ``pkg_resources`` tuj ŝlosas la *aprioran* version de ĉio " +"havebla ĉe ``sys.path``. Tio estas problema, ĉar ``setuptools``-kreita " +"komandlinia programeto uzas ``pkg_resources`` por serĉi rulotan enirpunkton. " +"Tio implicas, ke ekzemple vi ne povas uzi ``require``-teston alvokitan per " +"``nose`` or WSGI-programon alvokitan per ``gunicorn``, se via programo " +"bezonas alian version de io havebla ĉe la norma ``sys.path`` – la " +"programvolvilo por la ĉefprogramo ŝlosos la aprioran version, kaj la posta " +"alvoko al ``require`` en via propra kodo malsukcesos pro iluzia versia " +"konflikto." #: ../source/guides/multi-version-installs.rst:34 msgid "" @@ -6686,14 +7476,17 @@ msgid "" "Refer to the `pkg_resources documentation `__ for more details." msgstr "" +"Por pliaj detaloj, vidu `la dokumentaron de pkg_resources `__." #: ../source/guides/packaging-binary-extensions.rst:5 msgid "Packaging binary extensions" -msgstr "" +msgstr "Paki duumajn etendaĵojn" #: ../source/guides/packaging-binary-extensions.rst:8 msgid "2013-12-08" -msgstr "" +msgstr "8 Decembro 2013" #: ../source/guides/packaging-binary-extensions.rst:10 msgid "" @@ -6703,20 +7496,24 @@ msgid "" "to create importable C extensions that allow things which aren't always easy " "to achieve in pure Python code." msgstr "" +"La referenca interpretilo CPython, krome permesanta ruli Python-kodon, ankaŭ " +"disponigas riĉan API en C por aliaj programoj. Unu el la plej oftaj uzoj de " +"tiu API en C estas krei importeblan C-etendaĵon por tio, kio malfacilas per " +"pura Python-kodo." #: ../source/guides/packaging-binary-extensions.rst:18 msgid "An overview of binary extensions" -msgstr "" +msgstr "Superrigardo pri duumaj etendaĵoj" #: ../source/guides/packaging-binary-extensions.rst:21 msgid "Use cases" -msgstr "" +msgstr "Uzkazoj" #: ../source/guides/packaging-binary-extensions.rst:23 msgid "" "The typical use cases for binary extensions break down into just three " "conventional categories:" -msgstr "" +msgstr "Jen la tri oftaj uzkazoj de duumaĵ etendaĵoj:" #: ../source/guides/packaging-binary-extensions.rst:26 msgid "" @@ -6731,6 +7528,14 @@ msgid "" "github.com/python/cpython/blob/main/Modules/_datetimemodule.c>`_) is not " "available." msgstr "" +"**akcelila modulo**: tia modulo estas plene memstara kaj celas pli rapidi ol " +"la ekvivalenta pur-Python-a kodo en CPython. Ideale, akcelila modulo ĉiam " +"havas pur-Python-an ekvivalenton uzotan, se la akcelita versio ne estas " +"disponebla ĉe iu sistemo. La norma biblioteko de CPython ofte uzas " +"akcelilaijn modulojn. *Ekzemple*: Importante ``datetime``, Python uzas la " +"modulon `datetime.py `_, se la C-realigo ( `_datetimemodule.C `_) ne estas disponebla." #: ../source/guides/packaging-binary-extensions.rst:37 msgid "" @@ -6777,7 +7582,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:69 msgid "Disadvantages" -msgstr "" +msgstr "Malavantaĝoj" #: ../source/guides/packaging-binary-extensions.rst:71 msgid "" @@ -6791,25 +7596,30 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:78 msgid "This means that binary extensions:" -msgstr "" +msgstr "Tio signifas, ke duumaj etendaĵoj:" #: ../source/guides/packaging-binary-extensions.rst:80 msgid "" "require that end users be able to either build them from source, or else " "that someone publish pre-built binaries for common platforms" msgstr "" +"postulas, ke aŭ uzantoj povu konstrui ilin de fonto, aŭ aliulo eldonu " +"konstruitajn duumaĵojn por oftaj platformoj" #: ../source/guides/packaging-binary-extensions.rst:83 msgid "" "may not be compatible with different builds of the CPython reference " "interpreter" msgstr "" +"eble ne kongruas kun diversaj konstruoj de la referenca interpretilo CPython" #: ../source/guides/packaging-binary-extensions.rst:86 msgid "" "often will not work correctly with alternative interpreters such as PyPy, " "IronPython or Jython" msgstr "" +"ofte ne funkcias ĝuste kun alternativaj interpretiloj kiel ekzemple PyPy, " +"IronPython aŭ Jython" #: ../source/guides/packaging-binary-extensions.rst:89 msgid "" @@ -6836,7 +7646,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:106 msgid "Alternatives to handcoded accelerator modules" -msgstr "" +msgstr "Alternativoj al malaŭtomate koditaj akcelilaj moduloj" #: ../source/guides/packaging-binary-extensions.rst:108 msgid "" @@ -6893,7 +7703,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:148 msgid "Alternatives to handcoded wrapper modules" -msgstr "" +msgstr "Alternativoj al malaŭtomate koditaj volvilaj moduloj" #: ../source/guides/packaging-binary-extensions.rst:150 msgid "" @@ -6955,6 +7765,8 @@ msgid "" "a variety of programming languages, including Python, to interface with C " "and C++ code." msgstr "" +"`SWIG `__ estas generilo de volva interfaco, por " +"alvoki C/C++-kodon el multaj programlingvoj inkluzive de Python." #: ../source/guides/packaging-binary-extensions.rst:192 msgid "" @@ -6969,10 +7781,20 @@ msgid "" "``cffi`` *can* operate directly at the C ABI level, it suffers from the same " "interface inconsistency problems as ``ctypes`` when it is used that way." msgstr "" +"La modulo ``ctypes`` de la norma biblioteko, kiu utilas por atingi C-" +"interfacojn kiam ĉapaj informoj ne estas haveblaj, tamen suferas de la " +"fakto, ke ĝi funkciigas sole ĉe la nivelo de la ABI de C kaj tial ne povas " +"kontroli kongruecon inter la interfaco fakte eksportita de la biblioteko kaj " +"tiu deklarita en la Python-kodo. Kompare, la ĉi-supraj alternativoj ĉiuj " +"funkcias ĉe la nivelo de la *ABI* de C, uzante C-ĉapdosierojn por certigi " +"kongruecon inter la interfaco eksportita de la uzata biblioteko kaj tiu " +"atendata de la uzanta Python-modulo. Dum `cffi` *povas* funkcii rekte ĉe la " +"nivelo de C ABI, ĝi suferas de la samaj interfaco-kongruecaj problemoj kiel " +"``ctypes``, se ĝi estas tiel uzata." #: ../source/guides/packaging-binary-extensions.rst:206 msgid "Alternatives for low level system access" -msgstr "" +msgstr "Alternativoj por malaltnivela sistema atingado" #: ../source/guides/packaging-binary-extensions.rst:208 msgid "" @@ -6997,7 +7819,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:225 msgid "Implementing binary extensions" -msgstr "" +msgstr "Realigi duumajn etendaĵojn" #: ../source/guides/packaging-binary-extensions.rst:227 msgid "" @@ -7005,16 +7827,21 @@ msgid "" "includes an introduction to writing a :doc:`custom extension module in C " "`." msgstr "" +"The CPython-gvidilo :doc:`Extending and Embedding ` " +"inkluzivas enkondukon al verkado de :doc:`propra etendaĵa modulo en C " +"`." #: ../source/guides/packaging-binary-extensions.rst:231 msgid "" "FIXME: Elaborate that all this is one of the reasons why you probably " "*don't* want to handcode your extension modules :)" msgstr "" +"FIXME: Klarigu, ke tio estas unu el la kialoj por *ne* malaŭtomate kodi " +"etendaĵajn modulojn ☺" #: ../source/guides/packaging-binary-extensions.rst:236 msgid "Extension module lifecycle" -msgstr "" +msgstr "Vivciklo de etendaĵa modulo" #: ../source/guides/packaging-binary-extensions.rst:238 #: ../source/guides/packaging-binary-extensions.rst:244 @@ -7022,23 +7849,23 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:256 #: ../source/guides/packaging-binary-extensions.rst:376 msgid "FIXME: This section needs to be fleshed out." -msgstr "" +msgstr "FIXME: Plenigu ĉi tiun paragrafon." #: ../source/guides/packaging-binary-extensions.rst:242 msgid "Implications of shared static state and subinterpreters" -msgstr "" +msgstr "Implicoj pri komuna statika stato kaj subinterpretiloj" #: ../source/guides/packaging-binary-extensions.rst:248 msgid "Implications of the GIL" -msgstr "" +msgstr "Implicoj de la Malloka Interpretila Seruro" #: ../source/guides/packaging-binary-extensions.rst:254 msgid "Memory allocation APIs" -msgstr "" +msgstr "Memoro-asignaj API-oj" #: ../source/guides/packaging-binary-extensions.rst:262 msgid "ABI Compatibility" -msgstr "" +msgstr "ABI-Kongrueco" #: ../source/guides/packaging-binary-extensions.rst:264 msgid "" @@ -7066,15 +7893,15 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:283 msgid "Building binary extensions" -msgstr "" +msgstr "Konstrui duumajn etendaĵojn" #: ../source/guides/packaging-binary-extensions.rst:285 msgid "FIXME: Cover the build-backends available for building extensions." -msgstr "" +msgstr "FIXME: Diskuti konstruajn malfasadojn por konstrui etendaĵojn." #: ../source/guides/packaging-binary-extensions.rst:288 msgid "Building extensions for multiple platforms" -msgstr "" +msgstr "Konstrui etendaĵojn por pluraj platformoj" #: ../source/guides/packaging-binary-extensions.rst:290 msgid "" @@ -7103,7 +7930,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:309 msgid "Binary extensions for Windows" -msgstr "" +msgstr "Duumaj etendaĵoj por Windows" #: ../source/guides/packaging-binary-extensions.rst:311 msgid "" @@ -7124,6 +7951,13 @@ msgid "" "that do not include this extra file. To avoid this, you can add the compile-" "time argument ``/d2FH4-``. Recent versions of Python may include this file." msgstr "" +"Unu averto: se vi uzas Visual Studio 2019 aŭ pli novan, via etendaĵo " +"dependos de «ekstra» dosiero, ``VCRUNTIME140_1.dll``, kune kun " +"``VCRUNTIME140.dll``, de kiu ĉiuj antaŭaj versioj ĝis 2015 dependas. Tio " +"estas ekstra postulo por uzi vian etendaĵon kun versioj de CPython ne " +"inkluzivanta la ekstran dosieron. Por eviti tion, vi povas aldoni la " +"tradukilan argumenton ``/d2FH4-``. Novaj versioj de Python eble inkluzivas " +"ĉi tiun dosieron." #: ../source/guides/packaging-binary-extensions.rst:326 msgid "" @@ -7139,7 +7973,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:337 msgid "Binary extensions for Linux" -msgstr "" +msgstr "Duumaj etendaĵoj por Linux" #: ../source/guides/packaging-binary-extensions.rst:339 msgid "" @@ -7151,7 +7985,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:345 msgid "Binary extensions for macOS" -msgstr "" +msgstr "Duumaj etendaĵoj por macOS" #: ../source/guides/packaging-binary-extensions.rst:347 msgid "" @@ -7167,7 +8001,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:357 msgid "Publishing binary extensions" -msgstr "" +msgstr "Eldoni duumajn etendaĵojn" #: ../source/guides/packaging-binary-extensions.rst:359 msgid "" @@ -7179,7 +8013,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:365 msgid "Avoid binary-only releases" -msgstr "" +msgstr "Evitu nur-duumajn eldonojn" #: ../source/guides/packaging-binary-extensions.rst:367 msgid "" @@ -7192,11 +8026,11 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:374 msgid "Weak linking" -msgstr "" +msgstr "Malforta bindado" #: ../source/guides/packaging-binary-extensions.rst:379 msgid "Additional resources" -msgstr "" +msgstr "Pliaj rimedoj" #: ../source/guides/packaging-binary-extensions.rst:381 msgid "" @@ -7210,7 +8044,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:388 msgid "Cross-platform wheel generation with scikit-build" -msgstr "" +msgstr "Interplatforma generado de wheel per scikit-build" #: ../source/guides/packaging-binary-extensions.rst:390 msgid "" @@ -7224,7 +8058,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:398 msgid "Introduction to C/C++ extension modules" -msgstr "" +msgstr "Enkonduko al C/C++-aj etendaĵaj moduloj" #: ../source/guides/packaging-binary-extensions.rst:400 msgid "" @@ -7237,20 +8071,26 @@ msgid "" "`What are (c)python extension modules? `_" msgstr "" +"`Kio estas etendaĵ-moduloj de (C)Python? `_" #: ../source/guides/packaging-binary-extensions.rst:404 msgid "`Releasing the gil `_" msgstr "" +"`Malakiri la mallokan interpretilan seruron `_" #: ../source/guides/packaging-binary-extensions.rst:405 msgid "" "`Writing cpython extension modules using C++ `_" msgstr "" +"`Verki cpython-etendaĵaj moduloj per C++ `_" #: ../source/guides/packaging-binary-extensions.rst:408 msgid "Additional considerations for binary wheels" -msgstr "" +msgstr "Pliaj konsideroj por duuma wheel" #: ../source/guides/packaging-binary-extensions.rst:410 msgid "" @@ -7269,7 +8109,7 @@ msgstr "" #: ../source/guides/packaging-namespace-packages.rst:5 msgid "Packaging namespace packages" -msgstr "" +msgstr "Paki nomspacajn pakojn" #: ../source/guides/packaging-namespace-packages.rst:7 msgid "" @@ -7282,15 +8122,15 @@ msgstr "" #: ../source/guides/packaging-namespace-packages.rst:26 msgid "And you use this package in your code like so::" -msgstr "" +msgstr "Kaj vi uzas ĉi tiun pakon en via kodo jene::" #: ../source/guides/packaging-namespace-packages.rst:31 msgid "Then you can break these sub-packages into two separate distributions:" -msgstr "" +msgstr "Do vi povas disrompi tiujn subpakojn en du apartajn distribuojn:" #: ../source/guides/packaging-namespace-packages.rst:50 msgid "Each sub-package can now be separately installed, used, and versioned." -msgstr "" +msgstr "Ĉiu subpako estas nun aparte instalebla, uzebla kaj versihava." #: ../source/guides/packaging-namespace-packages.rst:52 msgid "" @@ -7305,13 +8145,15 @@ msgstr "" #: ../source/guides/packaging-namespace-packages.rst:62 msgid "Creating a namespace package" -msgstr "" +msgstr "Krei nomspacan pakon" #: ../source/guides/packaging-namespace-packages.rst:64 msgid "" "There are currently two different approaches to creating namespace packages, " "from which the latter is discouraged:" msgstr "" +"Ekzistas nuntempe du malsamaj manieroj krei nomspacan pakon, el kiu la dua " +"estas evitinda:" #: ../source/guides/packaging-namespace-packages.rst:67 msgid "" @@ -7320,16 +8162,24 @@ msgid "" "if packages in your namespace only ever need to support Python 3 and " "installation via ``pip``." msgstr "" +"Uzi `indiĝenan nomspacan pakon `_. Tiu speco de " +"nomspaca pako estas difinita en :pep:`420` kaj havebla ekde Python 3.3. Tio " +"estas rekomendata, se pakoj en via nomspaco subtenas Python 3 aŭ instaladon " +"per ``pip``." #: ../source/guides/packaging-namespace-packages.rst:71 msgid "" "Use `legacy namespace packages`_. This comprises `pkgutil-style namespace " "packages`_ and `pkg_resources-style namespace packages`_." msgstr "" +"Uzi `malnovan nomspacan pakon `_, kiu estas aŭ " +"`pkgutil-stila nomspaca pako `_ aŭ " +"`pkg_resources-stila nomspaca pako `_." #: ../source/guides/packaging-namespace-packages.rst:75 msgid "Native namespace packages" -msgstr "" +msgstr "Indiĝenaj nomspacaj pakoj" #: ../source/guides/packaging-namespace-packages.rst:77 msgid "" @@ -7338,6 +8188,10 @@ msgid "" "`__init__.py` from the namespace package directory. An example file " "structure (following :ref:`src-layout `):" msgstr "" +"Python 3.3 aldonis **implicitan** nomspacan pakon per :pep:`420`. Por krei " +"indiĝenan nomspacan pakon, necesas nur preterlasi :file:`__init__.py` en la " +"nomspaca paka dosierujo. Jen ekzempla dosierstrukturo (laŭ :ref:`src-layout " +"`):" #: ../source/guides/packaging-namespace-packages.rst:94 msgid "" @@ -7358,23 +8212,28 @@ msgstr "" #: ../source/guides/packaging-namespace-packages.rst:117 msgid "The same can be accomplished with a :file:`setup.cfg`:" -msgstr "" +msgstr "Oni povas fari la samon per :file:`setup.cfg`:" #: ../source/guides/packaging-namespace-packages.rst:129 msgid "Or :file:`setup.py`:" -msgstr "" +msgstr "Aŭ :file:`setup.py`:" #: ../source/guides/packaging-namespace-packages.rst:142 msgid "" ":ref:`setuptools` will search the directory structure for implicit namespace " "packages by default." msgstr "" +":ref:`setuptools` aŭtomate serĉos implicitajn nomspacajn pakojn en la " +"dosieruja strukturo." #: ../source/guides/packaging-namespace-packages.rst:145 msgid "" "A complete working example of two native namespace packages can be found in " "the `native namespace package example project`_." msgstr "" +"Plena funkcianta ekzemplo de du indiĝenaj nomspacaj pakoj troviĝas en la " +"`indiĝen-nomspaca ekzempla projekto `_." #: ../source/guides/packaging-namespace-packages.rst:151 msgid "" @@ -7383,12 +8242,13 @@ msgid "" "Python 3 and pkgutil-style namespace packages in the distributions that need " "to support Python 2 and 3." msgstr "" +"Ĉar indiĝenaj kaj pkgutil-stilaj nomspacaj pakoj estas plejparte kongruaj, " +"oni povas uzi indiĝenan nomspacan pakon en distribuo nur por Python 3 kaj " +"pkgutil-stilan nomspacan pakon en distribuo por kaj Python 2 kaj Python 3." #: ../source/guides/packaging-namespace-packages.rst:158 -#, fuzzy -#| msgid "Using installed packages" msgid "Legacy namespace packages" -msgstr "Uzi instalitajn pakojn" +msgstr "Malnovaj nomspacaj pakoj" #: ../source/guides/packaging-namespace-packages.rst:160 msgid "" @@ -7403,6 +8263,8 @@ msgid "" "To migrate an existing package, all packages sharing the namespace must be " "migrated simultaneously." msgstr "" +"Por migri ekzistantan pakon, ĉiuj pakoj en la nomspaco devas esti migritaj " +"samtempe." #: ../source/guides/packaging-namespace-packages.rst:167 msgid "" @@ -7411,10 +8273,14 @@ msgid "" "compatible with the other methods. It's inadvisable to use different methods " "in different distributions that provide packages to the same namespace." msgstr "" +"Dum indiĝena nomspaca pako kaj pkgutil-stila nomspaca pako kongruas inter " +"si, pkg_resources-stila nomspaca pako ne kongruas kun la aliaj metodoj. " +"Estas malrekomendate miksi plurajn metodojn en malsamaj distribuoj " +"provizantaj pakojn en la saman nomspacon." #: ../source/guides/packaging-namespace-packages.rst:174 msgid "pkgutil-style namespace packages" -msgstr "" +msgstr "pkgutil-stilaj nomspacaj pakoj" #: ../source/guides/packaging-namespace-packages.rst:176 msgid "" @@ -7430,6 +8296,8 @@ msgid "" "To create a pkgutil-style namespace package, you need to provide an :file:" "`__init__.py` file for the namespace package:" msgstr "" +"Por krei pkgutil-stilan nomspacan pakon, oni devas provizi dosieron :file:" +"`__init__.py` por la nomspaca pako:" #: ../source/guides/packaging-namespace-packages.rst:195 #: ../source/guides/packaging-namespace-packages.rst:242 @@ -7437,6 +8305,7 @@ msgid "" "The :file:`__init__.py` file for the namespace package needs to contain the " "following:" msgstr "" +"La dosiero :file:`__init__.py` por la nomspaca pako devas enhavi la jenon:" #: ../source/guides/packaging-namespace-packages.rst:202 #: ../source/guides/packaging-namespace-packages.rst:249 @@ -7452,10 +8321,12 @@ msgid "" "A complete working example of two pkgutil-style namespace packages can be " "found in the `pkgutil namespace example project`_." msgstr "" +"Plena funkcianta ekzemplo de du pkgutil-stilaj nomspacaj pakoj troviĝas en " +"la `pkgutil-nomspaca ekzempla projekto `_." #: ../source/guides/packaging-namespace-packages.rst:217 msgid "pkg_resources-style namespace packages" -msgstr "" +msgstr "pkg_resources-stilaj nomspacaj pakoj" #: ../source/guides/packaging-namespace-packages.rst:219 msgid "" @@ -7474,12 +8345,16 @@ msgid "" "To create a pkg_resources-style namespace package, you need to provide an :" "file:`__init__.py` file for the namespace package:" msgstr "" +"Por krei pkg_resources-stilan nomspacan pakon, oni devas provizi dosieron :" +"file:`__init__.py` por la nomspaca pako:" #: ../source/guides/packaging-namespace-packages.rst:254 msgid "" "Some older recommendations advise the following in the namespace package :" "file:`__init__.py`:" msgstr "" +"Kelkaj malnovaj rekomendoj konsilas la jenon en la nomspaca pako :file:" +"`__init__.py`:" #: ../source/guides/packaging-namespace-packages.rst:264 msgid "" @@ -7495,17 +8370,24 @@ msgid "" "Finally, every distribution must provide the ``namespace_packages`` argument " "to :func:`~setuptools.setup` in :file:`setup.py`. For example:" msgstr "" +"Fine, ĉiu distribuo devas provizi la argumenton ``namespace_packages`` al " +"to :func:`~setuptools.setup` en :file:`setup.py`. Ekzemple:" #: ../source/guides/packaging-namespace-packages.rst:285 msgid "" "A complete working example of two pkg_resources-style namespace packages can " "be found in the `pkg_resources namespace example project`_." msgstr "" +"Plena funkcianta ekzemplo de du pkg_resources-stilaj nomspacaj pakoj " +"troviĝas en la `pkg_resources-nomspaca ekzempla projekto `_." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:5 msgid "" "Publishing package distribution releases using GitHub Actions CI/CD workflows" msgstr "" +"Eldoni pakajn distribuajn eldonoj per la laborfluoj por kontinuaj integrado " +"kaj disponigo ĉe GitHub Actions" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:7 msgid "" @@ -7528,7 +8410,7 @@ msgstr "" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:25 msgid "Configuring trusted publishing" -msgstr "" +msgstr "Starigi fidatan eldonadon" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:27 msgid "" @@ -7561,11 +8443,11 @@ msgstr "" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:51 msgid "Let's begin! 🚀" -msgstr "" +msgstr "Ek! 🚀" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:53 msgid "Go to https://pypi.org/manage/account/publishing/." -msgstr "" +msgstr "Iru al https://pypi.org/manage/account/publishing/." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:54 msgid "" @@ -7584,6 +8466,8 @@ msgid "" "second step, but this time, enter ``testpypi`` as the name of the GitHub " "Environment." msgstr "" +"Nun iru al https://test.pypi.org/manage/account/publishing/ kaj ripetu la " +"duan paŝon, sed tajpante ``testpypi`` kiel la nomon de la GitHub-medio." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:66 msgid "" @@ -7596,6 +8480,8 @@ msgid "" "If you don't have a TestPyPI account, you'll need to create it. It's not the " "same as a regular PyPI account." msgstr "" +"Se vi ne havas konton ĉe Prova PyPI, vi devas krei ĝin. Ĝi ne estas sama " +"kiel konto ĉe ordinara PyPI." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:78 msgid "" @@ -7604,20 +8490,26 @@ msgid "" "environments-for-deployment#deployment-protection-rules>`_ on each run for " "the ``pypi`` environment." msgstr "" +"Pro sekureco, vi devas postuli `malaŭtomatan aprobon `_ je ĉiu rulo por " +"la medio ``pypi``." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:85 msgid "Creating a workflow definition" -msgstr "" +msgstr "Krei laborfluan difinon" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:87 msgid "" "GitHub CI/CD workflows are declared in YAML files stored in the ``.github/" "workflows/`` directory of your repository." msgstr "" +"Laborfluoj por kontinuaj integrado kaj disponigo ĉe GitHub estas deklaritaj " +"en YAML-dosieroj en la dosiero ``.gitub/workflows/`` de via deponejo." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:90 msgid "Let's create a ``.github/workflows/publish-to-test-pypi.yml`` file." -msgstr "" +msgstr "Ni kreu dosieron ``.github/workflows/publish-to-test-pypi.yml``." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:93 msgid "" @@ -7640,12 +8532,16 @@ msgid "" "First, we'll define the job for building the dist packages of your project " "and storing them for later use:" msgstr "" +"Unue, ni difinas la taskon por konstrui la distribuajn pakojn de via " +"projekto kaj konservi ilin por posta uzo:" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:115 msgid "" "This will download your repository into the CI runner and then install and " "activate the newest available Python 3 release." msgstr "" +"Tio elŝutos vian deponejon al la kontinuintegrilo kaj instalos kaj aktivigos " +"la plej novan eldonon de Python 3." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:118 msgid "" @@ -7655,7 +8551,7 @@ msgstr "" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:128 msgid "Defining a workflow job environment" -msgstr "" +msgstr "Difini laborfluan taskan medion" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:130 msgid "" @@ -7673,14 +8569,16 @@ msgid "" "This will also ensure that the PyPI publishing workflow is only triggered if " "the current commit is tagged." msgstr "" +"Tio ankaŭ certigas, ke la PyPI-eldona laborfluo nur ekos, se la aktuala " +"enmeto havas etikedon." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:148 msgid "Publishing the distribution to PyPI" -msgstr "" +msgstr "Eldoni la distribuon al PyPI" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:150 msgid "Finally, add the following steps at the end:" -msgstr "" +msgstr "Fine, postmetu la jenajn paŝojn:" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:157 msgid "" @@ -7691,10 +8589,8 @@ msgid "" msgstr "" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:163 -#, fuzzy -#| msgid "Source Distributions vs Wheels" msgid "Signing the distribution packages" -msgstr "Fonto-Distribuoj kontraste kun Wheel-oj" +msgstr "Subskribi la distribuajn pakojn" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:165 msgid "" @@ -7702,6 +8598,9 @@ msgid "" "artifact signing system `used to sign CPython `_." msgstr "" +"La jena tasko subskribas la distribuajn pakojn per `Sigstore`_, la sama " +"artefakto-subskriba sistemo `uzata por CPython `_." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:168 msgid "" @@ -7725,7 +8624,7 @@ msgstr "" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:182 msgid "Finally, the signed distributions are uploaded to the GitHub Release." -msgstr "" +msgstr "Fine, la subskribitaj distribuoj alŝutiĝas al GitHub Release." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:192 msgid "" @@ -7736,7 +8635,7 @@ msgstr "" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:198 msgid "Separate workflow for publishing to TestPyPI" -msgstr "" +msgstr "Aparta laborfluo por eldoni al TestPyPI" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:200 msgid "" @@ -7753,16 +8652,16 @@ msgstr "" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:214 msgid "The whole CI/CD workflow" -msgstr "" +msgstr "La plena laborfluo por kontinuaj integrado kaj disponigo" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:216 msgid "" "This paragraph showcases the whole workflow after following the above guide." -msgstr "" +msgstr "Jen alineo pri la plena laborfluo laŭ la ĉi-supra gvidilo." #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:224 msgid "That's all, folks!" -msgstr "" +msgstr "Jen fino!" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:226 msgid "" @@ -7786,41 +8685,41 @@ msgid "" "It is recommended to keep the integrated GitHub Actions at their latest " "versions, updating them frequently." msgstr "" +"Estas rekomendata teni la integritajn GitHub Actions ĉe la plej novaj " +"versioj, ĝisdatigante ofte." #: ../source/guides/section-build-and-publish.rst:3 msgid "Building and Publishing" -msgstr "" +msgstr "Konstruado kaj Eldonado" #: ../source/guides/section-hosting.rst:3 msgid "Hosting" -msgstr "" +msgstr "Gastigado" #: ../source/guides/section-install.rst:3 -#, fuzzy -#| msgid "Installation format" msgid "Installation" -msgstr "Instala dosierformo" +msgstr "Instalado" #: ../source/guides/single-sourcing-package-version.rst:-1 msgid "0; url=../../discussions/single-source-version/" -msgstr "" +msgstr "0; url=../../discussions/single-source-version/" #: ../source/guides/single-sourcing-package-version.rst:6 msgid "Redirecting stale single-source package version link..." -msgstr "" +msgstr "Alidirektante malnovan hiperligon pri unufontigo de paka versio…" #: ../source/guides/single-sourcing-package-version.rst:8 msgid "" "If the page doesn't automatically refresh, see :ref:`single-source-version`." -msgstr "" +msgstr "Se la paĝo ne reŝargiĝas aŭtomate, vidu :ref:`single-source-version`." #: ../source/guides/supporting-multiple-python-versions.rst:7 msgid "Supporting multiple Python versions" -msgstr "" +msgstr "Subteni plurajn versiojn de Python" #: ../source/guides/supporting-multiple-python-versions.rst:10 msgid "2014-12-24" -msgstr "" +msgstr "24 Decembro 2014" #: ../source/guides/supporting-multiple-python-versions.rst:36 msgid "" @@ -7841,7 +8740,7 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:48 msgid "Automated testing and continuous integration" -msgstr "" +msgstr "Aŭtomata testado kaj kontinua integrado" #: ../source/guides/supporting-multiple-python-versions.rst:50 msgid "" @@ -7872,12 +8771,17 @@ msgid "" "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " "while the macOS is 10.9.2 at the time of writing." msgstr "" +"`Travis CI `_ provizas kaj Linux-an kaj macOS-an " +"mediojn. La medio Linux estis Ubuntu 12.04 LTS Servila Eldono 64-bita, dum " +"la medio macOS estis 10.9.2, kiam ĉi tiu dokumento estis verkita." #: ../source/guides/supporting-multiple-python-versions.rst:68 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" +"`Appveyor `_ provizas Windows-medion (Windows " +"Server 2012)." #: ../source/guides/supporting-multiple-python-versions.rst:79 msgid "" @@ -7894,7 +8798,7 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:88 msgid "Tools for single-source Python packages" -msgstr "" +msgstr "Iloj por unufontaj Python-pakoj" #: ../source/guides/supporting-multiple-python-versions.rst:90 msgid "" @@ -7919,11 +8823,11 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 2 (by syntax) module in a Python 3 project." -msgstr "" +msgstr "modulo de sintakso Python 2 en projekto de Python 3." #: ../source/guides/supporting-multiple-python-versions.rst:107 msgid "a Python 3 (by syntax) module in a *Python 2* project." -msgstr "" +msgstr "modulo de sintakso Python 3 en projekto de *Python 2*." #: ../source/guides/supporting-multiple-python-versions.rst:109 msgid "" @@ -7946,7 +8850,7 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:123 msgid "What's in which Python?" -msgstr "" +msgstr "Kio estas en kiu Python?" #: ../source/guides/supporting-multiple-python-versions.rst:125 msgid "" @@ -7960,11 +8864,11 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:5 msgid "Supporting Windows using Appveyor" -msgstr "" +msgstr "Subteni Windows per Appveyor" #: ../source/guides/supporting-windows-using-appveyor.rst:8 msgid "2015-12-03" -msgstr "" +msgstr "3 Decembro 2015" #: ../source/guides/supporting-windows-using-appveyor.rst:10 msgid "" @@ -7999,10 +8903,15 @@ msgid "" "for testing) it is possible for projects without a dedicated Windows " "environment to provide Windows-targeted binaries." msgstr "" +"Uzantoj de Windows ofte ne havas C-tradukilon kaj tial dependas de la " +"distribuado de duumaj wheel-oj ĉe PyPI de projektoj uzantaj C-etendaĵojn por " +"instali la distribuon per ``python -m pip install ``. Uzante Appveyor " +"kiel konstruservon (eĉ se oni ne uzas ĝin por testado), oni povas disponigi " +"Windows-duumaĵojn sen dediĉita Windows-medio." #: ../source/guides/supporting-windows-using-appveyor.rst:37 msgid "Setting up" -msgstr "" +msgstr "Eki" #: ../source/guides/supporting-windows-using-appveyor.rst:39 msgid "" @@ -8028,7 +8937,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "Adding Appveyor support to your project" -msgstr "" +msgstr "Aldoni subtenon por Appveyor al via projekto" #: ../source/guides/supporting-windows-using-appveyor.rst:55 msgid "" @@ -8051,7 +8960,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:68 msgid "appveyor.yml" -msgstr "" +msgstr "appveyor.yml" #: ../source/guides/supporting-windows-using-appveyor.rst:74 msgid "" @@ -8059,12 +8968,18 @@ msgid "" "pypa/python-packaging-user-guide/master/source/guides/appveyor-sample/" "appveyor.yml>`__." msgstr "" +"Tiu dosiero estas elŝutebla `ĉi tie `__." #: ../source/guides/supporting-windows-using-appveyor.rst:76 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" +"La dosiero :file:`appveyor.yml` devas situi en la radika dosiero de via " +"projekto. Ĝi estas en la dosierformo ``YAML`` kaj konsistas el kelkaj " +"sekcioj." #: ../source/guides/supporting-windows-using-appveyor.rst:79 msgid "" @@ -8091,12 +9006,16 @@ msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" +"La sekcio ``build`` simple malŝaltas konstruadon – neniu konstrua paŝo " +"necesas por Python malkiel ekzemple ``C#``." #: ../source/guides/supporting-windows-using-appveyor.rst:96 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" +"La ĉefaj sekcioj adaptendaj al via projekto estas ``test_script`` kaj " +"``after_test``." #: ../source/guides/supporting-windows-using-appveyor.rst:99 msgid "" @@ -8126,7 +9045,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "Support script" -msgstr "" +msgstr "Helpa programeto" #: ../source/guides/supporting-windows-using-appveyor.rst:120 msgid "" @@ -8153,10 +9072,12 @@ msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" +"Vi povas simple elŝuti la ``cmd``-dosieron kaj senŝanĝe inkluzivi ĝin en " +"vian projekton." #: ../source/guides/supporting-windows-using-appveyor.rst:136 msgid "Access to the built wheels" -msgstr "" +msgstr "Aliro al la konstruitaj wheel-oj" #: ../source/guides/supporting-windows-using-appveyor.rst:138 msgid "" @@ -8171,7 +9092,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:149 msgid "Testing with tox" -msgstr "" +msgstr "Testado per tox" #: ../source/guides/supporting-windows-using-appveyor.rst:151 msgid "" @@ -8264,7 +9185,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "Automatically uploading wheels" -msgstr "" +msgstr "Aŭtomate elŝuti wheel" #: ../source/guides/supporting-windows-using-appveyor.rst:204 msgid "" @@ -8284,7 +9205,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:215 msgid "External dependencies" -msgstr "" +msgstr "Eksteraj dependecoj" #: ../source/guides/supporting-windows-using-appveyor.rst:217 msgid "" @@ -8304,19 +9225,19 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:229 msgid "Support scripts" -msgstr "" +msgstr "Helpaj programetoj" #: ../source/guides/supporting-windows-using-appveyor.rst:231 msgid "For reference, the SDK setup support script is listed here:" -msgstr "" +msgstr "Por referenco, jen la SDK-stariga helpa programeto:" #: ../source/guides/supporting-windows-using-appveyor.rst:233 msgid "``appveyor-sample/build.cmd``" -msgstr "" +msgstr "``appveyor-sample/build.cmd``" #: ../source/guides/tool-recommendations.rst:5 msgid "Tool recommendations" -msgstr "" +msgstr "Rekomendoj pri iloj" #: ../source/guides/tool-recommendations.rst:7 msgid "" @@ -8331,11 +9252,19 @@ msgid "" "makes some recommendations of tools that you should *not* use because they " "are deprecated or insecure." msgstr "" +"La Python-pakada pejzaĝo konsistas el multaj diversaj iloj. Por multaj " +"taskoj, la :term:`Python-Pakada Aŭtoritato ` (PyPA, la laborgrupo administranta multajn pakadajn ilojn kaj " +"mastrumas ĉi tiun gvidilon) intence ne faras ununuran rekomendon; ekzemple, " +"la kialo por pluraj konstruaj malfasadoj estas por malfermi la pejzaĝon, " +"ebligante la evoluadon de novaj malfasadoj por servi la bezonoj de kelkaj " +"uzantoj pli bone ol la unikinta malfasado setuptools. Ĉi tiu gvidilo ja " +"montras kelkajn ilojn vaste uzatajn kaj ankaŭ *mal*rekomendas kelkajn ilojn " +"evitindajn aŭ malsekurajn." #: ../source/guides/tool-recommendations.rst:20 -#, fuzzy msgid "Virtual environments" -msgstr "Krei Virtualajn Mediojn" +msgstr "Virtualaj medioj" #: ../source/guides/tool-recommendations.rst:22 msgid "" @@ -8345,10 +9274,8 @@ msgid "" msgstr "" #: ../source/guides/tool-recommendations.rst:28 -#, fuzzy -#| msgid "Installing packages" msgid "Installing packages" -msgstr "Instalo de pakoj" +msgstr "Instali pakojn" #: ../source/guides/tool-recommendations.rst:30 msgid "" @@ -8358,6 +9285,11 @@ msgid "" "in most Python installations through the standard library package :doc:" "`ensurepip `." msgstr "" +":ref:`Pip` estas la norma ilo por instali pakojn el:term:`PyPI `. Vi eble volas legi la rekomendojn de pip pri :doc:" +"`sekura instalado `. Pip estas havebla apriore " +"en multaj instaloj de Python per la norma biblioteka pako :doc:`ensurepip " +"`." #: ../source/guides/tool-recommendations.rst:36 msgid "" @@ -8374,10 +9306,11 @@ msgstr "" msgid "" "For scientific software specifically, consider :ref:`Conda` or :ref:`Spack`." msgstr "" +"Por sciencaj programoj specife, konsideru :ref:`Conda` aŭ :ref:`Spack`." #: ../source/guides/tool-recommendations.rst:45 msgid "Write a \"pip vs. Conda\" comparison, here or in a new discussion." -msgstr "" +msgstr "Verki komparon inter pip kaj Conda, ĉi tie aŭ en nova diskuto." #: ../source/guides/tool-recommendations.rst:47 msgid "" @@ -8387,10 +9320,16 @@ msgid "" "develop``, which are also deprecated (see :ref:`setup-py-deprecated` for " "background and :ref:`modernize-setup-py-project` for migration advice)." msgstr "" +"**Ne** uzu ``easy_install`` (parton de :ref:`setuptools`), kiun oni evitu, " +"preferante pip (vidu :ref:`pip kontraste al easy_install ` por detaloj). Simile, **ne** uzu ``python setup.py install`` " +"aŭ ``python setup.py develop``, kiuj estas ankaŭ evidintaj (vidu :ref:`setup-" +"py-deprecated` por fonaj informoj kaj :ref:`modernize-setup-py-project` por " +"konsiloj pri migrado)." #: ../source/guides/tool-recommendations.rst:55 msgid "Lock files" -msgstr "" +msgstr "Serurdosieroj" #: ../source/guides/tool-recommendations.rst:57 msgid "" @@ -8401,7 +9340,7 @@ msgstr "" #: ../source/guides/tool-recommendations.rst:63 msgid "Build backends" -msgstr "" +msgstr "Konstruaj malfasadoj" #: ../source/guides/tool-recommendations.rst:67 msgid "" @@ -8415,6 +9354,8 @@ msgid "" "Popular :term:`build backends ` for pure-Python packages " "include, in alphabetical order:" msgstr "" +"Jen popularaj :term:`konstruaj malfasadoj ` por pure Python-" +"aj pakoj, en alfabeta ordo:" #: ../source/guides/tool-recommendations.rst:74 msgid "" @@ -8422,24 +9363,33 @@ msgid "" "ref:`Flit`. A minimal and opinionated build backend. It does not support " "plugins." msgstr "" +":doc:`Flit-core ` – evoluigata kun sed aparte de :ref:" +"`Flit`. Minimuma kaj opinihava konstrua malfasado. Ĝi ne subtenas " +"kromprogramon." #: ../source/guides/tool-recommendations.rst:77 msgid "" "Hatchling_ -- developed with but separate from :ref:`Hatch`. Supports " "plugins." msgstr "" +"Hatchling_ – evoluigata kun sed aparte de:ref:`Hatch`. Subtenas " +"kromprogramojn." #: ../source/guides/tool-recommendations.rst:79 msgid "" "PDM-backend_ -- developed with but separate from :ref:`PDM`. Supports " "plugins." msgstr "" +"PDM-backend_ – evoluigata kun sed aparte de:ref:`PDM`. Subtenas " +"kromprogramojn." #: ../source/guides/tool-recommendations.rst:81 msgid "" "Poetry-core_ -- developed with but separate from :ref:`Poetry`. Supports " "plugins." msgstr "" +"Poetry-core – evoluigata kun sed aparte de :ref:`Poetry`. Subtenas " +"kromprogramojn." #: ../source/guides/tool-recommendations.rst:84 msgid "" @@ -8447,11 +9397,16 @@ msgid "" "standard :ref:`[project] table ` (it uses a " "different format, in the ``[tool.poetry]`` table)." msgstr "" +"Malkiel aliaj malfasadoj en ĉi tiu listo, Poetry-core ne subtenas la norman :" +"ref:`tabelon [project] ` (ĝi uzas alian formon, en " +"la tabelo ``[tool.poetry]``)." #: ../source/guides/tool-recommendations.rst:88 msgid "" ":ref:`setuptools`, which used to be the only build backend. Supports plugins." msgstr "" +":ref:`setuptools`, kiu iam estis la ununura konstrua malfasado. Subtenas " +"kromprogramojn." #: ../source/guides/tool-recommendations.rst:92 msgid "" @@ -8497,28 +9452,32 @@ msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" +":ref:`setuptools` -- indiĝene subtenas C kaj C++ (kun triapartiaj kromaĵoj " +"por Go kaj Rust)," #: ../source/guides/tool-recommendations.rst:117 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" +":ref:`meson-python` -- C, C++, Fortrano, Rust, kaj aliaj lingvoj subtenataj " +"de Meson," #: ../source/guides/tool-recommendations.rst:118 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" +":ref:`scikit-build-core` -- C, C++, Fortrano, kaj aliaj lingvoj subtenataj " +"de CMake," #: ../source/guides/tool-recommendations.rst:119 msgid ":ref:`maturin` -- Rust, via Cargo." -msgstr "" +msgstr ":ref:`maturin` -- Rust, per Cargo." #: ../source/guides/tool-recommendations.rst:123 -#, fuzzy -#| msgid "Source Distributions vs Wheels" msgid "Building distributions" -msgstr "Fonto-Distribuoj kontraste kun Wheel-oj" +msgstr "Konstrui distribuojn" #: ../source/guides/tool-recommendations.rst:125 msgid "" @@ -8534,6 +9493,9 @@ msgid "" "for this task. All direct invocations of :file:`setup.py` are :ref:" "`deprecated `." msgstr "" +"**Ne** uzu ``python setup.py sdist`` nek ``python setup.py bdist_wheel`` por " +"tiu tasko. Ĉia rekta alvoko de :file:`setup.py` estas :ref:`evitinda `." #: ../source/guides/tool-recommendations.rst:134 msgid "" @@ -8544,7 +9506,7 @@ msgstr "" #: ../source/guides/tool-recommendations.rst:140 msgid "Uploading to PyPI" -msgstr "" +msgstr "Alŝuti al PyPI" #: ../source/guides/tool-recommendations.rst:142 msgid "" @@ -8559,38 +9521,43 @@ msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" +"Je la Novembro de 2024, PyPI subtenas la jenajn platformojn kiel " +"provizantojn de Fidata Eldonado:" #: ../source/guides/tool-recommendations.rst:150 msgid "GitHub Actions (on ``https://github.com``)" -msgstr "" +msgstr "GitHub Actions (ĉe ``https://github.com``)" #: ../source/guides/tool-recommendations.rst:151 msgid "GitLab CI/CD (on ``https://gitlab.com``)" -msgstr "" +msgstr "GitLab CI/CD (ĉe ``https://gitlab.com``)" #: ../source/guides/tool-recommendations.rst:152 msgid "ActiveState" -msgstr "" +msgstr "ActiveState" #: ../source/guides/tool-recommendations.rst:153 msgid "Google Cloud" -msgstr "" +msgstr "Google Cloud" #: ../source/guides/tool-recommendations.rst:155 msgid "" "The other available method is to upload the package manually using :ref:" "`twine`." msgstr "" +"La alia havebla metodo estas alŝuti la pakon malaŭtomate per :ref:`twine`." #: ../source/guides/tool-recommendations.rst:159 msgid "" "**Never** use ``python setup.py upload`` for this task. In addition to " "being :ref:`deprecated `, it is insecure." msgstr "" +"**Neniam** uzu ``python setup.py upload`` por tiu tasko. Ĝi estas :ref:" +"`evitinda ` kaj malseksura." #: ../source/guides/tool-recommendations.rst:164 msgid "Workflow tools" -msgstr "" +msgstr "Laborfluiloj" #: ../source/guides/tool-recommendations.rst:166 msgid "" @@ -8604,51 +9571,44 @@ msgid "" msgstr "" #: ../source/guides/tool-recommendations.rst:174 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`Flit`," -msgstr ":ref:`pip`" +msgstr ":ref:`Flit`," #: ../source/guides/tool-recommendations.rst:175 -#, fuzzy msgid ":ref:`Hatch`," -msgstr "pip, `bandersnatch`_" +msgstr ":ref:`Hatch`," #: ../source/guides/tool-recommendations.rst:176 msgid ":doc:`nox `," -msgstr "" +msgstr ":doc:`nox `," #: ../source/guides/tool-recommendations.rst:177 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`PDM`," -msgstr ":ref:`pip`" +msgstr ":ref:`PDM`," #: ../source/guides/tool-recommendations.rst:178 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`Pipenv`," -msgstr ":ref:`pip`" +msgstr ":ref:`Pipenv`," #: ../source/guides/tool-recommendations.rst:179 -#, fuzzy -#| msgid ":ref:`pip`" msgid ":ref:`Poetry`," -msgstr ":ref:`pip`" +msgstr ":ref:`Poetry`," #: ../source/guides/tool-recommendations.rst:180 msgid ":doc:`tox `." -msgstr "" +msgstr ":doc:`tox `." #: ../source/guides/using-manifest-in.rst:5 msgid "Including files in source distributions with ``MANIFEST.in``" -msgstr "" +msgstr "Inkluzivi dosierojn en fontajn distribuojn per ``MANIFEST.in``" #: ../source/guides/using-manifest-in.rst:7 msgid "" "The information on this page has moved to :doc:`setuptools:userguide/" "miscellaneous` in the setuptools documentation." msgstr "" +"La informoj sur ĉi tiu paĝo moviĝis al :doc:`setuptools:userguide/" +"miscellaneous` en la dokumentaro de setuptools." #: ../source/guides/using-testpypi.rst:7 msgid "" @@ -8660,7 +9620,7 @@ msgstr "" #: ../source/guides/using-testpypi.rst:13 msgid "Registering your account" -msgstr "" +msgstr "Registri vian konton" #: ../source/guides/using-testpypi.rst:15 msgid "" @@ -8674,16 +9634,20 @@ msgid "" "The database for TestPyPI may be periodically pruned, so it is not unusual " "for user accounts to be deleted." msgstr "" +"La datenbanko de la Prova PyPI estas periode reduktata; tial, konto de " +"uzanto ofte estas forigita." #: ../source/guides/using-testpypi.rst:24 msgid "Using TestPyPI with Twine" -msgstr "" +msgstr "Uzi TestPyPI kun Twine" #: ../source/guides/using-testpypi.rst:26 msgid "" "You can upload your distributions to TestPyPI using :ref:`twine` by " "specifying the ``--repository`` flag:" msgstr "" +"Vi povas alŝuti viajn distribuojn al Prova PyPI per :ref:`twine` uzante la " +"flagon ``--repository``:" #: ../source/guides/using-testpypi.rst:33 msgid "" @@ -8695,13 +9659,15 @@ msgstr "" #: ../source/guides/using-testpypi.rst:39 msgid "Using TestPyPI with pip" -msgstr "" +msgstr "Uzi TestPyPI kun pip" #: ../source/guides/using-testpypi.rst:41 msgid "" "You can tell :ref:`pip` to download packages from TestPyPI instead of PyPI " "by specifying the ``--index-url`` flag:" msgstr "" +"Vi povas igi :ref:`pip` elŝuti pakojn el Prova PyPI anstataŭ PyPI per la " +"flago ``--index-url``:" #: ../source/guides/using-testpypi.rst:56 msgid "" @@ -8712,19 +9678,19 @@ msgstr "" #: ../source/guides/using-testpypi.rst:73 msgid "Setting up TestPyPI in :file:`.pypirc`" -msgstr "" +msgstr "Agordi TestPyPI en :file:`.pypirc`" #: ../source/guides/using-testpypi.rst:75 msgid "" "If you want to avoid being prompted for your username and password every " "time, you can configure TestPyPI in your :file:`$HOME/.pypirc`:" msgstr "" +"Se vi volas eviti ĉiufoje tajpi viajn salutnomon kaj pasvorton, vi povas " +"agordi Provan PyPI en via :file:`$HOME/.pypirc`:" #: ../source/guides/writing-pyproject-toml.rst:5 -#, fuzzy -#| msgid "pyproject.toml" msgid "Writing your ``pyproject.toml``" -msgstr "pyproject.toml" +msgstr "Verki vian ``pyproject.toml``" #: ../source/guides/writing-pyproject-toml.rst:7 msgid "" @@ -8746,6 +9712,9 @@ msgid "" "specify your project's basic metadata, such as the dependencies, your name, " "etc." msgstr "" +"La tabelo ``[project]`` estas la formo uzata de multaj konstruaj malfasadoj " +"por specifi la bazajn metadatenojn de la projekto, kiel la dependecojn, vian " +"nomon ktp." #: ../source/guides/writing-pyproject-toml.rst:18 msgid "" @@ -8760,12 +9729,16 @@ msgid "" "The ``[build-system]`` table should always be present, regardless of which " "build backend you use (``[build-system]`` *defines* the build tool you use)." msgstr "" +"La tabelo ``[build-system]`` ĉiam ĉeestu, por ĉia konstrua malfasado " +"(``[build-system]`` *difinas* la konstruilon uzatan)." #: ../source/guides/writing-pyproject-toml.rst:29 msgid "" "On the other hand, the ``[project]`` table is understood by *most* build " "backends, but some build backends use a different format." msgstr "" +"Aliflanke, la tabelo ``[project]`` estas konata de la *plejparto* de " +"konstruaj malfasadoj, sed kelkaj konstruaj malfasadoj uzas aliajn formojn." #: ../source/guides/writing-pyproject-toml.rst:32 msgid "" @@ -8774,6 +9747,10 @@ msgid "" "setuptools_ build backend supports both the ``[project]`` table, and the " "older format in ``setup.cfg`` or ``setup.py``." msgstr "" +"Je Aŭgusto 2024, Poetry_ estas notinda konstrua malfasado ne uzanta la " +"tabelon ``[project]``. Anstataŭe ĝi uzas la tabelon ``[tool.poetry]``. Ankaŭ " +"la konstrua malfasado setuptools_ subtenas kaj la tabelon ``[project]`` kaj " +"la malnovan formon en ``setup.cfg`` aŭ ``setup.py``." #: ../source/guides/writing-pyproject-toml.rst:37 msgid "" @@ -8785,7 +9762,7 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:46 msgid "Declaring the build backend" -msgstr "" +msgstr "Deklari la konstruan malfasadon" #: ../source/guides/writing-pyproject-toml.rst:48 msgid "" @@ -8806,11 +9783,11 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:93 msgid "Static vs. dynamic metadata" -msgstr "" +msgstr "Statikaj kaj dinamikaj metadatenoj" #: ../source/guides/writing-pyproject-toml.rst:95 msgid "The rest of this guide is devoted to the ``[project]`` table." -msgstr "" +msgstr "La resto de ĉi tiu gvidilo temas pri la tabelo ``[project]``." #: ../source/guides/writing-pyproject-toml.rst:97 msgid "" @@ -8835,7 +9812,7 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:118 msgid "Basic information" -msgstr "" +msgstr "Bazaj informoj" #: ../source/guides/writing-pyproject-toml.rst:123 #: ../source/specifications/pyproject-toml.rst:120 @@ -8849,6 +9826,8 @@ msgid "" "Put the name of your project on PyPI. This field is required and is the only " "field that cannot be marked as dynamic." msgstr "" +"Uzu la nomon de via projekto ĉe PyPI. Ĉi tiu kampo estas necesa kaj estas la " +"ununura kampo ne markebla kiel dinamika." #: ../source/guides/writing-pyproject-toml.rst:133 msgid "" @@ -8856,6 +9835,9 @@ msgid "" "\"``_``\", hyphens \"``-``\" and periods \"``.``\". It must not start or end " "with an underscore, hyphen or period." msgstr "" +"La projekta nomo devas konsisti el Askiaj literoj, ciferoj, substrekoj " +"«``_``», streketoj «``-``» kaj punktoj «``.``». Ĝi devas ne komenciĝi nek " +"finiĝi per substreko, streketo aŭ punkto." #: ../source/guides/writing-pyproject-toml.rst:137 msgid "" @@ -8865,6 +9847,11 @@ msgid "" "or declare a dependency on it using any of the following spellings: ``Cool-" "Stuff``, ``cool.stuff``, ``COOL_STUFF``, ``CoOl__-.-__sTuFF``." msgstr "" +"Komparo de projektaj nomoj estas usklecblinda kaj ne distingas inter ajna " +"nombro da substrekoj, streketoj kaj/aŭ punktoj. Ekzemple, se vi registrus " +"projekton nomitan ``bonaj-ajhoj``, oni povus elŝuti ĝin aŭ deklari " +"dependecon sur ĝi per la jenaj nomoj: ``Bonaj-Ajhoj``, ``bonaj.ajhoj``, " +"``BONAJ_AJHOJ``, ``BoNaJ__-.-__aJhOJ``." #: ../source/guides/writing-pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:125 @@ -8874,10 +9861,8 @@ msgid "``version``" msgstr "``version``" #: ../source/guides/writing-pyproject-toml.rst:147 -#, fuzzy -#| msgid "The keywords for the project." msgid "Put the version of your project." -msgstr "La ŝlosilvortoj pri la projekto." +msgstr "Enmetu la version de via projekto." #: ../source/guides/writing-pyproject-toml.rst:154 msgid "" @@ -8885,10 +9870,12 @@ msgid "" "release) are possible; see the :ref:`specification ` for " "full details." msgstr "" +"Eblas pli komplika versio-specifilo kiel ``2020.0.0a1`` (por alfa-eldono); " +"vidu la :ref:`specifon ` por plenaj detaloj." #: ../source/guides/writing-pyproject-toml.rst:158 msgid "This field is required, although it is often marked as dynamic using" -msgstr "" +msgstr "Ĉi tiu kampo estas deviga, sed ĝi estas ofte markita dinamika per" #: ../source/guides/writing-pyproject-toml.rst:165 msgid "" @@ -8898,10 +9885,8 @@ msgid "" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:171 -#, fuzzy -#| msgid "install_requires vs requirements files" msgid "Dependencies and requirements" -msgstr "install_requires kontraste kun requirements.txt" +msgstr "Dependecoj kaj postuloj" #: ../source/guides/writing-pyproject-toml.rst:174 #: ../source/specifications/pyproject-toml.rst:356 @@ -8910,13 +9895,15 @@ msgstr "``dependencies``/``optional-dependencies``" #: ../source/guides/writing-pyproject-toml.rst:176 msgid "If your project has dependencies, list them like this:" -msgstr "" +msgstr "Se via projekto havas dependecojn, listigu ilin jene:" #: ../source/guides/writing-pyproject-toml.rst:188 msgid "" "See :ref:`Dependency specifiers ` for the full syntax " "you can use to constrain versions." msgstr "" +"Vidu :ref:`Dependeco-specifilojn ` por la plena " +"sintakso por limigi versiojn." #: ../source/guides/writing-pyproject-toml.rst:191 msgid "" @@ -8943,18 +9930,20 @@ msgid "" "This lets you declare the minimum version of Python that you support " "[#requires-python-upper-bounds]_." msgstr "" +"Tio ebligas deklari la minimuman version de Python subtenatan [#requires-" +"python-upper-bounds]_." #: ../source/guides/writing-pyproject-toml.rst:227 -#, fuzzy -#| msgid "Creating the package files" msgid "Creating executable scripts" -msgstr "Krei dosierojn de la pakaĵo" +msgstr "Krei ruleblajn komandojn" #: ../source/guides/writing-pyproject-toml.rst:229 msgid "" "To install a command as part of your package, declare it in the ``[project." "scripts]`` table." msgstr "" +"Por instali komandon kiel parton de via pako, deklaru ĝin en la tabelo " +"``[project.scripts]]``." #: ../source/guides/writing-pyproject-toml.rst:237 msgid "" @@ -8982,21 +9971,25 @@ msgid "" "The difference between ``[project.scripts]`` and ``[project.gui-scripts]`` " "is only relevant on Windows." msgstr "" +"La diferenco inter ``[project.scripts]`` kaj ``[project.gui-scripts]`` nur " +"gravas sur Windows." #: ../source/guides/writing-pyproject-toml.rst:260 msgid "About your project" -msgstr "" +msgstr "Pri via projekto" #: ../source/guides/writing-pyproject-toml.rst:263 #: ../source/specifications/pyproject-toml.rst:252 msgid "``authors``/``maintainers``" -msgstr "" +msgstr "``authors``/``maintainers``" #: ../source/guides/writing-pyproject-toml.rst:265 msgid "" "Both of these fields contain lists of people identified by a name and/or an " "email address." msgstr "" +"Ambaŭ tiuj kampoj enhavas listojn de homoj identigitaj per nomoj kaj/aŭ " +"retpoŝtaj adresoj." #: ../source/guides/writing-pyproject-toml.rst:285 #: ../source/specifications/pyproject-toml.rst:135 @@ -9010,6 +10003,9 @@ msgid "" "\"headline\" of your project page on PyPI (`example `_), and " "other places such as lists of search results (`example `_)." msgstr "" +"Tio estu unulinia priskribo de via projekto montrota kiel ka titolo de via " +"projekta paĝo ĉe PyPI (`jene `_), kaj interalie en listoj de " +"serĉrezultoj (`jene `_)." #: ../source/guides/writing-pyproject-toml.rst:298 #: ../source/specifications/pyproject-toml.rst:144 @@ -9026,21 +10022,20 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:309 msgid "The README's format is auto-detected from the extension:" -msgstr "" +msgstr "La dosierformo de README estas aŭtomate divenita el la dosiersufikso:" #: ../source/guides/writing-pyproject-toml.rst:311 msgid "``README.md`` → `GitHub-flavored Markdown `_," -msgstr "" +msgstr "``README.md`` → `GitHub-stila Markdown `_," #: ../source/guides/writing-pyproject-toml.rst:312 -#, fuzzy msgid "" "``README.rst`` → `reStructuredText `_ (without Sphinx extensions)." -msgstr "Marklingvo reStructuredText: http://docutils.sourceforge.net/" +msgstr "``README.rst`` → `reStructuredText `_ (sen etendaĵoj Sphinx)." #: ../source/guides/writing-pyproject-toml.rst:314 msgid "You can also specify the format explicitly, like this:" -msgstr "" +msgstr "Vi povas ankaŭ eksplici la dosierformon jene:" #: ../source/guides/writing-pyproject-toml.rst:325 #: ../source/specifications/pyproject-toml.rst:140 @@ -9053,10 +10048,12 @@ msgid "" "This can take two forms. You can put your license in a file, typically " "``LICENSE`` or ``LICENSE.txt``, and link that file here:" msgstr "" +"Vi povas esti unu el du formoj. Vi povas meti vian licencon en dosieron, " +"ofte ``LICENSE`` aŭ ``LICENSE.txt``, kaj ligi la dosieron al ĉi tie:" #: ../source/guides/writing-pyproject-toml.rst:335 msgid "or you can write the name of the license:" -msgstr "" +msgstr "aŭ vi povas skribi la nomon de la licenco:" #: ../source/guides/writing-pyproject-toml.rst:342 msgid "" @@ -9078,6 +10075,8 @@ msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" +"Tio helpos la serĉilon de PyPI sugesti vian projekton, kiam oni serĉas tiujn " +"ŝlosilvortojn." #: ../source/guides/writing-pyproject-toml.rst:364 #: ../source/specifications/pyproject-toml.rst:133 @@ -9090,6 +10089,8 @@ msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" +"Listo de PyPI-klasigiloj rilataj al via projekto. Jen la `plena listo de " +"klasigiloj `_." #: ../source/guides/writing-pyproject-toml.rst:393 msgid "" @@ -9118,6 +10119,8 @@ msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" +"Listo de retadresoj asociitaj al via projekto, montrotaj sur la maldekstra " +"flankpanelo de via projekta paĝo ĉe PyPI." #: ../source/guides/writing-pyproject-toml.rst:412 msgid "" @@ -9133,6 +10136,9 @@ msgid "" "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" +"Notu, ke se la etikedo enhavas spacetojn, ĝi devas esti encitiligita, ekz. " +"``Website = \"https://example.com\"`` sed ``\"Official Website\" = \"https://" +"example.com\"``." #: ../source/guides/writing-pyproject-toml.rst:430 msgid "" @@ -9147,6 +10153,8 @@ msgid "" "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" +"Ekzemple, en la jenaj metadatenoj, ne ``MyHomepage`` nek ``\"Download " +"Link\"`` estas bone konata etikedo kaj tial montriĝos laŭvorte:" #: ../source/guides/writing-pyproject-toml.rst:444 msgid "" @@ -9158,7 +10166,7 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:456 msgid "Advanced plugins" -msgstr "" +msgstr "Altnivelaj kromprogramoj" #: ../source/guides/writing-pyproject-toml.rst:458 msgid "" @@ -9170,11 +10178,12 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:467 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" +"Vidu la :ref:`Gvidilon pri kromprogramoj ` por pliaj " +"informoj." #: ../source/guides/writing-pyproject-toml.rst:472 -#, fuzzy msgid "A full example" -msgstr "Ekzemploj" +msgstr "Plena ekzemplo" #: ../source/guides/writing-pyproject-toml.rst:534 msgid "" @@ -9188,10 +10197,12 @@ msgid "" "The Python Packaging User Guide (PyPUG) is a collection of tutorials and " "guides for packaging Python software." msgstr "" +"La Python Packaging User Guide (PyPUG) estas kolekto da lerniloj kaj " +"gvidiloj pri pakado de Python-programoj." #: ../source/index.rst:-1 msgid "python, packaging, guide, tutorial" -msgstr "" +msgstr "python, pakado, gvidilo, lernilo" #: ../source/index.rst:3 ../source/key_projects.rst:247 msgid "Python Packaging User Guide" @@ -9203,6 +10214,8 @@ msgid "" "references to help you distribute and install Python packages with modern " "tools." msgstr "" +"Bonvenon al *Python Packaging User Guide*, kolekto de lerniloj kaj gvidiloj " +"por helpi vin distribui kaj instali Python-pakojn per modernaj iloj." #: ../source/index.rst:29 msgid "" @@ -9210,12 +10223,13 @@ msgid "" "Authority `. We happily accept :doc:`contributions and feedback " "`. 😊" msgstr "" +"Jen gvidilo mastrumata ĉe `GitHub`_ far :doc:`Python Packaging Authority " +"`. Ni dankeme akceptas :doc:`kontribuojn kaj komentojn " +"`. 😊" #: ../source/index.rst:36 -#, fuzzy -#| msgid "Overview" msgid "Overview and Flow" -msgstr "Superrigardo" +msgstr "Superrigardo kaj Fluo" #: ../source/index.rst:40 msgid "" @@ -9238,6 +10252,8 @@ msgid "" "To get an overview of the workflow used to publish your code, see :doc:" "`packaging flow `." msgstr "" +"Por superrigardo pri la laborfluo por eldoni kodon, vidu :doc:`pakadan fluon " +"`." #: ../source/index.rst:57 msgid "" @@ -9245,23 +10261,30 @@ msgid "" "time. Tutorials aim to help you succeed and provide a starting point for " "future exploration. The :doc:`tutorials/index` section includes:" msgstr "" +"Lernilo helpas vin paŝon post paŝo krei projekton kiel komencanto. Lerniloj " +"celas helpi vin sukcesi kaj provizi komencpunkton por plua esplorado. La " +"sekcio :doc:`tutorials/index` enhavas la jenon:" #: ../source/index.rst:62 msgid "" "A :doc:`tutorial on installing packages `" -msgstr "" +msgstr ":doc:`Lernilo pri instalado de pakoj `" #: ../source/index.rst:63 msgid "" "A :doc:`tutorial on managing application dependencies ` in a version controlled project" msgstr "" +":doc:`Lernilo pri administrado de programaj dependecoj ` en versikontrolata projekto" #: ../source/index.rst:65 msgid "" "A :doc:`tutorial on packaging and distributing ` your project" msgstr "" +":doc:`Lernilo pri pakado kaj distribuado ` de " +"via projekto" #: ../source/index.rst:71 msgid "" @@ -9276,54 +10299,65 @@ msgid "" "major areas: package installation; building and distributing packages; " "miscellaneous topics." msgstr "" +"La sekcio :doc:`guides/index` priskribas lernilajn instrukciojn pri tri " +"ĉeftemoj: instalado de pako; konstruado kaj distribuado de pako; aliaj temoj." #: ../source/index.rst:80 msgid "Explanations and Discussions" -msgstr "" +msgstr "Klarigoj kaj Diskutoj" #: ../source/index.rst:82 msgid "" "The :doc:`discussions/index` section for in-depth explanations and " "discussion about topics, such as:" msgstr "" +"La sekcio :doc:`discussions/index` por detalaj klarigoj kaj diskutoj pri " +"temoj kiel:" #: ../source/index.rst:85 msgid ":doc:`discussions/deploying-python-applications`" -msgstr "" +msgstr ":doc:`discussions/deploying-python-applications`" #: ../source/index.rst:86 msgid ":doc:`discussions/pip-vs-easy-install`" -msgstr "" +msgstr ":doc:`discussions/pip-vs-easy-install`" #: ../source/index.rst:89 msgid "Reference" -msgstr "" +msgstr "Referenco" #: ../source/index.rst:91 msgid "" "The :doc:`specifications/index` section for packaging interoperability " "specifications." msgstr "" +"La paragrafo :doc:`specifications/index` por specifoj pri pakada " +"kunfunkcipovo." #: ../source/index.rst:92 msgid "" "The list of :doc:`other projects ` maintained by members of " "the Python Packaging Authority." msgstr "" +"La listo de :doc:`aliaj projektoj ` mastrumataj de anoj de la " +"Python-Pakada Aŭtoritato." #: ../source/index.rst:93 msgid "The :doc:`glossary` for definitions of terms used in Python packaging." msgstr "" +"La :doc:`terminaro ` pri difinoj de terminoj pri pakado de Python." #: ../source/key_projects.rst:6 msgid "Project Summaries" -msgstr "" +msgstr "Projektaj Resumoj" #: ../source/key_projects.rst:8 msgid "" "Summaries and links for the most relevant projects in the space of Python " "installation and packaging." msgstr "" +"Resumoj kaj hiperligoj pri la plej gravaj projektoj rilataj al instalado kaj " +"pakado de Python." #: ../source/key_projects.rst:14 msgid "PyPA Projects" @@ -9334,19 +10368,14 @@ msgid "bandersnatch" msgstr "bandersnatch" #: ../source/key_projects.rst:21 -#, fuzzy -#| msgid "" -#| "`Issues `__ | `GitHub " -#| "`__ | `PyPI `__" msgid "" "`Docs `__ | `Issues `__ | `GitHub `__ | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | `Cimoj `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:26 msgid "" @@ -9362,21 +10391,22 @@ msgid "build" msgstr "build" #: ../source/key_projects.rst:39 -#, fuzzy msgid "" ":any:`Docs ` | `Issues `__ | `GitHub `__ | `PyPI `__" msgstr "" -"`Dokumentaro `__ | `Cimoj `__ | `GitHub `__ | `PyPI `__" +":any:`Dokumentaro ` | `Cimoj `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:44 msgid "" "``build`` is a :pep:`517` compatible Python package builder. It provides a " "CLI to build packages, as well as a Python API." msgstr "" +"``build`` estas :pep:`517`-kongrua Python-pakokonstruilo. Ĝi provizas kaj " +"komandlinian fasadon kaj Python-API por konstrui pakojn." #: ../source/key_projects.rst:51 msgid "cibuildwheel" @@ -9402,21 +10432,23 @@ msgid "" "all common platforms and Python versions on most CI systems. Also see :ref:" "`multibuild`." msgstr "" +"``cibuildwheel`` estas Python-pako konstruanta :term:`wheel-ojn ` por " +"ĉiuj oftaj platformoj kaj versioj de Python sur multaj sistemoj de kontinua " +"integrado. Ankaŭ vidu :ref:`multibuild`." #: ../source/key_projects.rst:66 msgid "distlib" msgstr "distlib" #: ../source/key_projects.rst:68 -#, fuzzy msgid "" ":doc:`Docs ` | `Issues `__ | `GitHub `__ | `PyPI `__" msgstr "" -"`Dokumentaro `__ | `Cimoj `__ | `GitHub `__ | `PyPI `__" +":doc:`Dokumentaro ` | `Cimoj `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:73 msgid "" @@ -9441,13 +10473,15 @@ msgstr "" #: ../source/key_projects.rst:93 msgid "distutils" -msgstr "" +msgstr "distutils" #: ../source/key_projects.rst:95 msgid "" "The original Python packaging system, added to the standard library in " "Python 2.0 and removed in 3.12." msgstr "" +"La origina Python-pakada sistemo, aldonita al la norma biblioteko en Python " +"2.0 kaj forigita en 3.12." #: ../source/key_projects.rst:98 msgid "" @@ -9470,17 +10504,15 @@ msgstr "" #: ../source/key_projects.rst:116 msgid "flit" -msgstr "" +msgstr "flit" #: ../source/key_projects.rst:118 -#, fuzzy msgid "" "`Docs `__ | `Issues `__ | `PyPI `__" msgstr "" -"`Dokumentaro `__ | `Cimoj " -"`__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | `Cimoj `__ | `PyPI `__" #: ../source/key_projects.rst:122 msgid "" @@ -9506,20 +10538,22 @@ msgid "" "com/lifter/search/pypi/flit>`__, and funds sent to the PSF and earmarked for " "PyPA usage." msgstr "" +"La pako flit estas subtenata de `Matthias Bussonnier `__ ekde Oktobro 2023 sur la `platformo Tidelift `__, kun fonduso sendita al PSF kaj markita por " +"PyPA." #: ../source/key_projects.rst:142 msgid "hatch" -msgstr "" +msgstr "hatch" #: ../source/key_projects.rst:144 -#, fuzzy msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:148 msgid "" @@ -9535,20 +10569,20 @@ msgid "packaging" msgstr "pakado" #: ../source/key_projects.rst:159 -#, fuzzy msgid "" ":doc:`Docs ` | `Issues `__ | `GitHub `__ | `PyPI `__" msgstr "" -"`Dokumentaro `__ | `Cimoj `__ | `GitHub `__ | `PyPI " -"`__" +":doc:`Dokumentaro ` | `Cimoj `__ | `GitHub `__ | " +"`PyPI `__" #: ../source/key_projects.rst:164 msgid "" "Core utilities for Python packaging used by :ref:`pip` and :ref:`setuptools`." msgstr "" +"Kernaj iloj por pakado de Python uzataj de :ref:`pip` kaj :ref:`setuptools`." #: ../source/key_projects.rst:166 msgid "" @@ -9577,21 +10611,22 @@ msgid "pip" msgstr "pip" #: ../source/key_projects.rst:188 -#, fuzzy msgid "" "`Docs `__ | `Issues `__ | `GitHub `__ | `PyPI `__" msgstr "" -"`Dokumentaro `__ | `Cimoj `__ | `GitHub `__ | `PyPI " -"`__" +"`Dokumentaro `__ | `Cimoj `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:193 msgid "" "The most popular tool for installing Python packages, and the one included " "with modern versions of Python." msgstr "" +"La plej populara ilo por instali Python-pakojn, inkluzivita en modernaj " +"versioj de Python." #: ../source/key_projects.rst:196 msgid "" @@ -9606,13 +10641,12 @@ msgid "Pipenv" msgstr "Pipenv" #: ../source/key_projects.rst:206 -#, fuzzy msgid "" ":doc:`Docs ` | `Source `__ | " "`Issues `__ | `PyPI `__" msgstr "" -"`Dokumentaro `__ | `Fonto ` | `Fonto `__ | `Cimoj `__ | `PyPI " "`__" @@ -9648,54 +10682,54 @@ msgid "" "application-centric alternative to :ref:`pip`'s lower-level :file:" "`requirements.txt` file." msgstr "" +":file:`Pipfile` kaj ĝia frato :file:`Pipfile.lock` estas altnivela programo-" +"centra alternativo al la malaltnivela dosiero :file:`requirements.txt` de :" +"ref:`pip`." #: ../source/key_projects.rst:236 msgid "pipx" msgstr "pipx" #: ../source/key_projects.rst:238 -#, fuzzy msgid "" "`Docs `__ | `GitHub `__ " "| `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:242 msgid "" "pipx is a tool to install and run Python command-line applications without " "causing dependency conflicts with other packages installed on the system." msgstr "" +"pipx estas ilo por instali kaj ruli Python-an komandlinian programon sen " +"dependeca konflikto kun aliaj pakoj instalitaj sur la sistemo." #: ../source/key_projects.rst:249 -#, fuzzy msgid "" ":doc:`Docs ` | `Issues `__ | `GitHub `__" msgstr "" -"`Dokumentaro `__ | `Cimoj `__ | `GitHub `__ | `PyPI " -"`__" +":doc:`Dokumentaro ` | `Cimoj `__ | `GitHub `__" #: ../source/key_projects.rst:253 msgid "This guide!" -msgstr "" +msgstr "Jen ĉi tiu gividilo!" #: ../source/key_projects.rst:258 msgid "readme_renderer" msgstr "readme_renderer" #: ../source/key_projects.rst:260 -#, fuzzy msgid "" "`GitHub and docs `__ | `PyPI " "`__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +"`GitHub kaj dokumentaro `__ | " +"`PyPI `__" #: ../source/key_projects.rst:263 msgid "" @@ -9707,10 +10741,8 @@ msgid "" msgstr "" #: ../source/key_projects.rst:274 -#, fuzzy -#| msgid "setuptools" msgid "Setuptools" -msgstr "setuptools" +msgstr "Setuptools" #: ../source/key_projects.rst:276 msgid "" @@ -9732,7 +10764,7 @@ msgstr "" #: ../source/key_projects.rst:289 msgid "trove-classifiers" -msgstr "" +msgstr "trove-classifiers" #: ../source/key_projects.rst:291 msgid "" @@ -9740,6 +10772,9 @@ msgid "" "`__ | `PyPI `__" msgstr "" +"`Cimoj `__ | `GitHub " +"`__ | `PyPI `__" #: ../source/key_projects.rst:295 msgid "" @@ -9748,6 +10783,10 @@ msgid "" "`systematically describe their projects ` so that " "users can better find projects that match their needs on the PyPI." msgstr "" +"trove-classifiers estas la norma fonto por `klasigiloj ĉe PyPI `_, kiujn mastrumantoj uzas por :ref:`sisteme priskribi " +"siajn projektojn `, helpante uzantojn facile serĉi " +"projektojn taŭgajn por siaj bezonoj ĉe PyPI." #: ../source/key_projects.rst:300 msgid "" @@ -9764,7 +10803,7 @@ msgstr "" #: ../source/key_projects.rst:314 msgid "twine" -msgstr "" +msgstr "twine" #: ../source/key_projects.rst:316 msgid "" @@ -9772,6 +10811,9 @@ msgid "" "com/pypa/twine/issues>`__ | `GitHub `__ | " "`PyPI `__" msgstr "" +"`Dokumentaro `__ | `Cimoj `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:321 msgid "" @@ -9784,18 +10826,17 @@ msgstr "" #: ../source/key_projects.rst:331 ../source/overview.rst:401 msgid "virtualenv" -msgstr "" +msgstr "virtualenv" #: ../source/key_projects.rst:333 -#, fuzzy msgid "" "`Docs `__ | `Issues " "`__ | `GitHub `__ | `PyPI `__" msgstr "" -"`Dokumentaro `__ | `Cimoj `__ | `GitHub `__ | `PyPI " -"`__" +"`Dokumentaro `__ | `Cimoj " +"`__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:338 msgid "" @@ -9810,13 +10851,15 @@ msgstr "" #: ../source/key_projects.rst:350 msgid "Warehouse" -msgstr "" +msgstr "Warehouse" #: ../source/key_projects.rst:352 msgid "" "`Docs `__ | `Issues `__ | `GitHub `__" msgstr "" +"`Dokumentaro `__ | `Cimoj `__ | `GitHub `__" #: ../source/key_projects.rst:356 msgid "" @@ -9824,10 +10867,13 @@ msgid "" "hosted at `pypi.org `_. The default source for :ref:`pip` " "downloads." msgstr "" +"La aktuala programaro funkciiganta la :term:`Python-Pakindekson )`. Ĝi troviĝas ĉe `pypi.org `_. La " +"implicita fonto de elŝutado per :ref:`pip`." #: ../source/key_projects.rst:364 msgid "wheel" -msgstr "" +msgstr "wheel" #: ../source/key_projects.rst:366 msgid "" @@ -9835,6 +10881,9 @@ msgid "" "com/pypa/wheel/issues>`__ | `GitHub `__ | " "`PyPI `__" msgstr "" +"`Dokumentaro `__ | `Cimoj `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:371 msgid "" @@ -9854,11 +10903,11 @@ msgstr "" #: ../source/key_projects.rst:384 msgid "Non-PyPA Projects" -msgstr "" +msgstr "Projektoj ekster PyPA" #: ../source/key_projects.rst:389 msgid "buildout" -msgstr "" +msgstr "buildout" #: ../source/key_projects.rst:391 msgid "" @@ -9866,6 +10915,9 @@ msgid "" "launchpad.net/zc.buildout>`__ | `PyPI `__ | `GitHub `__" msgstr "" +"`Dokumentaro `__ | `Cimoj `__ | `PyPI `__ | `GitHub `__" #: ../source/key_projects.rst:396 msgid "" @@ -9877,11 +10929,11 @@ msgstr "" #: ../source/key_projects.rst:403 msgid "conda" -msgstr "" +msgstr "conda" #: ../source/key_projects.rst:405 msgid ":doc:`Docs `" -msgstr "" +msgstr ":doc:`Dokumentaro `" #: ../source/key_projects.rst:407 msgid "" @@ -9896,6 +10948,15 @@ msgid "" "or `pixi `_ systems. It is available for Windows, Mac and " "Linux systems." msgstr "" +"Conda estas pako-, dependaĵo- kaj medio-administra sistemo por ajna lingvo – " +"Python, R, Ruby, C/C++, Fortrano ktp. Ĝi estas verkita en Python kaj vaste " +"uzata de la scienckomputa komunumo de Python, pro ĝia subteno de ne-Python-" +"aj tradukitaj bibliotekoj kaj etendaĵoj. Ĝi estas uzata kiel la bazo de la " +"Python-distribuo `Anaconda `__ de " +"Anaconda, Inc. Ĝi origine celis la sciencan komunumon, sed ankaŭ estas " +"uzebla memstare aŭ kun la sistemoj :doc:`miniconda `, " +"`miniforge `_ aŭ `pixi `_. Ĝi estas havebla por Windows, Mac kaj Linux." #: ../source/key_projects.rst:416 msgid "" @@ -9928,17 +10989,15 @@ msgstr "" #: ../source/key_projects.rst:435 msgid "devpi" -msgstr "" +msgstr "devpi" #: ../source/key_projects.rst:437 -#, fuzzy msgid "" "`Docs `__ | :gh:`Issues ` " "| `PyPI `__" msgstr "" -"`Dokumentaro `__ | `Fonto `__ | `Cimoj `__ | `PyPI " -"`__" +"`Dokumentaro `__ | :gh:`Issues ` | `PyPI `__" #: ../source/key_projects.rst:441 msgid "" @@ -9952,17 +11011,15 @@ msgstr "" #: ../source/key_projects.rst:452 msgid "dumb-pypi" -msgstr "" +msgstr "dumb-pypi" #: ../source/key_projects.rst:454 -#, fuzzy msgid "" "`GitHub `__ | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +"`GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:457 msgid "" @@ -9974,13 +11031,15 @@ msgstr "" #: ../source/key_projects.rst:464 msgid "enscons" -msgstr "" +msgstr "enscons" #: ../source/key_projects.rst:466 msgid "" ":gh:`Source ` | :gh:`Issues ` | `PyPI " "`__" msgstr "" +":gh:`Fonto ` | :gh:`Cimoj ` | `PyPI " +"`__" #: ../source/key_projects.rst:470 msgid "" @@ -9996,38 +11055,41 @@ msgstr "" #: ../source/key_projects.rst:485 msgid "Flask-Pypi-Proxy" -msgstr "" +msgstr "Flask-Pypi-Proxy" #: ../source/key_projects.rst:487 -#, fuzzy msgid "" "`Docs `__ | :gh:`GitHub ` | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | :gh:`GitHub " +"` | `PyPI `__" #: ../source/key_projects.rst:491 ../source/key_projects.rst:685 #: ../source/key_projects.rst:744 msgid "Not maintained, project archived" -msgstr "" +msgstr "Ne mastrumata, projekto enarĥivigita" #: ../source/key_projects.rst:493 msgid "" "Flask-Pypi-Proxy is a :term:`package index ` as a cached " "proxy for PyPI." msgstr "" +"Flask-Pypi-Proxy estas :term:`pakindekso `, kiu estas " +"kaŝmemora perilo por PyPI." #: ../source/key_projects.rst:499 msgid "Hashdist" -msgstr "" +msgstr "Hashdist" #: ../source/key_projects.rst:501 msgid "" "`Docs `__ | `GitHub `__" msgstr "" +"`Dokumentaro `__ | `GitHub " +"`__" #: ../source/key_projects.rst:504 msgid "" @@ -10042,17 +11104,15 @@ msgstr "" #: ../source/key_projects.rst:516 msgid "Maturin" -msgstr "" +msgstr "Maturin" #: ../source/key_projects.rst:518 -#, fuzzy msgid "" "`Docs `__ | `GitHub `__" msgstr "" -"`Dokumentaro `__ | `Cimoj " -"`__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | `GitHub `__" #: ../source/key_projects.rst:521 msgid "" @@ -10062,19 +11122,16 @@ msgid "" msgstr "" #: ../source/key_projects.rst:529 -#, fuzzy msgid "meson-python" -msgstr "python" +msgstr "meson-python" #: ../source/key_projects.rst:531 -#, fuzzy msgid "" "`Docs `__ | `GitHub `__" msgstr "" -"`Dokumentaro `__ | `Cimoj " -"`__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | `GitHub " +"`__" #: ../source/key_projects.rst:534 msgid "" @@ -10086,13 +11143,11 @@ msgstr "" #: ../source/key_projects.rst:544 msgid "multibuild" -msgstr "" +msgstr "multibuild" #: ../source/key_projects.rst:546 -#, fuzzy -#| msgid "`Source `__" msgid "`GitHub `__" -msgstr "`Fonto `__" +msgstr "`GitHub `__" #: ../source/key_projects.rst:548 msgid "" @@ -10103,43 +11158,47 @@ msgstr "" #: ../source/key_projects.rst:554 msgid "nginx_pypi_cache" -msgstr "" +msgstr "nginx_pypi_cache" #: ../source/key_projects.rst:556 msgid ":gh:`GitHub `" -msgstr "" +msgstr ":gh:`GitHub `" #: ../source/key_projects.rst:558 msgid "" "nginx_pypi_cache is a :term:`package index ` caching proxy " "using `nginx `_." msgstr "" +"nginx_pypi_cache estas :term:`pakindeksa ` kaŝmemora perilo " +"per `nginx `_." #: ../source/key_projects.rst:564 msgid "pdm" -msgstr "" +msgstr "pdm" #: ../source/key_projects.rst:566 -#, fuzzy msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:570 msgid "" "PDM is a modern Python package manager. It uses :term:`pyproject.toml` to " "store project metadata as defined in :pep:`621`." msgstr "" +"PDM estas moderna Python-pakadministrilo. Ĝi uzas :term:`pyproject.toml` por " +"konservi projektajn metadatenojn laŭ :pep:`621`." #: ../source/key_projects.rst:578 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Dokumentaro `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:582 msgid "" @@ -10152,21 +11211,28 @@ msgid "" "PEX. PEX files can optionally have tools embedded that support turning the " "PEX file into a standard venv, graphing dependencies and more." msgstr "" +"Pex estas ilo por generi :file:`.pex` (Python EXecutable)-dosierojn, kiuj " +"estas memstaraj Python-medioj similaj al :ref:`virtualenv`. PEX-dosiero " +"estas :doc:`zipapp `, igante disponigon de Python-" +"programo tiel simpla kiel ``cp``. Unu PEX-dosiero povas subteni plurajn " +"celajn platformojn kaj estas kreebla el normaj :ref:`pip`-solveblaj " +"postuloj, lockfile generita per ``pex3 lock …`` aŭ eĉ alia PEX. PEX-dosiero " +"ankaŭ povas havi inkluzivitajn ilojn estigante la PEX-dosieron ordinara " +"virtuala medio, grafigi dependecojn, ktp." #: ../source/key_projects.rst:594 msgid "pip-tools" -msgstr "" +msgstr "pip-tools" #: ../source/key_projects.rst:596 -#, fuzzy msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" -"`Dokumentaro `__ | `Cimoj " -"`__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | `GitHub " +"`__ | `PyPI `__" #: ../source/key_projects.rst:600 msgid "" @@ -10181,32 +11247,33 @@ msgstr "" #: ../source/key_projects.rst:612 msgid "pip2pi" -msgstr "" +msgstr "pip2pi" #: ../source/key_projects.rst:614 -#, fuzzy msgid "" ":gh:`GitHub ` | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +":gh:`GitHub ` | `PyPI `__" #: ../source/key_projects.rst:617 msgid "" "pip2pi is a :term:`package index ` server where specific " "packages are manually synchronised." msgstr "" +"pip2pi estas :term:`pakindeksa ` servilo, je kiu specifaj " +"pakoj estas malaŭtomate sinkronigitaj." #: ../source/key_projects.rst:623 msgid "piwheels" -msgstr "" +msgstr "piwheels" #: ../source/key_projects.rst:625 msgid "" "`Website `__ | :doc:`Docs ` | " "`GitHub `__" msgstr "" +"`Retejo `__ | :doc:`Dokumentaro ` " +"| `GitHub `__" #: ../source/key_projects.rst:629 msgid "" @@ -10218,13 +11285,15 @@ msgstr "" #: ../source/key_projects.rst:638 msgid "poetry" -msgstr "" +msgstr "poetry" #: ../source/key_projects.rst:640 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Dokumentaro `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:644 msgid "" @@ -10238,38 +11307,33 @@ msgstr "" #: ../source/key_projects.rst:654 msgid "proxpi" -msgstr "" +msgstr "proxpi" #: ../source/key_projects.rst:656 -#, fuzzy msgid "" ":gh:`GitHub ` | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +":gh:`GitHub ` | `PyPI `__" #: ../source/key_projects.rst:659 msgid "" "proxpi is a simple :term:`package index ` which proxies PyPI " "and other indexes with caching." msgstr "" +"proxpi estas simpla :term:`pakindekso `, kiu peras PyPI kaj " +"aliajn indeksojn kun kaŝmemoro." #: ../source/key_projects.rst:665 -#, fuzzy -#| msgid "python" msgid "Pulp-python" -msgstr "python" +msgstr "Pulp-python" #: ../source/key_projects.rst:667 -#, fuzzy msgid "" "`Docs `__ | :gh:`GitHub ` | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | :gh:`GitHub " +"` | `PyPI `__" #: ../source/key_projects.rst:671 msgid "" @@ -10280,17 +11344,15 @@ msgstr "" #: ../source/key_projects.rst:679 msgid "PyPI Cloud" -msgstr "" +msgstr "PyPI Cloud" #: ../source/key_projects.rst:681 -#, fuzzy msgid "" "`Docs `__ | :gh:`GitHub ` | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | :gh:`GitHub ` | `PyPI `__" #: ../source/key_projects.rst:687 msgid "" @@ -10302,37 +11364,35 @@ msgstr "" #: ../source/key_projects.rst:695 msgid "pypiprivate" -msgstr "" +msgstr "pypiprivate" #: ../source/key_projects.rst:697 -#, fuzzy msgid "" ":gh:`GitHub ` | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +":gh:`GitHub ` | `PyPI `__" #: ../source/key_projects.rst:700 msgid "" "pypiprivate serves a local (or `AWS S3`_-hosted) directory of packages as a :" "term:`package index `." msgstr "" +"pypiprivate serves lokan (aŭ ĉe `AWS S3`_ gastigitan) dosierujon da pakoj " +"kiel :term:`pakindekso `." #: ../source/key_projects.rst:706 msgid "pypiserver" -msgstr "" +msgstr "pypiserver" #: ../source/key_projects.rst:708 -#, fuzzy msgid "" "`GitHub `__ | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +"`GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:711 msgid "" @@ -10347,17 +11407,15 @@ msgstr "" #: ../source/key_projects.rst:722 msgid "PyScaffold" -msgstr "" +msgstr "PyScaffold" #: ../source/key_projects.rst:724 -#, fuzzy msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:728 msgid "" @@ -10371,26 +11429,25 @@ msgstr "" #: ../source/key_projects.rst:739 msgid "pywharf" -msgstr "" +msgstr "pywharf" #: ../source/key_projects.rst:741 -#, fuzzy msgid "" ":gh:`GitHub ` | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +":gh:`GitHub ` | `PyPI `__" #: ../source/key_projects.rst:746 msgid "" "pywharf is a :term:`package index ` server, serving files " "locally or from `GitHub `_." msgstr "" +"pywharf estas :term:`pakindeksa ` servilo, servanta dosierojn " +"loke aŭ el `GitHub `_." #: ../source/key_projects.rst:752 msgid "scikit-build" -msgstr "" +msgstr "scikit-build" #: ../source/key_projects.rst:754 msgid "" @@ -10398,6 +11455,9 @@ msgid "" "github.com/scikit-build/scikit-build/>`__ | `PyPI `__" msgstr "" +"`Dokumentaro `__ | `GitHub " +"`__ | `PyPI `__" #: ../source/key_projects.rst:758 msgid "" @@ -10412,18 +11472,17 @@ msgstr "" #: ../source/key_projects.rst:769 msgid "scikit-build-core" -msgstr "" +msgstr "scikit-build-core" #: ../source/key_projects.rst:771 -#, fuzzy msgid "" "`Docs `__ | `GitHub " "`__ | `PyPI `__" msgstr "" -"`Dokumentaro `__ | `Cimoj " -"`__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | " +"`GitHub `__ | `PyPI " +"`__" #: ../source/key_projects.rst:775 msgid "" @@ -10437,13 +11496,15 @@ msgstr "" #: ../source/key_projects.rst:785 msgid "shiv" -msgstr "" +msgstr "shiv" #: ../source/key_projects.rst:787 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Dokumentaro `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:791 msgid "" @@ -10455,17 +11516,15 @@ msgstr "" #: ../source/key_projects.rst:799 msgid "simpleindex" -msgstr "" +msgstr "simpleindex" #: ../source/key_projects.rst:801 -#, fuzzy msgid "" ":gh:`GitHub ` | `PyPI `__" msgstr "" -"`Cimoj `__ | `GitHub `__ | `PyPI `__" +":gh:`GitHub ` | `PyPI `__" #: ../source/key_projects.rst:804 msgid "" @@ -10482,6 +11541,10 @@ msgid "" "sc/2015/2807623/12OmNBf94Xq>`__ | `Slides `__" msgstr "" +":doc:`Dokumentaro ` | `GitHub `__ | `Artikolo `__ | `Lumbildoj `__" #: ../source/key_projects.rst:819 msgid "" @@ -10499,10 +11562,12 @@ msgid "" "Spack is not in PyPI (yet), but it requires no installation and can be used " "immediately after cloning from GitHub." msgstr "" +"Spack ne estas en PyPI (ankoraŭ), sed ĝi postulas neniun instaladon kaj " +"estas uzebla tuj post klonado el GitHub." #: ../source/key_projects.rst:833 msgid "zest.releaser" -msgstr "" +msgstr "zest.releaser" #: ../source/key_projects.rst:835 msgid "" @@ -10510,6 +11575,9 @@ msgid "" "github.com/zestsoftware/zest.releaser/>`__ | `PyPI `__" msgstr "" +"`Dokumentaro `__ | `GitHub " +"`__ | `PyPI `__" #: ../source/key_projects.rst:839 msgid "" @@ -10521,17 +11589,19 @@ msgstr "" #: ../source/key_projects.rst:846 msgid "Standard Library Projects" -msgstr "" +msgstr "Projektoj pri la Norma Biblioteko" #: ../source/key_projects.rst:851 msgid "ensurepip" -msgstr "" +msgstr "ensurepip" #: ../source/key_projects.rst:853 msgid "" "`Docs `__ | `Issues " "`__" msgstr "" +"`Dokumentaro `__ | `Cimoj " +"`__" #: ../source/key_projects.rst:856 msgid "" @@ -10543,17 +11613,15 @@ msgstr "" #: ../source/key_projects.rst:864 msgid "http.server" -msgstr "" +msgstr "http.server" #: ../source/key_projects.rst:866 -#, fuzzy msgid "" ":doc:`Docs ` | :gh:`Issues `" msgstr "" -"`Dokumentaro `__ | `Cimoj " -"`__ | `GitHub `__ | `PyPI `__" +":doc:`Dokumentaro ` | :gh:`Cimoj `" #: ../source/key_projects.rst:869 msgid "" @@ -10564,17 +11632,15 @@ msgstr "" #: ../source/key_projects.rst:876 msgid "venv" -msgstr "" +msgstr "venv" #: ../source/key_projects.rst:878 -#, fuzzy msgid "" "`Docs `__ | `Issues `__" msgstr "" -"`Dokumentaro `__ | `Cimoj " -"`__ | `GitHub `__ | `PyPI `__" +"`Dokumentaro `__ | `Cimoj " +"`__" #: ../source/key_projects.rst:881 msgid "" @@ -10586,633 +11652,693 @@ msgstr "" #: ../source/news.rst:2 msgid "News" -msgstr "" +msgstr "Novaĵoj" #: ../source/news.rst:4 msgid "" "This document is not currently updated. Previously, the document highlighted " "changes in Python packaging." msgstr "" +"Ĉi tiu dokumento estas ne plu ĝisdatigata. Antaŭe, ĝi reliefigis ŝanĝojn pri " +"Python-pakado." #: ../source/news.rst:9 msgid "September 2019" -msgstr "" +msgstr "Septembro 2019" #: ../source/news.rst:10 msgid "Added a guide about publishing dists via GitHub Actions. (:pr:`647`)" msgstr "" +"Aldonis gvidilon pri eldonado de distribuoj per GitHub Actions. (:pr: '647 ')" #: ../source/news.rst:13 msgid "August 2019" -msgstr "" +msgstr "Aŭgusto 2019" #: ../source/news.rst:14 msgid "Updated to use :file:`python3 -m` when installing pipx. (:pr:`631`)" -msgstr "" +msgstr "Ekuzis :file:`python3 -m` dum instalado de pipx. (:pr:`631`)" #: ../source/news.rst:17 msgid "July 2019" -msgstr "" +msgstr "Julio 2019" #: ../source/news.rst:18 msgid "Marked all PEP numbers with the :pep: role. (:pr:`629`)" -msgstr "" +msgstr "Markis ĉiujn PEP-numerojn per la rolo :pep:. (:pr:`629`)" #: ../source/news.rst:19 msgid "Upgraded Sphinx version and removed pypa.io intersphinx. (:pr:`625`)" msgstr "" +"Ĝisdatigis version de Sphinx kaj forigis pypa.io intersphinx. (:pr:`625`)" #: ../source/news.rst:20 msgid "Mentioned :file:`find_namespace_packages`. (:pr:`622`)" -msgstr "" +msgstr "Menciis :file:`find_namespace_packages`. (:pr:`622`)" #: ../source/news.rst:21 msgid "Updated directory layout examples for consistency. (:pr:`611`)" -msgstr "" +msgstr "Ĝisdatigis ekzemplojn de dosieruja aranĝo por unuformeco. (:pr:`611`)" #: ../source/news.rst:22 msgid "Updated Bandersnatch link to GitHub. (:pr:`623`)" -msgstr "" +msgstr "Ĝisdatigis la hiperligon por Bandersnatch al GitHub. (:pr:`623`)" #: ../source/news.rst:25 msgid "June 2019" -msgstr "" +msgstr "Junio 2019" #: ../source/news.rst:26 msgid "Fixed some typos. (:pr:`620`)" -msgstr "" +msgstr "Riparis tajperarojn. (:pr:`620`)" #: ../source/news.rst:29 msgid "May 2019" -msgstr "" +msgstr "Majo 2019" #: ../source/news.rst:30 msgid "Added :file:`python_requires` usage to packaging tutorial. (:pr:`613`)" msgstr "" +"Klarigis uzadon de :file:`python_requires` en lernilo pri pakado. (:pr:`613`)" #: ../source/news.rst:31 msgid "Added a MANIFEST.in guide page. (:pr:`609`)" -msgstr "" +msgstr "Aldonis gvidan paĝon pri MANIFEST.in. (:pr:`609`)" #: ../source/news.rst:34 msgid "April 2019" -msgstr "" +msgstr "Aprilo 2019" #: ../source/news.rst:35 msgid "" "Added a mention for :file:`shiv` in the key projects section. (:pr:`608`)" -msgstr "" +msgstr "Menciis :file:`shiv` en la listo de ĉefprojektoj. (:pr:`608`)" #: ../source/news.rst:36 msgid "Reduced emphasis on virtualenv. (:pr:`606`)" -msgstr "" +msgstr "Malemfazis virtualenv. (:pr:`606`)" #: ../source/news.rst:39 msgid "March 2019" -msgstr "" +msgstr "Marto 2019" #: ../source/news.rst:40 msgid "Moved single-sourcing guide version option to Python 3. (:pr:`605`)" msgstr "" +"Ĝisdatigis opcion en gvidilo pri unufontigo de versio al Python 3. (:pr:" +"`605`)" #: ../source/news.rst:41 msgid "Covered RTD details for contributing. (:pr:`600`)" -msgstr "" +msgstr "Diskutis RTD-detalojn por kontribuado. (:pr:`600`)" #: ../source/news.rst:44 msgid "February 2019" -msgstr "" +msgstr "Februaro 2019" #: ../source/news.rst:45 msgid "" "Elaborate upon the differences between the tutorial and the real packaging " "process. (:pr:`602`)" msgstr "" +"Klarigis la diferencojn inter la lernilo kaj la reala pakada procezo. (:pr:" +"`602`)" #: ../source/news.rst:46 msgid "Added instructions to install Python CLI applications. (:pr:`594`)" msgstr "" +"Aldonis instrukciojn por instali komandlinian Python-programojn. (:pr:`594`)" #: ../source/news.rst:49 msgid "January 2019" -msgstr "" +msgstr "Januaro 2019" #: ../source/news.rst:50 msgid "Added :file:`--no-deps` to the packaging tutorial. (:pr:`593`)" -msgstr "" +msgstr "Aldonis :file:`--no-deps` al la pakada lernilo. (:pr:`593`)" #: ../source/news.rst:51 msgid "Updated Sphinx and Nox. (:pr:`591`)" -msgstr "" +msgstr "Ĝisdatigis Sphinx kaj Nox. (:pr:`591`)" #: ../source/news.rst:52 msgid "Referenced Twine from Python3. (:pr:`581`)" -msgstr "" +msgstr "Menciis Twine el Python3. (:pr:`581`)" #: ../source/news.rst:55 msgid "December 2018" -msgstr "" +msgstr "Decembro 2018" #: ../source/news.rst:56 msgid "No programmers in the office!" -msgstr "" +msgstr "Neniu programisto en la oficejo!" #: ../source/news.rst:59 msgid "November 2018" -msgstr "" +msgstr "Novembro 2018" #: ../source/news.rst:60 msgid "Removed landing page link to PyPI migration guide. (:pr:`575`)" -msgstr "" +msgstr "Forigis ĉefpaĝan hiperligon al migrada gvidilo por PyPI. (:pr:`575`)" #: ../source/news.rst:61 msgid "Changed bumpversion to bump2version. (:pr:`572`)" -msgstr "" +msgstr "Ŝanĝis bumpversion al bump2version. (:pr:`572`)" #: ../source/news.rst:62 msgid "Added single-sourcing package version example. (:pr:`573`)" -msgstr "" +msgstr "Aldonis ekzemplon pri unufontigo de la paka versio. (:pr:`573`)" #: ../source/news.rst:63 msgid "Added a guide for creating documentation. (:pr:`568`)" -msgstr "" +msgstr "Aldonis gvidilon por verki dokumentaron. (:pr:`568`)" #: ../source/news.rst:66 msgid "October 2018" -msgstr "" +msgstr "Oktobro 2018" #: ../source/news.rst:67 msgid "Updated Nox package name. (:pr:`566`)" -msgstr "" +msgstr "Ĝisdatigis paknomon de Nox. (:pr:`566`)" #: ../source/news.rst:68 msgid "Mentioned Sphinx extensions in guides. (:pr:`562`)" -msgstr "" +msgstr "Menciis Sphinx-etendaĵojn en gvidiloj. (:pr:`562`)" #: ../source/news.rst:71 msgid "September 2018" -msgstr "" +msgstr "Septembro 2018" #: ../source/news.rst:72 msgid "Added a section on checking RST markup. (:pr:`554`)" msgstr "" +"Aldonis paragrafon pri kontrolado de reStructuredText-sintakso (:pr:`554`)" #: ../source/news.rst:73 msgid "Updated user installs page. (:pr:`558`)" -msgstr "" +msgstr "Ĝisdatigis paĝon pri instalado al la loko de la uzanto. (:pr:`558`)" #: ../source/news.rst:74 msgid "Updated Google BigQuery urls. (:pr:`556`)" -msgstr "" +msgstr "Ĝisdatigis retadresojn de Google BigQuery. (:pr:`556`)" #: ../source/news.rst:75 msgid "Replaced tar command with working command. (:pr:`552`)" -msgstr "" +msgstr "Anstataŭigis komandon tar per funkcianta komando. (:pr:`552`)" #: ../source/news.rst:76 msgid "" "Changed to double quotes in the pip install SomeProject==1.4. (:pr:`550`)" -msgstr "" +msgstr "Ŝanĝis al duoblaj citiloj en pip install SomeProject==1.4. (:pr:`550`)" #: ../source/news.rst:79 msgid "August 2018" -msgstr "" +msgstr "Aŭgusto 2018" #: ../source/news.rst:80 msgid "Removed the recommendation to store passwords in cleartext. (:pr:`546`)" -msgstr "" +msgstr "Forigis la rekomendon konservi pasvortojn senĉifre. (:pr:`546`)" #: ../source/news.rst:81 msgid "" "Moved the Overview to a task based lead in along with the others. (:pr:`540`)" msgstr "" +"Provizis la Superrigardon kun taskobaza enkonduko simile al aliaj " +"dokumentoj. (:pr:`540`)" #: ../source/news.rst:82 msgid "Updated Python version supported by virtualenv. (:pr:`538`)" -msgstr "" +msgstr "Ĝisdatigis Python-version subtenatan de virtualenv. (:pr:`538`)" #: ../source/news.rst:83 msgid "Added outline/rough draft of new Overview page. (:pr:`519`)" -msgstr "" +msgstr "Aldonis malneton de nova Superrigarda paĝo. (:pr:`519`)" #: ../source/news.rst:86 msgid "July 2018" -msgstr "" +msgstr "Julio 2018" #: ../source/news.rst:88 msgid "Improved binary extension docs. (:pr:`531`)" -msgstr "" +msgstr "Plibonigis dokumentaron pri duumaj etendaĵoj. (:pr:`531`)" #: ../source/news.rst:89 msgid "Added scikit-build to key projects. (:pr:`530`)" -msgstr "" +msgstr "Aldonis scikit-build al ĉefprojektoj. (:pr:`530`)" #: ../source/news.rst:92 msgid "June 2018" -msgstr "" +msgstr "Junio 2018" #: ../source/news.rst:94 msgid "Fixed categories of interop PEP for pypa.io. (:pr:`527`)" -msgstr "" +msgstr "Riparis kategoriojn pri kunfunkcipova PEP por pypa.io. (:pr:`527`)" #: ../source/news.rst:95 msgid "Updated Markdown descriptions explanation. (:pr:`522`)" -msgstr "" +msgstr "Ĝisdatigis klarigon pri priskriboj en Markdown. (:pr:`522`)" #: ../source/news.rst:98 msgid "May 2018" -msgstr "" +msgstr "Majo 2018" #: ../source/news.rst:100 msgid "Noted issues with Provides-Dist and Obsoletes-Dist. (:pr:`513`)" -msgstr "" +msgstr "Menciis problemojn pri Provides-Dist kaj Obsoletes-Dist. (:pr:`513`)" #: ../source/news.rst:101 msgid "" "Removed outdated warning about Python version mixing with Pipenv. (:pr:`501`)" msgstr "" +"Forigis ne plu validan averton pri miksado de Python-versioj kun Pipenv. (:" +"pr:`501`)" #: ../source/news.rst:102 msgid "Simplified packaging tutorial. (:pr:`498`)" -msgstr "" +msgstr "Simpligis lernilon pri pakado. (:pr:`498`)" #: ../source/news.rst:103 msgid "Updated Windows users instructions for clarity. (:pr:`493`)" -msgstr "" +msgstr "Pliklarigis instrukciojn por uzantoj de Windows. (:pr:`493`)" #: ../source/news.rst:104 msgid "Updated the license section description for completeness. (:pr:`492`)" -msgstr "" +msgstr "Ĝisdatigis la priskribon de la licenca sekcio por pleneco. (:pr:`492`)" #: ../source/news.rst:105 msgid "Added specification-style document to contributing section. (:pr:`489`)" msgstr "" +"Aldonis specifo-stilan dokumenton al la paragrafo pri kontribuado. (:pr:" +"`489`)" #: ../source/news.rst:106 msgid "Added documentation types to contributing guide. (:pr:`485`)" msgstr "" +"Aldonis specojn de dokumentoj al gvidilo por kontribuantoj. (:pr:`485`)" #: ../source/news.rst:109 msgid "April 2018" -msgstr "" +msgstr "Aprilo 2018" #: ../source/news.rst:111 msgid "Added README guide. (:pr:`461`)" -msgstr "" +msgstr "Aldonis gvidilon pri README. (:pr:`461`)" #: ../source/news.rst:112 msgid "Updated instructions and status for PyPI launch. (:pr:`475`)" -msgstr "" +msgstr "Ĝisdatigis instrukciojn kaj staton por la lanĉo de PyPI. (:pr:`475`)" #: ../source/news.rst:113 msgid "Added instructions for Warehouse. (:pr:`471`)" -msgstr "" +msgstr "Aldonis instrukciojn pri Warehouse. (:pr:`471`)" #: ../source/news.rst:114 msgid "Removed GPG references from publishing tutorial. (:pr:`466`)" -msgstr "" +msgstr "Forigis referencojn al GPG el la lernilo pri eldonado. (:pr:`466`)" #: ../source/news.rst:115 msgid "Added 'What’s in which Python 3.4–3.6?'. (:pr:`468`)" -msgstr "" +msgstr "Aldonis «Kio estas en kiu Python 3.4–3.6?». (:pr:`468`)" #: ../source/news.rst:116 msgid "Added a guide for phasing out Python versions. (:pr:`459`)" -msgstr "" +msgstr "Aldonis gvidilon pri ekmalsubtenado de versioj de Python. (:pr:`459`)" #: ../source/news.rst:117 msgid "Made default Description-Content-Type variant GFM. (:pr:`462`)" -msgstr "" +msgstr "Implicitigi la varianton GFM por Description-Content-Type. (:pr:`462`)" #: ../source/news.rst:120 msgid "March 2018" -msgstr "" +msgstr "Marto 2018" #: ../source/news.rst:122 msgid "Updated \"installing scientific packages\". (:pr:`455`)" -msgstr "" +msgstr "Ĝisdatigis «Instali sciencajn pakojn». (:pr:`455`)" #: ../source/news.rst:123 msgid "" "Added :file:`long_description_content_type` to follow PEP 556. (:pr:`457`)" msgstr "" +"Aldonis :file:`long_description_content_type` sekvante PEP 556. (:pr:`457`)" #: ../source/news.rst:124 msgid "Clarified a long description classifier on pypi.org. (:pr:`456`)" -msgstr "" +msgstr "Klarigis longan priskriban klasigilon ĉe pypi.org. (:pr:`456`)" #: ../source/news.rst:125 msgid "Updated Core Metadata spec to follow PEP 556. (:pr:`412`)" msgstr "" +"Ĝisdatigis la specifon de Kernaj Metadatenoj sekvante PEP 556. (:pr:`412`)" #: ../source/news.rst:128 msgid "February 2018" -msgstr "" +msgstr "Februaro 2018" #: ../source/news.rst:130 msgid "" "Added python3-venv and python3-pip to Debian installation instructions. (:pr:" "`445`)" msgstr "" +"Aldonis python3-venv kaj python3-pip al instrukcioj pri instalado sur " +"Debian. (:pr:`445`)" #: ../source/news.rst:131 msgid "Updated PyPI migration info. (:pr:`439`)" -msgstr "" +msgstr "Ĝisdatigis informojn pri migrado al PyPI. (:pr:`439`)" #: ../source/news.rst:132 msgid "" "Added a warning about managing multiple versions with pipenv. (:pr:`430`)" msgstr "" +"Aldonis averton pri administrado de pluraj versioj per pipenv. (:pr:`430`)" #: ../source/news.rst:133 msgid "Added example of multiple emails to Core Metadata. (:pr:`429`)" msgstr "" +"Aldonis ekzemplon de pluraj retpoŝtaj adresoj al Kernaj Metadatenoj. (:pr:" +"`429`)" #: ../source/news.rst:134 msgid "Added explanation of \"legacy\" in test.pypi.org/legacy. (:pr:`426`)" -msgstr "" +msgstr "Klarigis «legacy» en test.pypi.org/legacy. (:pr:`426`)" #: ../source/news.rst:137 msgid "January 2018" -msgstr "" +msgstr "Januaro 2018" #: ../source/news.rst:139 msgid "Added a link to PyPI's list of classifiers. (:pr:`425`)" -msgstr "" +msgstr "Aldonis hiperligon al la listo de klasigiloj ĉe PyPI. (:pr:`425`)" #: ../source/news.rst:140 msgid "Updated README.rst explanation. (:pr:`419`)" -msgstr "" +msgstr "Plibonigis klarigon pri README.rst. (:pr:`419`)" #: ../source/news.rst:143 msgid "December 2017" -msgstr "" +msgstr "Decembro 2017" #: ../source/news.rst:145 msgid "" "Replaced :file:`~` with :file:`$HOME` in guides and tutorials. (:pr:`418`)" msgstr "" +"Anstataŭigis :file:`~` per :file:`$HOME` en gvidiloj kaj lerniloj. (:pr:" +"`418`)" #: ../source/news.rst:146 msgid "Noted which fields can be used with environment markers. (:pr:`416`)" msgstr "" +"Notis tiujn kampojn, kiuj povas esti uzataj kun mediaj markoj. (:pr:`416`)" #: ../source/news.rst:147 msgid "Updated Requires-Python section. (:pr:`414`)" -msgstr "" +msgstr "Plibonigis paragrafon pri Requres-Python. (:pr:`414`)" #: ../source/news.rst:148 msgid "Added news page. (:pr:`404`)" -msgstr "" +msgstr "Aldonis paĝon pri novaĵoj. (:pr:`404`)" #: ../source/news.rst:151 msgid "November 2017" -msgstr "" +msgstr "Novembro 2017" #: ../source/news.rst:153 msgid "" "Introduced a new dependency management tutorial based on Pipenv. (:pr:`402`)" msgstr "" +"Enkondukis novan lernilon pri mastrumado de dependeco per Pipenv. (:pr:`402`)" #: ../source/news.rst:154 msgid "" "Updated the *Single Sourcing Package Version* tutorial to reflect pip's " "current strategy. (:pr:`400`)" msgstr "" +"Ĝisdatigis la lernilon *Unu-Fontigi la Pakan Version* laŭ la aktuala " +"strategio de pip. (:pr:`400`)" #: ../source/news.rst:156 msgid "" "Added documentation about the ``py_modules`` argument to ``setup``. (:pr:" "`398`)" msgstr "" +"Aldonis klarigon pri la argumento ``py_modules`` al ``setup``. (:pr:`398`)" #: ../source/news.rst:157 msgid "Simplified the wording for the :file:`manifest.in` section. (:pr:`395`)" -msgstr "" +msgstr "Simpligis la paragrafon pri :file:`manifest.in`. (:pr:`395`)" #: ../source/news.rst:160 msgid "October 2017" -msgstr "" +msgstr "Oktobro 2017" #: ../source/news.rst:162 msgid "" "Added a specification for the :file:`entry_points.txt` file. (:pr:`398`)" -msgstr "" +msgstr "Aldonis specifon pri la dosiero :file:`entry_points.txt`. (:pr:`398`)" #: ../source/news.rst:163 msgid "" "Created a new guide for managing packages using ``pip`` and ``virtualenv``. " "(:pr:`385`)" msgstr "" +"Verkis novan gvidilon por administri pakojn per ``pip`` kaj ``virtualenv``. " +"(:pr:`385`)" #: ../source/news.rst:164 msgid "Split the specifications page into multiple pages. (:pr:`386`)" -msgstr "" +msgstr "Disdividis la paĝon de specifoj en plurajn paĝojn. (:pr:`386`)" #: ../source/news.rst:167 msgid "September 2017" -msgstr "" +msgstr "Septembro 2017" #: ../source/news.rst:169 msgid "" "Encouraged using ``readme_renderer`` to validate :file:`README.rst`. (:pr:" "`379`)" msgstr "" +"Instigis uzi ``readme_renderer`` por kontroli la validecon de :file:`README." +"rst`. (:pr:`379`)" #: ../source/news.rst:171 msgid "Recommended using the ``--user-base`` option. (:pr:`374`)" -msgstr "" +msgstr "Rekomendis uzi la opcion ``--user-base``. (:pr:`374`)" #: ../source/news.rst:174 msgid "August 2017" -msgstr "" +msgstr "Aŭgusto 2017" #: ../source/news.rst:176 msgid "" "Added a new, experimental tutorial on installing packages using ``Pipenv``. " "(:pr:`369`)" msgstr "" +"Aldonis novan, eksperimentan lernilon pri instalado de pako per ``Pipenv``. " +"(:pr:`369`)" #: ../source/news.rst:177 msgid "Added a new guide on how to use ``TestPyPI``. (:pr:`366`)" -msgstr "" +msgstr "Aldonis novan gvidilo pri la uzado de ``TestPyPI``. (:pr:`366`)" #: ../source/news.rst:178 msgid "Added :file:`pypi.org` as a term. (:pr:`365`)" -msgstr "" +msgstr "Aldonis :file:`pypi.org` kiel terminon. (:pr:`365`)" #: ../source/news.rst:181 msgid "July 2017" -msgstr "" +msgstr "Julio 2017" #: ../source/news.rst:183 msgid "Added ``flit`` to the key projects list. (:pr:`358`)" -msgstr "" +msgstr "Inkluzivis ``flit`` en la liston de ĉefprojektojn. (:pr:`358`)" #: ../source/news.rst:184 msgid "Added ``enscons`` to the list of key projects. (:pr:`357`)" -msgstr "" +msgstr "Inkluzivis ``enscons`` en la liston de ĉefprojektojn. (:pr:`357`)" #: ../source/news.rst:185 msgid "" "Updated this guide's ``readme`` with instructions on how to build the guide " "locally. (:pr:`356`)" msgstr "" +"Ĝisdatigis la ``readme`` de ĉi tiu gvidilo per instrukcioj pri kiel konstrui " +"la gvidilon loke. (:pr:`356`)" #: ../source/news.rst:186 msgid "" "Made the new ``TestPyPI`` URL more visible, adding note to homepage about " "pypi.org. (:pr:`354`)" msgstr "" +"Reliefigis la novan retadreson ``TestPyPI``, aldonante noton pri pypi.org. (:" +"pr:`354`)" #: ../source/news.rst:187 msgid "" "Added a note about the removal of the explicit registration API. (:pr:`347`)" msgstr "" +"Aldonis noton pri la forigo de la API de eksplicita registrado. (:pr:`347`)" #: ../source/news.rst:190 msgid "June 2017" -msgstr "" +msgstr "Junio 2017" #: ../source/news.rst:192 msgid "Added a document on migrating uploads to :file:`PyPI.org`. (:pr:`339`)" msgstr "" +"Aldonis dokumenton pri migrado de alŝutoj al :file:`PyPI.org`. (:pr:`339`)" #: ../source/news.rst:193 msgid "Added documentation for ``python_requires``. (:pr:`338`)" -msgstr "" +msgstr "Aldonis dokumentaron pri ``python_requires``. (:pr:`338`)" #: ../source/news.rst:194 msgid "" "Added a note about PyPI migration in the *Tool Recommendations* tutorial. (:" "pr:`335`)" msgstr "" +"Aldonis noton pri migrado de PyPI en la lernilo *Rekomendoj pri Iloj*. (:pr:" +"`335`)" #: ../source/news.rst:195 msgid "" "Added a note that :file:`manifest.in` does not affect wheels. (:pr:`332`)" -msgstr "" +msgstr "Notis, ke :file:`manifest.in` ne rilatas al wheel. (:pr:`332`)" #: ../source/news.rst:196 msgid "Added a license section to the distributing guide. (:pr:`331`)" msgstr "" +"Aldonis paragrafon pri licencoj al la gvidilo pri distribuado. (:pr:`331`)" #: ../source/news.rst:197 msgid "Expanded the section on the ``name`` argument. (:pr:`329`)" -msgstr "" +msgstr "Pliigis la paragrafon pri la argumento ``name``. (:pr:`329`)" #: ../source/news.rst:198 msgid "Adjusted the landing page. (:pr:`327`, :pr:`326`, :pr:`324`)" -msgstr "" +msgstr "Plibonigis la ĉefpaĝon. (:pr:`327`, :pr:`326`, :pr:`324`)" #: ../source/news.rst:199 msgid "Updated to Sphinx 1.6.2. (:pr:`323`)" -msgstr "" +msgstr "Ĝisdatigis al Sphinx 1.6.2. (:pr:`323`)" #: ../source/news.rst:200 msgid "Switched to the PyPA theme. (:pr:`305`)" -msgstr "" +msgstr "Ŝanĝis al la etoso de PyPA. (:pr:`305`)" #: ../source/news.rst:201 msgid "Re-organized the documentation into the new structure. (:pr:`318`)" -msgstr "" +msgstr "Reorganizis la dokumentaron laŭ la nova strukturo. (:pr:`318`)" #: ../source/news.rst:204 msgid "May 2017" -msgstr "" +msgstr "Majo 2017" #: ../source/news.rst:206 msgid "" "Added documentation for the ``Description-Content-Type`` field. (:pr:`258`)" -msgstr "" +msgstr "Klarigis la kampon ``Description-Content-Type``. (:pr:`258`)" #: ../source/news.rst:207 msgid "Added contributor and style guide. (:pr:`307`)" -msgstr "" +msgstr "Aldonis gvidilojn por kontribuantoj kaj pri stilo. (:pr:`307`)" #: ../source/news.rst:208 msgid "" "Documented ``pip`` and ``easy_install``'s differences for per-project " "indexes. (:pr:`233`)" msgstr "" +"Dokumentis la diferencojn inter ``pip`` kaj ``easy_install`` pri unu-" +"projektaj indeksoj. (:pr:`233`)" #: ../source/news.rst:211 msgid "April 2017" -msgstr "" +msgstr "Aprilo 2017" #: ../source/news.rst:213 msgid "Added travis configuration for testing pull requests. (:pr:`300`)" -msgstr "" +msgstr "Starigis agordojn pri travis por testi tirpetojn. (:pr:`300`)" #: ../source/news.rst:214 msgid "" "Mentioned the requirement of the ``wheel`` package for creating wheels (:pr:" "`299`)" -msgstr "" +msgstr "Menciis la postulon de la pako ``wheel`` por krei wheel (:pr:`299`)" #: ../source/news.rst:215 msgid "" "Removed the ``twine register`` reference in the *Distributing Packages* " "tutorial. (:pr:`271`)" msgstr "" +"Forigis la mencion de ``twine register`` en la lernilo *Distribui Pakojn*. (:" +"pr:`271`)" #: ../source/news.rst:216 msgid "Added a topic on plugin discovery. (:pr:`294`, :pr:`296`)" -msgstr "" +msgstr "Aldonis temon pri malkovrado de kromaĵoj. (:pr:`294`, :pr:`296`)" #: ../source/news.rst:217 msgid "Added a topic on namespace packages. (:pr:`290`)" -msgstr "" +msgstr "Aldonis temon pri nomspacaj pakoj. (:pr:`290`)" #: ../source/news.rst:218 msgid "" "Added documentation explaining prominently how to install ``pip`` in ``/usr/" "local``. (:pr:`230`)" msgstr "" +"Aldonis dokumentaron reliefigante kiel instali ``pip`` en ``/usr/local``. (:" +"pr:`230`)" #: ../source/news.rst:219 msgid "" "Updated development mode documentation to mention that order of local " "packages matters. (:pr:`208`)" msgstr "" +"Ĝisdatigis la dokumentaron pri evoluada reĝimo menciante, ke la ordo de " +"lokaj pakoj gravas. (:pr:`208`)" #: ../source/news.rst:220 msgid "" "Convert readthedocs link for their ``.org`` -> ``.io`` migration for hosted " "projects (:pr:`239`)" msgstr "" +"Konverti ligilojn al readthedocs por la migrado ``.org`` → ``.io`` pri " +"gastigitaj projektoj (:pr:`239`)" #: ../source/news.rst:221 msgid "" "Swapped order of :file:`setup.py` arguments for the upload command, as order " "is significant. (:pr:`260`)" msgstr "" +"Ŝanĝis la ordon de la argumentoj de :file:`setup.py` por la komando " +"«upload», ĉar la ordo gravas. (:pr:`260`)" #: ../source/news.rst:223 msgid "" "Explained how to install from unsupported sources using a helper " "application. (:pr:`289`)" msgstr "" +"Klarigis kiel instali el nesubtenata fonto per helpa programo. (:pr:`289`)" #: ../source/news.rst:227 msgid "March 2017" -msgstr "" +msgstr "Marto 2017" #: ../source/news.rst:229 msgid "Covered ``manylinux1`` in *Platform Wheels*. (:pr:`283`)" -msgstr "" +msgstr "Menciis ``manylinux1`` en *Platforma Wheel*. (:pr:`283`)" #: ../source/news.rst:232 msgid "February 2017" -msgstr "" +msgstr "Februaro 2017" #: ../source/news.rst:234 msgid "Added :pep:`518`. (:pr:`281`)" -msgstr "" +msgstr "Aldonis :pep:`518`. (:pr:`281`)" #: ../source/overview.rst:3 msgid "Overview of Python Packaging" -msgstr "" +msgstr "Superrigardo pri Pakado de Python" #: ../source/overview.rst:7 msgid "" @@ -11220,6 +12346,9 @@ msgid "" "many ways. You can build web sites or industrial robots or a game for your " "friends to play, and much more, all using the same core technology." msgstr "" +"Kiel ĝeneralcela programlingvo, Python estas uzebla por multaj celoj. Vi " +"povas verki retejon aŭ industrian roboton aŭ ludon por viaj amikoj, kaj " +"multe pli, uzante la saman kernan teknikon." #: ../source/overview.rst:12 msgid "" @@ -11239,7 +12368,7 @@ msgstr "" #: ../source/overview.rst:23 msgid "Thinking about deployment" -msgstr "" +msgstr "Pripensi disponigon" #: ../source/overview.rst:25 msgid "" @@ -11253,17 +12382,21 @@ msgid "" "developers doing software development, operations people in a datacenter, or " "a less software-savvy group?" msgstr "" +"Kiuj estas la uzantoj de via programo? Ĉu via programo estos instalita de " +"alia programisto verkanta programon, operaciisto en datenejo, aŭ nespertulo?" #: ../source/overview.rst:32 msgid "" "Is your software intended to run on servers, desktops, mobile clients " "(phones, tablets, etc.), or embedded in dedicated devices?" msgstr "" +"Ĉu via programo estas por servilo, labortabla komputilo, portebla kliento " +"(telefono, tabulkomputilo ktp), aŭ enkonstruado en aparaton?" #: ../source/overview.rst:34 msgid "" "Is your software installed individually, or in large deployment batches?" -msgstr "" +msgstr "Ĉu via programo estas instalata unuope aŭ multope?" #: ../source/overview.rst:36 msgid "" @@ -11276,7 +12409,7 @@ msgstr "" #: ../source/overview.rst:43 msgid "Packaging Python libraries and tools" -msgstr "" +msgstr "Paki Python-bibliotekojn kaj ilojn" #: ../source/overview.rst:45 msgid "" @@ -11296,7 +12429,7 @@ msgstr "" #: ../source/overview.rst:56 msgid "Python modules" -msgstr "" +msgstr "Python-moduloj" #: ../source/overview.rst:58 msgid "" @@ -11323,7 +12456,7 @@ msgstr "" #: ../source/overview.rst:75 msgid "Python source distributions" -msgstr "" +msgstr "Python-fontaj distribuoj" #: ../source/overview.rst:77 msgid "" @@ -11384,7 +12517,7 @@ msgstr "" #: ../source/overview.rst:116 msgid "Python binary distributions" -msgstr "" +msgstr "Python-duumaj distribuoj" #: ../source/overview.rst:118 msgid "" @@ -11392,6 +12525,9 @@ msgid "" "the software ecosystem, in particular libraries written in C, C++, Fortran, " "Rust, and other languages." msgstr "" +"Multo da praktika potenco de Python devenas de la kapablo integriĝi al la " +"programa ekosistemo, speciale bibliotekoj verkitaj en C, C++, Fortrano, Rust " +"kaj aliaj lingvoj." #: ../source/overview.rst:122 msgid "" @@ -11412,16 +12548,23 @@ msgid "" "archives together, *unless* you're creating artifacts for a very specific " "use case where you know the recipient only needs one or the other." msgstr "" +"Duuma distribuo plej taŭgas, kiam ĝi venas kun respondanta fonta distribuo. " +"Eĉ se vi ne alŝutas wheel de via kodo por ĉiu mastruma sistemo, se vi " +"alŝutas fontan distribuon, vi ebligas uzantojn de aliaj platformoj konstrui " +"wheel por si. Eldonu kaj fontan distribuon kaj wheel-arĥivon kune, *krom se* " +"vi kreas artefaktojn por tiu kliento, kiu specife nur bezonas unu el la duo." #: ../source/overview.rst:137 msgid "" "Python and PyPI make it easy to upload both wheels and sdists together. Just " "follow the :doc:`tutorials/packaging-projects` tutorial." msgstr "" +"Python kaj PyPI faciligas kune alŝuti kaj fontan distribuon kaj wheel. Sekvu " +"la lernilon :doc:`tutorials/packaging-projects`." #: ../source/overview.rst:145 msgid "A summary of Python's packaging capabilities for tools and libraries." -msgstr "" +msgstr "Resumo pri la pakaj kapabloj de Python por iloj kaj bibliotekoj." #: ../source/overview.rst:145 msgid "" @@ -11429,10 +12572,13 @@ msgid "" "Excerpted from `The Packaging Gradient (2017) `_." msgstr "" +"La rekomendataj aprioraj biblioteko- kaj ilo-pakadaj teknikoj por Python. El " +"`The Packaging Gradient (2017) `_." #: ../source/overview.rst:152 msgid "Packaging Python applications" -msgstr "" +msgstr "Paki Python-aplikprogramojn" #: ../source/overview.rst:154 msgid "" @@ -11462,6 +12608,8 @@ msgid "" "Libraries are building blocks, not complete applications. For distributing " "applications, there's a whole new world of technologies out there." msgstr "" +"Biblioteko estas konstrua bloko, ne kompleta aplikprogramo. Por distribui " +"aplikprogramon, ekzistas mondo da teknikoj." #: ../source/overview.rst:173 msgid "" @@ -11472,7 +12620,7 @@ msgstr "" #: ../source/overview.rst:178 msgid "Depending on a framework" -msgstr "" +msgstr "Dependi de kadro" #: ../source/overview.rst:180 msgid "" @@ -11497,10 +12645,12 @@ msgid "" "If you ever wonder how these platforms and frameworks work under the hood, " "you can always read the sections beyond." msgstr "" +"Se vi scivolas, kiel tiuj platformoj kaj kadroj interne funkcias, legu la ĉi-" +"subajn paragrafojn." #: ../source/overview.rst:196 msgid "Service platforms" -msgstr "" +msgstr "Servaj platformoj" #: ../source/overview.rst:198 msgid "" @@ -11520,7 +12670,7 @@ msgstr "" #: ../source/overview.rst:209 msgid "Web browsers and mobile applications" -msgstr "" +msgstr "TTT-legiloj kaj poŝaparatoj" #: ../source/overview.rst:211 msgid "" @@ -11542,11 +12692,11 @@ msgstr "`Poetry `_" #: ../source/overview.rst:221 msgid "`Beeware `_" -msgstr "" +msgstr "`Beeware `_" #: ../source/overview.rst:222 msgid "`Brython `_" -msgstr "" +msgstr "`Brython `_" #: ../source/overview.rst:223 msgid "`Flexx `_" @@ -11561,7 +12711,7 @@ msgstr "" #: ../source/overview.rst:230 msgid "Depending on a pre-installed Python" -msgstr "" +msgstr "Dependi de antaŭinstalita Python" #: ../source/overview.rst:232 msgid "" @@ -11574,21 +12724,23 @@ msgstr "" #: ../source/overview.rst:238 msgid "Technologies which support this model:" -msgstr "" +msgstr "Jen teknikoj subtenantaj tiun modelon:" #: ../source/overview.rst:240 msgid ":gh:`PEX ` (Python EXecutable)" -msgstr "" +msgstr ":gh:`PEX ` (Python EXecutable)" #: ../source/overview.rst:241 msgid "" ":doc:`zipapp ` (does not help manage dependencies, " "requires Python 3.5+)" msgstr "" +":doc:`zipapp ` (ne helpas mastrumi dependecojn, " +"postulas Python 3.5+)" #: ../source/overview.rst:242 msgid ":gh:`shiv ` (requires Python 3)" -msgstr "" +msgstr ":gh:`shiv ` (postulas Python 3)" #: ../source/overview.rst:244 msgid "" @@ -11606,7 +12758,7 @@ msgstr "" #: ../source/overview.rst:256 msgid "Depending on a separate software distribution ecosystem" -msgstr "" +msgstr "Dependi de aparta programdistribua ekosistemo" #: ../source/overview.rst:258 msgid "" @@ -11631,13 +12783,15 @@ msgstr "" #: ../source/overview.rst:273 msgid "Instructions on building and publishing for the Anaconda ecosystem:" -msgstr "" +msgstr "Instrukcioj pri konstruado kaj eldonado por la ekosistemo Anaconda:" #: ../source/overview.rst:275 msgid "" "`Building libraries and applications with conda `_" msgstr "" +"`Kontrui bibliotekojn kaj aplikprogramojn per conda `_" #: ../source/overview.rst:276 msgid "" @@ -11645,25 +12799,30 @@ msgid "" "projects/conda-build/en/latest/user-guide/tutorials/build-pkgs-skeleton." "html>`_" msgstr "" +"`Migrigi indiĝenan Python-pakon al Anaconda `_" #: ../source/overview.rst:278 msgid "" "A similar model involves installing an alternative Python distribution, but " "does not support arbitrary operating system-level packages:" msgstr "" +"Simila modelo uzas instalado de alternativa Python-distribuo, sed ne " +"subtenas arbitrajn mastrumasistemo-nivelajn pakojn:" #: ../source/overview.rst:282 msgid "" "`ActiveState ActivePython `_" msgstr "" +"`ActiveState ActivePython `_" #: ../source/overview.rst:283 msgid "`WinPython `_" -msgstr "" +msgstr "`WinPython `_" #: ../source/overview.rst:288 msgid "Bringing your own Python executable" -msgstr "" +msgstr "Alporti vian propran Python-ruleblaĵon" #: ../source/overview.rst:290 msgid "" @@ -11688,50 +12847,58 @@ msgstr "" #: ../source/overview.rst:303 msgid "A selection of Python freezers:" -msgstr "" +msgstr "Jen kelkaj Python-frostigiloj:" #: ../source/overview.rst:305 msgid "" "`pyInstaller `_ - Cross-" "platform" msgstr "" +"`pyInstaller `_ - " +"Plurplatforma" #: ../source/overview.rst:306 msgid "" "`cx_Freeze `_ - Cross-platform" msgstr "" +"`cx_Freeze `_ - Plurplatforma" #: ../source/overview.rst:307 msgid "" "`constructor `_ - For command-line " "installers" msgstr "" +"`constructor `_ – Por komandliniaj " +"instaliloj" #: ../source/overview.rst:308 msgid "`py2exe `_ - Windows only" -msgstr "" +msgstr "`py2exe `_ - nur Windows" #: ../source/overview.rst:309 msgid "`py2app `_ - Mac only" -msgstr "" +msgstr "`py2app `_ - nur Mac" #: ../source/overview.rst:310 msgid "`osnap `_ - Windows and Mac" -msgstr "" +msgstr "`osnap `_ - Windows kaj Mac" #: ../source/overview.rst:311 msgid "`pynsist `_ - Windows only" -msgstr "" +msgstr "`pynsist `_ - nur Windows" #: ../source/overview.rst:313 msgid "" "Most of the above imply single-user deployments. For multi-component server " "applications, see :gh:`Chef Omnibus `." msgstr "" +"La ĉi-supraĵoj implicas disponigon por unu uzanto. Por plurkomponantaj " +"servilaj programoj, vidu :gh:`Chef Omnibus `." #: ../source/overview.rst:319 msgid "Bringing your own userspace" -msgstr "" +msgstr "Alporti vian propran uzantospacon" #: ../source/overview.rst:321 msgid "" @@ -11747,32 +12914,36 @@ msgid "" "These techniques are mostly Python agnostic, because they package whole OS " "filesystems, not just Python or Python packages." msgstr "" +"Tiaj teknikoj estas plejparte sendependaj de Python, ĉar ili pakas tutajn " +"mastrumsistemajn dosiersistemojn, ne sole Python aŭ Python-pakojn." #: ../source/overview.rst:331 msgid "" "Adoption is most extensive among Linux servers, where the technology " "originated and where the technologies below work best:" msgstr "" +"Tio estas plej ofta por Linux-servilo, por kiu tiaj teknikoj estis " +"inventitaj kaj por kiu tiaj teknikoj funkcias plej bone:" #: ../source/overview.rst:334 msgid "`AppImage `_" -msgstr "" +msgstr "`AppImage `_" #: ../source/overview.rst:335 msgid "`Docker `_" -msgstr "" +msgstr "`Docker `_" #: ../source/overview.rst:336 msgid "`Flatpak `_" -msgstr "" +msgstr "`Flatpak `_" #: ../source/overview.rst:337 msgid "`Snapcraft `_" -msgstr "" +msgstr "`Snapcraft `_" #: ../source/overview.rst:340 msgid "Bringing your own kernel" -msgstr "" +msgstr "Alporti vian propran kernon" #: ../source/overview.rst:342 msgid "" @@ -11791,7 +12962,7 @@ msgstr "" #: ../source/overview.rst:351 msgid "`Vagrant `_" -msgstr "" +msgstr "`Vagrant `_" #: ../source/overview.rst:352 msgid "" @@ -11799,16 +12970,21 @@ msgid "" "wikipedia.org/wiki/Amazon_Machine_Image>`_, and :doc:`other formats " "`" msgstr "" +"`VHD `_, `AMI `_, kaj :doc:`aliaj dosierformoj " +"`" #: ../source/overview.rst:353 msgid "" "`OpenStack `_ - A cloud " "management system in Python, with extensive VM support" msgstr "" +"`OpenStack `_ – Nubadministra " +"sistemo en Python, kun multa subteno de virtuala maŝino" #: ../source/overview.rst:356 msgid "Bringing your own hardware" -msgstr "" +msgstr "Alporti vian propran aparaton" #: ../source/overview.rst:358 msgid "" @@ -11834,26 +13010,28 @@ msgstr "" #: ../source/overview.rst:375 msgid "A summary of technologies used to package Python applications." -msgstr "" +msgstr "Resumo pri teknikoj por paki Python-programojn." #: ../source/overview.rst:375 msgid "" "The simplified gamut of technologies used to package Python applications." -msgstr "" +msgstr "La simpligita gamo de teknikoj uzataj por paki Python-programojn." #: ../source/overview.rst:378 msgid "What about..." -msgstr "" +msgstr "Kio pri…" #: ../source/overview.rst:380 msgid "" "The sections above can only summarize so much, and you might be wondering " "about some of the more conspicuous gaps." msgstr "" +"La ĉi-supraj paragrafoj nur priskribas tiom, kiom eblas. Vi eble demandos " +"pri mankantaj temoj." #: ../source/overview.rst:384 msgid "Operating system packages" -msgstr "" +msgstr "Mastrumasistemaj pakoj" #: ../source/overview.rst:386 msgid "" @@ -11873,6 +13051,8 @@ msgid "" "In most deployment pipelines, the OS package manager is just one piece of " "the puzzle." msgstr "" +"En multaj disponigaj ĉenstabloj, la mastrumsistema pakadministrilo estas nur " +"unu ero en la puzlo." #: ../source/overview.rst:403 msgid "" @@ -11914,7 +13094,7 @@ msgstr "" #: ../source/overview.rst:431 msgid "Wrap up" -msgstr "" +msgstr "Konkludo" #: ../source/overview.rst:433 msgid "" @@ -11927,13 +13107,15 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:7 msgid "Binary distribution format" -msgstr "" +msgstr "Duuma distribua formo" #: ../source/specifications/binary-distribution-format.rst:9 msgid "" "This page specifies the binary distribution format for Python packages, also " "called the wheel format." msgstr "" +"Jen paĝo specifanta la duuman distribuan dosierformon por Python-pako, " +"nomitan wheel." #: ../source/specifications/binary-distribution-format.rst:12 msgid "" @@ -11948,48 +13130,53 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:22 msgid "Details" -msgstr "" +msgstr "Detaloj" #: ../source/specifications/binary-distribution-format.rst:25 msgid "Installing a wheel 'distribution-1.0-py32-none-any.whl'" -msgstr "" +msgstr "Instali wheel «distribution-1.0-py32-none-any.whl»" #: ../source/specifications/binary-distribution-format.rst:27 msgid "Wheel installation notionally consists of two phases:" -msgstr "" +msgstr "Instalado de wheel consistas koncepte el du fazoj:" #: ../source/specifications/binary-distribution-format.rst:29 msgid "Unpack." -msgstr "" +msgstr "Malpaki." #: ../source/specifications/binary-distribution-format.rst:31 msgid "Parse ``distribution-1.0.dist-info/WHEEL``." -msgstr "" +msgstr "Sintaksanalizi ``distribution-1.0.dist-info/WHEEL``." #: ../source/specifications/binary-distribution-format.rst:32 msgid "" "Check that installer is compatible with Wheel-Version. Warn if minor " "version is greater, abort if major version is greater." msgstr "" +"Kontroli, ĉu la instalilo kongruas kun Wheel-Version. Averti, se la minora " +"versio estas pli granda; ĉesi, se la maĵora versio estas pli granda." #: ../source/specifications/binary-distribution-format.rst:34 msgid "" "If Root-Is-Purelib == 'true', unpack archive into purelib (site-packages)." msgstr "" +"Se Root-Is-Purelib == 'true', malpaki arĥivon al purelib (site-packages)." #: ../source/specifications/binary-distribution-format.rst:36 msgid "Else unpack archive into platlib (site-packages)." -msgstr "" +msgstr "Alikaze, malpaki arĥivon al platlib (site-packages)." #: ../source/specifications/binary-distribution-format.rst:38 msgid "Spread." -msgstr "" +msgstr "Disvastigi." #: ../source/specifications/binary-distribution-format.rst:40 msgid "" "Unpacked archive includes ``distribution-1.0.dist-info/`` and (if there is " "data) ``distribution-1.0.data/``." msgstr "" +"Malpakita arĥivo inkluzivas ``distribution-1.0.dist-info/`` kaj (se datenoj " +"ekzistas) ``distribution-1.0.data/``." #: ../source/specifications/binary-distribution-format.rst:42 msgid "" @@ -12005,28 +13192,34 @@ msgid "" "If applicable, update scripts starting with ``#!python`` to point to the " "correct interpreter." msgstr "" +"Ĝisdatigu tiujn programojn, kiuj komenciĝas per ``#!python``, igante ilin " +"montri la ĝustan interpretilon." #: ../source/specifications/binary-distribution-format.rst:50 msgid "Update ``distribution-1.0.dist-info/RECORD`` with the installed paths." msgstr "" +"Ĝisdatigi ``distribution-1.0.dist-info/RECORD`` pri la instalitaj " +"dosierlokoj." #: ../source/specifications/binary-distribution-format.rst:52 msgid "Remove empty ``distribution-1.0.data`` directory." -msgstr "" +msgstr "Forigi malplenan dosierujon ``distribution-1.0.data``." #: ../source/specifications/binary-distribution-format.rst:53 msgid "" "Compile any installed .py to .pyc. (Uninstallers should be smart enough to " "remove .pyc even if it is not mentioned in RECORD.)" msgstr "" +"Traduki ajnan instalitan .py al .pyc. (Malinstaliloj forigu .pyc, eĉ se ĝi " +"ne estas menciita en RECORD.)" #: ../source/specifications/binary-distribution-format.rst:57 msgid "Recommended installer features" -msgstr "" +msgstr "Rekomendataj funkcioj de instaliloj" #: ../source/specifications/binary-distribution-format.rst:67 msgid "Rewrite ``#!python``." -msgstr "" +msgstr "Reskribi ``#!python``." #: ../source/specifications/binary-distribution-format.rst:60 msgid "" @@ -12041,10 +13234,12 @@ msgid "" "The ``b'#!pythonw'`` convention is allowed. ``b'#!pythonw'`` indicates a GUI " "script instead of a console script." msgstr "" +"La konvencio ``b'#!pythonw'`` estas permesata. ``b'#!pythonw'`` indikas " +"grafikan programon anstataŭ konzolan programon." #: ../source/specifications/binary-distribution-format.rst:72 msgid "Generate script wrappers." -msgstr "" +msgstr "Generi programvolvaĵoj." #: ../source/specifications/binary-distribution-format.rst:70 msgid "" @@ -12055,11 +13250,11 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:75 msgid "Recommended archiver features" -msgstr "" +msgstr "Rekomendataj funkcioj de arĥiviloj" #: ../source/specifications/binary-distribution-format.rst:82 msgid "Place ``.dist-info`` at the end of the archive." -msgstr "" +msgstr "Meti ``.dist-info`` ĉe la fino de la arĥivo." #: ../source/specifications/binary-distribution-format.rst:78 msgid "" @@ -12068,28 +13263,33 @@ msgid "" "including the ability to amend the metadata without rewriting the entire " "archive." msgstr "" +"Arĥivilo metu la dosierojn ``.dist-info`` fizike ĉe la fino de la arĥivo. " +"Tio ebligas utilajn teknikojn pri arĥivoj, inkluzive de la kapablo modifi la " +"metadatenojn sen reskribado de la tuta arĥivo." #: ../source/specifications/binary-distribution-format.rst:85 msgid "File Format" -msgstr "" +msgstr "Dosierformo" #: ../source/specifications/binary-distribution-format.rst:90 msgid "File name convention" -msgstr "" +msgstr "Dosiernoma konvencio" #: ../source/specifications/binary-distribution-format.rst:92 msgid "" "The wheel filename is ``{distribution}-{version}(-{build tag})?-{python tag}-" "{abi tag}-{platform tag}.whl``." msgstr "" +"La dosiernomo de wheel estas ``{distribuo}-{version}(-{konstrua etikedo})?-" +"{lingva etikedo}-{abietikedo}-{platforma etikedo}.whl``." #: ../source/specifications/binary-distribution-format.rst:96 msgid "distribution" -msgstr "" +msgstr "distribuo" #: ../source/specifications/binary-distribution-format.rst:96 msgid "Distribution name, e.g. 'django', 'pyramid'." -msgstr "" +msgstr "Nomo de distribuo, ekz. «django», «pyramid»." #: ../source/specifications/binary-distribution-format.rst:99 msgid "version" @@ -12097,11 +13297,11 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:99 msgid "Distribution version, e.g. 1.0." -msgstr "" +msgstr "Versio de la distribuo, ekz. 1.0." #: ../source/specifications/binary-distribution-format.rst:124 msgid "build tag" -msgstr "" +msgstr "konstrua etikedo" #: ../source/specifications/binary-distribution-format.rst:102 msgid "" @@ -12137,29 +13337,29 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:127 msgid "language implementation and version tag" -msgstr "" +msgstr "lingva etikedo" #: ../source/specifications/binary-distribution-format.rst:127 msgid "E.g. 'py27', 'py2', 'py3'." -msgstr "" +msgstr "Ekz. «py27», «py2», «py3»." #: ../source/specifications/binary-distribution-format.rst:130 #: ../source/specifications/platform-compatibility-tags.rst:20 msgid "abi tag" -msgstr "" +msgstr "abietikedo" #: ../source/specifications/binary-distribution-format.rst:130 msgid "E.g. 'cp33m', 'abi3', 'none'." -msgstr "" +msgstr "Ekz. «cp33m», «abi3», «none»." #: ../source/specifications/binary-distribution-format.rst:133 #: ../source/specifications/platform-compatibility-tags.rst:23 msgid "platform tag" -msgstr "" +msgstr "platforma etikedo" #: ../source/specifications/binary-distribution-format.rst:133 msgid "E.g. 'linux_x86_64', 'any'." -msgstr "" +msgstr "Ekz. «linux_x86_64», «any»." #: ../source/specifications/binary-distribution-format.rst:135 msgid "" @@ -12168,6 +13368,10 @@ msgid "" "Python 2.7 implementation), with no ABI (pure Python), on any CPU " "architecture." msgstr "" +"Ekzemple, ``distribuo-1.0-1-py27-none-any.whl`` estas la unua konstruo de " +"pako nomita «distribuo» kaj kongruas kun Python 2.7 (ajna realigo de Python " +"2.7), sen aplika binara interfaco (pura Python), sur ajna ĉefprocesora " +"arĥitekturo." #: ../source/specifications/binary-distribution-format.rst:140 msgid "" @@ -12178,7 +13382,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:145 msgid "Escaping and Unicode" -msgstr "" +msgstr "Eskapado kaj Unikodo" #: ../source/specifications/binary-distribution-format.rst:147 msgid "" @@ -12186,6 +13390,9 @@ msgid "" "MINUS), this character cannot appear within any component. This is handled " "as follows:" msgstr "" +"Ĉar la komponantoj de la dosiernomo estas apartigitaj per streketo (``-``, " +"HYPHEN-MINUS), tiu signo ne povas aperi ene de komponanto. Oni pritraktas " +"tion jene:" #: ../source/specifications/binary-distribution-format.rst:150 msgid "" @@ -12204,12 +13411,16 @@ msgid "" "specifier specification `. Normalised version numbers " "cannot contain ``-``." msgstr "" +"Versia numero estu normigita laŭ :ref:`la specifo pri versio-specifilo " +"`. Normigita versia numero ne enhavas ``-``." #: ../source/specifications/binary-distribution-format.rst:159 msgid "" "The remaining components may not contain ``-`` characters, so no escaping is " "necessary." msgstr "" +"La ceteraj komponantoj ne povas enhavi la signon ``-``; tial nenia kodŝanĝo " +"necesas." #: ../source/specifications/binary-distribution-format.rst:162 msgid "" @@ -12234,7 +13445,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:175 msgid "File contents" -msgstr "" +msgstr "Dosieraj enhavoj" #: ../source/specifications/binary-distribution-format.rst:177 msgid "" @@ -12252,7 +13463,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:184 msgid "``{distribution}-{version}.dist-info/`` contains metadata." -msgstr "" +msgstr "``{distribuo}-{versio}.dist-info/`` enhavas metadatenojn." #: ../source/specifications/binary-distribution-format.rst:185 msgid "" @@ -12261,12 +13472,17 @@ msgid "" "an index into a dictionary of install paths (e.g. ``data``, ``scripts``, " "``headers``, ``purelib``, ``platlib``)." msgstr "" +"``{distribuo}-{versio}.data/`` enhavas po unu subdosierujo por ĉiu " +"nemalplena instalskema ŝlosilo ne jam pritraktita, je kio la nomo de " +"subdosierujo estas indico de vortaro de instalaj dosierlokoj (ekz. ``data``, " +"``scripts``, ``headers``, ``purelib``, ``platlib``)." #: ../source/specifications/binary-distribution-format.rst:189 msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12274,22 +13490,28 @@ msgid "" "``{distribution}-{version}.dist-info/METADATA`` is Metadata version 1.1 or " "greater format metadata." msgstr "" +"``{distribution}-{version}.dist-info/METADATA`` estas metadatenoj de la " +"formo Metadatenoj versio 1.1 aŭ pli nova." #: ../source/specifications/binary-distribution-format.rst:195 msgid "" "``{distribution}-{version}.dist-info/WHEEL`` is metadata about the archive " "itself in the same basic key: value format::" msgstr "" +"``{distribuo}-{versio}.dist-info/WHEEL`` estas metadatenoj pri la arĥivo mem " +"en la sama baza formo «ŝlosilo: valoro»::" #: ../source/specifications/binary-distribution-format.rst:205 msgid "``Wheel-Version`` is the version number of the Wheel specification." -msgstr "" +msgstr "``Wheel-Version`` estas la versia numero de la specifo pri Wheel." #: ../source/specifications/binary-distribution-format.rst:206 msgid "" "``Generator`` is the name and optionally the version of the software that " "produced the archive." msgstr "" +"``Generator`` estas la nomo kaj, nedevige, la versio de la programo " +"generinta la arĥivon." #: ../source/specifications/binary-distribution-format.rst:208 msgid "" @@ -12303,11 +13525,15 @@ msgid "" "``Tag`` is the wheel's expanded compatibility tags; in the example the " "filename would contain ``py2.py3-none-any``." msgstr "" +"``Tag`` estas la pliigitaj kongruecaj etikedoj de la wheel; en la ekzemplo, " +"la dosiernomo enhavus ``py2.py3-none-any``." #: ../source/specifications/binary-distribution-format.rst:213 msgid "" "``Build`` is the build number and is omitted if there is no build number." msgstr "" +"``Build`` estas la numero de la konstro; ĝi estas preterlasita, se mankas " +"numero de la konstruo." #: ../source/specifications/binary-distribution-format.rst:214 msgid "" @@ -12315,16 +13541,21 @@ msgid "" "it supports, and must fail if Wheel-Version has a greater major version than " "the version it supports." msgstr "" +"Instalilo de wheel avertu, se ``Wheel-Version`` estas pli granda ol la " +"subtenata versio, kaj devas malsukcesi, se ``Wheel-Version`` havas pli " +"grandan maĵoran version ol la subtenatan version." #: ../source/specifications/binary-distribution-format.rst:217 msgid "" "Wheel, being an installation format that is intended to work across multiple " "versions of Python, does not generally include .pyc files." msgstr "" +"Wheel, estante instaleblaĵon por pluraj versioj de Python, ne ĝenerale " +"inkluzivas ``.pyc``-dosierojn." #: ../source/specifications/binary-distribution-format.rst:219 msgid "Wheel does not contain setup.py or setup.cfg." -msgstr "" +msgstr "Wheel ne enhavas setup.py aŭ setup.cfg." #: ../source/specifications/binary-distribution-format.rst:221 msgid "" @@ -12337,23 +13568,27 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:228 #: ../source/specifications/recording-installed-packages.rst:23 msgid "The .dist-info directory" -msgstr "" +msgstr "La dosierujo .dist-info" #: ../source/specifications/binary-distribution-format.rst:230 msgid "" "Wheel .dist-info directories include at a minimum METADATA, WHEEL, and " "RECORD." msgstr "" +"La dosierujoj .dist-info de Wheel inkluzivas, minimume, METADATA, WHEEL, kaj " +"RECORD." #: ../source/specifications/binary-distribution-format.rst:232 msgid "" "METADATA is the package metadata, the same format as PKG-INFO as found at " "the root of sdists." msgstr "" +"METADATA estas la pakaj metadatenoj, en la sama formo kiel PKG-INFO en la " +"radiko de fontaj distribuoj." #: ../source/specifications/binary-distribution-format.rst:234 msgid "WHEEL is the wheel metadata specific to a build of the package." -msgstr "" +msgstr "WHEEL estas la wheel-metadatenoj specifaj al iu konstruo de la pako." #: ../source/specifications/binary-distribution-format.rst:235 msgid "" @@ -12367,11 +13602,14 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:241 msgid "PEP 376's INSTALLER and REQUESTED are not included in the archive." msgstr "" +"La INSTALLER kaj REQUESTED de PEP 376 ne estas inkluzivitaj en la arĥivo." #: ../source/specifications/binary-distribution-format.rst:242 msgid "" "RECORD.jws is used for digital signatures. It is not mentioned in RECORD." msgstr "" +"RECORD.jws estas uzataj por ciferecaj subskriboj. Ĝi ne estas menciita en " +"RECORD." #: ../source/specifications/binary-distribution-format.rst:244 msgid "" @@ -12389,7 +13627,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:254 msgid "The .data directory" -msgstr "" +msgstr "La dosierujo .data" #: ../source/specifications/binary-distribution-format.rst:256 msgid "" @@ -12407,7 +13645,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:270 msgid "Signed wheel files" -msgstr "" +msgstr "Subskribitaj wheel-dosieroj" #: ../source/specifications/binary-distribution-format.rst:272 msgid "" @@ -12437,13 +13675,15 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:297 msgid "(The hash value is the same format used in RECORD.)" -msgstr "" +msgstr "(La haketaĵa valoro estas la sama formo uzata en RECORD.)" #: ../source/specifications/binary-distribution-format.rst:299 msgid "" "If RECORD.p7s is used, it must contain a detached S/MIME format signature of " "RECORD." msgstr "" +"Se RECORD.p7s estas uzata, ĝi devas enhavi malligitan S/MIME-forman " +"subskribon de RECORD." #: ../source/specifications/binary-distribution-format.rst:302 msgid "" @@ -12459,25 +13699,25 @@ msgstr "Vidu" #: ../source/specifications/binary-distribution-format.rst:309 msgid "https://datatracker.ietf.org/doc/html/rfc7515" -msgstr "" +msgstr "https://datatracker.ietf.org/doc/html/rfc7515" #: ../source/specifications/binary-distribution-format.rst:310 -#, fuzzy msgid "" "https://datatracker.ietf.org/doc/html/draft-jones-json-web-signature-json-" "serialization-01" msgstr "" -"http://self-issued.info/docs/draft-jones-jose-jws-json-serialization.html" +"https://datatracker.ietf.org/doc/html/draft-jones-json-web-signature-json-" +"serialization-01" #: ../source/specifications/binary-distribution-format.rst:311 msgid "https://datatracker.ietf.org/doc/html/rfc7517" -msgstr "" +msgstr "https://datatracker.ietf.org/doc/html/rfc7517" #: ../source/specifications/binary-distribution-format.rst:312 -#, fuzzy msgid "" "https://datatracker.ietf.org/doc/html/draft-jones-jose-json-private-key-01" -msgstr "http://self-issued.info/docs/draft-jones-jose-json-private-key.html" +msgstr "" +"https://datatracker.ietf.org/doc/html/draft-jones-jose-json-private-key-01" #: ../source/specifications/binary-distribution-format.rst:316 #: ../source/specifications/platform-compatibility-tags.rst:268 @@ -12486,7 +13726,7 @@ msgstr "Oftaj demandoj" #: ../source/specifications/binary-distribution-format.rst:320 msgid "Wheel defines a .data directory. Should I put all my data there?" -msgstr "" +msgstr "Wheel difinas dosierujon .data. Ĉu mi metu ĉiom da miaj datenoj tien?" #: ../source/specifications/binary-distribution-format.rst:322 msgid "" @@ -12500,7 +13740,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:331 msgid "Why does wheel include attached signatures?" -msgstr "" +msgstr "Kial wheel inkluzivas alkroĉitajn subskribojn?" #: ../source/specifications/binary-distribution-format.rst:333 msgid "" @@ -12510,10 +13750,14 @@ msgid "" "individual files can be verified without having to download the whole " "archive." msgstr "" +"Alkroĉita subskribo estas pli oportuna ol nealkroĉita subskribo, ĉar ĝi " +"moviĝas kune kun la arĥivo. Ĉar nur la individuaj dosieroj estas " +"subskribitaj, la arĥivo estas redensigebla sen eksvalidigi la subskribon, " +"kaj individuaj dosieroj estas kontroleblaj sen reelŝutado de la tuta arĥivo." #: ../source/specifications/binary-distribution-format.rst:341 msgid "Why does wheel allow JWS signatures?" -msgstr "" +msgstr "Kial wheel permesas JWS-subskribojn?" #: ../source/specifications/binary-distribution-format.rst:343 msgid "" @@ -12524,19 +13768,23 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:349 msgid "Why does wheel also allow S/MIME signatures?" -msgstr "" +msgstr "Kial wheel ankaŭ permesas S/MIME-subskribojn?" #: ../source/specifications/binary-distribution-format.rst:351 msgid "" "S/MIME signatures are allowed for users who need or want to use existing " "public key infrastructure with wheel." msgstr "" +"S/MIME-subskribo estas permesata por tiuj uzantoj, kiuj devas aŭ volas uzi " +"ekzistantan publikŝlosilan infrastrukturon kun wheel." #: ../source/specifications/binary-distribution-format.rst:354 msgid "" "Signed packages are only a basic building block in a secure package update " "system. Wheel only provides the building block." msgstr "" +"Subskribita pako estas nur baza briko de sekura pako-ĝisdatiga sistemo. " +"Wheel nur provizas la bazan brikon." #: ../source/specifications/binary-distribution-format.rst:359 msgid "What's the deal with \"purelib\" vs. \"platlib\"?" @@ -12567,7 +13815,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:379 msgid "Is it possible to import Python code directly from a wheel file?" -msgstr "" +msgstr "Ĉu eblas importi Python-kodon rekte el wheel-dosiero?" #: ../source/specifications/binary-distribution-format.rst:381 msgid "" @@ -12606,6 +13854,18 @@ msgid "" "uses the abstract resource APIs internally, interfacing with external " "components may still require the availability of an actual on-disk file." msgstr "" +"Due, dum iuj Python-programoj subtenas ruliĝante rekte el zip-arĥivoj, tamen " +"ofte kodo supozas, ke ĝi estis plene instalita. Kiam tiu supozo estas " +"rompita rulante programon el zip-arĥivo, la eraroj ofte estas obskuraj kaj " +"malfacilaj por diagnozi (speciale en triapartiaj bibliotekoj). La du plej " +"oftaj fontoj de problemoj pri tio estas la faktoj, ke importado de C-" +"etendaĵoj el zip-arĥivo estas *ne* subtenata de CPython (ĉar tion ne " +"subtenas la dinamika ŝargada meĥanismo sur ajna platformo), kaj ke dum " +"rulado el zip-arĥivo la atributo ``__file__`` ne estas ordinara " +"dosiersistema loko sed kombina vojo inkluzivanta kaj la lokon de la zip-" +"arĥivo kaj la relativan vojon al la modulo en la arĥivo. Eĉ kiam programo " +"ĝuste uzas la abstraktajn rimedajn API-ojn interne, interagado kun eksteraj " +"komponantoj povas postuli realan surdiskan dosieron." #: ../source/specifications/binary-distribution-format.rst:413 msgid "" @@ -12618,6 +13878,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12633,35 +13894,51 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:1266 #: ../source/specifications/virtual-environments.rst:54 msgid "History" -msgstr "" +msgstr "Historio" #: ../source/specifications/binary-distribution-format.rst:423 msgid "February 2013: This specification was approved through :pep:`427`." -msgstr "" +msgstr "Februaro 2013: Ĉi tiu specifo estis aprobita per :pep:`427`." #: ../source/specifications/binary-distribution-format.rst:424 msgid "" "February 2021: The rules on escaping in wheel filenames were revised, to " "bring them into line with what popular tools actually do." msgstr "" +"Februaro 2021: La reguloj pri kodŝanĝado en wheel-dosiernomoj estis " +"reviziitaj konforme al la fakta konduto de popularaj iloj." -#: ../source/specifications/binary-distribution-format.rst:429 -msgid "Appendix" +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." msgstr "" +"Decembro 2024: Klarigis, ke la dosierujo ``scripts`` nur enhavu ordinaraj " +"dosierojn (ne formale difiniĝas la atendata konduto de konsumanta ilo pri " +"simbola ligilo aŭ subdosierujo en tiu dosierujo; tial kondutoj povas " +"diferenci inter iloj)." -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:433 +msgid "Appendix" +msgstr "Apendico" + +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" -msgstr "" +msgstr "Ekzempla realigo de urlsafe-base64-nopad::" #: ../source/specifications/core-metadata.rst:7 msgid "Core metadata specifications" -msgstr "" +msgstr "Kernaj metadatenaj specifoj" #: ../source/specifications/core-metadata.rst:9 msgid "" "Fields defined in the following specification should be considered valid, " "complete and not subject to change. The required fields are:" msgstr "" +"La kampoj difinitaj en la jena specifo estu konsiderataj kiel validaj, " +"plenaj kaj ne ŝanĝotaj. Jen la postulataj kampoj:" #: ../source/specifications/core-metadata.rst:12 msgid "``Metadata-Version``" @@ -12669,7 +13946,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:13 msgid "``Name``" -msgstr "" +msgstr "``Name``" #: ../source/specifications/core-metadata.rst:14 msgid "``Version``" @@ -12677,7 +13954,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:16 msgid "All the other fields are optional." -msgstr "" +msgstr "Ĉiuj aliaj kampoj estas nedevigaj." #: ../source/specifications/core-metadata.rst:18 msgid "" @@ -12717,13 +13994,15 @@ msgstr "" #: ../source/specifications/core-metadata.rst:46 msgid "Metadata-Version" -msgstr "" +msgstr "Metadata-Version" #: ../source/specifications/core-metadata.rst:50 msgid "" "Version of the file format; legal values are \"1.0\", \"1.1\", \"1.2\", " "\"2.1\", \"2.2\", \"2.3\", and \"2.4\"." msgstr "" +"Versio de la dosierformo; la validaj valoroj estas «1.0», «1.1», «1.2», " +"«2.1», «2.2», «2.3», kaj «2.4»." #: ../source/specifications/core-metadata.rst:53 msgid "" @@ -12762,7 +14041,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:814 #: ../source/specifications/core-metadata.rst:911 msgid "Example::" -msgstr "" +msgstr "Ekzemple::" #: ../source/specifications/core-metadata.rst:72 msgid "Name" @@ -12770,7 +14049,7 @@ msgstr "Nomo" #: ../source/specifications/core-metadata.rst:75 msgid "Added restrictions on format from the :ref:`name format `." -msgstr "" +msgstr "Aldonis restriktojn pri formo el la :ref:`noma formo `." #: ../source/specifications/core-metadata.rst:78 msgid "" @@ -12784,6 +14063,8 @@ msgid "" "For comparison purposes, the names should be :ref:`normalized ` before comparing." msgstr "" +"Por komparado, la nomoj estu :ref:`normigitaj ` antaŭ " +"komparado." #: ../source/specifications/core-metadata.rst:91 msgid "Version" @@ -12795,10 +14076,13 @@ msgid "" "in the format specified in the :ref:`Version specifier specification " "`." msgstr "" +"Signoĉeno enhavanta la versian numero de la distribuo. Tiu kampo devas " +"esti en la formo specifita en la :ref:`specifo pri versio-specifiloj " +"`." #: ../source/specifications/core-metadata.rst:107 msgid "Dynamic (multiple use)" -msgstr "" +msgstr "Dynamic (plurfoje uzebla)" #: ../source/specifications/core-metadata.rst:111 msgid "" @@ -12812,6 +14096,8 @@ msgid "" "When found in the metadata of a source distribution, the following rules " "apply:" msgstr "" +"Se ĝi troviĝas en la metadatenoj de fonta distribuo, efektivas la jenaj " +"reguloj:" #: ../source/specifications/core-metadata.rst:118 msgid "" @@ -12845,11 +14131,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:134 msgid "" "Full details of the semantics of ``Dynamic`` are described in :pep:`643`." -msgstr "" +msgstr "Plenaj detaloj pri la semantiko de ``Dynamic`` troviĝas en :pep:`643`." #: ../source/specifications/core-metadata.rst:139 msgid "Platform (multiple use)" -msgstr "" +msgstr "Platform (plurfoje uzebla)" #: ../source/specifications/core-metadata.rst:143 msgid "" @@ -12857,6 +14143,9 @@ msgid "" "distribution which is not listed in the \"Operating System\" Trove " "classifiers. See \"Classifier\" below." msgstr "" +"Platforma specifo priskribanta mastruman sistemon subtenatan de la distribuo " +"kaj ne en la listo de la Trove-klasigilo «Operating System». Vidu " +"«Klasigilon» ĉi-sube." #: ../source/specifications/core-metadata.rst:147 #: ../source/specifications/core-metadata.rst:453 @@ -12870,11 +14159,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:865 #: ../source/specifications/core-metadata.rst:887 msgid "Examples::" -msgstr "" +msgstr "Ekzemploj::" #: ../source/specifications/core-metadata.rst:155 msgid "Supported-Platform (multiple use)" -msgstr "" +msgstr "Supported-Platform (plurfoje uzebla)" #: ../source/specifications/core-metadata.rst:159 msgid "" @@ -12890,11 +14179,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:177 msgid "A one-line summary of what the distribution does." -msgstr "" +msgstr "Unulinia resumo pri la funkcioj de la distribuo." #: ../source/specifications/core-metadata.rst:197 msgid "This field may be specified in the message body instead." -msgstr "" +msgstr "Ĉi tiu kampo estas anstataŭe specifebla en la mesaĝa korpo." #: ../source/specifications/core-metadata.rst:200 msgid "" @@ -12936,7 +14225,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:241 msgid "Description-Content-Type" -msgstr "" +msgstr "Description-Content-Type" #: ../source/specifications/core-metadata.rst:245 msgid "" @@ -12960,6 +14249,17 @@ msgid "" "possibility for PyPI and other tools to be able to render Markdown and other " "formats." msgstr "" +"Historie, PyPI subtenis priskribojn en ordinara teksto kaj `reStructuredText " +"(reST) `_, kaj povis montri reST en HTML. Tamen, ofte aŭtoroj de distribuoj " +"verkas la priskribojn en `Markdown `_ (:rfc:`7763`), ĉar multaj kodgastigejoj montras README en " +"Markdown, kaj aŭtoroj reuzas la dosieron por la priskribo. PyPI ne agnoskis " +"tiun formon kaj tial ne povis montri la priskribon ĝuste. Tio kaŭzis multajn " +"pakojn ĉe PyPI kun malĝustaj priskriboj de Markdown montrita kiel ordinara " +"teksto aŭ, pli aĉe, kiel reST. Ĉi tiu kampo ebligas la aŭtoron de la " +"distribuo specifi la dosierformon de la priskribo, ebligante PyPI kaj aliajn " +"ilojn montri Markdown kaj aliajn dosierformojn." #: ../source/specifications/core-metadata.rst:261 msgid "" @@ -12971,23 +14271,23 @@ msgstr "" #: ../source/specifications/core-metadata.rst:267 msgid "Format::" -msgstr "" +msgstr "Formo::" #: ../source/specifications/core-metadata.rst:271 msgid "The ``type/subtype`` part has only a few legal values:" -msgstr "" +msgstr "La parto ``type/subtype`` nur havas kelkajn validajn valorojn:" #: ../source/specifications/core-metadata.rst:273 msgid "``text/plain``" -msgstr "" +msgstr "``text/plain``" #: ../source/specifications/core-metadata.rst:274 msgid "``text/x-rst``" -msgstr "" +msgstr "``text/x-rst``" #: ../source/specifications/core-metadata.rst:275 msgid "``text/markdown``" -msgstr "" +msgstr "``text/markdown``" #: ../source/specifications/core-metadata.rst:277 msgid "" @@ -13006,11 +14306,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:286 msgid "``GFM`` for :rfc:`GitHub-flavored Markdown <7764#section-3.2>`" -msgstr "" +msgstr "``GFM`` por :rfc:`GitHub-stila Markdown <7764#section-3.2>`" #: ../source/specifications/core-metadata.rst:287 msgid "``CommonMark`` for :rfc:`CommonMark <7764#section-3.5>`" -msgstr "" +msgstr "``CommonMark`` por :rfc:`CommonMark <7764#section-3.5>`" #: ../source/specifications/core-metadata.rst:305 msgid "" @@ -13032,6 +14332,8 @@ msgid "" "not specified or is set to an unrecognized value, then the assumed " "``variant`` is ``GFM``." msgstr "" +"Se ``Description-Content-Type`` estas ``text/markdown`` kaj ``variant`` " +"estas nespecifita aŭ nekonata, do la implicita ``variant`` estas ``GFM``." #: ../source/specifications/core-metadata.rst:317 msgid "" @@ -13042,13 +14344,15 @@ msgstr "" #: ../source/specifications/core-metadata.rst:326 msgid "Keywords" -msgstr "" +msgstr "Keywords" #: ../source/specifications/core-metadata.rst:330 msgid "" "A list of additional keywords, separated by commas, to be used to assist " "searching for the distribution in a larger catalog." msgstr "" +"Listo de ekstraj ŝlosilvortoj, apartigitaj de komoj, por helpi serĉadon de " +"la distribuo en granda katalogo." #: ../source/specifications/core-metadata.rst:339 msgid "" @@ -13060,23 +14364,27 @@ msgstr "" #: ../source/specifications/core-metadata.rst:348 msgid "Author" -msgstr "" +msgstr "Author" #: ../source/specifications/core-metadata.rst:352 msgid "" "A string containing the author's name at a minimum; additional contact " "information may be provided." msgstr "" +"Signoĉeno enhavanta la nomon de la aŭtoro minimume; kromaj kontaktaj " +"informoj povas esti disponigitaj." #: ../source/specifications/core-metadata.rst:365 msgid "Author-email" -msgstr "" +msgstr "Author-email" #: ../source/specifications/core-metadata.rst:369 msgid "" "A string containing the author's e-mail address. It can contain a name and " "e-mail address in the legal forms for a RFC-822 ``From:`` header." msgstr "" +"Signoĉeno enhavanta la retpoŝtan adreson de la aŭtoro. Ĝi povas enhavi " +"nomon kaj retpoŝtan adreson laŭ la formo de la ĉapo ``From:`` en RFC 822." #: ../source/specifications/core-metadata.rst:377 #: ../source/specifications/core-metadata.rst:424 @@ -13084,6 +14392,8 @@ msgid "" "Per RFC-822, this field may contain multiple comma-separated e-mail " "addresses::" msgstr "" +"Laŭ RFC 822, ĉi tiu kampo povas enhavi pluajn kome disigitajn retpoŝtajn " +"adresojn::" #: ../source/specifications/core-metadata.rst:387 msgid "Maintainer" @@ -13094,6 +14404,8 @@ msgid "" "A string containing the maintainer's name at a minimum; additional contact " "information may be provided." msgstr "" +"Signoĉeno enhavanta la nomon de la mastrumanto minimume; kromaj kontaktaj " +"informoj povas esti disponigitaj." #: ../source/specifications/core-metadata.rst:394 msgid "" @@ -13104,13 +14416,15 @@ msgstr "" #: ../source/specifications/core-metadata.rst:408 msgid "Maintainer-email" -msgstr "" +msgstr "Maintainer-email" #: ../source/specifications/core-metadata.rst:412 msgid "" "A string containing the maintainer's e-mail address. It can contain a name " "and e-mail address in the legal forms for a RFC-822 ``From:`` header." msgstr "" +"Signoĉeno enhavanta la retpoŝtan adreson de la mastrumanto. Ĝi povas enhavi " +"nomon kaj retpoŝtan adreson laŭ la formo de la ĉapo ``From:`` en RFC 822." #: ../source/specifications/core-metadata.rst:416 msgid "" @@ -13121,11 +14435,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:434 msgid "License" -msgstr "" +msgstr "License" #: ../source/specifications/core-metadata.rst:437 msgid "in favour of ``License-Expression``." -msgstr "" +msgstr "Anstataŭe uzu ``License-Expression``." #: ../source/specifications/core-metadata.rst:441 msgid "" @@ -13147,7 +14461,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:466 msgid "License-Expression" -msgstr "" +msgstr "License-Expression" #: ../source/specifications/core-metadata.rst:470 msgid "" @@ -13155,10 +14469,13 @@ msgid "" "org/pep-0639/#term-license-expression>`__ as `defined in PEP 639 `__." msgstr "" +"Signoĉeno, kiu estas valida SPDX-`licenco-esprimo `__ laŭ `PEP 639 `__." #: ../source/specifications/core-metadata.rst:489 msgid "License-File (multiple use)" -msgstr "" +msgstr "License-File (plurfoje uzebla)" #: ../source/specifications/core-metadata.rst:493 msgid "" @@ -13169,7 +14486,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:510 msgid "Classifier (multiple use)" -msgstr "" +msgstr "Classifier (plurfoje uzebla)" #: ../source/specifications/core-metadata.rst:514 msgid "" @@ -13185,17 +14502,20 @@ msgid "" "``License-Expression`` instead. See `PEP 639 `_." msgstr "" +"La uzo de la klasigiloj ``License ::`` estas evitinda ekde Metadatenoj 2.4. " +"Uzu ``License-Expression`` anstataŭe. Vidu `PEP 639 `_." #: ../source/specifications/core-metadata.rst:524 #: ../source/specifications/core-metadata.rst:614 #: ../source/specifications/core-metadata.rst:758 #: ../source/specifications/core-metadata.rst:783 msgid "This field may be followed by an environment marker after a semicolon." -msgstr "" +msgstr "Tiu kampo povas esti sekvita per media marko post punktokomo." #: ../source/specifications/core-metadata.rst:535 msgid "Requires-Dist (multiple use)" -msgstr "" +msgstr "Requires-Dist (plurfoje uzebla)" #: ../source/specifications/core-metadata.rst:538 #: ../source/specifications/core-metadata.rst:601 @@ -13205,22 +14525,28 @@ msgid "" "The field format specification was relaxed to accept the syntax used by " "popular publishing tools." msgstr "" +"La specifo pri la kampa formo estis malstriktigita por akcepti la sintakson " +"uzatan de popularaj eldoniloj." #: ../source/specifications/core-metadata.rst:542 msgid "" "Each entry contains a string naming some other distutils project required by " "this distribution." msgstr "" +"Ĉiu ero enhavas signoĉenon nomantan alian distutils-projekton postulatan de " +"tiu distribuo." #: ../source/specifications/core-metadata.rst:545 msgid "The format of a requirement string contains from one to four parts:" msgstr "" +"La formo de postulo-signoĉeno enhavas minimume unu, maksimume kvar partojn:" #: ../source/specifications/core-metadata.rst:547 msgid "" "A project name, in the same format as the ``Name:`` field. The only " "mandatory part." msgstr "" +"Projekta nomo en la sama formo kiel la kampo ``Name:``. La sola deviga parto." #: ../source/specifications/core-metadata.rst:549 msgid "" @@ -13235,28 +14561,34 @@ msgid "" "A version specifier. Tools parsing the format should accept optional " "parentheses around this, but tools generating it should not use parentheses." msgstr "" +"Versio-specifilo. Ilo sintakse analizanta la formon akceptu nedevigajn " +"rondajn krampojn ĉirkaŭ tiu, sed ilo generanta ĝin ne uzu rondajn krampojn." #: ../source/specifications/core-metadata.rst:556 msgid "" "An environment marker after a semicolon. This means that the requirement is " "only needed in the specified conditions." msgstr "" +"Media marko post punktokomo. Tio signifas, ke la postulo estas nur efektiva " +"sub la specifitaj kondiĉoj." #: ../source/specifications/core-metadata.rst:559 msgid "See :pep:`508` for full details of the allowed format." -msgstr "" +msgstr "Vidu :pep:`508` por plenaj detaloj pri la permesataj formoj." #: ../source/specifications/core-metadata.rst:561 msgid "" "The project names should correspond to names as found on the `Python Package " "Index`_." msgstr "" +"La projektaj nomoj respondu al nomoj ĉe la `Python-Pakindekso `_." #: ../source/specifications/core-metadata.rst:564 msgid "" "Version specifiers must follow the rules described in :doc:`version-" "specifiers`." -msgstr "" +msgstr "Versispecifilo devas observi la regulojn en :doc:`version-specifiers`." #: ../source/specifications/core-metadata.rst:578 msgid "Requires-Python" @@ -13272,20 +14604,23 @@ msgstr "" #: ../source/specifications/core-metadata.rst:586 msgid "The value must be in the format specified in :doc:`version-specifiers`." msgstr "" +"La valoro devas observi la formon specifitan en :doc:`version-specifiers`." #: ../source/specifications/core-metadata.rst:588 msgid "" "For example, if a distribution uses :ref:`f-strings ` " "then it may prevent installation on Python < 3.6 by specifying::" msgstr "" +"Ekzemple, se distribuo uzas :ref:`f-signoĉenon `, ĝi " +"povas malpermesi instaladon sur Python < 3.6 jene::" #: ../source/specifications/core-metadata.rst:593 msgid "This field cannot be followed by an environment marker." -msgstr "" +msgstr "Ĉi tiu kampo ne povas esti sekvita de media marko." #: ../source/specifications/core-metadata.rst:598 msgid "Requires-External (multiple use)" -msgstr "" +msgstr "Requires-External (plurfoje uzebla)" #: ../source/specifications/core-metadata.rst:605 msgid "" @@ -13311,21 +14646,23 @@ msgstr "" #: ../source/specifications/core-metadata.rst:621 msgid "Notice that there is no particular rule on the strings to be used." -msgstr "" +msgstr "Notu, ke ekzistas neniu speciala regulo pri la uzota signoĉeno." #: ../source/specifications/core-metadata.rst:633 msgid "Project-URL (multiple-use)" -msgstr "" +msgstr "Project-URL (plurfoje uzebla)" #: ../source/specifications/core-metadata.rst:637 msgid "" "A string containing a browsable URL for the project and a label for it, " "separated by a comma." msgstr "" +"Signoĉeno enhavanta alireblan retadreson de la projekto kaj etikedon, " +"apartigitajn de komo." #: ../source/specifications/core-metadata.rst:644 msgid "The label is free text limited to 32 characters." -msgstr "" +msgstr "La etikedo estas arbitra teksto limigita al 32 skribsignoj." #: ../source/specifications/core-metadata.rst:646 msgid "" @@ -13337,7 +14674,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:656 msgid "Provides-Extra (multiple use)" -msgstr "" +msgstr "Provides-Extra (plurfoje uzebla)" #: ../source/specifications/core-metadata.rst:659 msgid "" @@ -13375,12 +14712,16 @@ msgid "" "that are needed for running automated tests and generating documentation, " "respectively." msgstr "" +"Du funkcio-nomoj ``test`` kaj ``doc`` estas rezervataj por marki dependecojn " +"por aŭtomataj testoj kaj generado de dokumentaro respektive." #: ../source/specifications/core-metadata.rst:694 msgid "" "It is legal to specify ``Provides-Extra:`` without referencing it in any " "``Requires-Dist:``." msgstr "" +"Validas specifi ``Provides-Extra:`` sen referencado de ĝi en ajna ``Requires-" +"Dist:``." #: ../source/specifications/core-metadata.rst:697 msgid "" @@ -13424,7 +14765,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:727 msgid "Provides-Dist (multiple use)" -msgstr "" +msgstr "Provides-Dist (plurfoje uzebla)" #: ../source/specifications/core-metadata.rst:734 msgid "" @@ -13462,7 +14803,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:769 msgid "Obsoletes-Dist (multiple use)" -msgstr "" +msgstr "Obsoletes-Dist (plurfoje uzebla)" #: ../source/specifications/core-metadata.rst:776 msgid "" @@ -13476,6 +14817,8 @@ msgid "" "Version declarations can be supplied. Version numbers must be in the format " "specified in :doc:`version-specifiers`." msgstr "" +"Versio-deklaroj povas esti provizitaj. Versia numero devas observi la " +"formon en :doc:`version-specifiers`." #: ../source/specifications/core-metadata.rst:785 msgid "" @@ -13485,27 +14828,25 @@ msgid "" msgstr "" #: ../source/specifications/core-metadata.rst:798 -#, fuzzy -#| msgid "Rarely Used Fields" msgid "Deprecated Fields" -msgstr "Malofte uzataj kampoj" +msgstr "Evitindaj Kampoj" #: ../source/specifications/core-metadata.rst:804 msgid "Home-page" -msgstr "" +msgstr "Home-page" #: ../source/specifications/core-metadata.rst:810 #: ../source/specifications/core-metadata.rst:827 msgid "Per :pep:`753`, use :ref:`core-metadata-project-url` instead." -msgstr "" +msgstr "Laŭ :pep:`753`, uzu :ref:`core-metadata-project-url` anstataŭe." #: ../source/specifications/core-metadata.rst:812 msgid "A string containing the URL for the distribution's home page." -msgstr "" +msgstr "Signoĉeno de la retadreso de la ĉefpaĝo de la distribuo." #: ../source/specifications/core-metadata.rst:821 msgid "Download-URL" -msgstr "" +msgstr "Download-URL" #: ../source/specifications/core-metadata.rst:829 msgid "" @@ -13516,20 +14857,20 @@ msgid "" msgstr "" #: ../source/specifications/core-metadata.rst:835 -#, fuzzy -#| msgid "Requirements files" msgid "Requires" -msgstr "Dosiero requirements.txt" +msgstr "Requires" #: ../source/specifications/core-metadata.rst:838 msgid "in favour of ``Requires-Dist``" -msgstr "" +msgstr "anstataŭe uzu ``Requires-Dist``" #: ../source/specifications/core-metadata.rst:841 msgid "" "Each entry contains a string describing some other module or package " "required by this package." msgstr "" +"Ĉiu ero enhavas signiĉenon priskribantan alian modulon aŭ pakon postulatan " +"de tiu pako." #: ../source/specifications/core-metadata.rst:844 msgid "" @@ -13554,26 +14895,31 @@ msgid "" "Any number of conditional operators can be specified, e.g. the string " "\">1.0, !=1.3.4, <2.0\" is a legal version declaration." msgstr "" +"Iom ajn da kondiĉaj operatoroj validas. Ekzemple, ``>1.0, !=1.3.4, <2.0`` " +"estas valida versio-deklaro." #: ../source/specifications/core-metadata.rst:859 msgid "" "All of the following are possible requirement strings: \"rfc822\", \"zlib " "(>=1.1.4)\", \"zope\"." msgstr "" +"Jen kelkaj eblaj postulo-signoĉenoj: «rfc822», «zlib (>=1.1.4)», «zope»." #: ../source/specifications/core-metadata.rst:862 msgid "" "There’s no canonical list of what strings should be used; the Python " "community is left to choose its own standards." msgstr "" +"Ne ekzistas listo de uzendaj signoĉenoj; la komunumo de Python elektu siajn " +"proprajn normojn." #: ../source/specifications/core-metadata.rst:875 msgid "Provides" -msgstr "" +msgstr "Provides" #: ../source/specifications/core-metadata.rst:878 msgid "in favour of ``Provides-Dist``" -msgstr "" +msgstr "anstataŭe uzu ``Provides-Dist``" #: ../source/specifications/core-metadata.rst:881 msgid "" @@ -13586,11 +14932,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:897 msgid "Obsoletes" -msgstr "" +msgstr "Obsoletes" #: ../source/specifications/core-metadata.rst:900 msgid "in favour of ``Obsoletes-Dist``" -msgstr "" +msgstr "anstataŭe uzu ``Obsoletes-Dist``" #: ../source/specifications/core-metadata.rst:903 msgid "" @@ -13608,78 +14954,310 @@ msgstr "" #: ../source/specifications/core-metadata.rst:919 msgid "March 2001: Core metadata 1.0 was approved through :pep:`241`." -msgstr "" +msgstr "Marto 2001: Kernaj metadatenoj 1.0 estis aprobitaj per :pep:`241`." #: ../source/specifications/core-metadata.rst:920 msgid "April 2003: Core metadata 1.1 was approved through :pep:`314`:" -msgstr "" +msgstr "Aprilo 2003: Kernaj metadatenoj 1.1 estis aprobitaj per :pep:`314`:" #: ../source/specifications/core-metadata.rst:921 msgid "February 2010: Core metadata 1.2 was approved through :pep:`345`." -msgstr "" +msgstr "Februaro 2010: Kernaj metadatenoj 1.2 estis aprobitaj per :pep:`345`." #: ../source/specifications/core-metadata.rst:922 msgid "February 2018: Core metadata 2.1 was approved through :pep:`566`." -msgstr "" +msgstr "Februaro 2018: Kernaj metadatenoj 2.1 estis aprobitaj per :pep:`566`." #: ../source/specifications/core-metadata.rst:924 msgid "Added ``Description-Content-Type`` and ``Provides-Extra``." -msgstr "" +msgstr "Aldonis ``Description-Content-Type`` kaj ``Provides-Extra``." #: ../source/specifications/core-metadata.rst:925 msgid "Added canonical method for transforming metadata to JSON." -msgstr "" +msgstr "Aldonis kanonan metodon por transformi metadatenojn al JSON." #: ../source/specifications/core-metadata.rst:926 msgid "Restricted the grammar of the ``Name`` field." -msgstr "" +msgstr "Restriktis la gramatikon de la kampo ``Name``." #: ../source/specifications/core-metadata.rst:928 msgid "October 2020: Core metadata 2.2 was approved through :pep:`643`." -msgstr "" +msgstr "Oktobro 2020: Kernaj metadatenoj 2.2 estis aprobitaj per :pep:`643`." #: ../source/specifications/core-metadata.rst:930 msgid "Added the ``Dynamic`` field." -msgstr "" +msgstr "Aldonis la kampon ``Dynamic``." #: ../source/specifications/core-metadata.rst:932 msgid "March 2022: Core metadata 2.3 was approved through :pep:`685`." -msgstr "" +msgstr "Marto 2022: Kernaj metadatenoj 2.3 estis aprobitaj per :pep:`685`." #: ../source/specifications/core-metadata.rst:934 msgid "Restricted extra names to be normalized." -msgstr "" +msgstr "Devigis normigon de nomoj de ekstraĵoj." #: ../source/specifications/core-metadata.rst:936 msgid "August 2024: Core metadata 2.4 was approved through :pep:`639`." -msgstr "" +msgstr "Aŭgusto 2024: Kernaj metadatenoj 2.4 estis aprobitaj per :pep:`639`." #: ../source/specifications/core-metadata.rst:938 msgid "Added the ``License-Expression`` field." -msgstr "" +msgstr "Aldonis la kampon ``License-Expression``." #: ../source/specifications/core-metadata.rst:939 msgid "Added the ``License-File`` field." -msgstr "" +msgstr "Aldonis la kampon ``License-File``." #: ../source/specifications/core-metadata.rst:943 -#, fuzzy msgid "reStructuredText markup: https://docutils.sourceforge.io/" -msgstr "Marklingvo reStructuredText: http://docutils.sourceforge.net/" +msgstr "Marklingvo reStructuredText: https://docutils.sourceforge.io/" #: ../source/specifications/core-metadata.rst:948 msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" +msgstr "RFC 822 Long-Ĉapaj Kampoj: :rfc:`822#section-3.1.1`" + +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "Dependecaj Grupoj" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "Specifado" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "Jen simpla tabelo montranta grupon ``test``::" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "kaj simila tabelo difinanta la grupojn ``test`` kaj ``coverage``::" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "La Tabelo ``[dependency-groups]``" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" +"Dependeca Grupo estas difinita kiel tabelo en ``pyproject.toml`` nomita " +"``dependency-groups``. La tabelo ``dependency-groups`` enhavas nelimigitan " +"nombron de uzanto-dfinititaj ŝlosiloj, ĉiu el kiuj havas liston de postuloj " +"kiel valoron." + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" +"Ilo PREFERU prezenti la originalan, nenormigitan nomon al uzanto. Se " +"duplikata nomo troviĝas post normigo, ilo MONTRU eraron." + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "Inkluzivo de Dependeca Grupo" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" +"Dependecgrupa Inkluzivo inkluzivas alian Dependecan Grupon en la aktuala " +"grupo." + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "Konstruado de Pako" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." msgstr "" +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "Instali Dependecajn Grupojn kaj Ekstraĵojn" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "Valideckontrolo kaj Kongrueco" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" +"Ilo SCIIGU pri eraro, kiam ĝi renkontas aŭ pritraktas nerekonatan datenon en " +"Dependeca Grupo." + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "Referenca Realigo" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "Oktobro 2024: Ĉi tiu specifo estis aprobita per :pep:`735`." + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" -msgstr "" +msgstr "Dependeco-specifiloj" #: ../source/specifications/dependency-specifiers.rst:9 msgid "" "This document describes the dependency specifiers format as originally " "specified in :pep:`508`." msgstr "" +"Jen dokumento priskribanta la formon de dependeco-specifiloj, laŭ la " +"originala normo :pep:`508`." #: ../source/specifications/dependency-specifiers.rst:12 msgid "" @@ -13700,25 +15278,17 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "Specifado" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" #: ../source/specifications/dependency-specifiers.rst:35 msgid "A minimal URL based lookup::" -msgstr "" +msgstr "Minimuma URL-baza serĉo::" #: ../source/specifications/dependency-specifiers.rst:40 msgid "Concepts" -msgstr "" +msgstr "Konceptoj" #: ../source/specifications/dependency-specifiers.rst:42 msgid "" @@ -13731,13 +15301,15 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:49 msgid "Grammar" -msgstr "" +msgstr "Gramatiko" #: ../source/specifications/dependency-specifiers.rst:51 msgid "" "We first cover the grammar briefly and then drill into the semantics of each " "section later." msgstr "" +"Ni unue maldetale diskutas la gramatikon kaj poste detalos la semantikon de " +"ĉiu sekcio." #: ../source/specifications/dependency-specifiers.rst:54 msgid "" @@ -13753,6 +15325,8 @@ msgid "" "The full grammar including annotations to build a useful parse tree is " "included at the end of this document." msgstr "" +"La plena gramatiko kun komentoj por konstrui utilan sintaksarbon troviĝas ĉe " +"la fino de ĉi tiu dokumento." #: ../source/specifications/dependency-specifiers.rst:62 msgid "" @@ -13760,22 +15334,26 @@ msgid "" "specifier specification `. (Note: URI is defined in :rfc:" "`std-66 <3986>`)::" msgstr "" +"Versio estas specifebla laŭ la reguloj de :ref:`la specifo pri versio-" +"specifiloj `. (Notu: URI estas difinita en :rfc:`std-66 " +"<3986>`)::" #: ../source/specifications/dependency-specifiers.rst:73 msgid "" "Environment markers allow making a specification only take effect in some " "environments::" -msgstr "" +msgstr "Media marko permesas efektivigi specifon nur en kelkaj medioj::" #: ../source/specifications/dependency-specifiers.rst:102 msgid "" "Optional components of a distribution may be specified using the extras " "field::" msgstr "" +"Nedeviga komponanto de distribuo estas specifebla per la kampo ``extras``::" #: ../source/specifications/dependency-specifiers.rst:111 msgid "Restrictions on names for extras is defined in :pep:`685`." -msgstr "" +msgstr "Restriktoj pri nomoj de kromaĵoj estas difinitaj en :pep:`685`." #: ../source/specifications/dependency-specifiers.rst:113 msgid "Giving us a rule for name based requirements::" @@ -13783,7 +15361,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:117 msgid "And a rule for direct reference specifications::" -msgstr "" +msgstr "Kaj regulo por rektaj referencaj specifoj::" #: ../source/specifications/dependency-specifiers.rst:121 msgid "Leading to the unified rule that can specify a dependency.::" @@ -13791,18 +15369,19 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:126 msgid "Whitespace" -msgstr "" +msgstr "Blanka spaco" #: ../source/specifications/dependency-specifiers.rst:128 msgid "" "Non line-breaking whitespace is mostly optional with no semantic meaning. " "The sole exception is detecting the end of a URL requirement." msgstr "" +"Ne-linifina blanka spaco estas plejparte nedeviga sen semantiko. La sola " +"escepto estas trovi la finon de retadresa postulo." #: ../source/specifications/dependency-specifiers.rst:132 -#, fuzzy msgid "Names" -msgstr "Nomo" +msgstr "Nomoj" #: ../source/specifications/dependency-specifiers.rst:134 msgid "" @@ -13818,7 +15397,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:146 msgid "Extras" -msgstr "" +msgstr "Ekstraĵoj" #: ../source/specifications/dependency-specifiers.rst:148 msgid "" @@ -13839,13 +15418,12 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:160 msgid "" "If multiple extras are listed, all the dependencies are unioned together." -msgstr "" +msgstr "Se pluraj ekstraĵoj estas listigitaj, ĉiuj dependaĵoj estas kunigitaj." #: ../source/specifications/dependency-specifiers.rst:163 #: ../source/specifications/simple-repository-api.rst:902 -#, fuzzy msgid "Versions" -msgstr "Versio" +msgstr "Versioj" #: ../source/specifications/dependency-specifiers.rst:165 msgid "" @@ -13860,7 +15438,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:174 msgid "Environment Markers" -msgstr "" +msgstr "Mediaj Markoj" #: ../source/specifications/dependency-specifiers.rst:176 msgid "" @@ -13876,6 +15454,8 @@ msgid "" "A marker expression evaluates to either True or False. When it evaluates to " "False, the dependency specification should be ignored." msgstr "" +"La valoro de marka esprimo estas aŭ ``True`` aŭ ``False``. Se la valoro " +"estas ``False``, oni ignoru la dependecan specifon." #: ../source/specifications/dependency-specifiers.rst:186 msgid "" @@ -13922,6 +15502,8 @@ msgid "" "Unknown variables must raise an error rather than resulting in a comparison " "that evaluates to True or False." msgstr "" +"Nekonata variablo devas kaŭzi eraro, ne rezultigante komparon de valoro " +"``True`` aŭ ``False``." #: ../source/specifications/dependency-specifiers.rst:219 msgid "" @@ -13942,103 +15524,99 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:233 msgid "Marker" -msgstr "" +msgstr "Marko" #: ../source/specifications/dependency-specifiers.rst:234 -#, fuzzy msgid "Python equivalent" -msgstr "Versio de Python" +msgstr "Python-ekvivalentaĵo" #: ../source/specifications/dependency-specifiers.rst:235 msgid "Sample values" -msgstr "" +msgstr "Ekzemplaj valoroj" #: ../source/specifications/dependency-specifiers.rst:236 -#, fuzzy msgid "``os_name``" -msgstr "``name``" +msgstr "``os_name``" #: ../source/specifications/dependency-specifiers.rst:237 -#, fuzzy msgid ":py:data:`os.name`" -msgstr "``name``" +msgstr ":py:data:`os.name`" #: ../source/specifications/dependency-specifiers.rst:238 -#, fuzzy msgid "``posix``, ``java``" -msgstr "``pipenv``, ``nose``" +msgstr "``posix``, ``java``" #: ../source/specifications/dependency-specifiers.rst:239 msgid "``sys_platform``" -msgstr "" +msgstr "``sys_platform``" #: ../source/specifications/dependency-specifiers.rst:240 msgid ":py:data:`sys.platform`" -msgstr "" +msgstr ":py:data:`sys.platform`" #: ../source/specifications/dependency-specifiers.rst:241 msgid "" "``linux``, ``linux2``, ``darwin``, ``java1.8.0_51`` (note that \"linux\" is " "from Python3 and \"linux2\" from Python2)" msgstr "" +"``linux``, ``linux2``, ``darwin``, ``java1.8.0_51`` (notu, ke «linux» estas " +"de Python3 kaj «linux2» de Python2)" #: ../source/specifications/dependency-specifiers.rst:243 msgid "``platform_machine``" -msgstr "" +msgstr "``platform_machine``" #: ../source/specifications/dependency-specifiers.rst:244 msgid ":py:func:`platform.machine()`" -msgstr "" +msgstr ":py:func:`platform.machine()`" #: ../source/specifications/dependency-specifiers.rst:245 msgid "``x86_64``" -msgstr "" +msgstr "``x86_64``" #: ../source/specifications/dependency-specifiers.rst:246 msgid "``platform_python_implementation``" -msgstr "" +msgstr "``platform_python_implementation``" #: ../source/specifications/dependency-specifiers.rst:247 msgid ":py:func:`platform.python_implementation()`" -msgstr "" +msgstr ":py:func:`platform.python_implementation()`" #: ../source/specifications/dependency-specifiers.rst:248 msgid "``CPython``, ``Jython``" -msgstr "" +msgstr "``CPython``, ``Jython``" #: ../source/specifications/dependency-specifiers.rst:249 msgid "``platform_release``" -msgstr "" +msgstr "``platform_release``" #: ../source/specifications/dependency-specifiers.rst:250 msgid ":py:func:`platform.release()`" -msgstr "" +msgstr ":py:func:`platform.release()`" #: ../source/specifications/dependency-specifiers.rst:251 msgid "``3.14.1-x86_64-linode39``, ``14.5.0``, ``1.8.0_51``" -msgstr "" +msgstr "``3.14.1-x86_64-linode39``, ``14.5.0``, ``1.8.0_51``" #: ../source/specifications/dependency-specifiers.rst:252 msgid "``platform_system``" -msgstr "" +msgstr "``platform_system``" #: ../source/specifications/dependency-specifiers.rst:253 msgid ":py:func:`platform.system()`" -msgstr "" +msgstr ":py:func:`platform.system()`" #: ../source/specifications/dependency-specifiers.rst:254 msgid "``Linux``, ``Windows``, ``Java``" -msgstr "" +msgstr "``Linux``, ``Windows``, ``Java``" #: ../source/specifications/dependency-specifiers.rst:255 -#, fuzzy msgid "``platform_version``" -msgstr "``version``" +msgstr "``platform_version``" #: ../source/specifications/dependency-specifiers.rst:256 -#, fuzzy msgid ":py:func:`platform.version()`" -msgstr "``version``" +msgstr ":py:func:`platform.version()`" #: ../source/specifications/dependency-specifiers.rst:257 msgid "" @@ -14046,98 +15624,99 @@ msgid "" "25.51-b03, Oracle Corporation`` ``Darwin Kernel Version 14.5.0: Wed Jul 29 " "02:18:53 PDT 2015; root:xnu-2782.40.9~2/RELEASE_X86_64``" msgstr "" +"``#1 SMP Fri Apr 25 13:07:35 EDT 2014`` ``Java HotSpot(TM) 64-Bit Server VM, " +"25.51-b03, Oracle Corporation`` ``Darwin Kernel Version 14.5.0: Wed Jul 29 " +"02:18:53 PDT 2015; root:xnu-2782.40.9~2/RELEASE_X86_64``" #: ../source/specifications/dependency-specifiers.rst:260 -#, fuzzy msgid "``python_version``" -msgstr "``version``" +msgstr "``python_version``" #: ../source/specifications/dependency-specifiers.rst:261 msgid "``'.'.join(platform.python_version_tuple()[:2])``" -msgstr "" +msgstr "``'.'.join(platform.python_version_tuple()[:2])``" #: ../source/specifications/dependency-specifiers.rst:262 -#, fuzzy msgid "``3.4``, ``2.7``" -msgstr "``0.1.6``, ``1.4.2``" +msgstr "``3.4``, ``2.7``" #: ../source/specifications/dependency-specifiers.rst:263 -#, fuzzy msgid "``python_full_version``" -msgstr "``requires-python``" +msgstr "``python_full_version``" #: ../source/specifications/dependency-specifiers.rst:264 -#, fuzzy msgid ":py:func:`platform.python_version()`" -msgstr "``version``" +msgstr ":py:func:`platform.python_version()`" #: ../source/specifications/dependency-specifiers.rst:265 #: ../source/specifications/dependency-specifiers.rst:271 -#, fuzzy msgid "``3.4.0``, ``3.5.0b1``" -msgstr "``2.7.12``, ``3.6.4``" +msgstr "``3.4.0``, ``3.5.0b1``" #: ../source/specifications/dependency-specifiers.rst:266 msgid "``implementation_name``" -msgstr "" +msgstr "``implementation_name``" #: ../source/specifications/dependency-specifiers.rst:267 msgid ":py:data:`sys.implementation.name `" -msgstr "" +msgstr ":py:data:`sys.implementation.name `" #: ../source/specifications/dependency-specifiers.rst:268 -#, fuzzy msgid "``cpython``" -msgstr "python" +msgstr "``cpython``" #: ../source/specifications/dependency-specifiers.rst:269 msgid "``implementation_version``" -msgstr "" +msgstr "``implementation_version``" #: ../source/specifications/dependency-specifiers.rst:270 msgid "see definition below" -msgstr "" +msgstr "vidu la difinon ĉi-sube" #: ../source/specifications/dependency-specifiers.rst:272 msgid "``extra``" -msgstr "" +msgstr "``extra``" #: ../source/specifications/dependency-specifiers.rst:273 msgid "" "An error except when defined by the context interpreting the specification." -msgstr "" +msgstr "Eraro, se ne ekzistas kunteksto interpretanta la specifon." #: ../source/specifications/dependency-specifiers.rst:275 msgid "``test``" -msgstr "" +msgstr "``test``" #: ../source/specifications/dependency-specifiers.rst:277 msgid "" "The ``implementation_version`` marker variable is derived from :py:data:`sys." "implementation.version `:" msgstr "" +"La marka variablo ``implementation_version`` devenas de :py:data:`sys." +"implementation.version `:" #: ../source/specifications/dependency-specifiers.rst:294 msgid "" "This environment markers section, initially defined through :pep:`508`, " "supersedes the environment markers section in :pep:`345`." msgstr "" +"Tiu paragrafo de media marko, origine difinita per :pep:`508`, eksvalidigas " +"la paragrafon pri media marko en :pep:`345`." #: ../source/specifications/dependency-specifiers.rst:298 msgid "Complete Grammar" -msgstr "" +msgstr "Kompleta Gramatiko" #: ../source/specifications/dependency-specifiers.rst:300 msgid "The complete parsley grammar::" -msgstr "" +msgstr "La kompleta gramatiko por parseley::" #: ../source/specifications/dependency-specifiers.rst:407 msgid "A test program - if the grammar is in a string ``grammar``:" -msgstr "" +msgstr "Testa programo – se la gramatiko estas en signoĉeno ``grammar``:" #: ../source/specifications/dependency-specifiers.rst:479 msgid "November 2015: This specification was approved through :pep:`508`." -msgstr "" +msgstr "Novembro 2015: Ĉi tiu specifo estis aprobita per :pep:`508`." #: ../source/specifications/dependency-specifiers.rst:480 msgid "" @@ -14146,6 +15725,10 @@ msgid "" "python_version_tuple()[:2])``, to accommodate potential future versions of " "Python with 2-digit major and minor versions (e.g. 3.10). [#future_versions]_" msgstr "" +"Julio 2019: La difino de ``python_version`` `ŝanĝiĝis `_ de ``platform.python_version()[:3]`` al ``'.'.join(platform." +"python_version_tuple()[:2])``, por estontaj versioj de Python kun du-ciferaj " +"maĵoraj kaj minoraj versioj (ekz. 3.10). [#future_versions]_" #: ../source/specifications/dependency-specifiers.rst:485 msgid "" @@ -14153,16 +15736,21 @@ msgid "" "commas, matching with the behavior of the Python implementation that has " "been in use since late 2022." msgstr "" +"Junio 2024: La difino de ``version_many`` estis ŝanĝita por permesi lastan " +"komon, konforme al la Python-realigo uzata ekde malfrua 2022." #: ../source/specifications/dependency-specifiers.rst:493 msgid "" "pip, the recommended installer for Python packages (http://pip.readthedocs." "org/en/stable/)" msgstr "" +"pip, la rekomendata instalilo por Python-pakoj (http://pip.readthedocs.org/" +"en/stable/)" #: ../source/specifications/dependency-specifiers.rst:496 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" +"La sintaksanaliza biblioteko parsley. (https://pypi.python.org/pypi/parsley/)" #: ../source/specifications/dependency-specifiers.rst:499 msgid "" @@ -14170,10 +15758,12 @@ msgid "" "Environment Marker Variable ``python_version`` (https://github.com/python/" "peps/issues/560)" msgstr "" +"Estontaj versioj de Python povas esti problemaj pri la difino de la Media " +"Marka Variablo ``python_version`` (https://github.com/python/peps/issues/560)" #: ../source/specifications/direct-url.rst:6 msgid "Recording the Direct URL Origin of installed distributions" -msgstr "" +msgstr "Registri la Rektan Retadresan Originon de instalita distribuo" #: ../source/specifications/direct-url.rst:8 msgid "" @@ -14196,12 +15786,16 @@ msgid "" "This file MUST NOT be created when installing a distribution from an other " "type of requirement (i.e. name plus version specifier)." msgstr "" +"Tiu dosiero DEVAS NE kreiĝi dum instalado de distribuo el alia speco de " +"postulo (ekz. nomo plus versio-specifilo)." #: ../source/specifications/direct-url.rst:24 msgid "" "This JSON file MUST be a UTF-8 encoded, :rfc:`8259` compliant, serialization " "of the :doc:`direct-url-data-structure`." msgstr "" +"Ĉi tiu JSON-dosiero DEVAS esti UTF-8-kodita seriigo de :doc:`direct-url-data-" +"structure` kongrua kun :rfc:`8259`." #: ../source/specifications/direct-url.rst:29 msgid "" @@ -14223,11 +15817,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:45 msgid "Example pip commands and their effect on direct_url.json" -msgstr "" +msgstr "Ekzemplaj komandoj de pip kaj ĝiaj efikoj sur direct_url.json" #: ../source/specifications/direct-url.rst:47 msgid "Commands that generate a ``direct_url.json``:" -msgstr "" +msgstr "Komandoj generantaj ``direct_url.json``:" #: ../source/specifications/direct-url.rst:49 msgid "``pip install https://example.com/app-1.0.tgz``" @@ -14242,6 +15836,8 @@ msgid "" "``pip install \"app @ git+https://example.com/repo/app." "git#subdirectory=setup\"``" msgstr "" +"``pip install \"app @ git+https://example.com/repo/app." +"git#subdirectory=setup\"``" #: ../source/specifications/direct-url.rst:52 msgid "``pip install ./app``" @@ -14258,6 +15854,10 @@ msgid "" "directory where the git repository has been cloned to, and ``dir_info`` will " "be present with ``\"editable\": true`` and no ``vcs_info`` will be set)" msgstr "" +"``pip install --editable \"app @ git+https://example.com/repo/app." +"git#subdirectory=setup\"`` (en kiu ``url`` estos la loka dosierujo, al kiu " +"la git-deponejo estas klonita, kaj ``dir_info`` ĉeestos kun ``\"editable\": " +"true`` kaj sen ajna ``vcs_info``)" #: ../source/specifications/direct-url.rst:58 msgid "``pip install -e ./app``" @@ -14265,7 +15865,7 @@ msgstr "" #: ../source/specifications/direct-url.rst:60 msgid "Commands that *do not* generate a ``direct_url.json``" -msgstr "" +msgstr "Komandoj *ne* generantaj ``direct_url.json``" #: ../source/specifications/direct-url.rst:62 #, fuzzy @@ -14278,11 +15878,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:69 msgid "March 2020: This specification was approved through :pep:`610`." -msgstr "" +msgstr "Marto 2020: Ĉi tiu specifo estis aprobita per :pep:`610`." #: ../source/specifications/direct-url-data-structure.rst:7 msgid "Direct URL Data Structure" -msgstr "" +msgstr "Datenstrukturo de Rekta Retadreso" #: ../source/specifications/direct-url-data-structure.rst:9 msgid "" @@ -14305,6 +15905,8 @@ msgid "" "The Direct URL Data Structure MUST be a dictionary, serializable to JSON " "according to :rfc:`8259`." msgstr "" +"La Datenstrukturo de Rekta Retadreso DEVAS esti vortaro seriigebla al JSON " +"laŭ :rfc:`8259`." #: ../source/specifications/direct-url-data-structure.rst:24 msgid "" @@ -14324,13 +15926,15 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:35 msgid "Security Considerations" -msgstr "" +msgstr "Konsideroj pri Sekureco" #: ../source/specifications/direct-url-data-structure.rst:37 msgid "" "When persisted, ``url`` MUST be stripped of any sensitive authentication " "information, for security reasons." msgstr "" +"Se konservita, ``url`` DEVAS esti senigita je ajna grava aŭtentikiga " +"informo, por sekureco." #: ../source/specifications/direct-url-data-structure.rst:40 msgid "" @@ -14347,13 +15951,15 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:53 msgid "VCS URLs" -msgstr "" +msgstr "Versikontrolsistemaj Retadresoj" #: ../source/specifications/direct-url-data-structure.rst:55 msgid "" "When ``url`` refers to a VCS repository, the ``vcs_info`` key MUST be " "present as a dictionary with the following keys:" msgstr "" +"Se ``url`` montras versikontrolsisteman deponejon, la ŝlosilo ``vcs_info`` " +"DEVAS ekzisti kiel vortaro kun la jenaj ŝlosiloj:" #: ../source/specifications/direct-url-data-structure.rst:58 msgid "" @@ -14382,19 +15988,23 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:76 msgid "Archive URLs" -msgstr "" +msgstr "Arĥivaj Retadresoj" #: ../source/specifications/direct-url-data-structure.rst:78 msgid "" "When ``url`` refers to a source archive or a wheel, the ``archive_info`` key " "MUST be present as a dictionary with the following keys:" msgstr "" +"Se ``url`` montras fontan arĥivon aŭ wheel, la ŝlosilo ``archive_info`` " +"DEVAS ekzisti kiel vortaro kun la jenaj ŝlosiloj:" #: ../source/specifications/direct-url-data-structure.rst:81 msgid "" "A ``hashes`` key SHOULD be present as a dictionary mapping a hash name to a " "hex encoded digest of the file." msgstr "" +"Ŝlosilo ``hashes`` ĈEESTU kiel vortaro rilatanta haketaĵan nomon al " +"deksesume kodita haketaĵo de la dosiero." #: ../source/specifications/direct-url-data-structure.rst:84 msgid "" @@ -14405,7 +16015,7 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:88 msgid "These hash names SHOULD always be normalized to be lowercase." -msgstr "" +msgstr "Tiuj haketaĵaj nomoj ESTU normigitaj minuskle." #: ../source/specifications/direct-url-data-structure.rst:90 msgid "" @@ -14421,6 +16031,9 @@ msgid "" "A deprecated ``hash`` key (type ``string``) MAY be present for backwards " "compatibility purposes, with value ``=``." msgstr "" +"Evitinda ŝlosilo ``hash`` (de tipo ``string``) POVAS ĉeesti por " +"retrokongrueco, kies valoro estas ``=``." #: ../source/specifications/direct-url-data-structure.rst:99 msgid "" @@ -14440,13 +16053,15 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:108 msgid "Local directories" -msgstr "" +msgstr "Lokaj dosierujoj" #: ../source/specifications/direct-url-data-structure.rst:110 msgid "" "When ``url`` refers to a local directory, the ``dir_info`` key MUST be " "present as a dictionary with the following key:" msgstr "" +"Se ``url`` montras lokan dosierujon, la ŝlosilo ``vcs_info`` DEVAS ekzisti " +"kiel vortaro kun la jenaj ŝlosiloj:" #: ../source/specifications/direct-url-data-structure.rst:113 msgid "" @@ -14454,6 +16069,9 @@ msgid "" "installed in editable mode, ``false`` otherwise. If absent, default to " "``false``." msgstr "" +"``editable`` (tipo: ``boolean``): ``true`` se la distribuo estas/estis " +"instalita en modifebla reĝimo, ``false`` se ne. Se ĝi mankas, la implicita " +"valoro estas ``false``." #: ../source/specifications/direct-url-data-structure.rst:116 msgid "" @@ -14465,7 +16083,7 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:122 msgid "Projects in subdirectories" -msgstr "" +msgstr "Projektoj en subdosierujoj" #: ../source/specifications/direct-url-data-structure.rst:124 msgid "" @@ -14476,7 +16094,7 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:129 msgid "Registered VCS" -msgstr "" +msgstr "Registrita Versikontrola Sistemo" #: ../source/specifications/direct-url-data-structure.rst:131 msgid "" @@ -14491,61 +16109,63 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:141 msgid "Git" -msgstr "" +msgstr "Git" #: ../source/specifications/direct-url-data-structure.rst:144 #: ../source/specifications/direct-url-data-structure.rst:171 #: ../source/specifications/direct-url-data-structure.rst:189 #: ../source/specifications/direct-url-data-structure.rst:207 msgid "Home page" -msgstr "" +msgstr "Ĉefpaĝo" #: ../source/specifications/direct-url-data-structure.rst:144 msgid "https://git-scm.com/" -msgstr "" +msgstr "https://git-scm.com/" #: ../source/specifications/direct-url-data-structure.rst:147 #: ../source/specifications/direct-url-data-structure.rst:174 #: ../source/specifications/direct-url-data-structure.rst:192 #: ../source/specifications/direct-url-data-structure.rst:210 msgid "vcs command" -msgstr "" +msgstr "komando de versikontrola sistemo" #: ../source/specifications/direct-url-data-structure.rst:147 #: ../source/specifications/direct-url-data-structure.rst:150 msgid "git" -msgstr "" +msgstr "git" #: ../source/specifications/direct-url-data-structure.rst:150 #: ../source/specifications/direct-url-data-structure.rst:177 #: ../source/specifications/direct-url-data-structure.rst:195 #: ../source/specifications/direct-url-data-structure.rst:213 msgid "``vcs`` field" -msgstr "" +msgstr "kampo ``vcs``" #: ../source/specifications/direct-url-data-structure.rst:154 #: ../source/specifications/direct-url-data-structure.rst:180 #: ../source/specifications/direct-url-data-structure.rst:198 #: ../source/specifications/direct-url-data-structure.rst:217 msgid "``requested_revision`` field" -msgstr "" +msgstr "kampo ``requested_revision``" #: ../source/specifications/direct-url-data-structure.rst:153 msgid "" "A tag name, branch name, Git ref, commit hash, shortened commit hash, or " "other commit-ish." msgstr "" +"Nomo de etikedo, nomo de branĉo, referenco de Git, haketaĵo de enmeto, " +"mallongigita haketaĵo de enmeto, aŭ io simila." #: ../source/specifications/direct-url-data-structure.rst:157 #: ../source/specifications/direct-url-data-structure.rst:183 #: ../source/specifications/direct-url-data-structure.rst:201 #: ../source/specifications/direct-url-data-structure.rst:222 msgid "``commit_id`` field" -msgstr "" +msgstr "kampo ``commit_id``" #: ../source/specifications/direct-url-data-structure.rst:157 msgid "A commit hash (40 hexadecimal characters sha1)." -msgstr "" +msgstr "Haketaĵo de ŝanĝaro (40 deksesumaj signoj por SHA1)." #: ../source/specifications/direct-url-data-structure.rst:161 msgid "" @@ -14554,48 +16174,54 @@ msgid "" "ref beginning with ``refs/tags/`` corresponds to a tag, and a ref beginning " "with ``refs/remotes/origin/`` after cloning corresponds to a branch." msgstr "" +"Ilo povas uzi la komandojn ``git show-ref`` kaj ``git symbolic-ref`` por " +"determini, ĉu ``requested_revision`` respondas al Git-referenco. Referenco " +"komenciĝanta per ``refs/tags/`` respondas al etikedo, kaj referenco " +"komenciĝanta per ``refs/remotes/origin/`` post klonado respondas al branĉo." #: ../source/specifications/direct-url-data-structure.rst:168 msgid "Mercurial" -msgstr "" +msgstr "Mercurial" #: ../source/specifications/direct-url-data-structure.rst:171 msgid "https://www.mercurial-scm.org/" -msgstr "" +msgstr "https://www.mercurial-scm.org/" #: ../source/specifications/direct-url-data-structure.rst:174 #: ../source/specifications/direct-url-data-structure.rst:177 msgid "hg" -msgstr "" +msgstr "hg" #: ../source/specifications/direct-url-data-structure.rst:180 msgid "A tag name, branch name, changeset ID, shortened changeset ID." msgstr "" +"Nomo de etikedo, nomo de branĉo, identigilo de ŝanĝaro, mallongigita " +"identigilo de ŝanĝaro." #: ../source/specifications/direct-url-data-structure.rst:183 msgid "A changeset ID (40 hexadecimal characters)." -msgstr "" +msgstr "Identigilo de ŝanĝaro (40 deksesumaj signoj)." #: ../source/specifications/direct-url-data-structure.rst:186 msgid "Bazaar" -msgstr "" +msgstr "Bazaar" #: ../source/specifications/direct-url-data-structure.rst:189 msgid "https://www.breezy-vcs.org/" -msgstr "" +msgstr "https://www.breezy-vcs.org/" #: ../source/specifications/direct-url-data-structure.rst:192 #: ../source/specifications/direct-url-data-structure.rst:195 msgid "bzr" -msgstr "" +msgstr "bzr" #: ../source/specifications/direct-url-data-structure.rst:198 msgid "A tag name, branch name, revision id." -msgstr "" +msgstr "Nomo de etikedo, nomo de branĉo, identigilo de revizio." #: ../source/specifications/direct-url-data-structure.rst:201 msgid "A revision id." -msgstr "" +msgstr "Identigilo de revizio." #: ../source/specifications/direct-url-data-structure.rst:204 msgid "Subversion" @@ -14608,67 +16234,79 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:210 #: ../source/specifications/direct-url-data-structure.rst:213 msgid "svn" -msgstr "" +msgstr "svn" #: ../source/specifications/direct-url-data-structure.rst:216 msgid "" "``requested_revision`` must be compatible with ``svn checkout`` ``--" "revision`` option. In Subversion, branch or tag is part of ``url``." msgstr "" +"``requested_revision`` devas kongrui kun la opcio ``--revision`` de ``svn " +"checkout`` . Je Subversion, la branĉo aŭ etikedo estas parto de ``url``." #: ../source/specifications/direct-url-data-structure.rst:220 msgid "" "Since Subversion does not support globally unique identifiers, this field is " "the Subversion revision number in the corresponding repository." msgstr "" +"Ĉar Subversion ne subtenas malloke unikan identigilon, ĉi tiu kampo estas la " +"revizinumero de Subversion en la respondanta deponejo." #: ../source/specifications/direct-url-data-structure.rst:225 msgid "JSON Schema" -msgstr "" +msgstr "JSON-Skemo" #: ../source/specifications/direct-url-data-structure.rst:227 msgid "" "The following JSON Schema can be used to validate the contents of " "``direct_url.json``:" msgstr "" +"Jen JSON-skemo usebla por kontroli la validecon de la enhavo de ``direct_url." +"json``:" #: ../source/specifications/direct-url-data-structure.rst:349 msgid "Source archive:" -msgstr "" +msgstr "Fonta arĥivo:" #: ../source/specifications/direct-url-data-structure.rst:362 msgid "Git URL with tag and commit-hash:" -msgstr "" +msgstr "Git-retadreso kun etikedo kaj haketaĵo:" #: ../source/specifications/direct-url-data-structure.rst:375 msgid "Local directory:" -msgstr "" +msgstr "Loka dosierujo:" #: ../source/specifications/direct-url-data-structure.rst:384 msgid "Local directory in editable mode:" -msgstr "" +msgstr "Loka dosierujo en modifebla reĝimo:" #: ../source/specifications/direct-url-data-structure.rst:399 msgid "" "March 2020: This specification was approved through :pep:`610`, defining the " "``direct_url.json`` metadata file." msgstr "" +"Marto 2020: Ĉi tiu specifo estis aprobita per :pep:`610`, difinante la " +"metadatenan dosieron ``direct_url.json``." #: ../source/specifications/direct-url-data-structure.rst:401 msgid "" "January 2023: Added the ``archive_info.hashes`` key (`discussion `_)." msgstr "" +"Januaro 2023: Aldonis la ŝlosilon ``archive_info.hashes`` (`diskuto `_)." #: ../source/specifications/entry-points.rst:5 msgid "Entry points specification" -msgstr "" +msgstr "Specifo pri enirpunktoj" #: ../source/specifications/entry-points.rst:7 msgid "" "*Entry points* are a mechanism for an installed distribution to advertise " "components it provides to be discovered and used by other code. For example:" msgstr "" +"*Enirpunktoj* estas meĥanismo por instalita distribuo reklami komponantojn " +"provizitajn, igante ilin malkovreblaj kaj uzeblaj de alia kodo. Ekzemple:" #: ../source/specifications/entry-points.rst:11 msgid "" @@ -14700,11 +16338,11 @@ msgstr "" #: ../source/specifications/entry-points.rst:28 msgid "Data model" -msgstr "" +msgstr "Datena modelo" #: ../source/specifications/entry-points.rst:30 msgid "Conceptually, an entry point is defined by three required properties:" -msgstr "" +msgstr "Koncepte, enirpunkton difinas tri postulataj atributoj:" #: ../source/specifications/entry-points.rst:32 msgid "" @@ -14766,7 +16404,7 @@ msgstr "" #: ../source/specifications/entry-points.rst:80 msgid "File format" -msgstr "" +msgstr "Dosierformo" #: ../source/specifications/entry-points.rst:82 msgid "" @@ -14790,6 +16428,8 @@ msgid "" "The entry points file must always use ``=`` to delimit names from values " "(whereas configparser also allows using ``:``)." msgstr "" +"La enirpunkta dosiero devas uzi ``=`` por apartigi nomon kaj valoron (dum " +"configparser ankaŭ permesas uzi ``:``)." #: ../source/specifications/entry-points.rst:101 msgid "" @@ -14813,7 +16453,7 @@ msgstr "" #: ../source/specifications/entry-points.rst:128 msgid "Use for scripts" -msgstr "" +msgstr "Uzado por programetoj" #: ../source/specifications/entry-points.rst:130 msgid "" @@ -14831,6 +16471,8 @@ msgid "" "For instance, the entry point ``mycmd = mymod:main`` would create a command " "``mycmd`` launching a script like this::" msgstr "" +"Ekzemple, la enirpunkto ``mycmd = mymod:main`` kreus komandon ``mycmd`` " +"lanĉante jenan programon::" #: ../source/specifications/entry-points.rst:145 msgid "" @@ -14864,10 +16506,12 @@ msgid "" "October 2017: This specification was written to formalize the existing entry " "points feature of setuptools (discussion_)." msgstr "" +"Oktobro 2017: Tiu specifo estis verkita por formaligi la ekzistantan " +"enirpunktan funkcion de setuptools (`diskuto `_)." #: ../source/specifications/externally-managed-environments.rst:6 msgid "Externally Managed Environments" -msgstr "" +msgstr "Ekstere Mastrumataj Medioj" #: ../source/specifications/externally-managed-environments.rst:8 msgid "" @@ -14905,7 +16549,7 @@ msgstr "" #: ../source/specifications/externally-managed-environments.rst:32 msgid "Terminology" -msgstr "" +msgstr "Terminaro" #: ../source/specifications/externally-managed-environments.rst:34 msgid "" @@ -14915,10 +16559,8 @@ msgid "" msgstr "" #: ../source/specifications/externally-managed-environments.rst:61 -#, fuzzy -#| msgid "distlib" msgid "distro" -msgstr "distlib" +msgstr "distribuo" #: ../source/specifications/externally-managed-environments.rst:39 msgid "" @@ -14954,10 +16596,8 @@ msgid "" msgstr "" #: ../source/specifications/externally-managed-environments.rst:79 -#, fuzzy -#| msgid "packaging" msgid "package" -msgstr "pakado" +msgstr "pako" #: ../source/specifications/externally-managed-environments.rst:64 msgid "" @@ -14984,10 +16624,8 @@ msgid "" msgstr "" #: ../source/specifications/externally-managed-environments.rst:102 -#, fuzzy -#| msgid "To install a specific version:" msgid "Python-specific package manager" -msgstr "Por instali specifan version:" +msgstr "Python-specifa pakadministrilo" #: ../source/specifications/externally-managed-environments.rst:82 msgid "" @@ -15003,6 +16641,8 @@ msgid "" "(Note that the ``easy_install`` command was removed in setuptools version " "52, released 23 January 2021.)" msgstr "" +"(Notu, ke la komando ``easy_install`` estis forigita en versio 52 de " +"setuptools, eldonita je la 23a de Januaro 2021.)" #: ../source/specifications/externally-managed-environments.rst:96 msgid "" @@ -15015,7 +16655,7 @@ msgstr "" #: ../source/specifications/externally-managed-environments.rst:118 msgid "distro package manager" -msgstr "" +msgstr "distribupakadministrilo" #: ../source/specifications/externally-managed-environments.rst:105 msgid "" @@ -15029,6 +16669,15 @@ msgid "" "upgrading it in a way that would satisfy a Python-specific package manager " "will generally leave a distro package manager in an inconsistent state." msgstr "" +"Ilo por instali, ĝisdatigi, kaj/aŭ malinstali pakojn de distribuo en " +"instalita distribuo, kapabla instali Python-pakojn kaj ne-Python-ajn pakojn, " +"kun sia propra datenbanko de instalitaj programoj ne rilata al la :ref:" +"`datenbanko de instalitaj distribuoj `. Jen " +"kelkaj ekzemploj: ``apt``, ``dpkg``, ``dnf``, ``rpm``, ``pacman`` kaj " +"``brew``. Grave, se iu pako estis instalita de la pakadministrilo de la " +"distribuo, do malinstalado aŭ ĝisdatigado de tiu pako tiel, kiel Python-" +"specifa pakadministrilo funkcius, kaŭzus malkoherecon je la pakadministrilo " +"de la distribuo." #: ../source/specifications/externally-managed-environments.rst:117 msgid "" @@ -15039,7 +16688,7 @@ msgstr "" #: ../source/specifications/externally-managed-environments.rst:127 msgid "shadow" -msgstr "" +msgstr "ombri" #: ../source/specifications/externally-managed-environments.rst:121 msgid "" @@ -15053,7 +16702,7 @@ msgstr "" #: ../source/specifications/externally-managed-environments.rst:132 msgid "This specification is twofold." -msgstr "" +msgstr "Jen duobla specifo." #: ../source/specifications/externally-managed-environments.rst:134 msgid "" @@ -15089,7 +16738,7 @@ msgstr "" #: ../source/specifications/externally-managed-environments.rst:160 msgid "Marking an interpreter as using an external package manager" -msgstr "" +msgstr "Marki interpretilon kiel uzantan eksteran pakadministrilon" #: ../source/specifications/externally-managed-environments.rst:162 msgid "" @@ -15103,12 +16752,16 @@ msgid "" "Is it running outside of a virtual environment? It can determine this by " "whether ``sys.prefix == sys.base_prefix``." msgstr "" +"Ĉu ĝi ruliĝas ekster virtuala medio? Ĝi povas determini tion per ``sys." +"prefix == sys.base_prefix``." #: ../source/specifications/externally-managed-environments.rst:170 msgid "" "Is there an ``EXTERNALLY-MANAGED`` file in the directory identified by " "``sysconfig.get_path(\"stdlib\", sysconfig.get_default_scheme())``?" msgstr "" +"Ĉu ekzistas dosiero ``EXTERNALLY-MANAGED`` en la dosierujo identigita de " +"``sysconfig.get_path(\"stdlib\", sysconfig.get_default_scheme())``?" #: ../source/specifications/externally-managed-environments.rst:173 msgid "" @@ -15141,6 +16794,19 @@ msgid "" "underscore or hyphen. If it cannot find either of those, or if the language " "code is ``None``, it should look for a key simply named ``Error``." msgstr "" +"La dosiero ``EXTERNALLY-MANAGED`` estas INI-stila metadatena dosiero, kiu " +"estu analizebla de la norma biblioteka modulo configparser_. Se la dosiero " +"estas analizebla per ``configparser.ConfigParser(interpolation=None)`` " +"uzante UTF-8, kaj ĝi enhavas sekcion ``[externally-managed]``, do la " +"instalilo serĉu erarmesaĝon specifitan en la dosiero kaj eligu ĝin kiel " +"parton de la eraro. Se la unua elemento de la opo ``locale.getlocale(locale." +"LC_MESSAGES)``, t.e. la lingvokodo, ne estas ``None``, ĝi serĉu la " +"erarmesaĝon kiel la valoron de ŝlosilo nomita `Error-`` sekvita de la " +"lingvokodo. Se tiu ŝlosilo ne ekzistas, kaj se la lingvokodo enhavas " +"substrekon aŭ streketon, ĝi serĉu ŝlosilon nomitan ``Error-`` sekvita de la " +"parto de la lingvokodo antaŭ la substreko aŭ streketo. Se ĝi ne povas trovi " +"ambaŭ, aŭ se la lingvokodo estas ``None``, ĝi serĉu ŝlosilon simple nomitan " +"``Error``." #: ../source/specifications/externally-managed-environments.rst:200 msgid "" @@ -15176,7 +16842,7 @@ msgstr "" #: ../source/specifications/externally-managed-environments.rst:247 msgid "Writing to only the target ``sysconfig`` scheme" -msgstr "" +msgstr "Skribi al nur la cela skemo ``sysconfig``" #: ../source/specifications/externally-managed-environments.rst:249 msgid "" @@ -15210,28 +16876,30 @@ msgstr "" #: ../source/specifications/externally-managed-environments.rst:271 msgid "Recommendations for distros" -msgstr "" +msgstr "Rekomendoj pri distribuoj" #: ../source/specifications/externally-managed-environments.rst:273 msgid "" "This section is non-normative. It provides best practices we believe distros " "should follow unless they have a specific reason otherwise." msgstr "" +"Jen nedeviga paragrafo priskribanta la bonan praktikon, kiu niaopinie " +"distribuoj observu, se specifa kialo mankas." #: ../source/specifications/externally-managed-environments.rst:277 msgid "Mark the installation as externally managed" -msgstr "" +msgstr "Marku la instalaĵon kiel ekstere mastrumatan" #: ../source/specifications/externally-managed-environments.rst:279 msgid "" "Distros should create an ``EXTERNALLY-MANAGED`` file in their ``stdlib`` " "directory." msgstr "" +"Distribuo kreu dosieron ``EXTERNALLY-MANAGED`` en sia dosierujo ``stdlib``." #: ../source/specifications/externally-managed-environments.rst:283 -#, fuzzy msgid "Guide users towards virtual environments" -msgstr "Krei Virtualajn Mediojn" +msgstr "Gvidu uzantojn al virtualaj medioj" #: ../source/specifications/externally-managed-environments.rst:285 msgid "" @@ -15257,10 +16925,19 @@ msgid "" "for Python for end users (e.g., ``python3`` on Fedora or ``python3-full`` on " "Debian) depends on pipx." msgstr "" +"Konsideru disponigi pipx_, ilon por instali Python-programojn, kaj sugesti " +"ĝin en la eraro. pipx aŭtomate kreas virtualan medion por unu solan " +"programon, kio estas multe pli bona port tiuj uzantoj, kiuj deziras instali " +"iun Python-programon (kiun la distribuo ne disponigas) sed ne estas Python-" +"uzantoj mem. Pakado de pipx en la distribuo evitas la ironion instrui " +"uzantojn ruli ``pip install --user --break-system-packages pipx`` por " +"*eviti* rompi sistemajn pakojn. Konsideru dependigi de pipx la Python-pakon/" +"medion de via distribuo por ordinaraj uzantoj (ekz. ``python3`` ĉe Fedora aŭ " +"``python3-full`` ĉe Debian)." #: ../source/specifications/externally-managed-environments.rst:308 msgid "Keep the marker file in container images" -msgstr "" +msgstr "Retenu la markan dosieron en uja bildo" #: ../source/specifications/externally-managed-environments.rst:310 msgid "" @@ -15270,10 +16947,13 @@ msgid "" "installs package updates inside their image (think ``RUN apt-get dist-" "upgrade``)." msgstr "" +"Distribuo, kiu provizas oficialan bildon por unuprograma ujo (ekz., Docker-" +"bildo) retenu la dosieron ``EXTERNALLY-MANAGED``, prefere tiel, ke ĝisdatigo " +"de la bildo (kiel ``RUN apt-get dist-upgrade``) ne forigos la dosieron." #: ../source/specifications/externally-managed-environments.rst:317 msgid "Create separate distro and local directories" -msgstr "" +msgstr "Kreu apartajn distribuan kaj lokan dosierujojn" #: ../source/specifications/externally-managed-environments.rst:319 msgid "" @@ -15299,6 +16979,16 @@ msgid "" "wishes to make sure that packages installed via the locally-built " "interpreter don't show up on ``sys.path`` for the distro interpreter.)" msgstr "" +"Ekzemple, Fedora kaj Debian (kaj iliaj idoj) realigas tiun disigon uzante ``/" +"usr/local`` por loke instalitaj pakoj kaj ``/usr`` por distribuo-instalitaj " +"pakoj. Fedora uzas ``/usr/local/lib/python3.x/site-packages`` kontraste al " +"``/usr/lib/python3.x/site-packages``. (Debian uzas ``/usr/local/lib/python3/" +"dist-packages`` kontraste al ``/usr/lib/python3/dist-packages`` kiel ekstra " +"apartiga tavolo el loke tradukita Python-interpretilo: se oni konstruus kaj " +"instalus CPython en ``/usr/local/bin``, ĝi serĉus ``/usr/local/lib/python3/" +"site-packages``, kaj Debian volas certigi, ke pakoj instalitaj per la loke " +"konstruita interpretilo ne ĉeestos en ``sys.path`` por la interpretilo de la " +"distribuo.)" #: ../source/specifications/externally-managed-environments.rst:341 msgid "" @@ -15365,6 +17055,8 @@ msgid "" "The best approach here depends a lot on your distro's conventions and " "mechanisms for packaging." msgstr "" +"La plej bona maniero dependas multe de la konvencioj kaj meĥanismoj de via " +"distribuo pri pakado." #: ../source/specifications/externally-managed-environments.rst:396 msgid "" @@ -15379,18 +17071,27 @@ msgid "" "``scripts`` and ``/usr/bin`` for distro-packaged entry points and place both " "on ``$PATH``." msgstr "" +"Simile, la ``sysconfig``-dosierlokoj ne por importebla Python-kodo – t.e. " +"``include``, ``platinclude``, ``scripts`` kaj ``data`` – ankaŭ havu du " +"variantojn, unu por programoj pakitaj de la distribuo, la alia por loke " +"instalitaj programoj. La distribuo estu agordita tiel, ke ambaŭ estas " +"uzeblaj. Ekzemple, ordinara distribuo observanta la Dosiersistemo-Hierarĥian " +"Normon (FHS) uzas ``/usr/local/include`` por la ``include`` de la implicita " +"skemo kaj ``/usr/include`` por ĉapoj pakitaj de la distribuo, kaj ambaŭ " +"troviĝas en la serĉlisto de la tradukilo. Ĝi uzas ``/usr/local/bin`` por la " +"``scripts`` de la implicita skemo kaj ``/usr/bin`` por enirpunktoj pakitaj " +"de la distribuo, kaj ambaŭ troviĝas en ``$PATH``." #: ../source/specifications/externally-managed-environments.rst:410 -#, fuzzy -#| msgid "Documentation types" msgid "Implementation Notes" -msgstr "Tipoj de dokumentaro" +msgstr "Notoj pri Realigo" #: ../source/specifications/externally-managed-environments.rst:412 msgid "" "This section is non-normative and contains notes relevant to both the " "specification and potential implementations." msgstr "" +"Jen nedeviga paragrafo enhavanta notojn pri la specifo kaj eblaj realigoj." #: ../source/specifications/externally-managed-environments.rst:415 msgid "" @@ -15400,9 +17101,8 @@ msgid "" msgstr "" #: ../source/specifications/externally-managed-environments.rst:422 -#, fuzzy msgid "``pip install``" -msgstr "Uzi ``pip`` por instali Pipenv:" +msgstr "``pip install``" #: ../source/specifications/externally-managed-environments.rst:420 msgid "" @@ -15410,30 +17110,33 @@ msgid "" "CPython and most current distros) the same as " "``get_preferred_scheme('prefix')``." msgstr "" +"Alvokas ``sysconfig.get_default_scheme()``, kiu estas normale (en la apriora " +"CPython kaj en la plejparto de distribuoj) sama kiel " +"``get_preferred_scheme('prefix')``." #: ../source/specifications/externally-managed-environments.rst:425 -#, fuzzy msgid "``pip install --prefix=/some/path``" -msgstr "Uzi ``pip`` por instali Pipenv:" +msgstr "``pip install --prefix=/iu/loko``" #: ../source/specifications/externally-managed-environments.rst:425 msgid "Calls ``sysconfig.get_preferred_scheme('prefix')``." -msgstr "" +msgstr "Alvokas ``sysconfig.get_preferred_scheme('prefix')``." #: ../source/specifications/externally-managed-environments.rst:428 -#, fuzzy msgid "``pip install --user``" -msgstr "Uzi ``pip`` por instali Pipenv:" +msgstr "``pip install --user``" #: ../source/specifications/externally-managed-environments.rst:428 msgid "Calls ``sysconfig.get_preferred_scheme('user')``." -msgstr "" +msgstr "Alvokas ``sysconfig.get_preferred_scheme('user')``." #: ../source/specifications/externally-managed-environments.rst:430 msgid "" "Finally, ``pip install --target=/some/path`` writes directly to ``/some/" "path`` without looking up any schemes." msgstr "" +"Fine, ``pip install --target=/iu/loko`` skribas rekte al ``/iu/loko`` sen " +"serĉado de ajna skemo." #: ../source/specifications/externally-managed-environments.rst:433 msgid "" @@ -15467,21 +17170,23 @@ msgstr "" #: ../source/specifications/externally-managed-environments.rst:464 msgid "Copyright" -msgstr "" +msgstr "Kopirajtoj" #: ../source/specifications/externally-managed-environments.rst:466 msgid "" "This document is placed in the public domain or under the CC0-1.0-Universal " "license, whichever is more permissive." msgstr "" +"Jen dokumento, kiu estas publika havaĵo aŭ sub la licenco CC0-1.0-Universal, " +"laŭ via prefero." #: ../source/specifications/externally-managed-environments.rst:474 msgid "June 2022: This specification was approved through :pep:`668`." -msgstr "" +msgstr "Junio 2022: Ĉi tiu specifo estis aprobita per :pep:`668`." #: ../source/specifications/index.rst:4 msgid "PyPA specifications" -msgstr "" +msgstr "PyPA-specifoj" #: ../source/specifications/index.rst:6 msgid "" @@ -15493,11 +17198,11 @@ msgstr "" #: ../source/specifications/index-hosted-attestations.rst:6 msgid "Index hosted attestations" -msgstr "" +msgstr "Indekse gastigitaj atestoj" #: ../source/specifications/index-hosted-attestations.rst:8 msgid "This specification was originally defined in :pep:`740`." -msgstr "" +msgstr "Ĉi tiu specifo estis originale difinita en :pep:`740`." #: ../source/specifications/index-hosted-attestations.rst:12 msgid "" @@ -15505,10 +17210,13 @@ msgid "" "are documented in the :ref:`simple-repository-api` under :ref:`simple-" "repository-api-base` and :ref:`json-serialization`." msgstr "" +":pep:`740` inkluzivas ŝanĝojn pri la indeksaj API-oj en HTML kaj JSON. Tiuj " +"ŝanĝoj estas priskribitaj en :ref:`simple-repository-api` sub :ref:`simple-" +"repository-api-base` kaj :ref:`json-serialization`." #: ../source/specifications/index-hosted-attestations.rst:22 msgid "Upload endpoint changes" -msgstr "" +msgstr "Ŝanĝoj pri alŝuta finpunkto" #: ../source/specifications/index-hosted-attestations.rst:26 msgid "" @@ -15518,10 +17226,8 @@ msgid "" msgstr "" #: ../source/specifications/index-hosted-attestations.rst:33 -#, fuzzy -#| msgid "A simple project" msgid "Attestation objects" -msgstr "Simpla projekto" +msgstr "Atestaj objektoj" #: ../source/specifications/index-hosted-attestations.rst:35 msgid "" @@ -15552,28 +17258,36 @@ msgid "" "Certificates are specified as X.509 certificates, and comply with the " "profile in :rfc:`5280`." msgstr "" +"Atestiloj specifiĝas kiel atestiloj X.509, kaj observas la profilon en :rfc:" +"`5280`." #: ../source/specifications/index-hosted-attestations.rst:100 msgid "" "The message signature algorithm is ECDSA, with the P-256 curve for public " "keys and SHA-256 as the cryptographic digest function." msgstr "" +"La mesaĝa subskriba algoritmo estas ECDSA, kun la kurbo P-256 por publikaj " +"ŝlosiloj kaj SHA-256 kiel la ĉifra haketaĵa funkcio." #: ../source/specifications/index-hosted-attestations.rst:103 msgid "" "Future PEPs may change this suite (and the overall shape of the attestation " "object) by selecting a new version number." msgstr "" +"Estonta PEP povos ŝanĝi tiun ĉifraron (kaj la formon de la atesta objekto) " +"elektante novan versian numeron." #: ../source/specifications/index-hosted-attestations.rst:109 msgid "Attestation statement and signature generation" -msgstr "" +msgstr "Atesta aserto kaj generado de subskribo" #: ../source/specifications/index-hosted-attestations.rst:111 msgid "" "The *attestation statement* is the actual claim that is cryptographically " "signed over within the attestation object (i.e., the ``envelope.statement``)." msgstr "" +"La *atesta aserto* estas la fakta aserto ĉifre subskribita per la atesta " +"objekto (``envelope.statement``)." #: ../source/specifications/index-hosted-attestations.rst:114 msgid "" @@ -15582,16 +17296,22 @@ msgid "" "md>`__, in JSON form. When serialized the statement is treated as an opaque " "binary blob, avoiding the need for canonicalization." msgstr "" +"La atesta aserto estas kodita kiel `entuta aserta objekto de versio 1 " +"`__, en formo JSON. Dum seriigo, la aserto estas pritraktata kiel opaka " +"duumaĵo, sen bezono de kanonigo." #: ../source/specifications/index-hosted-attestations.rst:119 msgid "" "In addition to being a v1 in-toto Statement, the attestation statement is " "constrained in the following ways:" msgstr "" +"Aldone al la limigoj pri entuta aserto de versio 1, la atesta aserto estas " +"limigita jene:" #: ../source/specifications/index-hosted-attestations.rst:122 msgid "The in-toto ``subject`` **MUST** contain only a single subject." -msgstr "" +msgstr "La entuta ``subject`` **DEVAS** enhavi nur unu temon." #: ../source/specifications/index-hosted-attestations.rst:123 msgid "" @@ -15599,6 +17319,9 @@ msgid "" "valid :ref:`source distribution ` or :ref:`wheel " "distribution ` filename." msgstr "" +"``subject[0].name`` estas la dosiernomo de la distribuo, kiu **DEVAS** esti " +"valida dosiernomo por :ref:`fonta distribuo ` " +"or :ref:`wheel-distribuo `." #: ../source/specifications/index-hosted-attestations.rst:126 msgid "" @@ -15606,22 +17329,28 @@ msgid "" "**MAY** be present. The digests **MUST** be represented as hexadecimal " "strings." msgstr "" +"``subject[0].digest`` **DEVAS** enhavi SHA-256-haketaĵon. Aliaj haketaĵoj " +"**POVAS** ankaŭ ĉeesti. La haketaĵoj **DEVAS** esti deksesumaj signoĉenoj." #: ../source/specifications/index-hosted-attestations.rst:128 msgid "The following ``predicateType`` values are supported:" -msgstr "" +msgstr "La jenaj valoroj de ``predicateType`` estas subtenataj:" #: ../source/specifications/index-hosted-attestations.rst:130 msgid "" "`SLSA Provenance `__: ``https://slsa.dev/" "provenance/v1``" msgstr "" +"`SLSA Provenance `__: ``https://slsa.dev/" +"provenance/v1``" #: ../source/specifications/index-hosted-attestations.rst:131 msgid "" "`PyPI Publish Attestation `__: ``https://docs.pypi.org/attestations/publish/v1``" msgstr "" +"`PyPI Publish Attestation `__: ``https://docs.pypi.org/attestations/publish/v1``" #: ../source/specifications/index-hosted-attestations.rst:133 msgid "" @@ -15631,10 +17360,15 @@ msgid "" "and a ``PAYLOAD_BODY`` of the JSON-encoded statement above. No other " "``PAYLOAD_TYPE`` is permitted." msgstr "" +"La signaturo pri tiu aserto estas konstruita per `la subskriba protokolo " +"DSSE v1 `__, kun ``PAYLOAD_TYPE`` de ``application/vnd.in-toto+json`` kaj " +"``PAYLOAD_BODY`` de la JSON-kodita aserto ĉi-supra. Nenia " +"alia``PAYLOAD_TYPE`` estas permesata." #: ../source/specifications/index-hosted-attestations.rst:141 msgid "Provenance objects" -msgstr "" +msgstr "Originpruvaj objektoj" #: ../source/specifications/index-hosted-attestations.rst:143 msgid "" @@ -15650,13 +17384,15 @@ msgstr "" #: ../source/specifications/index-hosted-attestations.rst:169 msgid "or, as pseudocode:" -msgstr "" +msgstr "aŭ, kiel pseŭdokodo:" #: ../source/specifications/index-hosted-attestations.rst:217 msgid "" "``version`` is ``1``. Like attestation objects, provenance objects are " "versioned, and this PEP only defines version ``1``." msgstr "" +"``version`` estas ``1``. Kiel atestaj objektoj, originpruvaj objektoj havas " +"versiojn, kaj ĉi tiu PEP nur difinas la version ``1``." #: ../source/specifications/index-hosted-attestations.rst:219 msgid "" @@ -15677,6 +17413,8 @@ msgid "" "A ``kind`` key, which **MUST** be a JSON string that uniquely identifies the " "kind of Trusted Publisher." msgstr "" +"Ŝlosilo ``kind``, kiu **DEVAS** esti JSON-signoĉeno unike identigantan la " +"specon de Fidata Eldonanto." #: ../source/specifications/index-hosted-attestations.rst:230 msgid "" @@ -15684,10 +17422,14 @@ msgid "" "specific claims retained by the index during Trusted Publisher " "authentication." msgstr "" +"Ŝlosilo ``claims``, kiu **DEVAS** esti JSON-objekto enhavanta ajnajn " +"kunteksto-specifajn asertojn retenatajn de la indekso dum aŭtentikigo per " +"Fidata Eldonanto." #: ../source/specifications/index-hosted-attestations.rst:233 msgid "All other keys in the publisher object are publisher-specific." msgstr "" +"Ĉiuj aliaj ŝlosiloj en la objekto publisher estas specifaj al la eldonanto." #: ../source/specifications/index-hosted-attestations.rst:235 msgid "" @@ -15699,13 +17441,15 @@ msgstr "" #: ../source/specifications/index-hosted-attestations.rst:243 msgid "Changes to provenance objects" -msgstr "" +msgstr "Ŝanĝoj al originpruvaj objektoj" #: ../source/specifications/index-hosted-attestations.rst:245 msgid "" "Provenance objects are *not* immutable, and may change over time. Reasons " "for changes to the provenance object include but are not limited to:" msgstr "" +"Originpruvaj objektoj *ne* estas neŝanĝeblaj kaj povas ŝanĝiĝi dum tempo. " +"Jen neplena listo de kialoj por ŝanĝi originpruvajn objektojn:" #: ../source/specifications/index-hosted-attestations.rst:248 msgid "" @@ -15725,17 +17469,21 @@ msgstr "" #: ../source/specifications/index-hosted-attestations.rst:262 msgid "Attestation verification" -msgstr "" +msgstr "Konfirmado de atestado" #: ../source/specifications/index-hosted-attestations.rst:264 msgid "" "Verifying an attestation object against a distribution file requires " "verification of each of the following:" msgstr "" +"Konfirmi atestan objekton pri distribua dosiero postulas konfirmadon de ĉiuj " +"el la jeno:" #: ../source/specifications/index-hosted-attestations.rst:267 msgid "``version`` is ``1``. The verifier **MUST** reject any other version." msgstr "" +"``version`` estas ``1``. La konfirmilo **DEVAS** malakcepti ajnan alian " +"version." #: ../source/specifications/index-hosted-attestations.rst:268 msgid "" @@ -15750,6 +17498,8 @@ msgid "" "subject, such as the machine identity of the Trusted Publisher that " "published the package." msgstr "" +"``verification_material.certificate`` identigas taŭgan subskriban temon kiel " +"la maŝinan identecon de la Fidata Eldonanto eldoninta la pakon." #: ../source/specifications/index-hosted-attestations.rst:274 msgid "" @@ -15767,6 +17517,10 @@ msgid "" "the `v1 DSSE signature protocol `__." msgstr "" +"``envelope.signature`` estas valida subskribo por ``envelope.statement`` " +"respondanta al ``verification_material.certificate`` laŭ la `subskriba " +"protokolo v1 DSSE `__." #: ../source/specifications/index-hosted-attestations.rst:284 msgid "" @@ -15780,7 +17534,7 @@ msgstr "" #: ../source/specifications/index-hosted-attestations.rst:293 msgid "Appendix: Data models for Transparency Log Entries" -msgstr "" +msgstr "Apendico: Datenmodeloj por Eroj en Travidebleco-Protokolo" #: ../source/specifications/index-hosted-attestations.rst:295 msgid "" @@ -15790,10 +17544,8 @@ msgid "" msgstr "" #: ../source/specifications/inline-script-metadata.rst:5 -#, fuzzy -#| msgid "Configuring metadata" msgid "Inline script metadata" -msgstr "Agordi metadatenojn" +msgstr "Enkorpigitaj programetaj metadatenoj" #: ../source/specifications/inline-script-metadata.rst:7 msgid "" @@ -15801,12 +17553,17 @@ msgid "" "file Python scripts to assist launchers, IDEs and other external tools which " "may need to interact with such scripts." msgstr "" +"Jen specifo difinanta metadatenan formon enkorpigeblan en unudosiera Python-" +"programo por helpi lanĉilojn, programadajn mediojn kaj aliajn eksterajn " +"ilojn, kiuj interagas kun tiaj programoj." #: ../source/specifications/inline-script-metadata.rst:15 msgid "" "This specification defines a metadata comment block format (loosely inspired " "by `reStructuredText Directives`__)." msgstr "" +"Jen specifo difinanta metadatenan komentan blokan formon (parte inspirita de " +"`direktivo de reStructuredText `__)." #: ../source/specifications/inline-script-metadata.rst:20 msgid "" @@ -15818,6 +17575,13 @@ msgid "" "followed by a single space, followed by three forward slashes. The ``TYPE`` " "MUST only consist of ASCII letters, numbers and hyphens." msgstr "" +"Ajna Python-programo povas havi supranivelajn komentajn blokojn, kiuj DEVAS " +"komenciĝi per la linio ``# /// TIPO``, en kiu ``TIPO`` determinas kiel " +"pritrakti la enhavon. Alivore: unu ``#``, sekvita de unu spaceto, sekvita de " +"tri suprenstrekoj, sekvita de unu spaceto, sekvita de la tipo de " +"metadatenoj. Bloko DEVAS finiĝi per la linio ``# ///``. Alivorte: unu ``#``, " +"sekvita de unu spaceto, sekvita de tri suprenstrekoj. La ``TIPO`` DEVAS nur " +"konsisti el Askiaj literoj, ciferoj kaj streketoj." #: ../source/specifications/inline-script-metadata.rst:28 msgid "" @@ -15848,6 +17612,8 @@ msgid "" "When there are multiple comment blocks of the same ``TYPE`` defined, tools " "MUST produce an error." msgstr "" +"Se ekzistas pluraj komentaj blokoj de la sama ``TYPE``, ilo DEVAS sciigi pri " +"eraro." #: ../source/specifications/inline-script-metadata.rst:57 msgid "" @@ -15861,34 +17627,43 @@ msgid "" "This is the canonical regular expression that MAY be used to parse the " "metadata:" msgstr "" +"Jen la kanona regula esprimo, kiun oni POVAS uzi por sintakse analizi la " +"metadatenojn:" #: ../source/specifications/inline-script-metadata.rst:67 msgid "" "In circumstances where there is a discrepancy between the text specification " "and the regular expression, the text specification takes precedence." msgstr "" +"En cirkonstancoj kie ekzistas diferenco inter la teksta specifo kaj la " +"regula esprimo, la teksta specifo havas prioritaton." #: ../source/specifications/inline-script-metadata.rst:70 msgid "" "Tools MUST NOT read from metadata blocks with types that have not been " "standardized by this specification." msgstr "" +"Ilo DEVAS NE legi el metadatena bloko de tipo ne normigita de ĉi tiu specifo." #: ../source/specifications/inline-script-metadata.rst:74 msgid "script type" -msgstr "" +msgstr "Tipo ``script``" #: ../source/specifications/inline-script-metadata.rst:76 msgid "" "The first type of metadata block is named ``script``, which contains script " "metadata (dependency data and tool configuration)." msgstr "" +"La unua tipo de metadatena bloko nomiĝas ``script``, kiu enhavas la " +"programetajn metadatenojn (datenojn pri dependeco kaj agordoj de iloj)." #: ../source/specifications/inline-script-metadata.rst:79 msgid "" "This document MAY include the top-level fields ``dependencies`` and " "``requires-python``, and MAY optionally include a ``[tool]`` table." msgstr "" +"Tiu dokumento POVAS inkluzivi la supranivelajn kampojn ``dependencies`` kaj " +"``requires-python``, kaj POVAS nedevige inkluzivi tabelon ``[tool]``." #: ../source/specifications/inline-script-metadata.rst:82 msgid "" @@ -15896,10 +17671,13 @@ msgid "" "configure behavior. It has the same semantics as the :ref:`[tool] table in " "pyproject.toml `." msgstr "" +"La ``[tool`` POVAS esti uzata de ajna ilo, programrulilo aŭ ne, por agordi " +"konduton. Ĝia semantiko estas sama kiel :ref:`la tabelo [tool] en pyproject." +"toml `." #: ../source/specifications/inline-script-metadata.rst:86 msgid "The top-level fields are:" -msgstr "" +msgstr "Jen la supranivelaj kampoj:" #: ../source/specifications/inline-script-metadata.rst:88 msgid "" @@ -15907,6 +17685,9 @@ msgid "" "of the script. Each entry MUST be a valid :ref:`dependency specifier " "`." msgstr "" +"``dependencies`` : Listo de signoĉenoj specifantaj la rultempajn dependecojn " +"de la programo. Ĉiu ero DEVAS esti valida :ref:`dependeco-specifilo " +"`." #: ../source/specifications/inline-script-metadata.rst:91 msgid "" @@ -15923,25 +17704,18 @@ msgid "" msgstr "" #: ../source/specifications/inline-script-metadata.rst:100 -#, fuzzy msgid "Example" -msgstr "Ekzemploj" +msgstr "Ekzemplo" #: ../source/specifications/inline-script-metadata.rst:102 msgid "The following is an example of a script with embedded metadata:" -msgstr "" - -#: ../source/specifications/inline-script-metadata.rst:123 -#, fuzzy -#| msgid "Documentation types" -msgid "Reference Implementation" -msgstr "Tipoj de dokumentaro" +msgstr "Jen ekzemplo de programeto kun enkorpigitaj metadatenoj:" #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " "higher." -msgstr "" +msgstr "Jen ekzemplo de kiel legi la metadatenojn sur Python 3.11 aŭ pli nova." #: ../source/specifications/inline-script-metadata.rst:151 msgid "" @@ -15961,14 +17735,12 @@ msgstr "" msgid "" "The following is an example of how to read a stream of arbitrary metadata " "blocks." -msgstr "" +msgstr "Jen ekzemplo de kiel legi fluon da arbitraj metadatenaj blokoj." #: ../source/specifications/inline-script-metadata.rst:205 #: ../source/specifications/simple-repository-api.rst:829 -#, fuzzy -#| msgid "Creating pyproject.toml" msgid "Recommendations" -msgstr "Krei la dosieron pyproject.toml" +msgstr "Rekomendoj" #: ../source/specifications/inline-script-metadata.rst:207 msgid "" @@ -15981,7 +17753,7 @@ msgstr "" msgid "" "October 2023: This specification was conditionally approved through :pep:" "`723`." -msgstr "" +msgstr "Oktobro 2023: Ĉi tiu specifo estis kondiĉe aprobita per :pep:`723`." #: ../source/specifications/inline-script-metadata.rst:216 msgid "" @@ -15990,11 +17762,14 @@ msgid "" "making the ``dependencies`` and ``requires-python`` keys top-level. " "Additionally, the specification is no longer provisional." msgstr "" +"Januaro 2024: Per ŝanĝoj al :pep:`723`, la nomo de la metadatena bloko " +"``pyproject `` ŝanĝiĝis al ``script``, kaj la tabelo ``[run]`` estis " +"forigita, estigante la ŝlosilojn ``dependencies`` kaj ``requires-python`` " +"supranivelaj. Cetere, la specifo ne plu estas provizora." #: ../source/specifications/name-normalization.rst:3 -#, fuzzy msgid "Names and normalization" -msgstr "Versio de pako" +msgstr "Nomoj kaj normigo" #: ../source/specifications/name-normalization.rst:5 msgid "" @@ -16005,7 +17780,7 @@ msgstr "" #: ../source/specifications/name-normalization.rst:13 msgid "Name format" -msgstr "" +msgstr "Nomformo" #: ../source/specifications/name-normalization.rst:15 msgid "" @@ -16016,9 +17791,8 @@ msgid "" msgstr "" #: ../source/specifications/name-normalization.rst:26 -#, fuzzy msgid "Name normalization" -msgstr "Versio de pako" +msgstr "Normigo de nomo" #: ../source/specifications/name-normalization.rst:28 msgid "" @@ -16029,52 +17803,56 @@ msgstr "" #: ../source/specifications/name-normalization.rst:39 msgid "This means that the following names are all equivalent:" -msgstr "" +msgstr "Tio signifas, ke la jenajn nomoj estas ĉiuj ekvivalentaj:" #: ../source/specifications/name-normalization.rst:41 msgid "``friendly-bard`` (normalized form)" -msgstr "" +msgstr "``afabla-bardo'' (normigita formo)" #: ../source/specifications/name-normalization.rst:42 msgid "``Friendly-Bard``" -msgstr "" +msgstr "``Afabla-Bardo``" #: ../source/specifications/name-normalization.rst:43 msgid "``FRIENDLY-BARD``" -msgstr "" +msgstr "``AFABLA-BARDO``" #: ../source/specifications/name-normalization.rst:44 msgid "``friendly.bard``" -msgstr "" +msgstr "``afabla.bardo``" #: ../source/specifications/name-normalization.rst:45 msgid "``friendly_bard``" -msgstr "" +msgstr "``afabla_bardo``" #: ../source/specifications/name-normalization.rst:46 msgid "``friendly--bard``" -msgstr "" +msgstr "``afabla--bardo``" #: ../source/specifications/name-normalization.rst:47 msgid "" "``FrIeNdLy-._.-bArD`` (a *terrible* way to write a name, but it is valid)" -msgstr "" +msgstr "``AfAbLa-._.-bArDo`` (*aĉa* maniero skribi nomon, sed valida)" #: ../source/specifications/name-normalization.rst:52 msgid "" "September 2015: The specification of name normalized was approved through :" "pep:`503 <503#normalized-names>`." msgstr "" +"Septembro 2015: La specifo de normigo de nomoj estis aprobita per :pep:`503 " +"<503#normalized-names>`." #: ../source/specifications/name-normalization.rst:54 msgid "" "November 2015: The specification of valid names was approved through :pep:" "`508 <508#names>`." msgstr "" +"Novembro 2015: La specifo de validaj nomoj estis aprobita per :pep:`508 " +"<508#names>`." #: ../source/specifications/platform-compatibility-tags.rst:6 msgid "Platform compatibility tags" -msgstr "" +msgstr "Platformo-kongruecaj etikedoj" #: ../source/specifications/platform-compatibility-tags.rst:8 msgid "" @@ -16085,30 +17863,31 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:16 msgid "The tag format is ``{python tag}-{abi tag}-{platform tag}``." -msgstr "" +msgstr "La etikeda formo estas ``{python tag}-{abi tag}-{platform tag}``." #: ../source/specifications/platform-compatibility-tags.rst:18 -#, fuzzy msgid "python tag" -msgstr "python" +msgstr "python etikedo" #: ../source/specifications/platform-compatibility-tags.rst:19 msgid "'py27', 'cp33'" -msgstr "" +msgstr "«py27», «cp33»" #: ../source/specifications/platform-compatibility-tags.rst:21 msgid "'cp32dmu', 'none'" -msgstr "" +msgstr "«cp32dmu», «none»" #: ../source/specifications/platform-compatibility-tags.rst:23 msgid "'linux_x86_64', 'any'" -msgstr "" +msgstr "«linux_x86_64», «any»" #: ../source/specifications/platform-compatibility-tags.rst:25 msgid "" "For example, the tag ``py27-none-any`` indicates compatibility with Python " "2.7 (any Python 2.7 implementation) with no abi requirement, on any platform." msgstr "" +"Ekzemple, la etikedo ``py27-none-any`` signifas kongruecon kun Python 2.7 " +"(ajna realigo de Python 2.7) sen postuloj pri ABI, sur ajna platformo." #: ../source/specifications/platform-compatibility-tags.rst:28 msgid "" @@ -16119,47 +17898,47 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:33 msgid "Any potential spaces in any tag should be replaced with ``_``." -msgstr "" +msgstr "Ajna ebla spaco en ajna etikedo estu anstataŭigita per ``_``." #: ../source/specifications/platform-compatibility-tags.rst:37 -#, fuzzy msgid "Python Tag" -msgstr "python" +msgstr "Python-Etikedo" #: ../source/specifications/platform-compatibility-tags.rst:39 msgid "" "The Python tag indicates the implementation and version required by a " "distribution. Major implementations have abbreviated codes, initially:" msgstr "" +"La Python-etikedo indikas la realigon kaj version postulatajn de distribuo. " +"Ĉefaj realigoj havas mallongajn kodojn, komence:" #: ../source/specifications/platform-compatibility-tags.rst:42 msgid "py: Generic Python (does not require implementation-specific features)" -msgstr "" +msgstr "py: Ĝenerala Python (ne postulas funkciojn de specifaj realigoj)" #: ../source/specifications/platform-compatibility-tags.rst:43 -#, fuzzy msgid "cp: CPython" -msgstr "python" +msgstr "cp: CPython" #: ../source/specifications/platform-compatibility-tags.rst:44 -#, fuzzy msgid "ip: IronPython" -msgstr "python" +msgstr "ip: IronPython" #: ../source/specifications/platform-compatibility-tags.rst:45 msgid "pp: PyPy" -msgstr "" +msgstr "pp: PyPy" #: ../source/specifications/platform-compatibility-tags.rst:46 -#, fuzzy msgid "jy: Jython" -msgstr "python" +msgstr "jy: Jython" #: ../source/specifications/platform-compatibility-tags.rst:48 msgid "" "Other Python implementations should use :py:data:`sys.implementation.name " "`." msgstr "" +"Aliaj realigoj de Python uzu :py:data:`sys.implementation.name `." #: ../source/specifications/platform-compatibility-tags.rst:50 msgid "" @@ -16167,12 +17946,17 @@ msgid "" "one is needed the underscore ``_`` is used instead. PyPy should probably " "use its own versions here ``pp18``, ``pp19``." msgstr "" +"La versio estas ``py_version_nodot``. CPython povas uzi senpunktan version, " +"sed se disigilo necesas, oni uzas ``_`` anstataŭe. PyPy uzu siajn proprajn " +"versiojn kiel ``pp18``, ``pp19``." #: ../source/specifications/platform-compatibility-tags.rst:54 msgid "" "The version can be just the major version ``2`` or ``3`` ``py2``, ``py3`` " "for many pure-Python distributions." msgstr "" +"La versio povas esti simple la maĵoran version ``2`` aŭ ``3`` ``py2``, " +"``py3`` por multaj pure Python-aj distribuoj." #: ../source/specifications/platform-compatibility-tags.rst:57 msgid "" @@ -16186,10 +17970,13 @@ msgid "" "A single-source Python 2/3 compatible distribution can use the compound tag " "``py2.py3``. See `Compressed Tag Sets`_, below." msgstr "" +"Unufonta distribuo kongrua kun Python 2 kaj 3 povas uzi la kombinitan " +"etikedon ``py2.py3``. Vidu `Densigitajn Etikedarojn `_ " +"ĉi-sube." #: ../source/specifications/platform-compatibility-tags.rst:66 msgid "ABI Tag" -msgstr "" +msgstr "ABI-Etikedo" #: ../source/specifications/platform-compatibility-tags.rst:68 msgid "" @@ -16202,6 +17989,8 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:73 msgid "The CPython stable ABI is ``abi3`` as in the shared library suffix." msgstr "" +"La stabila ABI de CPython estas ``abi3`` kiel la sufikso de la komuna " +"biblioteko." #: ../source/specifications/platform-compatibility-tags.rst:75 msgid "" @@ -16214,11 +18003,11 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:83 msgid "Platform Tag" -msgstr "" +msgstr "Platformo-Etikedo" #: ../source/specifications/platform-compatibility-tags.rst:86 msgid "Basic platform tags" -msgstr "" +msgstr "Bazaj platformaj etikedoj" #: ../source/specifications/platform-compatibility-tags.rst:88 msgid "" @@ -16227,23 +18016,26 @@ msgid "" "underscore ``_``. Until the removal of :ref:`distutils` in Python 3.12, this " "was ``distutils.util.get_platform()``. For example:" msgstr "" +"En ĝia plej simpla formo, la platformo-etikedo estas :py:func:`sysconfig." +"get_platform()` kun ĉiuj streketoj ``-`` kaj punktoj ``.`` anstataŭigitaj " +"per substrekoj ``_``. Ĝis la forigo de :ref:`distutils` en Python 3.12, tiu " +"estis ``distutils.util.get_platform()``. Ekzemple:" #: ../source/specifications/platform-compatibility-tags.rst:93 msgid "win32" -msgstr "" +msgstr "win32" #: ../source/specifications/platform-compatibility-tags.rst:94 msgid "linux_i386" -msgstr "" +msgstr "linux_i386" #: ../source/specifications/platform-compatibility-tags.rst:95 msgid "linux_x86_64" -msgstr "" +msgstr "linux_x86_64" #: ../source/specifications/platform-compatibility-tags.rst:101 -#, fuzzy msgid "``manylinux``" -msgstr "Prizorganto" +msgstr "``manylinux``" #: ../source/specifications/platform-compatibility-tags.rst:103 msgid "" @@ -16273,22 +18065,25 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:118 msgid "" "The following older tags are still supported for backward compatibility:" -msgstr "" +msgstr "Jen malnovaj etikedoj ankoraŭ subtenataj por retrokongrueco:" #: ../source/specifications/platform-compatibility-tags.rst:120 msgid "" "``manylinux1`` supports glibc 2.5 on ``x86_64`` and ``i686`` architectures." msgstr "" +"``manylinux1`` subtenas glibc 2.5 ĉe la arĥitekturoj ``x86_64`` kaj ``i686``." #: ../source/specifications/platform-compatibility-tags.rst:121 msgid "``manylinux2010`` supports glibc 2.12 on ``x86_64`` and ``i686``." -msgstr "" +msgstr "``manylinux2010`` subtenas glibc 2.12 ĉe ``x86_64`` kaj ``i686``." #: ../source/specifications/platform-compatibility-tags.rst:122 msgid "" "``manylinux2014`` supports glibc 2.17 on ``x86_64``, ``i686``, ``aarch64``, " "``armv7l``, ``ppc64``, ``ppc64le``, and ``s390x``." msgstr "" +"``manylinux2014`` subtenas glibc 2.17 ĉe ``x86_64``, ``i686``, ``aarch64``, " +"``armv7l``, ``ppc64``, ``ppc64le``, kaj ``s390x``." #: ../source/specifications/platform-compatibility-tags.rst:125 msgid "" @@ -16312,71 +18107,72 @@ msgid "" "The following table shows the minimum versions of relevant projects to " "support the various ``manylinux`` standards:" msgstr "" +"Jen tabelo pri la minimumaj versioj de rilataj projektoj subtenantaj la " +"diversajn normojn ``manylinux``:" #: ../source/specifications/platform-compatibility-tags.rst:140 msgid "Tool" -msgstr "" +msgstr "Ilo" #: ../source/specifications/platform-compatibility-tags.rst:140 msgid "``manylinux1``" -msgstr "" +msgstr "``manylinux1``" #: ../source/specifications/platform-compatibility-tags.rst:140 msgid "``manylinux2010``" -msgstr "" +msgstr "``manylinux2010``" #: ../source/specifications/platform-compatibility-tags.rst:140 msgid "``manylinux2014``" -msgstr "" +msgstr "``manylinux2014``" #: ../source/specifications/platform-compatibility-tags.rst:140 msgid "``manylinux_x_y``" -msgstr "" +msgstr "``manylinux_x_y``" #: ../source/specifications/platform-compatibility-tags.rst:142 msgid "``>=8.1.0``" -msgstr "" +msgstr "``>=8.1.0``" #: ../source/specifications/platform-compatibility-tags.rst:142 msgid "``>=19.0``" -msgstr "" +msgstr "``>=19.0``" #: ../source/specifications/platform-compatibility-tags.rst:142 msgid "``>=19.3``" -msgstr "" +msgstr "``>=19.3``" #: ../source/specifications/platform-compatibility-tags.rst:142 msgid "``>=20.3``" -msgstr "" +msgstr "``>=20.3``" #: ../source/specifications/platform-compatibility-tags.rst:143 msgid "auditwheel" -msgstr "" +msgstr "auditwheel" #: ../source/specifications/platform-compatibility-tags.rst:143 msgid "``>=1.0.0``" -msgstr "" +msgstr "``>=1.0.0``" #: ../source/specifications/platform-compatibility-tags.rst:143 msgid "``>=2.0.0``" -msgstr "" +msgstr "``>=2.0.0``" #: ../source/specifications/platform-compatibility-tags.rst:143 msgid "``>=3.0.0``" -msgstr "" +msgstr "``>=3.0.0``" #: ../source/specifications/platform-compatibility-tags.rst:143 msgid "``>=3.3.0`` [#]_" -msgstr "" +msgstr "``>=3.3.0`` [#]_" #: ../source/specifications/platform-compatibility-tags.rst:146 msgid "Only support for ``manylinux_2_24`` has been added in auditwheel 3.3.0" -msgstr "" +msgstr "Nur subteno pri ``manylinux_2_24`` estis aldonita al auditwheel 3.3.0" #: ../source/specifications/platform-compatibility-tags.rst:150 -#, fuzzy msgid "``musllinux``" -msgstr "Prizorganto" +msgstr "``musllinux``" #: ../source/specifications/platform-compatibility-tags.rst:152 msgid "" @@ -16403,7 +18199,7 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:194 msgid "Use" -msgstr "" +msgstr "Uzado" #: ../source/specifications/platform-compatibility-tags.rst:196 msgid "" @@ -16442,59 +18238,59 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:220 msgid "cp33-cp33m-linux_x86_64" -msgstr "" +msgstr "cp33-cp33m-linux_x86_64" #: ../source/specifications/platform-compatibility-tags.rst:221 msgid "cp33-abi3-linux_x86_64" -msgstr "" +msgstr "cp33-abi3-linux_x86_64" #: ../source/specifications/platform-compatibility-tags.rst:222 msgid "cp3-abi3-linux_x86_64" -msgstr "" +msgstr "cp3-abi3-linux_x86_64" #: ../source/specifications/platform-compatibility-tags.rst:223 msgid "cp33-none-linux_x86_64*" -msgstr "" +msgstr "cp33-none-linux_x86_64*" #: ../source/specifications/platform-compatibility-tags.rst:224 msgid "cp3-none-linux_x86_64*" -msgstr "" +msgstr "cp3-none-linux_x86_64*" #: ../source/specifications/platform-compatibility-tags.rst:225 msgid "py33-none-linux_x86_64*" -msgstr "" +msgstr "py33-none-linux_x86_64*" #: ../source/specifications/platform-compatibility-tags.rst:226 msgid "py3-none-linux_x86_64*" -msgstr "" +msgstr "py3-none-linux_x86_64*" #: ../source/specifications/platform-compatibility-tags.rst:227 msgid "cp33-none-any" -msgstr "" +msgstr "cp33-none-any" #: ../source/specifications/platform-compatibility-tags.rst:228 msgid "cp3-none-any" -msgstr "" +msgstr "cp3-none-any" #: ../source/specifications/platform-compatibility-tags.rst:229 msgid "py33-none-any" -msgstr "" +msgstr "py33-none-any" #: ../source/specifications/platform-compatibility-tags.rst:230 msgid "py3-none-any" -msgstr "" +msgstr "py3-none-any" #: ../source/specifications/platform-compatibility-tags.rst:231 msgid "py32-none-any" -msgstr "" +msgstr "py32-none-any" #: ../source/specifications/platform-compatibility-tags.rst:232 msgid "py31-none-any" -msgstr "" +msgstr "py31-none-any" #: ../source/specifications/platform-compatibility-tags.rst:233 msgid "py30-none-any" -msgstr "" +msgstr "py30-none-any" #: ../source/specifications/platform-compatibility-tags.rst:235 msgid "" @@ -16515,7 +18311,7 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:248 msgid "Compressed Tag Sets" -msgstr "" +msgstr "Densigitaj Etikedaroj" #: ../source/specifications/platform-compatibility-tags.rst:250 msgid "" @@ -16537,7 +18333,7 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:275 msgid "What tags are used by default?" -msgstr "" +msgstr "Kiuj etikedoj uziĝas implicite?" #: ../source/specifications/platform-compatibility-tags.rst:271 msgid "" @@ -16552,6 +18348,8 @@ msgid "" "What tag do I use if my distribution uses a feature exclusive to the newest " "version of Python?" msgstr "" +"Kiun etikedon mi uzu, se mia distribuo uzas funkcion nur en la nova versio " +"de Python?" #: ../source/specifications/platform-compatibility-tags.rst:278 msgid "" @@ -16563,10 +18361,17 @@ msgid "" "as a requirement for the older release ``beaglevote-1.1.0`` that does not " "use the new feature, to get a compatible build." msgstr "" +"Etikedoj pri kongrueco helpas instalilojn elekti la *plej kongruan* " +"konstruon de *unu versio* de distribuo. Ekzemple, se ne ekzistas Python-3.3-" +"kongruan konstruon de ``beaglevote-1.2.0`` (ĉar ĝi uzas funkcion nur en " +"3.4), ĝi tamen povas uzi la etikedon ``py3-none-any`` anstataŭ la etikedo " +"``py34-none-any``. Uzanto de Python 3.3 devas kombini aliajn kvalifikilojn " +"kiel postulon por la malnova eldono ``beaglevote-1.1.0`` ne uzanta la novan " +"funkcion, por akiri kongruan konstruon." #: ../source/specifications/platform-compatibility-tags.rst:290 msgid "Why isn't there a ``.`` in the Python version number?" -msgstr "" +msgstr "Kial mankas ``.`` en la versia numero de Python?" #: ../source/specifications/platform-compatibility-tags.rst:288 msgid "" @@ -16579,6 +18384,7 @@ msgstr "" msgid "" "Why normalise hyphens and other non-alphanumeric characters to underscores?" msgstr "" +"Kial normigi streketojn kaj aliajn ne literciferajn signojn al substrekoj?" #: ../source/specifications/platform-compatibility-tags.rst:293 msgid "" @@ -16590,7 +18396,7 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:305 msgid "Why not use special character rather than ``.`` or ``-``?" -msgstr "" +msgstr "Kial ne uzi iun specialan signon alian ol ``.`` aŭ ``-``?" #: ../source/specifications/platform-compatibility-tags.rst:299 msgid "" @@ -16604,7 +18410,7 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:310 msgid "Who will maintain the registry of abbreviated implementations?" -msgstr "" +msgstr "Kiu mastrumas la registron de mallongigitaj realigoj?" #: ../source/specifications/platform-compatibility-tags.rst:308 msgid "" @@ -16615,7 +18421,7 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:315 msgid "Does the compatibility tag go into METADATA or PKG-INFO?" -msgstr "" +msgstr "Ĉu la kongrueca etikedo troviĝas en METADATA aŭ PKG-INFO?" #: ../source/specifications/platform-compatibility-tags.rst:313 msgid "" @@ -16626,7 +18432,7 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:321 msgid "Why didn't you mention my favorite Python implementation?" -msgstr "" +msgstr "Kial vi ne menciis mian preferatan realigon de Python?" #: ../source/specifications/platform-compatibility-tags.rst:318 msgid "" @@ -16641,6 +18447,8 @@ msgid "" "Why is the ABI tag (the second tag) sometimes \"none\" in the reference " "implementation?" msgstr "" +"Kial la ABI-etikedo (la dua etikedo) estas kelkfoje «none» en la referenca " +"realigo?" #: ../source/specifications/platform-compatibility-tags.rst:324 msgid "" @@ -16656,32 +18464,39 @@ msgid "" "February 2013: The original version of this specification was approved " "through :pep:`425`." msgstr "" +"Februaro 2013: La originala versio de ĉi tiu specifo estis aprobita per :pep:" +"`425`." #: ../source/specifications/platform-compatibility-tags.rst:336 msgid "January 2016: The ``manylinux1`` tag was approved through :pep:`513`." -msgstr "" +msgstr "Januaro 2016: La etikedo ``manylinux1`` estis aprobita per :pep:`513`." #: ../source/specifications/platform-compatibility-tags.rst:337 msgid "April 2018: The ``manylinux2010`` tag was approved through :pep:`571`." msgstr "" +"Aprilo 2018: La etikedo ``manylinux2010`` estis aprobita per :pep:`571`." #: ../source/specifications/platform-compatibility-tags.rst:338 msgid "July 2019: The ``manylinux2014`` tag was approved through :pep:`599`." msgstr "" +"Julio 2019: La etikedo ``manylinux2014`` estis aprobita per :pep:`599`." #: ../source/specifications/platform-compatibility-tags.rst:339 msgid "" "November 2019: The ``manylinux_x_y`` perennial tag was approved through :pep:" "`600`." msgstr "" +"Novembro 2019: La ĉiama etikedo ``manylinux_x_y`` estis aprobita per :pep:" +"`600`." #: ../source/specifications/platform-compatibility-tags.rst:341 msgid "April 2021: The ``musllinux_x_y`` tag was approved through :pep:`656`." msgstr "" +"Aprilo 2021: La etikedo ``musllinux_x_y`` estis aprobita per :pep:`656`." #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" -msgstr "" +msgstr "La dosiero :file:`.pypirc`" #: ../source/specifications/pypirc.rst:8 msgid "" @@ -16693,29 +18508,31 @@ msgstr "" #: ../source/specifications/pypirc.rst:13 msgid "The format (originally defined by the :ref:`distutils` package) is:" -msgstr "" +msgstr "Jen la formo (origine difinita de la pako :ref:`distutils`):" #: ../source/specifications/pypirc.rst:32 msgid "" "The ``distutils`` section defines an ``index-servers`` field that lists the " "name of all sections describing a repository." msgstr "" +"La sekcio ``distutils`` difinas kampon ``index-servers`` listigantan la " +"nomojn de ĉiuj sekcioj priskribantaj deponejojn." #: ../source/specifications/pypirc.rst:35 msgid "Each section describing a repository defines three fields:" -msgstr "" +msgstr "Ĉiu sekcio priskribanta deponejon difinas tri kampojn:" #: ../source/specifications/pypirc.rst:37 msgid "``repository``: The URL of the repository." -msgstr "" +msgstr "``repository``: La retadreso de la deponejo." #: ../source/specifications/pypirc.rst:38 msgid "``username``: The registered username on the repository." -msgstr "" +msgstr "``username``: La registrita salutnomo ĉe la deponejo." #: ../source/specifications/pypirc.rst:39 msgid "``password``: The password that will used to authenticate the username." -msgstr "" +msgstr "``password``: La pasvorto por aŭtentikigi la salutnomon." #: ../source/specifications/pypirc.rst:43 msgid "" @@ -16729,10 +18546,12 @@ msgid "" "Otherwise, set the permissions on :file:`.pypirc` so that only you can view " "or modify it. For example, on Linux or macOS, run:" msgstr "" +"Alie, agordu la permesojn pri :file:`'.pypirc` tiel, kiel nur vi rajtas vidi " +"aŭ modifi ĝin. Ekzemple, sur Linux aŭ macOS, rulu la jenon:" #: ../source/specifications/pypirc.rst:57 msgid "Common configurations" -msgstr "" +msgstr "Oftaj agordoj" #: ../source/specifications/pypirc.rst:61 msgid "" @@ -16746,32 +18565,40 @@ msgid "" "Twine's default configuration mimics a :file:`.pypirc` with repository " "sections for PyPI and TestPyPI:" msgstr "" +"La apriora agordo de Twine imitas :file:`.pypirc` kun deponejaj sekcioj por " +"PyPI kaj Prova PyPI:" #: ../source/specifications/pypirc.rst:81 msgid "" "Twine will add additional configuration from :file:`$HOME/.pypirc`, the " "command line, and environment variables to this default configuration." msgstr "" +"Twine aldonos al la aprioraj agordoj suplementajn agordojn el :file:`$HOME/." +"pypirc`, la komanda linio kaj mediaj variabloj." #: ../source/specifications/pypirc.rst:85 msgid "Using a PyPI token" -msgstr "" +msgstr "Uzi PyPI-ĵetonon" #: ../source/specifications/pypirc.rst:87 msgid "" "To set your `API token`_ for PyPI, you can create a :file:`$HOME/.pypirc` " "similar to:" msgstr "" +"Por agordi vian `API-ĵetonon ` por PyPI, vi povas krei dosieron :" +"file:`$HOME/.pypirc` similan al la jeno:" #: ../source/specifications/pypirc.rst:96 msgid "" "For :ref:`TestPyPI `, add a ``[testpypi]`` section, using " "the API token from your TestPyPI account." msgstr "" +"Por :ref:`Prova PyPI `, aldonu sekcion ``[testpypi]`` " +"uzante la API-ĵetonon por via konto ĉe Prova PyPI." #: ../source/specifications/pypirc.rst:102 msgid "Using another package index" -msgstr "" +msgstr "Uzi alian pakindekson" #: ../source/specifications/pypirc.rst:104 msgid "" @@ -16785,28 +18612,32 @@ msgid "" "Instead of using the ``password`` field, consider saving your API tokens and " "passwords securely using `keyring`_ (which is installed by Twine):" msgstr "" +"Anstataŭ uzi la kampon ``password``, konsideru konservi viajn API-ĵetonojn " +"kaj pasvortojn sekure per `keyring`_ (kiun Twine instalas):" #: ../source/specifications/pyproject-toml.rst:6 -#, fuzzy -#| msgid "pyproject.toml" msgid "``pyproject.toml`` specification" -msgstr "pyproject.toml" +msgstr "specifo ``pyproject.toml``" #: ../source/specifications/pyproject-toml.rst:10 msgid "" "This is a **technical, formal specification**. For a gentle, user-friendly " "guide to ``pyproject.toml``, see :ref:`writing-pyproject-toml`." msgstr "" +"Jen **teĥnika formala specifo**. Por milda, facila gvidilo pri ``pyproject." +"toml``, vidu :ref:`writing-pyproject-toml`." #: ../source/specifications/pyproject-toml.rst:14 msgid "" "The ``pyproject.toml`` file acts as a configuration file for packaging-" "related tools (as well as other tools)." msgstr "" +"La dosiero ``pyproject.toml`` funkcias kiel agorda dosiero por pakado-" +"rilataj iloj (kaj aliaj iloj)." #: ../source/specifications/pyproject-toml.rst:17 msgid "This specification was originally defined in :pep:`518` and :pep:`621`." -msgstr "" +msgstr "Ĉi tiu specifo estis originale difinta en :pep:`518` kaj :pep:`621`." #: ../source/specifications/pyproject-toml.rst:19 msgid "" @@ -16816,16 +18647,23 @@ msgid "" "`. Other tables are reserved for future use (tool-" "specific configuration should use the ``[tool]`` table)." msgstr "" +"La dosierformo de la dosiero ``pyproject.toml`` estas `TOML `_. Jen la tri tabeloj specifitaj aktuale: :ref:`[build-system] " +"`, :ref:`[project] ` " +"kaj :ref:`[tool] `. Aliaj tabeloj estas rezervataj por " +"la estonteco (ilo-specifa agordo estu en la tabelo ``[tool]`` )." #: ../source/specifications/pyproject-toml.rst:29 msgid "Declaring build system dependencies: the ``[build-system]`` table" -msgstr "" +msgstr "Deklari konstrusistemaj dependecoj: la tabelo ``[build-system]``" #: ../source/specifications/pyproject-toml.rst:31 msgid "" "The ``[build-system]`` table declares any Python level dependencies that " "must be installed in order to run the project's build system successfully." msgstr "" +"La tabelo ``[build-system]`` deklaras iujn ajn Python-nivelajn dependecojn " +"instalendajn por sukcese ruli la projektan konstrusistemon." #: ../source/specifications/pyproject-toml.rst:37 msgid "" @@ -16841,12 +18679,16 @@ msgid "" "An example ``[build-system]`` table for a project built with ``setuptools`` " "is:" msgstr "" +"Jen ekzempla tabelo ``[build-system]`` por projekto konstruita per " +"``setuptools``:" #: ../source/specifications/pyproject-toml.rst:53 msgid "" "Build tools are expected to use the example configuration file above as " "their default semantics when a ``pyproject.toml`` file is not present." msgstr "" +"Konstruilo uzu la ĉi-supran ekzemplan agordan dosieron kiel la implicitan " +"semantikon, se mankas dosiero ``pyproject.toml``." #: ../source/specifications/pyproject-toml.rst:56 msgid "" @@ -16858,6 +18700,12 @@ msgid "" "specified but is missing required fields then the tool should consider it an " "error." msgstr "" +"Ilo ne postulu la ekziston de la tabelo ``[build-system]``. Dosiero " +"``pyproject.toml`` povas esti uzita por agordaj detaloj aliaj ol konstruo-" +"rilataj datenoj kaj tial ne havi tabelon ``[build-system]``. Se la dosiero " +"ekzistas sed la tabelo ``[build-system]`` mankas, do oni uzu la apriorajn " +"valorojn specifitajn ĉi-supre. Se la tabelo estas specifita sed postulitaj " +"kampoj mankas, do ilo konsideru tion kiel eraron." #: ../source/specifications/pyproject-toml.rst:65 msgid "" @@ -16868,13 +18716,15 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:103 msgid "Declaring project metadata: the ``[project]`` table" -msgstr "" +msgstr "Deklari projektajn metadatenojn: la tabelo ``[project]``" #: ../source/specifications/pyproject-toml.rst:105 msgid "" "The ``[project]`` table specifies the project's :ref:`core metadata `." msgstr "" +"La tabelo ``[project]`` specifas la :ref:`kernajn metadatenojn ` de la projekto." #: ../source/specifications/pyproject-toml.rst:107 msgid "" @@ -16891,34 +18741,38 @@ msgid "" "The lack of a ``[project]`` table implicitly means the :term:`build backend " "` will dynamically provide all keys." msgstr "" +"La manko de tabelo ``[project]`` implicas, ke la :term:`konstrua malfasado " +"` dinamike provizos ĉiujn ŝlosilojn." #: ../source/specifications/pyproject-toml.rst:118 msgid "The only keys required to be statically defined are:" -msgstr "" +msgstr "Jen tiuj ŝlosiloj, kiuj devas esti statike difinitaj:" #: ../source/specifications/pyproject-toml.rst:122 msgid "" "The keys which are required but may be specified *either* statically or " "listed as dynamic are:" -msgstr "" +msgstr "Jen la devigaj ŝlosiloj specifeblaj *aŭ* statike *aŭ* dinamike:" #: ../source/specifications/pyproject-toml.rst:127 msgid "" "All other keys are considered optional and may be specified statically, " "listed as dynamic, or left unspecified." msgstr "" +"Ĉiuj aliaj ŝlosiloj estas nedevigaj kaj povas esti specifitaj statike, " +"specifitaj dinamike, aŭ nespecifitaj." #: ../source/specifications/pyproject-toml.rst:130 msgid "The complete list of keys allowed in the ``[project]`` table are:" -msgstr "" +msgstr "Jen la plena listo de ŝlosiloj permesataj en la tabelo ``[project]``:" #: ../source/specifications/pyproject-toml.rst:132 msgid "``authors``" -msgstr "" +msgstr "``authors``" #: ../source/specifications/pyproject-toml.rst:134 msgid "``dependencies``" -msgstr "" +msgstr "``dependencies``" #: ../source/specifications/pyproject-toml.rst:136 #: ../source/specifications/pyproject-toml.rst:386 @@ -16927,22 +18781,19 @@ msgstr "``dynamic``" #: ../source/specifications/pyproject-toml.rst:137 msgid "``entry-points``" -msgstr "" +msgstr "``entry-points``" #: ../source/specifications/pyproject-toml.rst:138 -#, fuzzy msgid "``gui-scripts``" -msgstr "``description``" +msgstr "``gui-scripts``" #: ../source/specifications/pyproject-toml.rst:141 -#, fuzzy msgid "``maintainers``" -msgstr "Prizorganto" +msgstr "``maintainers``" #: ../source/specifications/pyproject-toml.rst:143 -#, fuzzy msgid "``optional-dependencies``" -msgstr "``dependencies``/``optional-dependencies``" +msgstr "``optional-dependencies``" #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:166 @@ -16956,6 +18807,8 @@ msgid "" "Corresponding :ref:`core metadata ` field: :ref:`Name `" msgstr "" +"Respondanta :ref:`kerna metadatena ` kampo: :ref:`Name `" #: ../source/specifications/pyproject-toml.rst:158 msgid "The name of the project." @@ -16966,34 +18819,44 @@ msgid "" "Tools SHOULD :ref:`normalize ` this name, as soon as it " "is read for internal consistency." msgstr "" +"Ilo :ref:`NORMIGU ` ĉi tiun nomon tuj post legado por " +"interna kohereco." #: ../source/specifications/pyproject-toml.rst:167 msgid "" "Corresponding :ref:`core metadata ` field: :ref:`Version " "`" msgstr "" +"Respondanta :ref:`kerna metadatena ` kampo: :ref:`Version " +"`" #: ../source/specifications/pyproject-toml.rst:170 msgid "" "The version of the project, as defined in the :ref:`Version specifier " "specification `." msgstr "" +"La versio de la projekto laŭ :ref:`la specifo pri versispecifiloj `." #: ../source/specifications/pyproject-toml.rst:173 msgid "Users SHOULD prefer to specify already-normalized versions." -msgstr "" +msgstr "Uzantoj *PREFERU* specifi jam normigitajn versiojn." #: ../source/specifications/pyproject-toml.rst:180 msgid "" "Corresponding :ref:`core metadata ` field: :ref:`Summary " "`" msgstr "" +"Respondanta :ref:`kerna metadatena ` kampo: :ref:`Summary " +"`" #: ../source/specifications/pyproject-toml.rst:183 msgid "" "The summary description of the project in one line. Tools MAY error if this " "includes multiple lines." msgstr "" +"La resuma priskribo pri la projekto en unu linio. Ilo POVAS sciigi eraron, " +"se ĝi inkluzivas plurajn liniojn." #: ../source/specifications/pyproject-toml.rst:190 msgid "TOML_ type: string or table" @@ -17005,10 +18868,13 @@ msgid "" "` and :ref:`Description-Content-Type `" msgstr "" +"Respondanta :ref:`kerna metadatena ` kampo: :ref:`Description " +"` kaj :ref:`Description-Content-Type `" #: ../source/specifications/pyproject-toml.rst:195 msgid "The full description of the project (i.e. the README)." -msgstr "" +msgstr "La plena priskribo de la projekto (t.e. la README)." #: ../source/specifications/pyproject-toml.rst:197 msgid "" @@ -17023,6 +18889,16 @@ msgid "" "For all unrecognized suffixes when a content-type is not provided, tools " "MUST raise an error." msgstr "" +"La ŝlosilo akceptas aŭ signoĉenon aŭ tabelon. Se ĝi estas signoĉeno, do ĝi " +"estas dosierloko relativa de ``pyproject.toml`` al teksta dosiero enhavanta " +"la plenan priskribon. Ilo DEVAS supozi, ke la dosiero estas kodita je UTF-8. " +"Se la dosierloko finiĝas per usklecoblinda sufikso ``.rst``, do ilo DEVAS " +"supozi, ke la enhavtipo estas ``text/markdown``. Se la dosierloko finiĝas " +"usklecoblinde per ``.rst``, do ilo DEVAS supozi, ke la enhavtipo estas " +"``text/x-rst``. Se ilo rekonas pli da sufiksoj ol ĉi tiu PEP, ĝi POVAS " +"inferenci la enhavtipon por la uzanto sen precizigado de tiu ŝlosilo kiel " +"``dynamic``. Por ĉia nerekonebla sufikso, kiam enhavtipo ne estas " +"disponigita, ilo DEVAS sciigi pri eraro." #: ../source/specifications/pyproject-toml.rst:208 msgid "" @@ -17050,10 +18926,12 @@ msgid "" "Corresponding :ref:`core metadata ` field: :ref:`Requires-" "Python `" msgstr "" +"Respondanta :ref:`kerna metadatena ` kampo: :ref:`Requires-" +"Python `" #: ../source/specifications/pyproject-toml.rst:233 msgid "The Python version requirements of the project." -msgstr "" +msgstr "La postuloj de la projekto pri versioj de Python." #: ../source/specifications/pyproject-toml.rst:239 msgid "TOML_ type: table" @@ -17064,6 +18942,8 @@ msgid "" "Corresponding :ref:`core metadata ` field: :ref:`License " "`" msgstr "" +"Respondanta :ref:`kerna metadatena ` kampo: :ref:`License " +"`" #: ../source/specifications/pyproject-toml.rst:243 msgid "" @@ -17077,7 +18957,7 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:254 msgid "TOML_ type: Array of inline tables with string keys and values" -msgstr "" +msgstr "Tipo de TOML_: Listo de tabeloj de signoĉenaj ŝlosiloj kaj valoroj" #: ../source/specifications/pyproject-toml.rst:255 msgid "" @@ -17086,6 +18966,10 @@ msgid "" "`Maintainer `, and :ref:`Maintainer-email `" msgstr "" +"Respondanta :ref:`kerna metadatena ` kampo: :ref:`Author " +"`, :ref:`Author-email `, :" +"ref:`Maintainer `, kaj :ref:`Maintainer-email " +"`" #: ../source/specifications/pyproject-toml.rst:261 msgid "" @@ -17099,6 +18983,8 @@ msgid "" "The \"maintainers\" key is similar to \"authors\" in that its exact meaning " "is open to interpretation." msgstr "" +"La ŝlosilo ``maintainers`` similas al ``authors``: ĝia preciza signifo " +"dependas de interpretado." #: ../source/specifications/pyproject-toml.rst:269 msgid "" @@ -17113,12 +18999,15 @@ msgstr "" msgid "" "Using the data to fill in :ref:`core metadata ` is as follows:" msgstr "" +"La datenoj respondas al :ref:`kernaj metadatenoj ` jene:" #: ../source/specifications/pyproject-toml.rst:279 msgid "" "If only ``name`` is provided, the value goes in :ref:`Author ` or :ref:`Maintainer ` as appropriate." msgstr "" +"Se nur ``name`` estas provizita, la valoro respondas al :ref:`Author ` aŭ :ref:`Maintainer ` depende." #: ../source/specifications/pyproject-toml.rst:282 msgid "" @@ -17126,6 +19015,9 @@ msgid "" "metadata-author-email>` or :ref:`Maintainer-email ` as appropriate." msgstr "" +"Se nur ``email`` estas provizita, la valoro respondas al :ref:`Author-email " +"` aŭ :ref:`Maintainer-email ` depende." #: ../source/specifications/pyproject-toml.rst:286 msgid "" @@ -17133,10 +19025,13 @@ msgid "" "email ` or :ref:`Maintainer-email ` as appropriate, with the format ``{name} <{email}>``." msgstr "" +"Se kaj ``email`` kaj ``name`` estas provizitaj, la valoroj respondas al :ref:" +"`Author-email ` aŭ :ref:`Maintainer-email ` depende, en la formo ``{name} <{email}>``." #: ../source/specifications/pyproject-toml.rst:290 msgid "Multiple values should be separated by commas." -msgstr "" +msgstr "Oni apartigu plurajn valorojn per komoj." #: ../source/specifications/pyproject-toml.rst:296 #: ../source/specifications/pyproject-toml.rst:306 @@ -17148,6 +19043,8 @@ msgid "" "Corresponding :ref:`core metadata ` field: :ref:`Keywords " "`" msgstr "" +"Respondas al la :ref:`kerna metadatena ` kampo: :ref:" +"`Keywords `" #: ../source/specifications/pyproject-toml.rst:300 msgid "The keywords for the project." @@ -17158,20 +19055,24 @@ msgid "" "Corresponding :ref:`core metadata ` field: :ref:`Classifier " "`" msgstr "" +"Respondas al la :ref:`kerna metadatena ` kampo: :ref:" +"`Classifier `" #: ../source/specifications/pyproject-toml.rst:310 msgid "Trove classifiers which apply to the project." -msgstr "" +msgstr "Klasigiloj Trove rilataj al la projekto." #: ../source/specifications/pyproject-toml.rst:316 msgid "TOML_ type: table with keys and values of strings" -msgstr "" +msgstr "Tipo de TOML_: tabelo kun ŝlosiloj kaj valoroj signoĉenaj" #: ../source/specifications/pyproject-toml.rst:317 msgid "" "Corresponding :ref:`core metadata ` field: :ref:`Project-URL " "`" msgstr "" +"Respondanta :ref:`kerna metadatena ` kampo: :ref:`Project-URL " +"`" #: ../source/specifications/pyproject-toml.rst:320 msgid "" @@ -17182,17 +19083,19 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:326 msgid "Entry points" -msgstr "" +msgstr "Enirpunktoj" #: ../source/specifications/pyproject-toml.rst:328 msgid "" "TOML_ type: table (``[project.scripts]``, ``[project.gui-scripts]``, and " "``[project.entry-points]``)" msgstr "" +"Tipo de TOML_: tabelo (``[project.scripts]``, ``[project.gui-scripts]``, kaj " +"``[project.entry-points]``)" #: ../source/specifications/pyproject-toml.rst:330 msgid ":ref:`Entry points specification `" -msgstr "" +msgstr ":ref:`Specifo pri enirpunktoj `" #: ../source/specifications/pyproject-toml.rst:332 msgid "" @@ -17208,6 +19111,9 @@ msgid "" "in the :ref:`entry points specification `. Its format is the " "same as ``[project.scripts]``." msgstr "" +"La tabelo ``[project.gui-scripts]`` respondas al la grupo ``gui_scripts`` " +"en :ref:`la specifo pri enirpunktoj `. Ĝia formo estas sama " +"kiel ``[project.scripts]``." #: ../source/specifications/pyproject-toml.rst:342 msgid "" @@ -17230,6 +19136,9 @@ msgid "" "TOML_ type: Array of :pep:`508` strings (``dependencies``), and a table with " "values of arrays of :pep:`508` strings (``optional-dependencies``)" msgstr "" +"Tipo de TOML_: Listo de signoĉenoj laŭ :pep:`508` (``dependencies``) kaj " +"tabelo de valoroj de listoj de signoĉenoj laŭ :pep:`508` (``optional-" +"dependencies``)" #: ../source/specifications/pyproject-toml.rst:361 msgid "" @@ -17237,10 +19146,13 @@ msgid "" "Dist ` and :ref:`Provides-Extra `" msgstr "" +"Respondanta :ref:`kerna metadatena ` kampo: :ref:`Requires-" +"Dist ` kaj :ref:`Provides-Extra `" #: ../source/specifications/pyproject-toml.rst:365 msgid "The (optional) dependencies of the project." -msgstr "" +msgstr "La (nedevigaj) dependecoj de la projektoj." #: ../source/specifications/pyproject-toml.rst:367 msgid "" @@ -17270,6 +19182,8 @@ msgid "" "Corresponding :ref:`core metadata ` field: :ref:`Dynamic " "`" msgstr "" +"Respondanta :ref:`kerna metadatena ` kampo: :ref:`Dynamic " +"`" #: ../source/specifications/pyproject-toml.rst:392 msgid "" @@ -17284,12 +19198,16 @@ msgid "" "A build back-end MUST honour statically-specified metadata (which means the " "metadata did not list the key in ``dynamic``)." msgstr "" +"Konstrua malfasado DEVAS observi statike specifitan metadatenon (de ŝlosilo " +"ne en ``dynamic``)." #: ../source/specifications/pyproject-toml.rst:400 msgid "" "A build back-end MUST raise an error if the metadata specifies ``name`` in " "``dynamic``." msgstr "" +"Konstrua malfasado DEVAS sciigi pri eraro, se la metadatenoj specifas " +"``name`` en ``dynamic``." #: ../source/specifications/pyproject-toml.rst:402 msgid "" @@ -17312,6 +19230,8 @@ msgid "" "Build back-ends MUST raise an error if the metadata specifies a key " "statically as well as being listed in ``dynamic``." msgstr "" +"Konstrua malfasado DEVAS sciigi pri eraro, se la metadatenoj specifas unu " +"ŝlosilon kaj statike kaj en ``dynamic``." #: ../source/specifications/pyproject-toml.rst:413 msgid "" @@ -17330,7 +19250,7 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:427 msgid "Arbitrary tool configuration: the ``[tool]`` table" -msgstr "" +msgstr "Ĉiaj ilaj agordoj: la tabelo ``[tool]``" #: ../source/specifications/pyproject-toml.rst:429 msgid "" @@ -17360,10 +19280,12 @@ msgid "" "November 2020: The specification of the ``[project]`` table was approved " "through :pep:`621`." msgstr "" +"Novembro 2020: La specifo de la tabelo ``[project]`` estis aprobita per :pep:" +"`621`." #: ../source/specifications/recording-installed-packages.rst:7 msgid "Recording installed projects" -msgstr "" +msgstr "Registri instalitajn projektojn" #: ../source/specifications/recording-installed-packages.rst:9 msgid "" @@ -17429,27 +19351,30 @@ msgid "" "This ``.dist-info`` directory may contain the following files, described in " "detail below:" msgstr "" +"Tiu dosierujo ``.dist-info`` povas enhavi la jenajn dosierojn, priskribotajn " +"ĉi-sube:" #: ../source/specifications/recording-installed-packages.rst:59 msgid "``METADATA``: contains project metadata" -msgstr "" +msgstr "``METADATA``: enhavas projektajn metadatenojn" #: ../source/specifications/recording-installed-packages.rst:60 msgid "``RECORD``: records the list of installed files." -msgstr "" +msgstr "``RECORD``: registras la liston de instalitaj dosieroj." #: ../source/specifications/recording-installed-packages.rst:61 msgid "" "``INSTALLER``: records the name of the tool used to install the project." msgstr "" +"``INSTALLER``: registras la nomon de la ilo uzita por instali la projekton." #: ../source/specifications/recording-installed-packages.rst:62 msgid "``entry_points.txt``: see :ref:`entry-points` for details" -msgstr "" +msgstr "``entry_points.txt``: vidu :ref:`entry-points` por detaloj" #: ../source/specifications/recording-installed-packages.rst:63 msgid "``direct_url.json``: see :ref:`direct-url` for details" -msgstr "" +msgstr "``direct_url.json``: vidu :ref:`direct-url` por detaloj" #: ../source/specifications/recording-installed-packages.rst:65 msgid "" @@ -17457,6 +19382,9 @@ msgid "" "installing tool's discretion. Additional installer-specific files may be " "present." msgstr "" +"La dosiero ``METADATA`` estas deviga. Ĉiuj aliaj dosieroj estas " +"preterlaseblaj laŭ la instalilo. Pliaj instalilo-specifaj dosieroj povas " +"ĉeesti." #: ../source/specifications/recording-installed-packages.rst:71 msgid "" @@ -17476,13 +19404,15 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:83 msgid "The METADATA file" -msgstr "" +msgstr "La dosiero METADATA" #: ../source/specifications/recording-installed-packages.rst:85 msgid "" "The ``METADATA`` file contains metadata as described in the :ref:`core-" "metadata` specification, version 1.1 or greater." msgstr "" +"La dosiero ``METADATA`` enhavas metadatenojn laŭ la specifo :ref:`core-" +"metadata`, versio 1.1 aŭ pli nova." #: ../source/specifications/recording-installed-packages.rst:88 msgid "" @@ -17493,37 +19423,43 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:94 msgid "The RECORD file" -msgstr "" +msgstr "La dosiero RECORD" #: ../source/specifications/recording-installed-packages.rst:96 msgid "" "The ``RECORD`` file holds the list of installed files. It is a CSV file " "containing one record (line) per installed file." msgstr "" +"La dosiero ``RECORD`` tenas la liston de instalitaj dosieroj. Ĝi estas " +"diskoma dosiero enhavanta po unu rikordo (linio) por ĉiu instalita dosiero." #: ../source/specifications/recording-installed-packages.rst:99 msgid "" "The CSV dialect must be readable with the default ``reader`` of Python's " "``csv`` module:" msgstr "" +"La dialekto de diskoma dosiero devas esti legebla per la apriora ``reader`` " +"de la modulo ``csv`` de Python:" #: ../source/specifications/recording-installed-packages.rst:102 msgid "field delimiter: ``,`` (comma)," -msgstr "" +msgstr "Disigilo de kampoj: ``,`` (komo)," #: ../source/specifications/recording-installed-packages.rst:103 msgid "quoting char: ``\"`` (straight double quote)," -msgstr "" +msgstr "Citilo: ``\"`` (neŭtra duobla citilo)," #: ../source/specifications/recording-installed-packages.rst:104 msgid "line terminator: either ``\\r\\n`` or ``\\n``." -msgstr "" +msgstr "linifino: aŭ ``\\r\\n`` aŭ ``\\n``." #: ../source/specifications/recording-installed-packages.rst:106 msgid "" "Each record is composed of three elements: the file's **path**, the **hash** " "of the contents, and its **size**." msgstr "" +"Ĉiu rikordo konsistas el tri elemento: la dosierloko (**path**), la haketaĵo " +"(**hash**) de la enhavo, kaj la grando (**size**)." #: ../source/specifications/recording-installed-packages.rst:109 msgid "" @@ -17547,6 +19483,8 @@ msgid "" "The *size* is either the empty string, or file's size in bytes, as a base 10 " "integer." msgstr "" +"La *size* estas aŭ la malplena signoĉeno aŭ la grando de la dosiero en " +"bajtoj kiel dekuma entjero." #: ../source/specifications/recording-installed-packages.rst:122 msgid "" @@ -17575,7 +19513,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:140 msgid "Here is an example snippet of a possible ``RECORD`` file::" -msgstr "" +msgstr "Jen ekzemplo de ebla dosiero ``RECORD``::" #: ../source/specifications/recording-installed-packages.rst:159 msgid "" @@ -17597,7 +19535,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:175 msgid "The INSTALLER file" -msgstr "" +msgstr "La dosiero INSTALLER" #: ../source/specifications/recording-installed-packages.rst:177 msgid "" @@ -17609,11 +19547,11 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:183 msgid "The file can be terminated by zero or more ASCII whitespace characters." -msgstr "" +msgstr "La dosiero povas finiĝi per nul aŭ pli da Askiaj blankspacaj signoj." #: ../source/specifications/recording-installed-packages.rst:185 msgid "Here are examples of two possible ``INSTALLER`` files::" -msgstr "" +msgstr "Jen ekzemploj de du eblaj dosieroj ``INSTALLER``::" #: ../source/specifications/recording-installed-packages.rst:193 msgid "" @@ -17625,7 +19563,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:200 msgid "The entry_points.txt file" -msgstr "" +msgstr "La dosiero entry_points.txt" #: ../source/specifications/recording-installed-packages.rst:202 msgid "" @@ -17637,11 +19575,11 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:207 msgid "Its detailed specification is at :ref:`entry-points`." -msgstr "" +msgstr "Ĝia detala specifo troviĝas ĉe :ref:`entry-points`." #: ../source/specifications/recording-installed-packages.rst:211 msgid "The direct_url.json file" -msgstr "" +msgstr "La dosiero direct_url.json" #: ../source/specifications/recording-installed-packages.rst:213 msgid "" @@ -17651,11 +19589,11 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:219 msgid "Its detailed specification is at :ref:`direct-url`." -msgstr "" +msgstr "La detala specifo troviĝas ĉe :ref:`direct-url`." #: ../source/specifications/recording-installed-packages.rst:223 msgid "Intentionally preventing changes to installed packages" -msgstr "" +msgstr "Intence malhelpi ŝanĝi instalitajn pakojn" #: ../source/specifications/recording-installed-packages.rst:225 msgid "" @@ -17668,7 +19606,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:231 msgid "To achieve this, affected tools should take the following steps:" -msgstr "" +msgstr "Por tio, rilataj iloj faru la jenon:" #: ../source/specifications/recording-installed-packages.rst:233 msgid "" @@ -17707,6 +19645,8 @@ msgid "" "pep:`376`. At the time, it was known as the *Database of Installed Python " "Distributions*." msgstr "" +"Junio 2009: La originala versio de ĉi tiu specifo estis aprobita per :pep:" +"`376`. Tiam, ĝi nomiĝis la *Datenbanko de Instalitaj Python-Distribuoj*." #: ../source/specifications/recording-installed-packages.rst:257 msgid "" @@ -17714,44 +19654,48 @@ msgid "" "through :pep:`610`. It is only mentioned on this page; see :ref:`direct-url` " "for the full definition." msgstr "" +"Marto 2020: La specifo de la dosiero ``direct_url.json`` estis aprobita per :" +"pep:`610`. Ĉi tiu paĝo nur mencias ĝin; vidu :ref:`direct-url` por la plena " +"difino." #: ../source/specifications/recording-installed-packages.rst:260 msgid "" "September 2020: Various amendments and clarifications were approved through :" "pep:`627`." msgstr "" +"Septembro 2020: Diversaj amendoj kaj klarigoj estis aprobitaj per :pep:`627`." #: ../source/specifications/section-distribution-formats.rst:3 msgid "Package Distribution File Formats" -msgstr "" +msgstr "Pako-Distribuaj Dosierformoj" #: ../source/specifications/section-distribution-metadata.rst:3 msgid "Package Distribution Metadata" -msgstr "" +msgstr "Pako-Distribuaj Metadatenoj" #: ../source/specifications/section-installation-metadata.rst:3 -#, fuzzy -#| msgid "Installation format" msgid "Package Installation Metadata" -msgstr "Instala dosierformo" +msgstr "Pako-Instalaj Metadatenoj" #: ../source/specifications/section-package-indices.rst:3 msgid "Package Index Interfaces" -msgstr "" +msgstr "Pakindeksaj Interfacoj" #: ../source/specifications/simple-repository-api.rst:6 msgid "Simple repository API" -msgstr "" +msgstr "Simpla deponeja API" #: ../source/specifications/simple-repository-api.rst:8 msgid "" "The interface for querying available package versions and retrieving " "packages from an index server comes in two forms: HTML and JSON." msgstr "" +"La interfaco por peti informojn pri haveblaj versioj de pakoj kaj akiri " +"pakojn el indeksa servilo havas du formojn: HTML kaj JSON." #: ../source/specifications/simple-repository-api.rst:15 msgid "Base HTML API" -msgstr "" +msgstr "Baza HTML API" #: ../source/specifications/simple-repository-api.rst:17 msgid "" @@ -17792,11 +19736,23 @@ msgid "" "the hash function (such as ``sha256``) and ```` is the hex " "encoded digest." msgstr "" +"Sub la radika URL estas alia URL por ĉiu individua projekto en deponejo. La " +"formo de ĉi tiu URL estas ``//``, en kiu la ```` estas " +"anstataŭigita de la normigita nomo de la projekto; ekzemple la URL de " +"projekto nomita «SanktaGralo» estus ``/sanktagralo/``. Ĉi tiu URL devas " +"respondi per valida HTML5-paĝo kun po unu ankra elemento por ĉiu dosiero en " +"la projekto. La href-atributo **DEVAS** esti URL, kiu ligas al la loko de la " +"dosiero por elŝuto, kaj la teksto de la ankra etikedo **DEVAS** esti la sama " +"kiel la fina komponanto (la dosiernomo) de la URL. La URL **INKLUZIVU** " +"haketaĵon en la formo de URL-fragmento de la jena sintakso: " +"``#=``, en kiu ```` estas la minuskla " +"nomo de la haketfunkcio (kiel ``sha256``) kaj ```` estas la " +"deksesume kodita haketaĵo." #: ../source/specifications/simple-repository-api.rst:53 msgid "" "In addition to the above, the following constraints are placed on the API:" -msgstr "" +msgstr "Aldone al ĉi-supro, ekzistas la jenaj limigoj pri la API:" #: ../source/specifications/simple-repository-api.rst:55 msgid "" @@ -17809,19 +19765,22 @@ msgstr "" msgid "" "URLs may be either absolute or relative as long as they point to the correct " "location." -msgstr "" +msgstr "URL povas esti aŭ absoluta aŭ relativa, se ĝi montras la ĝustan lokon." #: ../source/specifications/simple-repository-api.rst:62 msgid "" "There are no constraints on where the files must be hosted relative to the " "repository." msgstr "" +"Ekzistas nenia limigo pri kie la dosieroj ĉeestu relative al la deponejo." #: ../source/specifications/simple-repository-api.rst:65 msgid "" "There may be any other HTML elements on the API pages as long as the " "required anchor elements exist." msgstr "" +"Povas ekzisti aliaj HTML-elementoj sur la API-paĝo, se la postulataj ankraj " +"elementoj ekzistas." #: ../source/specifications/simple-repository-api.rst:68 msgid "" @@ -17869,6 +19828,8 @@ msgid "" "In the attribute value, < and > have to be HTML encoded as ``<`` and " "``>``, respectively." msgstr "" +"En la atributa valoro, < kaj > devas esti HTML-kodita kiel ``<`` and " +"``>`` respektive." #: ../source/specifications/simple-repository-api.rst:99 msgid "" @@ -17884,10 +19845,12 @@ msgid "" "The format of the linked provenance is defined in :ref:`index-hosted-" "attestations`." msgstr "" +"La formo de la ligita originpruvo estas difinita en :ref:`index-hosted-" +"attestations`." #: ../source/specifications/simple-repository-api.rst:109 msgid "Normalized Names" -msgstr "" +msgstr "Normigitaj Nomoj" #: ../source/specifications/simple-repository-api.rst:111 msgid "" @@ -17901,7 +19864,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:126 msgid "Adding \"Yank\" Support to the Simple API" -msgstr "" +msgstr "Aldoni Subtenon «Fortiri» al la Simpla API" #: ../source/specifications/simple-repository-api.rst:128 msgid "" @@ -17930,10 +19893,8 @@ msgid "" msgstr "" #: ../source/specifications/simple-repository-api.rst:147 -#, fuzzy -#| msgid "Installer" msgid "Installers" -msgstr "Instalilo" +msgstr "Instaliloj" #: ../source/specifications/simple-repository-api.rst:149 msgid "" @@ -17991,11 +19952,13 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:188 msgid "Mirrors" -msgstr "" +msgstr "Speguloj" #: ../source/specifications/simple-repository-api.rst:190 msgid "Mirrors can generally treat yanked files one of two ways:" msgstr "" +"Spegulo povas ĝenerale pritrakti fortiritajn dosierojn laŭ unu el la jenaj " +"du manieroj:" #: ../source/specifications/simple-repository-api.rst:192 msgid "" @@ -18009,16 +19972,20 @@ msgid "" "They may choose to include yanked files, and additionally mirror the ``data-" "yanked`` attribute as well." msgstr "" +"Ĝi povas inkluzivi fortiritajn dosierojn kaj ankaŭ speguli la atributon " +"``data-yanked``." #: ../source/specifications/simple-repository-api.rst:198 msgid "" "Mirrors **MUST NOT** mirror a yanked file without also mirroring the ``data-" "yanked`` attribute for it." msgstr "" +"Speguloj **DEVAS NE** speguli fortiritan dosieron sen spegulado de la " +"atributo ``data-yanked'' pri ĝi." #: ../source/specifications/simple-repository-api.rst:204 msgid "Versioning PyPI's Simple API" -msgstr "" +msgstr "Versiado de la Simpla API de PyPI" #: ../source/specifications/simple-repository-api.rst:206 msgid "" @@ -18033,11 +20000,11 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:214 msgid "This would end up looking like::" -msgstr "" +msgstr "Tio aspektus jene::" #: ../source/specifications/simple-repository-api.rst:218 msgid "When interpreting the repository version:" -msgstr "" +msgstr "Dum interpretado de la deponeja versio:" #: ../source/specifications/simple-repository-api.rst:220 msgid "" @@ -18081,10 +20048,8 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:246 #: ../source/specifications/simple-repository-api.rst:971 -#, fuzzy -#| msgid "Contents" msgid "Clients" -msgstr "Enhavoj" +msgstr "Klientoj" #: ../source/specifications/simple-repository-api.rst:248 msgid "" @@ -18098,22 +20063,28 @@ msgid "" "When encountering a major version greater than expected, clients **MUST** " "hard fail with an appropriate error message for the user." msgstr "" +"Renkontinte maĵoran version pli grandan ol la atenditan, kliento **DEVAS** " +"malsukcesi kun taŭga erarmesaĝo por la uzanto." #: ../source/specifications/simple-repository-api.rst:255 msgid "" "When encountering a minor version greater than expected, clients **SHOULD** " "warn users with an appropriate message." msgstr "" +"Renkontinte minoran version pli grandan ol la atenditan, kliento **AVERTU** " +"la uzanton kun taŭga mesaĝo." #: ../source/specifications/simple-repository-api.rst:258 msgid "" "Clients **MAY** still continue to use feature detection in order to " "determine what features a repository uses." msgstr "" +"Kliento **POVAS** daŭre uzi detektadon de funkcioj por determini la " +"funkciojn uzatajn de iu deponejo." #: ../source/specifications/simple-repository-api.rst:264 msgid "Serve Distribution Metadata in the Simple Repository API" -msgstr "" +msgstr "Servi Distribuajn Metadatenojn per la Simpla Deponeja API" #: ../source/specifications/simple-repository-api.rst:266 msgid "" @@ -18148,7 +20119,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:289 msgid "Backwards Compatibility" -msgstr "" +msgstr "Retrokongrueco" #: ../source/specifications/simple-repository-api.rst:291 msgid "" @@ -18167,7 +20138,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:304 msgid "JSON-based Simple API for Python Package Indexes" -msgstr "" +msgstr "JSON-baza Simpla API por Python-Pakindeksoj" #: ../source/specifications/simple-repository-api.rst:306 msgid "" @@ -18243,9 +20214,8 @@ msgid "" msgstr "" #: ../source/specifications/simple-repository-api.rst:360 -#, fuzzy msgid "JSON Serialization" -msgstr "Versio de pako" +msgstr "JSON-igo" #: ../source/specifications/simple-repository-api.rst:362 msgid "" @@ -18259,12 +20229,14 @@ msgid "" "The following constraints apply to all JSON serialized responses described " "in this spec:" msgstr "" +"La sekvaj limigoj validas por ĉiuj JSON-seriigitaj respondoj priskribitaj en " +"ĉi tiu specifo:" #: ../source/specifications/simple-repository-api.rst:369 msgid "" "All JSON responses will *always* be a JSON object rather than an array or " "other type." -msgstr "" +msgstr "Ĉiu JSON-respondo *ĉiam* estos JSON-objekto, ne tabelo aŭ alia tipo." #: ../source/specifications/simple-repository-api.rst:372 msgid "" @@ -18279,6 +20251,8 @@ msgid "" "Additional keys may be added to any dictionary objects in the API responses " "and clients **MUST** ignore keys that they don't understand." msgstr "" +"Ekstraj ŝlosiloj povas esti aldonitaj al iuj ajn vortaraj objektoj en la API-" +"respondoj. Kliento **DEVAS** ignori ŝlosilojn ne kompreneblajn." #: ../source/specifications/simple-repository-api.rst:380 msgid "" @@ -18300,24 +20274,28 @@ msgid "" "All requirements of :ref:`the base HTML API specification ` that are not HTML specific still apply." msgstr "" +"Ĉiuj postuloj de :ref:`la baza HTML-API-specifo ` ne specifaj al HTML estas ankoraŭ observendaj." #: ../source/specifications/simple-repository-api.rst:394 -#, fuzzy -#| msgid "Project" msgid "Project List" -msgstr "Projekto" +msgstr "Listo de Projektoj" #: ../source/specifications/simple-repository-api.rst:396 msgid "" "The root URL ``/`` for this spec (which represents the base URL) will be a " "JSON encoded dictionary which has a two keys:" msgstr "" +"La projekta radika retadreso ``/`` por ĉi tiu specifo (kiu prezentas la " +"bazan retadreson) estas JSON-kodita vortaro kun du ŝlosiloj:" #: ../source/specifications/simple-repository-api.rst:399 msgid "" "``projects``: An array where each entry is a dictionary with a single key, " "``name``, which represents string of the project name." msgstr "" +"``projects``: Listo, kies ĉiu ero estas vortaro kun ununura ŝlosilo, " +"``nomo``, kies valoro estas signoĉeno de la projekta nomo." #: ../source/specifications/simple-repository-api.rst:400 #: ../source/specifications/simple-repository-api.rst:449 @@ -18325,12 +20303,13 @@ msgid "" "``meta``: The general response metadata as `described earlier `__." msgstr "" +"``meta``: La ĝeneralaj respondaj metadatenoj laŭ `la priskribo ĉi-supra " +"`__." #: ../source/specifications/simple-repository-api.rst:402 #: ../source/specifications/simple-repository-api.rst:512 -#, fuzzy msgid "As an example:" -msgstr "Ekzemploj" +msgstr "Ekzemple:" #: ../source/specifications/simple-repository-api.rst:419 msgid "" @@ -18353,10 +20332,8 @@ msgid "" msgstr "" #: ../source/specifications/simple-repository-api.rst:438 -#, fuzzy -#| msgid "Project name" msgid "Project Detail" -msgstr "Nomo de projekto" +msgstr "Projekta Detalo" #: ../source/specifications/simple-repository-api.rst:440 msgid "" @@ -18370,29 +20347,28 @@ msgstr "" msgid "" "This URL must respond with a JSON encoded dictionary that has three keys:" msgstr "" +"Tiu URL devas respondi per JSON-kodita vortaro enhavanta tri ŝlosilojn:" #: ../source/specifications/simple-repository-api.rst:447 -#, fuzzy -#| msgid "The name of the project." msgid "``name``: The normalized name of the project." -msgstr "La nomo de la projekto." +msgstr "``name``: La normigita nomo de la projekto." #: ../source/specifications/simple-repository-api.rst:448 msgid "" "``files``: A list of dictionaries, each one representing an individual file." -msgstr "" +msgstr "``files``: Listo de vortaroj, po unu por individua dosiero." #: ../source/specifications/simple-repository-api.rst:451 msgid "Each individual file dictionary has the following keys:" -msgstr "" +msgstr "Ĉiu individua dosiera vortaro havas la jenajn ŝlosilojn:" #: ../source/specifications/simple-repository-api.rst:453 msgid "``filename``: The filename that is being represented." -msgstr "" +msgstr "``filename``: La dosiernomo prezentata." #: ../source/specifications/simple-repository-api.rst:454 msgid "``url``: The URL that the file can be fetched from." -msgstr "" +msgstr "``url``: Retadreso, ĉe kiu oni povas elŝuti la dosieron." #: ../source/specifications/simple-repository-api.rst:455 msgid "" @@ -18464,6 +20440,8 @@ msgid "" "It is recommended that servers make the hashes of the metadata file " "available if possible." msgstr "" +"Estas rekomendate, ke serviloj disponigu la haketaĵojn de la metadateno-" +"dosiero, se tio eblas." #: ../source/specifications/simple-repository-api.rst:496 msgid "" @@ -18504,10 +20482,8 @@ msgid "" msgstr "" #: ../source/specifications/simple-repository-api.rst:552 -#, fuzzy -#| msgid "Contents" msgid "Content-Types" -msgstr "Enhavoj" +msgstr "Content-Types" #: ../source/specifications/simple-repository-api.rst:554 msgid "" @@ -18519,7 +20495,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:558 msgid "The structure of this content type will be:" -msgstr "" +msgstr "La strukturo de ĉi tiu enhavtipo estos:" #: ../source/specifications/simple-repository-api.rst:564 msgid "" @@ -18531,15 +20507,15 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:569 msgid "Which means that for the existing 1.0 API, the content types would be:" -msgstr "" +msgstr "Tio signifas, ke por la ekzistanta API 1.0, la enhavtipoj estus:" #: ../source/specifications/simple-repository-api.rst:571 msgid "**JSON:** ``application/vnd.pypi.simple.v1+json``" -msgstr "" +msgstr "**JSON:** ``application/vnd.pypi.simple.v1+json``" #: ../source/specifications/simple-repository-api.rst:572 msgid "**HTML:** ``application/vnd.pypi.simple.v1+html``" -msgstr "" +msgstr "**HTML:** ``application/vnd.pypi.simple.v1+html``" #: ../source/specifications/simple-repository-api.rst:574 msgid "" @@ -18559,10 +20535,8 @@ msgid "" msgstr "" #: ../source/specifications/simple-repository-api.rst:586 -#, fuzzy -#| msgid "Version" msgid "Version + Format Selection" -msgstr "Versio" +msgstr "Elektado de Versio kaj Dosierformo" #: ../source/specifications/simple-repository-api.rst:588 msgid "" @@ -18579,18 +20553,25 @@ msgid "" "Content Negotiation `_." msgstr "" +"Por ebligi tion, ĉi tiu specifo normigas la uzadon de la `Servila Enhavo-" +"Marĉandado de HTTP `_." #: ../source/specifications/simple-repository-api.rst:596 msgid "" "While this spec won't fully describe the entirety of server-driven content " "negotiation, the flow is roughly:" msgstr "" +"Dum ĉi tiu specifo ne plene priskribas servilan enhavo-marĉandadon, la fluo " +"estas proksimume jena:" #: ../source/specifications/simple-repository-api.rst:599 msgid "" "The client makes an HTTP request containing an ``Accept`` header listing all " "of the version+format content types that they are able to understand." msgstr "" +"La kliento sendas HTTP-peton enhavantan ĉapon ``Accept`` listigantan ĉiujn " +"enhavtipojn de la formo versio+formo komprenatajn de la kliento." #: ../source/specifications/simple-repository-api.rst:601 msgid "" @@ -18598,6 +20579,9 @@ msgid "" "then returns a response using that content type (treating the absence of an " "``Accept`` header as ``Accept: */*``)." msgstr "" +"La servilo ekzamenas tiun ĉapon, elektas unu el la enhavtipoj en la listo, " +"kaj liveras respondon de tiu enhavtipo (la manko de ĉapo ``Accept`` estas " +"ekvivalenta al ``Accept: */*``)." #: ../source/specifications/simple-repository-api.rst:604 msgid "" @@ -18605,12 +20589,16 @@ msgid "" "header then they are able to choose between 3 different options for how to " "respond:" msgstr "" +"Se la servilo ne subtenas iun ajn el la enhavtipoj en la ĉapo ``Accept``, ĝi " +"povas elekti inter la jenaj tri opcioj:" #: ../source/specifications/simple-repository-api.rst:608 msgid "" "Select a default content type other than what the client has requested and " "return a response with that." msgstr "" +"Elekti aprioran enhavtipon alian ol tiujn petitajn de la kliento kaj liveri " +"tian respondon." #: ../source/specifications/simple-repository-api.rst:610 msgid "" @@ -18618,18 +20606,25 @@ msgid "" "requested content types were available, and the server was unable or " "unwilling to select a default content type to respond with." msgstr "" +"Liveri HTTP-respondon ``406 Ne Akceptebla`` por sciigi, ke neniu el la " +"petitaj enhavtipoj estis disponeblaj, kaj la servilo ne volis aŭ ne povis " +"elekti aprioran respondan enhavtipon." #: ../source/specifications/simple-repository-api.rst:613 msgid "" "Return a HTTP ``300 Multiple Choices`` response that contains a list of all " "of the possible responses that could have been chosen." msgstr "" +"Liveri HTTP-respondon ``300 Pluraj Opcioj`` enhavantan liston de ĉiuj eblaj " +"respondoj, kiujn la kliento povas elekti." #: ../source/specifications/simple-repository-api.rst:615 msgid "" "The client interprets the response, handling the different types of " "responses that the server may have responded with." msgstr "" +"La kliento interpretas la respondon, pritraktante tiujn diversajn specojn de " +"respondoj, kiujn la servilo eble sendis." #: ../source/specifications/simple-repository-api.rst:618 msgid "" @@ -18668,15 +20663,15 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:641 msgid "``$type/$subtype``" -msgstr "" +msgstr "``$tipo/$subtipo``" #: ../source/specifications/simple-repository-api.rst:642 msgid "``$type/*``" -msgstr "" +msgstr "``$tipo/*``" #: ../source/specifications/simple-repository-api.rst:643 msgid "``*/*``" -msgstr "" +msgstr "``*/*``" #: ../source/specifications/simple-repository-api.rst:645 msgid "" @@ -18726,7 +20721,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:673 msgid "An example of how a client can operate would look like:" -msgstr "" +msgstr "Jen ekzemplo de funkciado de kliento:" #: ../source/specifications/simple-repository-api.rst:724 msgid "" @@ -18737,7 +20732,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:730 msgid "Alternative Negotiation Mechanisms" -msgstr "" +msgstr "Alternativaj Traktaj Meĥanismoj" #: ../source/specifications/simple-repository-api.rst:732 msgid "" @@ -18750,7 +20745,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:740 msgid "URL Parameter" -msgstr "" +msgstr "URL-Parametro" #: ../source/specifications/simple-repository-api.rst:742 msgid "" @@ -18792,7 +20787,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:766 msgid "Endpoint Configuration" -msgstr "" +msgstr "Agordado de Finpunkto" #: ../source/specifications/simple-repository-api.rst:768 msgid "" @@ -18829,7 +20824,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:790 msgid "TUF Support - PEP 458" -msgstr "" +msgstr "Subteno de TUF – PEP 458" #: ../source/specifications/simple-repository-api.rst:792 msgid "" @@ -18909,7 +20904,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:840 msgid "It is recommended that servers:" -msgstr "" +msgstr "Ni rekomendas, ke serviloj faru la jenon:" #: ../source/specifications/simple-repository-api.rst:842 msgid "" @@ -18943,7 +20938,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:860 msgid "It is recommended that clients:" -msgstr "" +msgstr "Ni rekomendas, ke klientoj faru la jenon:" #: ../source/specifications/simple-repository-api.rst:862 msgid "" @@ -18956,6 +20951,7 @@ msgid "" "When constructing an ``Accept`` header, include all of the content types " "that you support." msgstr "" +"Dum konstruado de ĉapo ``Accept``, inkluzivu ĉiujn enhavtipojn subtenatajn." #: ../source/specifications/simple-repository-api.rst:868 msgid "" @@ -18978,16 +20974,20 @@ msgid "" "Explicitly select what versions they are looking for, rather than using the " "``latest`` meta version during normal operation." msgstr "" +"Eksplicite elektu la version serĉatan, anstataŭ uzi la metadatenan version " +"``latest``, dum ordinara funkciado." #: ../source/specifications/simple-repository-api.rst:881 msgid "" "Check the ``Content-Type`` of the response and ensure it matches something " "that you were expecting." msgstr "" +"Kontrolu la ``Content-Type`` de la respondo, kaj certigu, ke ĝi kongruas kun " +"io atendata de vi." #: ../source/specifications/simple-repository-api.rst:885 msgid "Additional Fields for the Simple API for Package Indexes" -msgstr "" +msgstr "Pliaj Kampoj por la Simpla API por Pakindeksoj" #: ../source/specifications/simple-repository-api.rst:887 msgid "" @@ -18998,17 +20998,19 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:891 msgid "The ``api-version`` must specify version 1.1 or later." -msgstr "" +msgstr "La ``api-version`` devas specifi version 1.1 aŭ pli novan." #: ../source/specifications/simple-repository-api.rst:892 msgid "A new ``versions`` key is added at the top level." -msgstr "" +msgstr "Nova ŝlosilo ``versions`` estis aldonita supranivele." #: ../source/specifications/simple-repository-api.rst:893 msgid "" "Two new \"file information\" keys, ``size`` and ``upload-time``, are added " "to the ``files`` data." msgstr "" +"Du novaj «dosierinformaj» ŝlosiloj ``size`` kaj ``upload-time`` estas " +"aldonitaj al la datenoj ``files``." #: ../source/specifications/simple-repository-api.rst:895 msgid "" @@ -19021,6 +21023,8 @@ msgid "" "The ``versions`` and ``size`` keys are mandatory. The ``upload-time`` key is " "optional." msgstr "" +"La ŝlosiloj ``versions`` kaj ``size`` estas devigaj. La ŝlosilo ``upload-" +"time`` ne estas deviga." #: ../source/specifications/simple-repository-api.rst:904 msgid "" @@ -19051,17 +21055,19 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:925 msgid "Additional file information" -msgstr "" +msgstr "Pliaj dosieraj informoj" #: ../source/specifications/simple-repository-api.rst:927 msgid "Two new keys are added to the ``files`` key." -msgstr "" +msgstr "Du novaj ŝlosiloj estas aldonitaj al la ŝlosilo ``files``." #: ../source/specifications/simple-repository-api.rst:929 msgid "" "``size``: This field is mandatory. It MUST contain an integer which is the " "file size in bytes." msgstr "" +"``size``: Ĉi tiu kampo estas deviga kaj DEVAS enhavi entjeron, kiu estas la " +"grando de la dosiero en bajtoj." #: ../source/specifications/simple-repository-api.rst:931 msgid "" @@ -19074,10 +21080,18 @@ msgid "" "record upload time information for a file, it MAY omit the ``upload-time`` " "key." msgstr "" +"``upload-time``: Ĉi tiu kampo estas nedeviga. Se ĝi ekzistas, ĝi DEVAS " +"enhavi validan datotempan signoĉenon laŭ ISO 8601 en la formo``jjjj-mm-ttThh:" +"mm:ss.ffffffZ``, kiu prezentas la tempon, kiam la dosiero estis alŝutita al " +"la indekso. Laŭ la sufikso ``Z``, la alŝuta tempo DEVAS esti la Universala " +"Kunordigita Tempo. La frakcia sekunda parto de la tempo (la parto ``." +"ffffff``) estas nedeviga kaj povas enhavi maksimume ses ciferojn. Se servilo " +"ne registras alŝutan tempon de dosiero, ĝi POVAS preterlasi la ŝlosilon " +"``upload-time``." #: ../source/specifications/simple-repository-api.rst:940 msgid "Rename dist-info-metadata in the Simple API" -msgstr "" +msgstr "Ŝanĝi la nomon dist-info-metadata en la Simpla API" #: ../source/specifications/simple-repository-api.rst:943 msgid "" @@ -19086,10 +21100,15 @@ msgid "" "\"**RECOMMENDED**\", \"**MAY**\", and \"**OPTIONAL**\"\" in this document " "are to be interpreted as described in :rfc:`RFC 2119 <2119>`." msgstr "" +"La ŝlosilvortoj **«DEVAS» (MUST, SHALL)**, **«DEVAS NE» (MUST NOT, SHALL " +"NOT)**, **«POSTULATA» (REQUIRED)**, **«-U» (SHOULD)**, **«NE -U» (SHOULD " +"NOT)**, **«REKOMENDATA» (RECOMMENDED)**, **«POVAS» (MAY)** kaj " +"**«NEDEVIGA» (OPTIONAL)**\" en ĉi tiu dokumento estas interpretataj laŭ :rfc:" +"`RFC 2119 <2119>`." #: ../source/specifications/simple-repository-api.rst:950 msgid "Servers" -msgstr "" +msgstr "Serviloj" #: ../source/specifications/simple-repository-api.rst:952 msgid "" @@ -19098,6 +21117,10 @@ msgid "" "API, **MUST** be emitted using the attribute name ``data-core-metadata``, " "with the supported values remaining the same." msgstr "" +"La metadatenoj de :ref:`la API-medateno-dosiera specifo `, se uzata en la HTML-prezento de la Simpla API, " +"**DEVAS** enhavi la atributan nomon ``data-core-metadata``, kun la " +"subtenataj valoroj restantaj same." #: ../source/specifications/simple-repository-api.rst:958 msgid "" @@ -19114,6 +21137,9 @@ msgid "" "**MAY** also be emitted using the ``data-dist-info-metadata``, and if it " "does so it **MUST** match the value of ``data-core-metadata``." msgstr "" +"Por subteni klientojn uzantajn la antaŭajn ŝlosilajn nomojn, la HTML-" +"prezento **POVAS** ankaŭ enhavi ``data-dist-info-metadata``. Se ĝi ja " +"enhavas tion, ĝi **DEVAS** kongrui kun la valoro de ``data-core-metadata``." #: ../source/specifications/simple-repository-api.rst:973 msgid "" @@ -19135,55 +21161,66 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:990 msgid "September 2015: initial form of the HTML format, in :pep:`503`" -msgstr "" +msgstr "Septembro 2015: unua versio de la HTML-formo, en :pep:`503`" #: ../source/specifications/simple-repository-api.rst:991 msgid "July 2016: Requires-Python metadata, in an update to :pep:`503`" -msgstr "" +msgstr "Julio 2016: Metadateno Requires-Python, en ĝisdatigo al :pep:`503`" #: ../source/specifications/simple-repository-api.rst:992 msgid "May 2019: \"yank\" support, in :pep:`592`" -msgstr "" +msgstr "Majo 2019: Subteno de «fortiro», en :pep:`592`" #: ../source/specifications/simple-repository-api.rst:993 msgid "" "July 2020: API versioning convention and metadata, and declaring the HTML " "format as API v1, in :pep:`629`" msgstr "" +"Julio 2020: Versia konvencio de API kaj metadatenoj, kaj deklaro de la HTML-" +"formo kiel versio 1 de la API, en :pep:`629`" #: ../source/specifications/simple-repository-api.rst:995 msgid "" "May 2021: providing package metadata independently from a package, in :pep:" "`658`" msgstr "" +"Majo 2021: provizi pakajn metadatenojn sendepende de pako, laŭ :pep:`658`" #: ../source/specifications/simple-repository-api.rst:997 msgid "" "May 2022: initial form of the JSON format, with a mechanism for clients to " "choose between them, and declaring both formats as API v1, in :pep:`691`" msgstr "" +"Majo 2022: komenca versio de la JSON-formo, kun meĥanismo por kliento elekti " +"inter ili, kaj deklaro de ambaŭ formoj kiel versio 1 de la API, en :pep:`691`" #: ../source/specifications/simple-repository-api.rst:999 msgid "" "October 2022: project versions and file size and upload-time in the JSON " "format, in :pep:`700`" msgstr "" +"Oktobro 2022: projekta versio kaj dosiera grando kaj alŝuta tempo en la " +"formo JSON laŭ :pep:`700`" #: ../source/specifications/simple-repository-api.rst:1001 msgid "" "June 2023: renaming the field which provides package metadata independently " "from a package, in :pep:`714`" msgstr "" +"Junio 2023: ŝanĝi la nomon de la kampo provizantan pakajn metadatenojn " +"sendepende de pako laŭ :pep:`714`" #: ../source/specifications/simple-repository-api.rst:1003 msgid "" "November 2024: provenance metadata in the HTML and JSON formats, in :pep:" "`740`" msgstr "" +"Novembro 2024: originpruvaj metadatenoj en la formoj HTML kaj JSON, en :pep:" +"`740`" #: ../source/specifications/source-distribution-format.rst:6 msgid "Source distribution format" -msgstr "" +msgstr "Fonta distribua formo" #: ../source/specifications/source-distribution-format.rst:8 msgid "" @@ -19206,11 +21243,11 @@ msgstr "" #: ../source/specifications/source-distribution-format.rst:21 msgid "Source distributions are also known as *sdists* for short." -msgstr "" +msgstr "Fonta distribuo ankaŭ estas konata kiel *sdist* mallonge." #: ../source/specifications/source-distribution-format.rst:24 msgid "Source trees" -msgstr "" +msgstr "Fontarboj" #: ../source/specifications/source-distribution-format.rst:26 msgid "" @@ -19224,7 +21261,7 @@ msgstr "" #: ../source/specifications/source-distribution-format.rst:34 msgid "Source distribution file name" -msgstr "" +msgstr "Dosiernomo de fonta distribuo" #: ../source/specifications/source-distribution-format.rst:36 msgid "" @@ -19240,6 +21277,8 @@ msgid "" "The name and version components of the filename MUST match the values stored " "in the metadata contained in the file." msgstr "" +"La noma kaj versia komponantoj de la dosiernomo DEVAS kongrui kun la valoroj " +"en la metadatenoj en la dosiero." #: ../source/specifications/source-distribution-format.rst:45 msgid "" @@ -19258,7 +21297,7 @@ msgstr "" #: ../source/specifications/source-distribution-format.rst:55 msgid "Source distribution file format" -msgstr "" +msgstr "Dosierformo de fonta distribuo" #: ../source/specifications/source-distribution-format.rst:57 msgid "" @@ -19287,10 +21326,8 @@ msgid "" msgstr "" #: ../source/specifications/source-distribution-format.rst:76 -#, fuzzy -#| msgid "Source Distributions vs Wheels" msgid "Source distribution archive features" -msgstr "Fonto-Distribuoj kontraste kun Wheel-oj" +msgstr "Trajtoj de fontdistribua arĥivo" #: ../source/specifications/source-distribution-format.rst:78 msgid "" @@ -19300,7 +21337,7 @@ msgstr "" #: ../source/specifications/source-distribution-format.rst:82 msgid "Unpacking with the data filter" -msgstr "" +msgstr "Malpaki kun la datenfiltrilo" #: ../source/specifications/source-distribution-format.rst:84 msgid "" @@ -19322,7 +21359,7 @@ msgstr "" #: ../source/specifications/source-distribution-format.rst:96 msgid "Unpacking without the data filter" -msgstr "" +msgstr "Malpaki sen la datenfiltrilo" #: ../source/specifications/source-distribution-format.rst:98 msgid "" @@ -19341,120 +21378,139 @@ msgstr "" #: ../source/specifications/source-distribution-format.rst:108 msgid "Files that would be placed outside the destination directory." -msgstr "" +msgstr "Dosieroj, kiuj estus metitaj ekster la cela dosierujo." #: ../source/specifications/source-distribution-format.rst:109 msgid "Links (symbolic or hard) pointing outside the destination directory." -msgstr "" +msgstr "Ligilo (simbola aŭ malmola) al loko ekster la cela dosierujo." #: ../source/specifications/source-distribution-format.rst:110 msgid "Device files (including pipes)." -msgstr "" +msgstr "Aparatdosieroj (inkluzive de duktoj)." #: ../source/specifications/source-distribution-format.rst:112 msgid "" "The following are also invalid. Tools MAY treat them as above, but are NOT " "REQUIRED to do so:" msgstr "" +"La ĉi-subaj estas ankaŭ nevalidaj. Ilo POVAS, sed NE DEVAS, pritrakti ilin " +"same kiel la ĉi-supraĵojn:" #: ../source/specifications/source-distribution-format.rst:115 msgid "Files with a ``..`` component in the filename or link target." -msgstr "" +msgstr "Dosieroj kun la komponanto ``..`` en la dosiernomo aŭ ligila celo." #: ../source/specifications/source-distribution-format.rst:116 msgid "Links pointing to a file that is not part of the archive." -msgstr "" +msgstr "Ligiloj al dosiero, kiu ne estas parto de la arĥivo." #: ../source/specifications/source-distribution-format.rst:118 msgid "" "Tools MAY unpack links (symbolic or hard) as regular files, using content " "from the archive." msgstr "" +"Ilo POVAS malpaki ligilon (simbolan aŭ malmolan) kiel ordinaran dosieron " +"uzante enhavon de la arĥivo." #: ../source/specifications/source-distribution-format.rst:121 msgid "When extracting *sdist* archives:" -msgstr "" +msgstr "Dum maldensigo de *fontdistribuaj* arĥivoj:" #: ../source/specifications/source-distribution-format.rst:123 msgid "" "Leading slashes in file names MUST be dropped. (This is nowadays standard " "behaviour for ``tar`` unpacking.)" msgstr "" +"Komencaj suprenstrekoj en dosiernomo DEVAS esti senigitaj. (Tio estas " +"nuntempe norma konduto pri malpakado de ``tar``.)" #: ../source/specifications/source-distribution-format.rst:125 msgid "For each ``mode`` (Unix permission) bit, tools MUST either:" -msgstr "" +msgstr "Por ĉiu bito ``mode`` (de Unika permeso), ilo DEVAS:" #: ../source/specifications/source-distribution-format.rst:127 msgid "use the platform's default for a new file/directory (respectively)," msgstr "" +"aŭ uzi la aprioran valoron de la platformo por nova dosiero aŭ dosierujo " +"(respektive)," #: ../source/specifications/source-distribution-format.rst:128 msgid "set the bit according to the archive, or" -msgstr "" +msgstr "aŭ agordi la biton laŭ la arĥivo," #: ../source/specifications/source-distribution-format.rst:129 msgid "" "use the bit from ``rw-r--r--`` (``0o644``) for non-executable files or " "``rwxr-xr-x`` (``0o755``) for executable files and directories." msgstr "" +"aŭ uzi la biton el ``rw-r--r--`` (``0o644``) por nerulebla dosiero aŭ ``rwxr-" +"xr-x`` (``0o755``) por rulebla dosiero aŭ dosierujo." #: ../source/specifications/source-distribution-format.rst:132 msgid "High ``mode`` bits (setuid, setgid, sticky) MUST be cleared." msgstr "" +"La altaj bitoj ``mode`` (setuid, setgid, sticky) DEVAS esti malŝaltitaj." #: ../source/specifications/source-distribution-format.rst:133 msgid "It is RECOMMENDED to preserve the user *executable* bit." -msgstr "" +msgstr "Oni REKOMENDAS konservi la biton pri rulebleco far la uzanto." #: ../source/specifications/source-distribution-format.rst:137 msgid "Further hints" -msgstr "" +msgstr "Pluaj konsiloj" #: ../source/specifications/source-distribution-format.rst:139 msgid "" "Tool authors are encouraged to consider how *hints for further verification* " "in ``tarfile`` documentation apply to their tool." msgstr "" +"NI instigas aŭtorojn de iloj pripensi kiel la *hints for further " +"verification* en la dokumentaro de ``tarfile`` rilatas al la iloj." #: ../source/specifications/source-distribution-format.rst:146 msgid "" "November 2020: The original version of this specification was approved " "through :pep:`643`." msgstr "" +"Novembro 2020: La originala versio de ĉi tiu specifo estis aprobita per :pep:" +"`643`." #: ../source/specifications/source-distribution-format.rst:148 msgid "July 2021: Defined what a source tree is." -msgstr "" +msgstr "Julio 2021: Difinis fontarbon." #: ../source/specifications/source-distribution-format.rst:149 msgid "" "September 2022: The filename of a source distribution was standardized " "through :pep:`625`." msgstr "" +"Septembro 2022: La dosiernomo de fonta distribuo estis normigita per :pep:" +"`625`." #: ../source/specifications/source-distribution-format.rst:151 msgid "" "August 2023: Source distribution archive features were standardized through :" "pep:`721`." msgstr "" +"Aŭgusto 2023: Trajtoj de fontdistribuaj arĥivoj estis normigitaj per :pep:" +"`721`." #: ../source/specifications/version-specifiers.rst:7 #: ../source/specifications/version-specifiers.rst:782 msgid "Version specifiers" -msgstr "" +msgstr "Versispecifiloj" #: ../source/specifications/version-specifiers.rst:10 msgid "" "This specification describes a scheme for identifying versions of Python " "software distributions, and declaring dependencies on particular versions." msgstr "" +"Jen specifo pri skemo por identigi versiojn de Python-programaj distribuoj " +"kaj deklari dependecojn sur specifaj versioj." #: ../source/specifications/version-specifiers.rst:15 -#, fuzzy -#| msgid "Specifications" msgid "Definitions" -msgstr "Specifiloj" +msgstr "Difinoj" #: ../source/specifications/version-specifiers.rst:17 msgid "" @@ -19463,6 +21519,10 @@ msgid "" "\"OPTIONAL\" in this document are to be interpreted as described in :rfc:" "`2119`." msgstr "" +"La ŝlosilvortoj «DEVAS» (MUST, SHALL), «DEVAS NE» (MUST NOT, SHALL NOT), " +"«POSTULATA» (REQUIRED), «-U» (SHOULD), «NE -U» (SHOULD NOT), " +"«REKOMENDATA» (RECOMMENDED), «POVAS» (MAY), kaj «NEDEVIGA» (OPTIONAL) en ĉi " +"tiu dokumento estas interpretataj laŭ :rfc:`2119`." #: ../source/specifications/version-specifiers.rst:21 msgid "" @@ -19477,6 +21537,8 @@ msgid "" "\"Index servers\" are active distribution registries which publish version " "and dependency metadata and place constraints on the permitted metadata." msgstr "" +"«Indekso-servilo» estas aktiva distribuo-registro eldonanta metadatenojn pri " +"versioj kaj dependecoj kaj limigas la permesatajn metadatenojn." #: ../source/specifications/version-specifiers.rst:29 msgid "" @@ -19500,15 +21562,16 @@ msgid "" msgstr "" #: ../source/specifications/version-specifiers.rst:43 -#, fuzzy msgid "Version scheme" -msgstr "Versio" +msgstr "Versia skemo" #: ../source/specifications/version-specifiers.rst:45 msgid "" "Distributions are identified by a public version identifier which supports " "all defined version comparison operations" msgstr "" +"Distribuo estas identigita per publika versio-identigilo subtenanta ĉiujn " +"difinitajn versikomparajn operaciojn" #: ../source/specifications/version-specifiers.rst:48 msgid "" @@ -19519,25 +21582,25 @@ msgid "" msgstr "" #: ../source/specifications/version-specifiers.rst:57 -#, fuzzy -#| msgid "Version Specifier" msgid "Public version identifiers" -msgstr "Versio-Specifilo" +msgstr "Publikaj versiidentigiloj" #: ../source/specifications/version-specifiers.rst:59 msgid "" "The canonical public version identifiers MUST comply with the following " "scheme::" -msgstr "" +msgstr "La kanona publika versia identigilo DEVAS observi la jenan skemon::" #: ../source/specifications/version-specifiers.rst:64 msgid "" "Public version identifiers MUST NOT include leading or trailing whitespace." msgstr "" +"Publika versia identigilo DEVAS NE inkluzivi komencan aŭ finan blankan " +"spacon." #: ../source/specifications/version-specifiers.rst:66 msgid "Public version identifiers MUST be unique within a given distribution." -msgstr "" +msgstr "Publika versia identigilo DEVAS esti unika en iu distribuo." #: ../source/specifications/version-specifiers.rst:68 msgid "" @@ -19557,45 +21620,51 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:78 msgid "Public version identifiers are separated into up to five segments:" -msgstr "" +msgstr "Publika versia identigilo konsistas el maksimume kvin segmentoj:" #: ../source/specifications/version-specifiers.rst:80 msgid "Epoch segment: ``N!``" -msgstr "" +msgstr "Epoka segmento: ``N!``" #: ../source/specifications/version-specifiers.rst:81 msgid "Release segment: ``N(.N)*``" -msgstr "" +msgstr "Eldona segmento: ``N(.N)*``" #: ../source/specifications/version-specifiers.rst:82 msgid "Pre-release segment: ``{a|b|rc}N``" -msgstr "" +msgstr "Antaŭeldona segmento: ``{a|b|rc}N``" #: ../source/specifications/version-specifiers.rst:83 msgid "Post-release segment: ``.postN``" -msgstr "" +msgstr "Posteldona segmento: ``.postN``" #: ../source/specifications/version-specifiers.rst:84 msgid "Development release segment: ``.devN``" -msgstr "" +msgstr "Evoluada eldona segmento: ``.devN``" #: ../source/specifications/version-specifiers.rst:86 msgid "" "Any given release will be a \"final release\", \"pre-release\", \"post-" "release\" or \"developmental release\" as defined in the following sections." msgstr "" +"Ĉia eldono estas aŭ «fina eldono», aŭ «antaŭeldono», aŭ «posteldono» aŭ " +"«evolua eldono» laŭ la ĉi-subaj paragrafoj." #: ../source/specifications/version-specifiers.rst:89 msgid "" "All numeric components MUST be non-negative integers represented as " "sequences of ASCII digits." msgstr "" +"Ĉiu nombra komponanto DEVAS esti nenegativa entjero reprezentita kiel vico " +"de Askiaj ciferoj." #: ../source/specifications/version-specifiers.rst:92 msgid "" "All numeric components MUST be interpreted and ordered according to their " "numeric value, not as text strings." msgstr "" +"Ĉiu numera komponanto DEVAS esti interpretata kaj ordigita laŭ sia numera " +"valoro, ne kiel teksto." #: ../source/specifications/version-specifiers.rst:95 msgid "" @@ -19621,7 +21690,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:116 msgid "Local version identifiers MUST comply with the following scheme::" -msgstr "" +msgstr "Loka versia identigilo DEVAS observi la jenan skemon::" #: ../source/specifications/version-specifiers.rst:120 msgid "" @@ -19661,19 +21730,20 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:143 msgid "ASCII letters (``[a-zA-Z]``)" -msgstr "" +msgstr "Askiaj literoj (``[a-zA-Z]``)" #: ../source/specifications/version-specifiers.rst:144 msgid "ASCII digits (``[0-9]``)" -msgstr "" +msgstr "Askiaj ciferoj (``[0-9]``)" #: ../source/specifications/version-specifiers.rst:145 msgid "periods (``.``)" -msgstr "" +msgstr "punktoj (``.``)" #: ../source/specifications/version-specifiers.rst:147 msgid "Local version labels MUST start and end with an ASCII letter or digit." msgstr "" +"Loka versia etikedo DEVAS komenciĝi kaj finiĝi per Askiaj literoj aŭ ciferoj." #: ../source/specifications/version-specifiers.rst:149 msgid "" @@ -19688,6 +21758,15 @@ msgid "" "a local version with fewer segments, as long as the shorter local version's " "segments match the beginning of the longer local version's segments exactly." msgstr "" +"Komparo kaj ordigo de lokaj versioj temas pri ĉiu individua segmento de la " +"loka versio (apartigita de ``.``). Se segmento konsistas tute el Askiaj " +"ciferoj, tiu sekcio estas konsiderata kiel entjero por komparo; se segmento " +"enhavas ajnan Askian literon, tiu segmento estas komparata leksikografie " +"usklecblinde. Dum komparo inter numera kaj leksikografia segmentoj, la " +"numera sekcio ĉiam estas pli granda ol la leksikografia segmento. Plie, loka " +"versio kun pli granda nombro de segmentoj ĉiam estas pli granda ol loka " +"versio kun malpli da segmentoj, se la segmentoj de la pli mallonga loka " +"versio ekzakte egalas la komencon de la pli longa loka versio." #: ../source/specifications/version-specifiers.rst:160 msgid "" @@ -19714,22 +21793,28 @@ msgid "" "Source distributions using a local version identifier SHOULD provide the " "``python.integrator`` extension metadata (as defined in :pep:`459`)." msgstr "" +"Fonta distribuo uzanta lokan versian identigilon PROVIZU la etendaĵan " +"metadatenon ``python.integrator`` (laŭ :pep:`459`)." #: ../source/specifications/version-specifiers.rst:180 msgid "Final releases" -msgstr "" +msgstr "Finaj eldonoj" #: ../source/specifications/version-specifiers.rst:182 msgid "" "A version identifier that consists solely of a release segment and " "optionally an epoch identifier is termed a \"final release\"." msgstr "" +"Versia identigilo konsistanta nur el eldona segmento kaj nedeviga epok-" +"identigilo nomiĝas «fina eldono»." #: ../source/specifications/version-specifiers.rst:185 msgid "" "The release segment consists of one or more non-negative integer values, " "separated by dots::" msgstr "" +"La eldona segmento konsistas el unu aŭ pluraj nenegativaj entjeraj valoroj, " +"apartigitaj per punktoj::" #: ../source/specifications/version-specifiers.rst:190 msgid "" @@ -19755,7 +21840,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:203 msgid "For example::" -msgstr "" +msgstr "Ekzemple::" #: ../source/specifications/version-specifiers.rst:218 msgid "" @@ -19763,6 +21848,9 @@ msgid "" "common prefix. For example, ``3.3.1``, ``3.3.5`` and ``3.3.9.45`` are all " "part of the ``3.3`` release series." msgstr "" +"Eldona serio estas aro de finaj eldonnumeroj komenciĝantaj per komuna " +"prefikso. Ekzemple, ``3.3.1``, ``3.3.5`` kaj ``3.3.9.45`` estas partoj de la " +"eldona serio ``3.3``." #: ../source/specifications/version-specifiers.rst:224 msgid "" @@ -19780,13 +21868,15 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:243 msgid "Pre-releases" -msgstr "" +msgstr "Antaŭeldonoj" #: ../source/specifications/version-specifiers.rst:245 msgid "" "Some projects use an \"alpha, beta, release candidate\" pre-release cycle to " "support testing by their users prior to a final release." msgstr "" +"Kelkaj projektoj uzas la antaŭeldonan ciklon «alfa, beta, eldonkandidato» " +"por helpi testadon far uzantoj antaŭ fina eldonado." #: ../source/specifications/version-specifiers.rst:248 msgid "" @@ -19799,6 +21889,8 @@ msgid "" "A version identifier that consists solely of a release segment and a pre-" "release segment is termed a \"pre-release\"." msgstr "" +"Versia identigilo konsistanta nur el eldona segmento kaj antaŭeldona " +"segmento nomiĝas «antaŭeldono»." #: ../source/specifications/version-specifiers.rst:259 msgid "" @@ -19813,22 +21905,28 @@ msgid "" "Installation tools MAY accept both ``c`` and ``rc`` releases for a common " "release segment in order to handle some existing legacy distributions." msgstr "" +"Instalilo POVAS akcepti kaj ``c``- kaj ``rc``-eldonoj por la sama eldona " +"segmento por kongrueco kun kelkaj ekzistantaj malnovaj distribuoj." #: ../source/specifications/version-specifiers.rst:267 msgid "" "Installation tools SHOULD interpret ``c`` versions as being equivalent to " "``rc`` versions (that is, ``c1`` indicates the same version as ``rc1``)." msgstr "" +"Instalilo INTERPRETU ``c``-versiojn kiel ekvivalentojn de ``rc``-versioj " +"(alivorte, ``c1`` indikas la saman version kiel ``rc1``)." #: ../source/specifications/version-specifiers.rst:270 msgid "" "Build tools, publication tools and index servers SHOULD disallow the " "creation of both ``rc`` and ``c`` releases for a common release segment." msgstr "" +"Konstruilo, eldonilo kaj indeksoservilo MALPERMESU la kreadon de kaj ``rc``- " +"kaj ``c``-eldonoj por la sama eldona segmento." #: ../source/specifications/version-specifiers.rst:275 msgid "Post-releases" -msgstr "" +msgstr "Posteldonoj" #: ../source/specifications/version-specifiers.rst:277 msgid "" @@ -19848,6 +21946,8 @@ msgid "" "A version identifier that includes a post-release segment without a " "developmental release segment is termed a \"post-release\"." msgstr "" +"Versia identigilo inkluzivanta posteldonan segmenton sen evolueldona " +"segmento nomiĝas «posteldono»." #: ../source/specifications/version-specifiers.rst:289 msgid "" @@ -19867,7 +21967,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:301 msgid "Post-releases are also permitted for pre-releases::" -msgstr "" +msgstr "Posteldonoj estas ankaŭ permesataj por antaŭeldonoj::" #: ../source/specifications/version-specifiers.rst:309 msgid "" @@ -19879,7 +21979,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:316 msgid "Developmental releases" -msgstr "" +msgstr "Evoluaj eldonoj" #: ../source/specifications/version-specifiers.rst:318 msgid "" @@ -19901,6 +22001,7 @@ msgid "" "A version identifier that includes a developmental release segment is termed " "a \"developmental release\"." msgstr "" +"Versia identigilo inkluzivanta evolueldona segmento nomiĝas «evolua eldono»." #: ../source/specifications/version-specifiers.rst:332 msgid "" @@ -19915,7 +22016,7 @@ msgstr "" msgid "" "Developmental releases are also permitted for pre-releases and post-" "releases::" -msgstr "" +msgstr "Evolua eldono estas ankaŭ permesata por antaŭeldono kaj posteldono::" #: ../source/specifications/version-specifiers.rst:348 msgid "" @@ -19935,9 +22036,8 @@ msgid "" msgstr "" #: ../source/specifications/version-specifiers.rst:361 -#, fuzzy msgid "Version epochs" -msgstr "Versio" +msgstr "Versiaj epokoj" #: ../source/specifications/version-specifiers.rst:363 msgid "" @@ -19947,7 +22047,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:368 msgid "If no explicit epoch is given, the implicit epoch is ``0``." -msgstr "" +msgstr "Se la epoko ne estas eksplicita, la implicita epoko estas ``0``." #: ../source/specifications/version-specifiers.rst:370 msgid "" @@ -19969,7 +22069,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:398 msgid "Normalization" -msgstr "" +msgstr "Normigo" #: ../source/specifications/version-specifiers.rst:400 msgid "" @@ -19981,7 +22081,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:407 msgid "Case sensitivity" -msgstr "" +msgstr "Usklecdistingo" #: ../source/specifications/version-specifiers.rst:409 msgid "" @@ -19991,9 +22091,8 @@ msgid "" msgstr "" #: ../source/specifications/version-specifiers.rst:415 -#, fuzzy msgid "Integer Normalization" -msgstr "Versio de pako" +msgstr "Entjera Normigo" #: ../source/specifications/version-specifiers.rst:417 msgid "" @@ -20006,7 +22105,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:425 msgid "Pre-release separators" -msgstr "" +msgstr "Antaŭeldonaj apartigiloj" #: ../source/specifications/version-specifiers.rst:427 msgid "" @@ -20020,7 +22119,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:436 msgid "Pre-release spelling" -msgstr "" +msgstr "Literumado de antaŭeldono" #: ../source/specifications/version-specifiers.rst:438 msgid "" @@ -20034,7 +22133,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:447 msgid "Implicit pre-release number" -msgstr "" +msgstr "Implicita antaŭeldona numero" #: ../source/specifications/version-specifiers.rst:449 msgid "" @@ -20046,7 +22145,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:455 msgid "Post release separators" -msgstr "" +msgstr "Posteldonaj disigiloj" #: ../source/specifications/version-specifiers.rst:457 msgid "" @@ -20061,7 +22160,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:466 msgid "Post release spelling" -msgstr "" +msgstr "Posteldona literumado" #: ../source/specifications/version-specifiers.rst:468 msgid "" @@ -20073,7 +22172,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:475 msgid "Implicit post release number" -msgstr "" +msgstr "Implicita posteldona numero" #: ../source/specifications/version-specifiers.rst:477 msgid "" @@ -20085,7 +22184,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:483 msgid "Implicit post releases" -msgstr "" +msgstr "Implicitaj posteldonoj" #: ../source/specifications/version-specifiers.rst:485 msgid "" @@ -20099,7 +22198,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:494 msgid "Development release separators" -msgstr "" +msgstr "Disigiloj de evoluada eldono" #: ../source/specifications/version-specifiers.rst:496 msgid "" @@ -20111,7 +22210,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:503 msgid "Implicit development release number" -msgstr "" +msgstr "Implicita evoluada eldona numero" #: ../source/specifications/version-specifiers.rst:505 msgid "" @@ -20123,7 +22222,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:512 msgid "Local version segments" -msgstr "" +msgstr "Lokaj versiaj segmentoj" #: ../source/specifications/version-specifiers.rst:514 msgid "" @@ -20135,7 +22234,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:521 msgid "Preceding v character" -msgstr "" +msgstr "Prefiksa signo «v»" #: ../source/specifications/version-specifiers.rst:523 msgid "" @@ -20148,7 +22247,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:530 msgid "Leading and Trailing Whitespace" -msgstr "" +msgstr "Komenca kaj Fina Blanka Spaco" #: ../source/specifications/version-specifiers.rst:532 msgid "" @@ -20161,7 +22260,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:539 msgid "Examples of compliant version schemes" -msgstr "" +msgstr "Ekzemploj de versiaj skemoj observantaj la regulojn" #: ../source/specifications/version-specifiers.rst:541 msgid "" @@ -20183,32 +22282,35 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:553 msgid "Simple \"major.minor\" versioning::" -msgstr "" +msgstr "Simpla «maĵora.minora» versiado::" #: ../source/specifications/version-specifiers.rst:562 msgid "Simple \"major.minor.micro\" versioning::" -msgstr "" +msgstr "Simpla «maĵora.minora.mikroa» versiado::" #: ../source/specifications/version-specifiers.rst:570 msgid "" "\"major.minor\" versioning with alpha, beta and candidate pre-releases::" msgstr "" +"«maĵora.minora» versiado kun alfa-, beta-, kaj kandidataj antaŭeldonoj::" #: ../source/specifications/version-specifiers.rst:582 msgid "" "\"major.minor\" versioning with developmental releases, release candidates " "and post-releases for minor corrections::" msgstr "" +"«maĵora.minora» versiado kun evoluaj eldonoj, eldonkandidatoj kaj " +"posteldonoj por malgravaj korektoj::" #: ../source/specifications/version-specifiers.rst:597 msgid "" "Date based releases, using an incrementing serial within each year, skipping " "zero::" -msgstr "" +msgstr "Datobaza eldono, kun alkrementata numero en ĉiu jaro, sen nulo::" #: ../source/specifications/version-specifiers.rst:611 msgid "Summary of permitted suffixes and relative ordering" -msgstr "" +msgstr "Resumo pri permesataj sufiksoj kaj relativa ordo" #: ../source/specifications/version-specifiers.rst:615 msgid "" @@ -20242,6 +22344,8 @@ msgid "" "Within a numeric release (``1.0``, ``2.7.3``), the following suffixes are " "permitted and MUST be ordered as shown::" msgstr "" +"Ene de numera eldono (``1.0``, ``2.7.3``), la ĉi-subaj sufiksoj estas " +"permesataj kaj DEVAS esti ordigitaj jene::" #: ../source/specifications/version-specifiers.rst:637 msgid "" @@ -20263,6 +22367,8 @@ msgid "" "Within a post-release (``1.0.post1``), the following suffixes are permitted " "and MUST be ordered as shown::" msgstr "" +"Ene de posteldono (``1.0.post1``), la jenaj sufiksoj estas permesataj kaj " +"DEVAS esti ordigitaj jene::" #: ../source/specifications/version-specifiers.rst:653 msgid "" @@ -20279,11 +22385,11 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:660 msgid "The following example covers many of the possible combinations::" -msgstr "" +msgstr "Jen ekzemplo de multaj eblaj kombinaĵoj::" #: ../source/specifications/version-specifiers.rst:685 msgid "Version ordering across different metadata versions" -msgstr "" +msgstr "Ordigo de versioj trans diversaj metadatenaj versioj" #: ../source/specifications/version-specifiers.rst:687 msgid "" @@ -20318,10 +22424,12 @@ msgid "" "Distribution users may wish to explicitly remove non-compliant versions from " "any private package indexes they control." msgstr "" +"Uzanto de distribuo povas deziri eksplicite forigi nekongruajn versiojn el " +"sia privata pakindekso." #: ../source/specifications/version-specifiers.rst:710 msgid "Compatibility with other version schemes" -msgstr "" +msgstr "Kongrueco kun aliaj versiaj skemoj" #: ../source/specifications/version-specifiers.rst:712 msgid "" @@ -20376,10 +22484,12 @@ msgstr "" msgid "" "Specific build information may also be included in local version labels." msgstr "" +"Specifaj konstruaj informoj povas ankaŭ esti inkluzivitaj en lokaj versiaj " +"etikedoj." #: ../source/specifications/version-specifiers.rst:751 msgid "DVCS based version labels" -msgstr "" +msgstr "Versiaj etikedoj per distribuita versikontrola sistemo" #: ../source/specifications/version-specifiers.rst:753 msgid "" @@ -20400,10 +22510,11 @@ msgstr "" msgid "" "Identifying hash information may also be included in local version labels." msgstr "" +"Loka versia etikedo ankaŭ povas inkluzivi identigan haketaĵan informon." #: ../source/specifications/version-specifiers.rst:766 msgid "Olson database versioning" -msgstr "" +msgstr "Versiado laŭ Olson-datenbanko" #: ../source/specifications/version-specifiers.rst:768 msgid "" @@ -20425,40 +22536,48 @@ msgid "" "As with other translated version identifiers, the corresponding Olson " "database version could be recorded in the project metadata." msgstr "" +"Samkiel aliaj tradukitaj versiaj identigiloj, la respondanta versio de la " +"Olson-datenbanko povas esti registrita en la projektaj metadatenoj." #: ../source/specifications/version-specifiers.rst:784 msgid "" "A version specifier consists of a series of version clauses, separated by " "commas. For example::" msgstr "" +"Versi-specifilo konsistas el serio de versio-kondiĉoj apartigitaj per komoj. " +"Ekzemple::" #: ../source/specifications/version-specifiers.rst:789 msgid "The comparison operator determines the kind of version clause:" -msgstr "" +msgstr "La kompara operatoro determinas la specon de versia kondiĉo:" #: ../source/specifications/version-specifiers.rst:791 msgid "``~=``: `Compatible release`_ clause" -msgstr "" +msgstr "``~=``: Kondiĉo `Kongrua eldono `_" #: ../source/specifications/version-specifiers.rst:792 msgid "``==``: `Version matching`_ clause" -msgstr "" +msgstr "``==``: Kondiĉo `Versia egaleco `_" #: ../source/specifications/version-specifiers.rst:793 msgid "``!=``: `Version exclusion`_ clause" -msgstr "" +msgstr "``!=``: Kondiĉo `Ekskluzivo de versio `_" #: ../source/specifications/version-specifiers.rst:794 msgid "``<=``, ``>=``: `Inclusive ordered comparison`_ clause" msgstr "" +"``<=``, ``>=``: Kondiĉo `Inkluziva orda komparo `_" #: ../source/specifications/version-specifiers.rst:795 msgid "``<``, ``>``: `Exclusive ordered comparison`_ clause" msgstr "" +"``<``, ``>``: Kondiĉo `Ekskluziva orda komparo `_" #: ../source/specifications/version-specifiers.rst:796 msgid "``===``: `Arbitrary equality`_ clause." -msgstr "" +msgstr "``===``: Kondiĉo `Arbitra egaleco `_." #: ../source/specifications/version-specifiers.rst:798 msgid "" @@ -20472,6 +22591,8 @@ msgid "" "Whitespace between a conditional operator and the following version " "identifier is optional, as is the whitespace around the commas." msgstr "" +"Blanka spaco inter kondiĉa operatoro kaj la sekva versia identigilo estas " +"nedeviga; same pri la blanka spaco ĉirkaŭ komo." #: ../source/specifications/version-specifiers.rst:805 msgid "" @@ -20491,7 +22612,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:820 msgid "Compatible release" -msgstr "" +msgstr "Kongrua eldono" #: ../source/specifications/version-specifiers.rst:822 msgid "" @@ -20512,16 +22633,20 @@ msgid "" "For a given release identifier ``V.N``, the compatible release clause is " "approximately equivalent to the pair of comparison clauses::" msgstr "" +"Por iu eldono-specifilo ``V.N``, la kondiĉo pri kongrua eldono estas " +"proksimume ekvivalenta al la jena paro de kondiĉoj::" #: ../source/specifications/version-specifiers.rst:835 msgid "" "This operator MUST NOT be used with a single segment version number such as " "``~=1``." msgstr "" +"Oni DEVAS NE uzi ĉi tiun operatoron kun unusegmenta versia numero kiel " +"``~=1``." #: ../source/specifications/version-specifiers.rst:838 msgid "For example, the following groups of version clauses are equivalent::" -msgstr "" +msgstr "Ekzemple, la jenaj grupoj de versio-kondiĉoj estas ekvivalentaj::" #: ../source/specifications/version-specifiers.rst:846 msgid "" @@ -20538,16 +22663,16 @@ msgid "" msgstr "" #: ../source/specifications/version-specifiers.rst:868 -#, fuzzy -#| msgid "Version" msgid "Version matching" -msgstr "Versio" +msgstr "Versia egaleco" #: ../source/specifications/version-specifiers.rst:870 msgid "" "A version matching clause includes the version matching operator ``==`` and " "a version identifier." msgstr "" +"Versio-egaleca kondiĉo inkluzivas la versio-egalecan operatoron ``==`` kaj " +"versian identigilon." #: ../source/specifications/version-specifiers.rst:873 msgid "" @@ -20589,6 +22714,8 @@ msgid "" "For example, given the version ``1.1.post1``, the following clauses would " "match or not as shown::" msgstr "" +"Ekzemple, pri la versio ``1.1.post1``, la ĉi-subaj kondiĉoj estas plenumitaj " +"aŭ ne jene::" #: ../source/specifications/version-specifiers.rst:902 msgid "" @@ -20641,16 +22768,16 @@ msgid "" msgstr "" #: ../source/specifications/version-specifiers.rst:947 -#, fuzzy -#| msgid "Version Specifier" msgid "Version exclusion" -msgstr "Versio-Specifilo" +msgstr "Ekskluzivo de versio" #: ../source/specifications/version-specifiers.rst:949 msgid "" "A version exclusion clause includes the version exclusion operator ``!=`` " "and a version identifier." msgstr "" +"Versi-ekskluzivada kondiĉo konsistas el la versio-ekskluzivada operatoro ``!" +"=`` kaj versia identigilo." #: ../source/specifications/version-specifiers.rst:952 msgid "" @@ -20661,7 +22788,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:965 msgid "Inclusive ordered comparison" -msgstr "" +msgstr "Inkluziva ordita komparo" #: ../source/specifications/version-specifiers.rst:967 msgid "" @@ -20674,7 +22801,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:973 msgid "The inclusive ordered comparison operators are ``<=`` and ``>=``." -msgstr "" +msgstr "La operatoroj de inkluziva orda komparo estas ``<=`` kaj ``>=``." #: ../source/specifications/version-specifiers.rst:975 #: ../source/specifications/version-specifiers.rst:1005 @@ -20686,11 +22813,11 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:978 #: ../source/specifications/version-specifiers.rst:1008 msgid "Local version identifiers are NOT permitted in this version specifier." -msgstr "" +msgstr "Loka versia identigilo NE estas permesata en ĉi tiu versispecifilo." #: ../source/specifications/version-specifiers.rst:982 msgid "Exclusive ordered comparison" -msgstr "" +msgstr "Ekskluziva ordita komparo" #: ../source/specifications/version-specifiers.rst:984 msgid "" @@ -20717,6 +22844,8 @@ msgid "" "The exclusive ordered comparison ``>V`` **MUST NOT** match a local version " "of the specified version." msgstr "" +"La ekskluziva orda komparo ``>V`` **DEVAS NE** kongrui kun loka versio de la " +"specifita versio." #: ../source/specifications/version-specifiers.rst:1000 msgid "" @@ -20728,7 +22857,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:1012 msgid "Arbitrary equality" -msgstr "" +msgstr "Arbitra egaleco" #: ../source/specifications/version-specifiers.rst:1014 msgid "" @@ -20750,7 +22879,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:1025 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." -msgstr "" +msgstr "Ekzemplo estas ``===foobar``, kiu kongruas kun la versio ``foobar``." #: ../source/specifications/version-specifiers.rst:1027 msgid "" @@ -20764,10 +22893,12 @@ msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" +"Uzado de tiu operatoro estas evitindega, kaj ilo POVAS averti, kiam ĝi estas " +"uzita." #: ../source/specifications/version-specifiers.rst:1036 msgid "Handling of pre-releases" -msgstr "" +msgstr "Pritraktado de antaŭeldonoj" #: ../source/specifications/version-specifiers.rst:1038 msgid "" @@ -20779,37 +22910,43 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:1043 msgid "By default, dependency resolution tools SHOULD:" -msgstr "" +msgstr "Implicite, dependecsolviloj FARU la jenon:" #: ../source/specifications/version-specifiers.rst:1045 msgid "accept already installed pre-releases for all version specifiers" -msgstr "" +msgstr "akcepti jam instalitajn antaŭeldonojn por ĉiuj versispecifiloj" #: ../source/specifications/version-specifiers.rst:1046 msgid "" "accept remotely available pre-releases for version specifiers where there is " "no final or post release that satisfies the version specifier" msgstr "" +"akcepti fore disponeblajn antaŭeldonojn por versispecifiloj, kiam mankas " +"finan eldonon aŭ posteldonon plenumantan la versispecifilon" #: ../source/specifications/version-specifiers.rst:1048 msgid "exclude all other pre-releases from consideration" -msgstr "" +msgstr "malakcepti ĉiujn aliajn antaŭeldonojn" #: ../source/specifications/version-specifiers.rst:1050 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" +"Dependeco-solvilo POVAS averti, se antaŭeldono necesas por plenumi versio-" +"specifilon." #: ../source/specifications/version-specifiers.rst:1053 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" +"Dependeco-solviloj ankaŭ PERMESU uzantojn peti la jenajn alternativajn " +"kondutojn:" #: ../source/specifications/version-specifiers.rst:1056 msgid "accepting pre-releases for all version specifiers" -msgstr "" +msgstr "akcepti antaŭeldonojn por ĉiuj versispecifiloj" #: ../source/specifications/version-specifiers.rst:1057 msgid "" @@ -20823,46 +22960,59 @@ msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" +"Dependeco-solvilo ankaŭ POVAS permesi regadon de la ĉi-supra konduto por " +"specifaj distribuoj." #: ../source/specifications/version-specifiers.rst:1064 msgid "" "Post-releases and final releases receive no special treatment in version " "specifiers - they are always included unless explicitly excluded." msgstr "" +"Posteldonoj kaj fina eldonoj ne estas speciale pritraktataj en versio-" +"specifilo – ili estas ĉiam inkluzivitaj, se ili ne estas eksplicite " +"ekskluzivitaj." #: ../source/specifications/version-specifiers.rst:1071 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." -msgstr "" +msgstr "``~=3.1``: versio 3.1 aŭ pli nova, sed ne versio 4.0 nek pli nova." #: ../source/specifications/version-specifiers.rst:1072 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" +"``~=3.1.2``: versio 3.1.2 aŭ pli nova, sed ne versio 3.2.0 nek pli nova." #: ../source/specifications/version-specifiers.rst:1073 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." -msgstr "" +msgstr "``~=3.1a1``: versio 3.1a1 aŭ pli nova, sed ne versio 4.0 nek pli nova." #: ../source/specifications/version-specifiers.rst:1074 msgid "" "``== 3.1``: specifically version 3.1 (or 3.1.0), excludes all pre-releases, " "post releases, developmental releases and any 3.1.x maintenance releases." msgstr "" +"``== 3.1``: specife la versio 3.1 (aŭ 3.1.0), ekskluzivante ĉiajn " +"antaŭeldonojn, posteldonojn, evoluajn eldonojn kaj ajnajn riparajn eldonojn " +"3.1.x." #: ../source/specifications/version-specifiers.rst:1076 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" +"``== 3.1.*``: ajna versio komenciĝanta per 3.1. Ekvivalenta al la kongrua-" +"versia kondiĉo ``~=3.1.0``." #: ../source/specifications/version-specifiers.rst:1078 msgid "" "``~=3.1.0, != 3.1.3``: version 3.1.0 or later, but not version 3.1.3 and not " "version 3.2.0 or later." msgstr "" +"``~=3.1.0, != 3.1.3``: versio 3.1.0 aŭ pli nova, sed ne versio 3.1.3, nek " +"versio 3.2.0, nek pli nova." #: ../source/specifications/version-specifiers.rst:1083 msgid "Direct references" -msgstr "" +msgstr "Rektaj referencoj" #: ../source/specifications/version-specifiers.rst:1085 msgid "" @@ -20895,11 +23045,11 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:1102 msgid "For example, a local source archive may be referenced directly::" -msgstr "" +msgstr "Ekzemple, oni povas rekte referenci lokan fontan arĥivon::" #: ../source/specifications/version-specifiers.rst:1106 msgid "Alternatively, a prebuilt archive may also be referenced::" -msgstr "" +msgstr "Alternative, oni povas referenci antaŭkonstruitan arĥivon::" #: ../source/specifications/version-specifiers.rst:1110 msgid "" @@ -20958,13 +23108,12 @@ msgid "" msgstr "" #: ../source/specifications/version-specifiers.rst:1150 -#, fuzzy msgid "Remote URL examples::" -msgstr "Ekzemploj" +msgstr "Ekzemploj de foraj retadresoj::" #: ../source/specifications/version-specifiers.rst:1158 msgid "File URLs" -msgstr "" +msgstr "Dosieraj retadresoj" #: ../source/specifications/version-specifiers.rst:1160 msgid "" @@ -20973,6 +23122,10 @@ msgid "" "omitted the third slash MUST still exist. The ```` defines what the " "file path on the filesystem that is to be accessed." msgstr "" +"Dosiera retadreso havas la formon ``file:///``. Se la " +"```` mankas, tio implicas ``localhost``. Eĉ se la " +"```` mankas, la tria suprenstreko DEVAS tamen ekzisti. La " +"```` difinas la dosierlokan vojon ĉe la dosiersistemo atingota." #: ../source/specifications/version-specifiers.rst:1165 msgid "" @@ -20981,6 +23134,10 @@ msgid "" "current machine believes matches its own host. In other words, on \\*nix the " "``file://`` scheme can only be used to access paths on the local machine." msgstr "" +"Sur la diversaj Unisekcaj mastrumaj sistemoj, la nuraj permesataj valoroj " +"por ```` estas manko, ``localhost``, aŭ alia plene kvalifikita " +"nomregno (FQDN), kiu egalas la gastiganton de la aktuala maŝino. Alivorte, " +"sur Unikso, la skemo ``file://`` nur povas atingi vojojn ĉe la loka maŝino." #: ../source/specifications/version-specifiers.rst:1170 msgid "" @@ -20993,10 +23150,18 @@ msgid "" "see `MSDN `_." msgstr "" +"Sur Windows, la dosierformo inkluzivu la diskliteron, se tiu ekzistas, kiel " +"parton de la ```` (ekz. ``file:///c:/vojo/al/dosiero``). Malsimile al " +"Unikso, sur Windows la parametro ```` povas specifi foran " +"dosieron en reto. Alivorte, ``\\\\maŝino\\volumo\\dosiero`` tradukita al " +"``file://``-adreso estas ``file://maŝino/volumo/dosiero``. Por pliaj " +"informoj pri ``file://``-adresoj ĉe Windows, vidu `MSDN `_." #: ../source/specifications/version-specifiers.rst:1181 msgid "Summary of differences from pkg_resources.parse_version" -msgstr "" +msgstr "Resumo pri diferencoj de pkg_resources.parse_version" #: ../source/specifications/version-specifiers.rst:1183 msgid "" @@ -21028,7 +23193,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:1204 msgid "Appendix: Parsing version strings with regular expressions" -msgstr "" +msgstr "Apendico: Sintaksanalizi versian tekston per regulaj esprimoj" #: ../source/specifications/version-specifiers.rst:1206 msgid "" @@ -21044,6 +23209,8 @@ msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" +"Por kontroli, ĉu versia identigilo estas en la kanona formo, oni povas uzi " +"la jenan funkcion:" #: ../source/specifications/version-specifiers.rst:1221 msgid "" @@ -21051,15 +23218,17 @@ msgid "" "expression (as defined by the `packaging `_ project):" msgstr "" +"Por eltiri la komponantojn de versia identigilo, uzu la jenan regulan " +"esprimon (difinitan de la projekto `packaging `_):" #: ../source/specifications/version-specifiers.rst:1268 msgid "August 2014: This specification was approved through :pep:`440`." -msgstr "" +msgstr "Aŭgusto 2014: Ĉi tiu specifo estis aprobita per :pep:`440`." #: ../source/specifications/virtual-environments.rst:6 -#, fuzzy msgid "Python Virtual Environments" -msgstr "Krei Virtualajn Mediojn" +msgstr "Virtualaj Python-Medioj" #: ../source/specifications/virtual-environments.rst:8 msgid "" @@ -21074,9 +23243,8 @@ msgid "" msgstr "" #: ../source/specifications/virtual-environments.rst:18 -#, fuzzy msgid "Runtime detection of virtual environments" -msgstr "Krei Virtualajn Mediojn" +msgstr "Rultempa detektado de virtualaj medioj" #: ../source/specifications/virtual-environments.rst:20 msgid "" @@ -21098,7 +23266,7 @@ msgstr "" #: ../source/specifications/virtual-environments.rst:33 msgid "Declaring installation environments as Python virtual environments" -msgstr "" +msgstr "Deklari instalajn mediojn kiel virtualajn Python-mediojn" #: ../source/specifications/virtual-environments.rst:35 msgid "" @@ -21130,13 +23298,11 @@ msgstr "" #: ../source/specifications/virtual-environments.rst:56 msgid "May 2012: This specification was approved through :pep:`405`." -msgstr "" +msgstr "Majo 2012: Ĉi tiu specifo estis aprobita per :pep:`405`." #: ../source/specifications/well-known-project-urls.rst:5 -#, fuzzy -#| msgid "Project name" msgid "Well-known Project URLs in Metadata" -msgstr "Nomo de projekto" +msgstr "Bone Konataj Projektaj Retadresoj en Metadatenoj" #: ../source/specifications/well-known-project-urls.rst:9 msgid "" @@ -21159,10 +23325,13 @@ msgid "" "for user-oriented guidance on choosing project URL labels in your package's " "metadata." msgstr "" +"Vidu :ref:`Verki vian pyproject.toml – retadresoj ` por diskuto pri elektado de projekta retadresa etikedo por la " +"metadatenoj de via pako." #: ../source/specifications/well-known-project-urls.rst:26 msgid "This specification was originally defined in :pep:`753`." -msgstr "" +msgstr "Ĉi tiu specifo estis originale difinita en :pep:`753`." #: ../source/specifications/well-known-project-urls.rst:28 msgid "" @@ -21179,17 +23348,20 @@ msgid "" "This allows indices (such as the Python Package Index) and other downstream " "metadata consumers to present project URLs in a consistent manner." msgstr "" +"Per tio, indekso (kiel la Python-Pakindekso) kaj aliaj uzantoj de " +"metadatenoj povas prezenti projektajn retadresojn kohere." #: ../source/specifications/well-known-project-urls.rst:42 -#, fuzzy msgid "Label normalization" -msgstr "Versio de pako" +msgstr "Normigo de etikedo" #: ../source/specifications/well-known-project-urls.rst:46 msgid "" "Label normalization is performed by metadata *consumers*, not metadata " "producers." msgstr "" +"Normigon de etikedoj faras la *uzantoj* de metadatenoj, ne la produktantoj " +"de metadatenoj." #: ../source/specifications/well-known-project-urls.rst:49 msgid "" @@ -21203,184 +23375,189 @@ msgid "" "The normalization procedure for ``Project-URL`` labels is defined by the " "following Python function:" msgstr "" +"La normiga proceduro por etikedoj ``Project-URL`` estas difinita per la jena " +"Python-funkcio:" #: ../source/specifications/well-known-project-urls.rst:65 msgid "" "In plain language: a label is *normalized* by deleting all ASCII punctuation " "and whitespace, and then converting the result to lowercase." msgstr "" +"En ordinara lingvo: oni *normigas* etikedon forigante ĉiujn Askiajn " +"interpunkciojn kaj minuskligante la rezulton." #: ../source/specifications/well-known-project-urls.rst:68 msgid "" "The following table shows examples of labels before (raw) and after " "normalization:" msgstr "" +"Jen tabelo da ekzemploj de etikedoj antaŭ normigo (krudaj) kaj post normigo:" #: ../source/specifications/well-known-project-urls.rst:74 msgid "Raw" -msgstr "" +msgstr "Kruda" #: ../source/specifications/well-known-project-urls.rst:75 msgid "Normalized" -msgstr "" +msgstr "Normigita" #: ../source/specifications/well-known-project-urls.rst:76 msgid "``Homepage``" -msgstr "" +msgstr "``Homepage``" #: ../source/specifications/well-known-project-urls.rst:77 #: ../source/specifications/well-known-project-urls.rst:79 #: ../source/specifications/well-known-project-urls.rst:81 msgid "``homepage``" -msgstr "" +msgstr "``homepage``" #: ../source/specifications/well-known-project-urls.rst:78 msgid "``Home-page``" -msgstr "" +msgstr "``Home-page``" #: ../source/specifications/well-known-project-urls.rst:80 msgid "``Home page``" -msgstr "" +msgstr "``Home page``" #: ../source/specifications/well-known-project-urls.rst:82 msgid "``Change_Log``" -msgstr "" +msgstr "``Change_Log``" #: ../source/specifications/well-known-project-urls.rst:83 msgid "``changelog``" -msgstr "" +msgstr "``changelog``" #: ../source/specifications/well-known-project-urls.rst:84 msgid "``What's New?``" -msgstr "" +msgstr "``What's New?``" #: ../source/specifications/well-known-project-urls.rst:85 msgid "``whatsnew``" -msgstr "" +msgstr "``whatsnew``" #: ../source/specifications/well-known-project-urls.rst:86 #: ../source/specifications/well-known-project-urls.rst:87 msgid "``github``" -msgstr "" +msgstr "``github``" #: ../source/specifications/well-known-project-urls.rst:92 msgid "Well-known labels" -msgstr "" +msgstr "Bone konataj etikedoj" #: ../source/specifications/well-known-project-urls.rst:96 msgid "" "The list of well-known labels is a living standard, maintained as part of " "this document." msgstr "" +"La listo de bone konataj etikedoj estas viva normo, mastrumata kiel parto de " +"ĉi tiu dokumento." #: ../source/specifications/well-known-project-urls.rst:99 msgid "" "The following table lists labels that are well-known for the purpose of " "specializing the presentation of ``Project-URL`` metadata:" msgstr "" +"Jen tabelo de etikedoj bone konataj por montrado de metadatenoj ``Project-" +"URL``:" #: ../source/specifications/well-known-project-urls.rst:105 msgid "Label (Human-readable equivalent)" -msgstr "" +msgstr "Etikedo (Home legebla ekvivalentaĵo)" #: ../source/specifications/well-known-project-urls.rst:107 msgid "Aliases" -msgstr "" +msgstr "Sinonimoj" #: ../source/specifications/well-known-project-urls.rst:108 msgid "``homepage`` (Homepage)" -msgstr "" +msgstr "``homepage`` (Homepage)" #: ../source/specifications/well-known-project-urls.rst:109 msgid "The project's home page" -msgstr "" +msgstr "La ĉefpaĝo de la projekto" #: ../source/specifications/well-known-project-urls.rst:110 #: ../source/specifications/well-known-project-urls.rst:116 #: ../source/specifications/well-known-project-urls.rst:122 msgid "*(none)*" -msgstr "" +msgstr "*(nenio)*" #: ../source/specifications/well-known-project-urls.rst:111 msgid "``source`` (Source Code)" -msgstr "" +msgstr "``source`` (Source Code)" #: ../source/specifications/well-known-project-urls.rst:112 msgid "The project's hosted source code or repository" -msgstr "" +msgstr "La gastigita fontokodo aŭ deponejo de la projekto" #: ../source/specifications/well-known-project-urls.rst:113 msgid "``repository``, ``sourcecode``, ``github``" -msgstr "" +msgstr "``repository``, ``sourcecode``, ``github``" #: ../source/specifications/well-known-project-urls.rst:114 msgid "``download`` (Download)" -msgstr "" +msgstr "``download`` (Download)" #: ../source/specifications/well-known-project-urls.rst:115 msgid "" "A download URL for the current distribution, equivalent to ``Download-URL``" -msgstr "" +msgstr "Elŝuta retadreso por la distribuo, ekvivalenta al ``Download-URL``" #: ../source/specifications/well-known-project-urls.rst:117 msgid "``changelog`` (Changelog)" -msgstr "" +msgstr "``changelog`` (Changelog)" #: ../source/specifications/well-known-project-urls.rst:118 msgid "The project's comprehensive changelog" -msgstr "" +msgstr "La plena ŝanĝoprotokolo de la projekto" #: ../source/specifications/well-known-project-urls.rst:119 msgid "``changes``, ``whatsnew``, ``history``" -msgstr "" +msgstr "``changes``, ``whatsnew``, ``history``" #: ../source/specifications/well-known-project-urls.rst:120 msgid "``releasenotes`` (Release Notes)" -msgstr "" +msgstr "``releasenotes`` (Release Notes)" #: ../source/specifications/well-known-project-urls.rst:121 msgid "The project's curated release notes" -msgstr "" +msgstr "La eldonaj notoj de la projekto" #: ../source/specifications/well-known-project-urls.rst:123 -#, fuzzy -#| msgid "Creating pyproject.toml" msgid "``documentation`` (Documentation)" -msgstr "Krei la dosieron pyproject.toml" +msgstr "``documentation`` (Documentation)" #: ../source/specifications/well-known-project-urls.rst:124 -#, fuzzy -#| msgid "Creating pyproject.toml" msgid "The project's online documentation" -msgstr "Krei la dosieron pyproject.toml" +msgstr "La Interreta dokumentaro de la projekto" #: ../source/specifications/well-known-project-urls.rst:125 msgid "``docs``" -msgstr "" +msgstr "``docs``" #: ../source/specifications/well-known-project-urls.rst:126 msgid "``issues`` (Issue Tracker)" -msgstr "" +msgstr "``issues`` (Issue Tracker)" #: ../source/specifications/well-known-project-urls.rst:127 msgid "The project's bug tracker" -msgstr "" +msgstr "La cimdatenbanko de la projekto" #: ../source/specifications/well-known-project-urls.rst:128 msgid "``bugs``, ``issue``, ``tracker``, ``issuetracker``, ``bugtracker``" -msgstr "" +msgstr "``bugs``, ``issue``, ``tracker``, ``issuetracker``, ``bugtracker``" #: ../source/specifications/well-known-project-urls.rst:129 msgid "``funding`` (Funding)" -msgstr "" +msgstr "``funding`` (Funding)" #: ../source/specifications/well-known-project-urls.rst:130 msgid "Funding Information" -msgstr "" +msgstr "Informoj pri Financado" #: ../source/specifications/well-known-project-urls.rst:131 msgid "``sponsor``, ``donate``, ``donation``" -msgstr "" +msgstr "``sponsor``, ``donate``, ``donation``" #: ../source/specifications/well-known-project-urls.rst:133 msgid "" @@ -21389,27 +23566,28 @@ msgid "" msgstr "" #: ../source/specifications/well-known-project-urls.rst:137 -#, fuzzy msgid "Example behavior" -msgstr "Ekzemploj" +msgstr "Ekzempla konduto" #: ../source/specifications/well-known-project-urls.rst:139 msgid "" "The following shows the flow of project URL metadata from ``pyproject.toml`` " "to core metadata to a potential index presentation:" msgstr "" +"Jen la fluo de projekta retadresa metadateno el ``pyproject.toml`` al kerna " +"metadateno al ebla indeksa prezento:" #: ../source/specifications/well-known-project-urls.rst:142 msgid "Example project URLs in standard configuration" -msgstr "" +msgstr "Ekzemplaj projektaj retadresoj por ordinara agordado" #: ../source/specifications/well-known-project-urls.rst:151 msgid "Core metadata representation" -msgstr "" +msgstr "Prezento de kernaj metadatenoj" #: ../source/specifications/well-known-project-urls.rst:159 msgid "Potential rendering" -msgstr "" +msgstr "Ebla montrado" #: ../source/specifications/well-known-project-urls.rst:167 msgid "" @@ -21421,34 +23599,41 @@ msgstr "" #: ../source/specifications/well-known-project-urls.rst:172 msgid "``Home page`` becomes ``homepage``, which is rendered as ``Homepage``" -msgstr "" +msgstr "``Home page`` fariĝas ``homepage``, kiu montriĝas kiel ``Homepage``" #: ../source/specifications/well-known-project-urls.rst:173 msgid "" "``DOCUMENTATION`` becomes ``documentation``, which is rendered as " "``Documentation``" msgstr "" +"``DOCUMENTATION`` fariĝas ``documentation``, kiu montriĝas kiel " +"``Documentation``" #: ../source/specifications/well-known-project-urls.rst:174 msgid "" "``Repository`` becomes ``repository``, which is rendered as ``Source Code``" msgstr "" +"``Repository`` fariĝas ``repository``, kiu montriĝas kiel ``Source Code``" #: ../source/specifications/well-known-project-urls.rst:175 msgid "" "``GitHub`` becomes ``github``, which is rendered as ``Source Code (GitHub)`` " "(as a specialization of ``Source Code``)" msgstr "" +"``GitHub`` fariĝas ``github``, kiu montriĝas kiel ``Source Code (GitHub)`` " +"(specialaĵo de ``Source Code``)" #: ../source/support.rst:3 msgid "How to Get Support" -msgstr "" +msgstr "Kiel Esti Helpata" #: ../source/support.rst:5 msgid "" "For support related to a specific project, see the links on the :doc:" "`Projects ` page." msgstr "" +"Por subteno pri specifa projekto, vidu la hiperligojn ĉe la paĝo :doc:" +"`Projektoj `." #: ../source/support.rst:8 msgid "" @@ -21457,12 +23642,14 @@ msgid "" "template=general_issue.yml>`_ on the `packaging-problems `_ repository on GitHub." msgstr "" +"Por io pli ĝenerala, aŭ se vi ne certas, bonvolu `raporti problemon `_ " +"pri la deponejo `packaging-problems `_ ĉe GitHub." #: ../source/tutorials/creating-documentation.rst:4 -#, fuzzy -#| msgid "Creating pyproject.toml" msgid "Creating documentation" -msgstr "Krei la dosieron pyproject.toml" +msgstr "Krei dokumentaron" #: ../source/tutorials/creating-documentation.rst:6 msgid "" @@ -21470,6 +23657,9 @@ msgid "" "unmaintained. Please see the `Sphinx tutorial `_ instead." msgstr "" +"Jen forigita lernilo, ĉar ĝi ne estas rilata al pakado kaj ne estis " +"mastrumata. Bonvolu legi `la lernilon pri Sphinx `_ anstataŭe." #: ../source/tutorials/index.rst:4 msgid "" @@ -21477,16 +23667,20 @@ msgid "" "with packaging concepts. For more detailed information on specific packaging " "topics, see :doc:`/guides/index`." msgstr "" +"**Lernilo** estas opinihava paŝo-post-paŝa dokumento helpanta vin sci pli " +"pri konceptoj pri pakado. Por pli detalaj informoj pri specifaj temoj pri " +"pakado, vidu :doc:`/guides/index`." #: ../source/tutorials/installing-packages.rst:5 msgid "Installing Packages" -msgstr "" +msgstr "Instali Pakojn" #: ../source/tutorials/installing-packages.rst:7 msgid "" "This section covers the basics of how to install Python :term:`packages " "`." msgstr "" +"Jen paragrafo pri kiel instali Python-:term:`pakojn `." #: ../source/tutorials/installing-packages.rst:10 msgid "" @@ -21500,26 +23694,36 @@ msgid "" "preferred, because it can easily be confused with a Linux distribution, or " "another larger software distribution like Python itself." msgstr "" +"Notu, ke la esprimo «pako» en tiu kunteksto estas instalebla fasko da " +"programoj (t.e. sinonimo de :term:`distribuo `). Ĝi ne " +"signifas :term:`pakon `, kiun vi importas en via Python-" +"fontkodo (ujon de moduloj). La Python-komunumo ofte uzas la terminon «pako» " +"por signifi :term:`distribuon ` Ofte oni evitas la " +"terminon «distribuo», pro konfuzo kun Linux-distribuo aŭ pli granda " +"programdistribuo kiel Python mem." #: ../source/tutorials/installing-packages.rst:24 msgid "Requirements for Installing Packages" -msgstr "" +msgstr "Postuloj por Instali Pakojn" #: ../source/tutorials/installing-packages.rst:26 msgid "" "This section describes the steps to follow before installing other Python " "packages." msgstr "" +"Jen paragrafo pri la paŝoj farendaj antaŭ ol instali aliajn Python-pakojn." #: ../source/tutorials/installing-packages.rst:31 msgid "Ensure you can run Python from the command line" -msgstr "" +msgstr "Certigu, ke vi povas ruli Python komandlinie" #: ../source/tutorials/installing-packages.rst:33 msgid "" "Before you go any further, make sure you have Python and that the expected " "version is available from your command line. You can check this by running:" msgstr "" +"Komence certigu, ke vi havas Python kaj ke la atendata versio disponiĝas ĉe " +"via komandlinio. Vi povas kontroli tion rulante la jenon:" #: ../source/tutorials/installing-packages.rst:49 msgid "" @@ -21528,10 +23732,13 @@ msgid "" "ref:`Installing Python ` section of the " "Hitchhiker's Guide to Python." msgstr "" +"Vi ricevu eligaĵon kiel ``Python 3.6.3``. Se vi ne havas Python, bonvolu " +"instali la plej novan version 3.x el `python.org`_ aŭ vidu la paragrafon :" +"ref:`Instali Python ` de la dokumentaro." #: ../source/tutorials/installing-packages.rst:53 msgid "If you're a newcomer and you get an error like this:" -msgstr "" +msgstr "Se vi estas komencanto kaj ricevas eraron similan al la jeno:" #: ../source/tutorials/installing-packages.rst:62 msgid "" @@ -21569,13 +23776,15 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:95 msgid "Ensure you can run pip from the command line" -msgstr "" +msgstr "Certigu, ke vi povas ruli pip ĉe la komandlinio" #: ../source/tutorials/installing-packages.rst:97 msgid "" "Additionally, you'll need to make sure you have :ref:`pip` available. You " "can check this by running:" msgstr "" +"Krome, vi devas certigi, ke :ref:`pip` estas disponebla. Vi povas kontroli " +"tion rulante la jenon:" #: ../source/tutorials/installing-packages.rst:112 msgid "" @@ -21584,21 +23793,28 @@ msgid "" "installed using your OS package manager, you may have to install pip " "separately, see :doc:`/guides/installing-using-linux-tools`." msgstr "" +"Se vi instalis Python el fontkodo, per instalilo el `python.org`_, aŭ per " +"`Homebrew`_, vi jam havas pip. Se vi uzas Linux kaj instalis Python per via " +"mastrumasistema pakadministrilo, vi eble bezonas aparte instali pip laŭ :doc:" +"`/guides/installing-using-linux-tools`." #: ../source/tutorials/installing-packages.rst:119 msgid "" "If ``pip`` isn't already installed, then first try to bootstrap it from the " "standard library:" msgstr "" +"Se ``pip`` ankoraŭ ne estas instalita, do unue provu estigi ĝin per la norma " +"biblioteko:" #: ../source/tutorials/installing-packages.rst:134 msgid "If that still doesn't allow you to run ``python -m pip``:" -msgstr "" +msgstr "Se tio ankoraŭ ne ebligas ruli ``python -m pip``:" #: ../source/tutorials/installing-packages.rst:136 msgid "" "Securely Download `get-pip.py `_ [1]_" msgstr "" +"Sekure elŝutu `get-pip.py `_ [1]_" #: ../source/tutorials/installing-packages.rst:139 msgid "" @@ -21606,6 +23822,8 @@ msgid "" "Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" +"Rulu ``python get-pip.py``. [2]_ Tio instalos aŭ ĝisdatigos pip. Krome, ĝi " +"instalos :ref:`setuptools` kaj :ref:`wheel`, se tiuj ne estas jam instalitaj." #: ../source/tutorials/installing-packages.rst:145 msgid "" @@ -21629,7 +23847,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:173 msgid "Optionally, create a virtual environment" -msgstr "" +msgstr "Nedevige, kreu virtualan medion" #: ../source/tutorials/installing-packages.rst:175 msgid "" @@ -21644,6 +23862,8 @@ msgid "" "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" +"Tio kreos novan virtualan medion en la subdosierujo ``tutorial_env`` kaj " +"igas la aktualan ŝelon uzi ĝin kiel la implicitan ``python``-medion." #: ../source/tutorials/installing-packages.rst:199 msgid "Creating Virtual Environments" @@ -21666,6 +23886,10 @@ msgid "" "your platform’s standard location is), it’s easy to end up in a situation " "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" +"Supozu, ke oni havas programon bezonantan version 1 de LibFoo, sed alia " +"programo bezonas version 2. Kiel oni povas uzi ambaŭ programojn? Se oni " +"instalus ĉion en /usr/lib/python3.6/site-packages (aŭ la norma loko por onia " +"platformo), oni ofte senintence ĝisdatigus programon ne ĝisdatindan." #: ../source/tutorials/installing-packages.rst:213 msgid "" @@ -21679,6 +23903,9 @@ msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" +"Ankaŭ, kio okazos, se oni ne povas instali :term:`pakon ` en la tutsisteman dosierujon ``site-packages``? Ekzemple, je " +"komuna gastiganto." #: ../source/tutorials/installing-packages.rst:220 msgid "" @@ -21691,7 +23918,7 @@ msgstr "" msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" -msgstr "" +msgstr "Aktuale ekzistas du oftaj iloj por krei virtualajn Python-mediojn:" #: ../source/tutorials/installing-packages.rst:226 msgid "" @@ -21700,6 +23927,10 @@ msgid "" "3.4 and later (Python versions prior to 3.12 also installed :ref:" "`setuptools`)." msgstr "" +":doc:`venv ` estas apriore disponebla en Python 3.3 kaj " +"pli novaj, kaj instalas :ref:`pip` en la kreitan virtualan medion en Python " +"3.4 kaj pli novaj (versioj de Python antaŭ 3.12 ankaŭ instalis :ref:" +"`setuptools`)." #: ../source/tutorials/installing-packages.rst:229 msgid "" @@ -21708,6 +23939,9 @@ msgid "" "always installed into created virtual environments by default (regardless of " "Python version)." msgstr "" +":ref:`virtualenv` devas esti aparte instalita sed subtenas Python 2.7+ kaj " +"Python 3.3+. :ref:`pip`, :ref:`setuptools` kaj :ref:`wheel` estas ĉiam " +"instalitaj en la kreitan virtualan medion (por ĉiuj versioj de Python)." #: ../source/tutorials/installing-packages.rst:234 msgid "The basic usage is like so:" @@ -21715,17 +23949,19 @@ msgstr "Jen la baza uzmaniero:" #: ../source/tutorials/installing-packages.rst:236 msgid "Using :doc:`venv `:" -msgstr "" +msgstr "Uzi :doc:`venv `:" #: ../source/tutorials/installing-packages.rst:252 msgid "Using :ref:`virtualenv`:" -msgstr "Uzante :ref:`virtualenv`:" +msgstr "Uzi :ref:`virtualenv`:" #: ../source/tutorials/installing-packages.rst:268 msgid "" "For more information, see the :doc:`venv ` docs or the :" "doc:`virtualenv ` docs." msgstr "" +"Plir pliaj informoj, vidu la dokumentaron pri :doc:`venv ` aŭ la dokumentaron pri :doc:`virtualenv `." #: ../source/tutorials/installing-packages.rst:271 msgid "" @@ -21733,6 +23969,9 @@ msgid "" "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" +"La uzo de :command:`source` en Unikseca ŝelo certigas, ke la variabloj de la " +"virtuala medio estas agorditaj ene de la aktuala ŝelo kaj ne en subprocezo " +"(kiu poste malaperos kaj estos efikinte neniel)." #: ../source/tutorials/installing-packages.rst:276 msgid "" @@ -21740,6 +23979,9 @@ msgid "" "`source` command, but should rather run the :command:`activate` script " "directly from the command shell like so:" msgstr "" +"En ambaŭ ĉi-supraj kazoj, uzanto de Windows *ne* uzu la komandon :command:" +"`source`, sed preferu ruli la programeton :command:`activate` rekte en la " +"komanda ŝelo jene:" #: ../source/tutorials/installing-packages.rst:286 msgid "" @@ -21759,6 +24001,9 @@ msgid "" "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" +":ref:`pip` estas la rekomendata instalilo. Ĉi-sube, ni priskribos la plej " +"oftajn uzkazojn. Por pli da detaloj, vidu :doc:`la dokumentaron de pip `, kiu inkluzivas plenan :doc:`Referencan Gvidilon `." #: ../source/tutorials/installing-packages.rst:301 msgid "Installing from PyPI" @@ -21786,18 +24031,23 @@ msgstr "Por instali specifan version:" #: ../source/tutorials/installing-packages.rst:339 msgid "To install greater than or equal to one version and less than another:" msgstr "" +"Por instali version ne malpli novan ol unu version kaj malpli novan ol alian:" #: ../source/tutorials/installing-packages.rst:354 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" +"Por instali version :ref:`kongruan ` " +"kun iu versio: [4]_" #: ../source/tutorials/installing-packages.rst:369 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" +"Tiukaze, tio signifas instali ajnan version «==1.4.*» ankaŭ plenumantan " +"«>=1.4.2»." #: ../source/tutorials/installing-packages.rst:374 msgid "Source Distributions vs Wheels" @@ -21811,6 +24061,11 @@ msgid "" "can override pip`s default behavior by e.g. using its :ref:`--no-binary ` option." msgstr "" +":ref:`pip` povas instali aŭ :term:`fontan distribuon (sdist) ` aŭ :term:`Wheel `. Se ambaŭ ekzistas ĉe " +"PyPI, pip preferas kongruan :term:`wheel `. Oni povas ŝanĝi la " +"aprioran konduton de pip per la flago :ref:`--no-binary `." #: ../source/tutorials/installing-packages.rst:382 msgid "" @@ -21829,29 +24084,35 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:395 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." -msgstr "" +msgstr "Ĝisdatigi jam instalitan ``SomeProject`` al la plej nova ĉe PyPI." #: ../source/tutorials/installing-packages.rst:412 msgid "Installing to the User Site" -msgstr "" +msgstr "Instali al la Loko de la Uzanto" #: ../source/tutorials/installing-packages.rst:414 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" +"Por instali :term:`pakojn ` izolitajn al la aktuala " +"uzanto, uzu la flagon ``--user``:" #: ../source/tutorials/installing-packages.rst:429 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" +"Por pli da informoj, vidu la paragrafon `User Installs `_ de la dokumentaro de pip." #: ../source/tutorials/installing-packages.rst:433 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" +"Notu, ke la flago ``-user`` havas neniun efikon ene de virtuala medio – ĉiaj " +"instalaj komandoj ŝanĝos la virtualan medion." #: ../source/tutorials/installing-packages.rst:436 msgid "" @@ -21872,6 +24133,12 @@ msgid "" "path to your home directory) so you'll need to add ``~/.local/bin`` to your " "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" +"Sur Linux kaj macOS, vi povas trovi la bazan duumaĵan dosierujon de la " +"uzanto per ``python -m site --user-base`` kaj aldonanta ``bin`` al la fino. " +"Ekzemple, tio ordinare eligas ``~/.local`` (kun ``~`` anstataŭiigta per la " +"absoluta dosierloko de via hejma dosierujo); do vi aldonos ``~/.local/bin`` " +"al via ``PATH ``. Vi povas fiksi vian ``PATH`` `modifante ~/.profile " +"`_." #: ../source/tutorials/installing-packages.rst:450 msgid "" @@ -21890,16 +24157,21 @@ msgid "" "Install a list of requirements specified in a :ref:`Requirements File `." msgstr "" +"Instali liston de postuloj en :ref:`Postulo-Dosiero < pip:Requirements " +"Files>`." #: ../source/tutorials/installing-packages.rst:482 msgid "Installing from VCS" -msgstr "" +msgstr "Instali el Versikontrola Sistemo" #: ../source/tutorials/installing-packages.rst:484 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" +"Instali projekton el versikontrola sistem en «redaktebla» reĝimo. Por " +"plenaj detaloj de la sintakso, vidu la dokumentaron de pip pri :ref:`Subteno " +"de Versikontrola Sistemo `." #: ../source/tutorials/installing-packages.rst:506 msgid "Installing from other Indexes" @@ -21914,10 +24186,12 @@ msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" +"Dum instalado serĉi plian indekson kune kun :term:`PyPI `" #: ../source/tutorials/installing-packages.rst:538 msgid "Installing from a local src tree" -msgstr "" +msgstr "Instali el loka fonta arbo" #: ../source/tutorials/installing-packages.rst:541 msgid "" @@ -21928,21 +24202,23 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:558 msgid "You can also install normally from src" -msgstr "" +msgstr "Vi ankaŭ povas instali ordinare el fonto" #: ../source/tutorials/installing-packages.rst:573 msgid "Installing from local archives" -msgstr "" +msgstr "Instali el loka arĥivo" #: ../source/tutorials/installing-packages.rst:575 msgid "Install a particular source archive file." -msgstr "" +msgstr "Instali specifan fontan arĥivan dosieron." #: ../source/tutorials/installing-packages.rst:589 msgid "" "Install from a local directory containing archives (and don't check :term:" "`PyPI `)" msgstr "" +"Instali el loka dosierujo enhavanta arĥivojn (kaj ne kontroli :term:`PyPI " +"`)" #: ../source/tutorials/installing-packages.rst:609 msgid "Installing from other sources" @@ -21958,18 +24234,19 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:623 msgid "Installing Prereleases" -msgstr "" +msgstr "Instali Antaŭeldonojn" #: ../source/tutorials/installing-packages.rst:625 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" +"Trovi antaŭeldonajn kaj evoluadajn versiojn, aldone al stabilaj versioj. " +"Apriore, pip nur trovas stabilajn versiojn." #: ../source/tutorials/installing-packages.rst:641 -#, fuzzy msgid "Installing \"Extras\"" -msgstr "Instalo de pakoj" +msgstr "Instali «Ekstraĵojn»" #: ../source/tutorials/installing-packages.rst:643 msgid "" @@ -21985,6 +24262,9 @@ msgid "" "command:`curl` that verifies SSL certificates when downloading from https " "URLs." msgstr "" +"En ĉi tiu kunteksto, «sekura» signifas uzi modernan TTT-legilon aŭ ilon " +"kiel :command:`curl` kiu konfirmas SSL-atestilojn dum elŝutado el ``https``-" +"retadresoj." #: ../source/tutorials/installing-packages.rst:675 msgid "" @@ -21992,22 +24272,29 @@ msgid "" "`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" +"Ekde Python 3.4, ``venv`` (alternativo al :ref:`virtualenv` en la norma " +"biblioteko) kreas virtualan medion kun antaŭinstalita ``pip``, simile al :" +"ref:`virtualenv`." #: ../source/tutorials/installing-packages.rst:680 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" msgstr "" +"La specifilo pri kongrua eldono estis akceptita en :pep:`440`, kaj :ref:" +"`setuptools` v8.0 kaj :ref:`pip` v6.0 eksubtenis ĝin" #: ../source/tutorials/managing-dependencies.rst:4 msgid "Managing Application Dependencies" -msgstr "" +msgstr "Administri Programajn Dependecojn" #: ../source/tutorials/managing-dependencies.rst:6 msgid "" "The :ref:`package installation tutorial ` covered the " "basics of getting set up to install and update Python packages." msgstr "" +"La :ref:`lernilo pri instalado de pako ` diskutis la " +"fundamentojn pri instalado kaj ĝisdatigado de Python-pakoj." #: ../source/tutorials/managing-dependencies.rst:9 msgid "" @@ -22038,6 +24325,8 @@ msgstr "" msgid "" "For alternatives, see `Other Tools for Application Dependency Management`_." msgstr "" +"Por alternativoj, vidu la paragrafon `Aliaj Iloj por Administri Programan " +"Dependecon `_." #: ../source/tutorials/managing-dependencies.rst:27 msgid "Installing Pipenv" @@ -22067,7 +24356,7 @@ msgstr "" #: ../source/tutorials/managing-dependencies.rst:62 msgid "Installing packages for your project" -msgstr "" +msgstr "Instali pakojn por via projekto" #: ../source/tutorials/managing-dependencies.rst:64 msgid "" @@ -22075,6 +24364,9 @@ msgid "" "change into your project's directory (or just an empty directory for this " "tutorial) and run:" msgstr "" +"Pipenv administras dependecojn por projekto. Por instali pakon, iru al la " +"dosierujo de via projekto (aŭ malplena dosierujo por ĉi tiu lernilo), kaj " +"rulu la jenon:" #: ../source/tutorials/managing-dependencies.rst:73 msgid "" @@ -22084,6 +24376,11 @@ msgid "" "when you share your project with others. You should get output similar to " "this (although the exact paths shown will vary):" msgstr "" +"Pipenv instalos la bibliotekon `Requests`_ kaj kreos la dosieron ``Pipfile`` " +"por vi en la projekta dosierujo. :ref:`Pipfile` registras la dependecojn " +"postulatajn de via projekto, kiam oni volas reinstali ilin, ekzemple kiam vi " +"sendas vian projekton al aliuloj. Vi ricevos eligaĵon similan al la jeno " +"(kvankam la precizaj dosierlokoj diferencos):" #: ../source/tutorials/managing-dependencies.rst:109 msgid "Using installed packages" @@ -22094,14 +24391,16 @@ msgid "" "Now that Requests is installed you can create a simple :file:`main.py` file " "to use it:" msgstr "" +"Post instalo de Requests, vi povas krei simplan dosieron :file:`main.py` por " +"uzi ĝin:" #: ../source/tutorials/managing-dependencies.rst:122 msgid "Then you can run this script using ``pipenv run``:" -msgstr "" +msgstr "Poste vi povas ruli la programon per ``pipenv run``:" #: ../source/tutorials/managing-dependencies.rst:128 msgid "You should get output similar to this:" -msgstr "" +msgstr "Vi ricevos eligaĵon simila al la jeno:" #: ../source/tutorials/managing-dependencies.rst:134 msgid "" @@ -22120,6 +24419,8 @@ msgid "" "Congratulations, you now know how to effectively manage dependencies and " "development environments on a collaborative Python project! ✨ 🍰 ✨" msgstr "" +"Gratulon, vi nun scias kiel efektive administri dependecojn kaj evoluajn " +"mediojn en kulabora Python-projekto! ✨ 🍰 ✨" #: ../source/tutorials/managing-dependencies.rst:145 msgid "" @@ -22127,6 +24428,8 @@ msgid "" "see the :ref:`tutorial on packaging and distributing packages `." msgstr "" +"Se vi interesiĝas krei kaj distribui vian propran Python-pakon, vidu la :ref:" +"`lernilon pri kreado kaj distribuado de pakoj `." #: ../source/tutorials/managing-dependencies.rst:148 msgid "" @@ -22138,7 +24441,7 @@ msgstr "" #: ../source/tutorials/managing-dependencies.rst:157 msgid "Other Tools for Application Dependency Management" -msgstr "" +msgstr "Aliaj Iloj por Administri Programan Dependecon" #: ../source/tutorials/managing-dependencies.rst:159 msgid "" @@ -22168,6 +24471,8 @@ msgid "" "`PDM `_ for a modern Python package " "management relying on standards such as :pep:`517` and :pep:`621`." msgstr "" +"`PDM `_ por moderna Python-" +"pakadministrado per normoj kiel :pep:`517` kaj :pep:`621`." #: ../source/tutorials/managing-dependencies.rst:172 msgid "" @@ -22175,6 +24480,9 @@ msgid "" "file of all dependencies from a list of packages directly used in a project, " "and ensuring that only those dependencies are installed." msgstr "" +"`pip-tools `_ por krei serurdosieron " +"de ĉiuj dependaĵoj el listo de pakoj rekte uzataj en projekto, certigante, " +"ke nur tiuj dependaĵoj estas instalitaj." #: ../source/tutorials/managing-dependencies.rst:175 msgid "" @@ -22185,6 +24493,11 @@ msgid "" "assumption that the application being worked on will support distribution as " "a ``pip``-installable Python package." msgstr "" +"`Poetry `__ por ilo de simila utilo " +"al Pipenv, kiu pli temas pri tiuj uzkazoj, kie la administrata projekto " +"estas strukturita kiel distribuebla Python-pako kun valida dosiero " +"``pyproject.toml``. Malkiele, Pipenv eksplicite ne supozas, ke la " +"administrata programo estas distribuebla kiel ``pip``-instalebla Python-pako." #: ../source/tutorials/packaging-projects.rst:2 msgid "Packaging Python Projects" @@ -22210,6 +24523,8 @@ msgid "" "Some of the commands require a newer version of :ref:`pip`, so start by " "making sure you have the latest version installed:" msgstr "" +"Kelkaj komandoj postulas novan version de :ref:`pip`. Tial, certigu, ke vi " +"havas la plej novan version:" #: ../source/tutorials/packaging-projects.rst:35 msgid "A simple project" @@ -22227,7 +24542,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:44 msgid "Create the following file structure locally:" -msgstr "" +msgstr "Kreu loke la jenan dosieran strukturon:" #: ../source/tutorials/packaging-projects.rst:54 msgid "" @@ -22243,6 +24558,10 @@ msgid "" "regular package, even if (as is the case in this tutorial) :file:`__init__." "py` is empty. [#namespace-packages]_" msgstr "" +"Krei la dosieron :file:`__init__.py` estas rekomendate, ĉar la ekzisto de " +"dosiero :file:`__init__.py` permesas al uzantoj importi la dosierujon kiel " +"ordinaran pakon, eĉ se (kiel estas la kazo en ĉi tiu lernilo) :file:" +"`__init__.py` estas malplena. [#namespace-packages]_" #: ../source/tutorials/packaging-projects.rst:62 msgid "" @@ -22250,6 +24569,9 @@ msgid "" "contain the logic (functions, classes, constants, etc.) of your package. " "Open that file and enter the following content:" msgstr "" +":file:`example.py` estas ekzemplo de modulo en la pako, kiu povas enhavi la " +"logikon (funkciojn, klasojn, konstantojn ktp.) de via pako. Malfermu tiun " +"dosieron, kaj tajpu la jenon:" #: ../source/tutorials/packaging-projects.rst:71 msgid "" @@ -22257,12 +24579,17 @@ msgid "" "`import packages `, take a few minutes to read over the " "`Python documentation for packages and modules`_." msgstr "" +"Se vi ne konas :term:`modulon ` kaj :term:`importan pakon ` de Python, bonvolu tralegi la `dokumentaron de Python pri pakoj " +"kaj moduloj `_." #: ../source/tutorials/packaging-projects.rst:75 msgid "" "Once you create this structure, you'll want to run all of the commands in " "this tutorial within the ``packaging_tutorial`` directory." msgstr "" +"Post kiam vi kreas tiun strukturon, vi rulu ĉiujn komandojn en ĉi tiu " +"lernilo ene de la dosierujo ``packaging_tutorial``." #: ../source/tutorials/packaging-projects.rst:83 msgid "Creating the package files" @@ -22273,6 +24600,8 @@ msgid "" "You will now add files that are used to prepare the project for " "distribution. When you're done, the project structure will look like this:" msgstr "" +"Vi nun aldonos dosierojn por prepari la projekton por distribuado. Post tio, " +"la projekta strukturo aspektos jene:" #: ../source/tutorials/packaging-projects.rst:103 msgid "Creating a test directory" @@ -22281,10 +24610,11 @@ msgstr "Krei elprovan dosierujon" #: ../source/tutorials/packaging-projects.rst:105 msgid ":file:`tests/` is a placeholder for test files. Leave it empty for now." msgstr "" +":file:`tests/` estas loko por testaj dosieroj. Lasu ĝin malplena portempe." #: ../source/tutorials/packaging-projects.rst:111 msgid "Choosing a build backend" -msgstr "" +msgstr "Elekti konstruan malfasadon" #: ../source/tutorials/packaging-projects.rst:113 msgid "" @@ -22298,6 +24628,14 @@ msgid "" "term:`extension modules `, and you should choose one that " "suits your needs and preferences." msgstr "" +"Ilo kiel :ref:`pip` aŭ :ref:`build` ne fakte transformas viajn fontojn en :" +"term:`distribuan pakon ` (kiel radon); tiu tasko estas " +"farita de :term:`konstrua malfasado `. La konstrua malfasado " +"determinas kiel specifi la projektajn agordojn, inkluzive de la metadatenoj " +"(informoj pri la projekto, ekzemple, la nomo kaj etikedoj montrotaj ĉe PyPI) " +"kaj enigaj dosieroj. Diversaj konstruaj malfasadoj havas diversajn nivelojn " +"de funkcio, pri ĉu ili subtenas konstrui :term:`etendaĵan modulon `, kaj oni elektu konstruan malfasadon taŭgan por viaj bezonoj." #: ../source/tutorials/packaging-projects.rst:122 msgid "" @@ -22306,6 +24644,10 @@ msgid "" "ref:`Flit `, :ref:`PDM `, and others that support the " "``[project]`` table for :ref:`metadata `." msgstr "" +"Vi povas elekti inter multaj malfasadoj. Ĉi tiu lernilo uzas :ref:`Hatchling " +"`, sed ĝi ankaŭ funkcios same kun :ref:`setuptools`, :ref:`Flit " +"`, :ref:`PDM `, aŭ aliaj malfasadoj subtenantaj la tabelon " +"``[project]`` por :ref:`metadatenoj `." #: ../source/tutorials/packaging-projects.rst:129 msgid "" @@ -22338,6 +24680,8 @@ msgid "" "The ``build-backend`` key is the name of the Python object that frontends " "will use to perform the build." msgstr "" +"La ŝlosilo ``build-backend`` estas la nomo de la Python-objekto uzota de " +"fasadoj por fari la konstruon." #: ../source/tutorials/packaging-projects.rst:182 msgid "" @@ -22367,6 +24711,9 @@ msgid "" "package name that doesn't conflict with packages uploaded by other people " "following this tutorial." msgstr "" +"Malfermu :file:`pyproject.toml`, kaj tajpu la jenon. Ŝanĝu ``name`` " +"inkluzivante vian salutnomon; tio certigas, ke via paka nomo estas unika, ne " +"kolizianta kun la pakojn alŝutitajn de aliuloj sekvantaj ĉi tiun lernilon." #: ../source/tutorials/packaging-projects.rst:224 msgid "" @@ -22376,12 +24723,19 @@ msgid "" "username** for this tutorial, as this ensures you won't try to upload a " "package with the same name as one which already exists." msgstr "" +"``name`` estas la *distribua nomo* de via pako. Ĝi povas esti ajna nomo " +"enhavanta nur literojn, ciferojn, ``.``, ``_`` , kaj ``-``. Ĝi ankaŭ devas " +"ne esti jam uzata ĉe PyPI. **Certigu, ke vi ĝisdatigu ĝin per via " +"salutnomo** por ĉi tiu lernilo; tio certigas, ke vi ne alŝutos pakon de la " +"sama nomo kiel pako jam ekzistanta." #: ../source/tutorials/packaging-projects.rst:229 msgid "" "``version`` is the package version. (Some build backends allow it to be " "specified another way, such as from a file or Git tag.)" msgstr "" +"``version`` estas la versio de la pako. (Kelkaj konstruaj malfasadoj " +"permesas aliajn manierojn specifi ĝin, kiel per dosiero aŭ Git-etikedo.)" #: ../source/tutorials/packaging-projects.rst:231 msgid "" @@ -22389,10 +24743,13 @@ msgid "" "name and an email for each author. You can also list ``maintainers`` in the " "same format." msgstr "" +"``authors`` identigas la aŭtoron de la pakon; vi specifu nomon kaj retpoŝtan " +"adreson por ĉiu aŭtoro. La kampo ``maintainers`` por mastrumantoj sekvas la " +"saman formon." #: ../source/tutorials/packaging-projects.rst:234 msgid "``description`` is a short, one-sentence summary of the package." -msgstr "" +msgstr "``description`` estas mallonga, unufraza resumo de la pako." #: ../source/tutorials/packaging-projects.rst:235 msgid "" @@ -22409,6 +24766,9 @@ msgid "" "An installer like :ref:`pip` will look back through older versions of " "packages until it finds one that has a matching Python version." msgstr "" +"``requires-python`` listigas la versiojn de Python subtenataj de via " +"projekto. Instalilo kiel :ref:`pip` serĉas tra malnovaj versioj de pakoj ĝis " +"kiam ĝi trovas pakan version kongruan al la versio de Python." #: ../source/tutorials/packaging-projects.rst:243 msgid "" @@ -22426,6 +24786,8 @@ msgid "" "``urls`` lets you list any number of extra links to show on PyPI. Generally " "this could be to the source, documentation, issue trackers, etc." msgstr "" +"``urls`` ebligas vin listigi ajnan nombron da ekstraj hiperligoj montrotaj " +"sur PyPI. Ĝenerale tiuj povas esti la fonto, dokumentaro, cimaro ktp." #: ../source/tutorials/packaging-projects.rst:253 msgid "" @@ -22444,6 +24806,8 @@ msgid "" "Open :file:`README.md` and enter the following content. You can customize " "this if you'd like." msgstr "" +"Malfermu :file:`README.md`, kaj tajpu la jenon. Vi povas adapti ĝin, se tio " +"plaĉas al vi." #: ../source/tutorials/packaging-projects.rst:275 msgid "Creating a LICENSE" @@ -22463,6 +24827,8 @@ msgid "" "Most build backends automatically include license files in packages. See " "your backend's documentation for more details." msgstr "" +"Multaj konstruaj malfasadoj aŭtomate inkluzivas licencajn dosierojn en " +"pakojn. Vidu la dokumentaron de via malfasado por pli da detaloj." #: ../source/tutorials/packaging-projects.rst:311 msgid "Including other files" @@ -22474,10 +24840,13 @@ msgid "" "distribution `. If you want to include " "additional files, see the documentation for your build backend." msgstr "" +"La ĉi-supraj dosieroj inkluziviĝos aŭtomate en vian :term:`fontan distribuon " +"`. Se vi volas inkluzivi aliajn " +"dosierojn, legu la dokumentaron por via konstruilo." #: ../source/tutorials/packaging-projects.rst:320 msgid "Generating distribution archives" -msgstr "" +msgstr "Generi distribuan arĥivon" #: ../source/tutorials/packaging-projects.rst:322 msgid "" @@ -22485,28 +24854,36 @@ msgid "" "Package>` for the package. These are archives that are uploaded to the " "Python Package Index and can be installed by :ref:`pip`." msgstr "" +"La sekva paŝo estas generi :term:`distribuajn pakojn ` " +"por la pakoj. Tiuj estas arĥivoj alŝutotaj al Python Package Index kaj " +"instaleblaj per :ref:`pip`." #: ../source/tutorials/packaging-projects.rst:326 msgid "Make sure you have the latest version of PyPA's :ref:`build` installed:" -msgstr "" +msgstr "Certigu, ke vi instalis la plej novan version de :ref:`build` de PyPA:" #: ../source/tutorials/packaging-projects.rst:340 msgid "" "If you have trouble installing these, see the :doc:`installing-packages` " "tutorial." msgstr "" +"Se malfacilas instali tiujn, vidu la lernilon :doc:`installing-packages`." #: ../source/tutorials/packaging-projects.rst:343 msgid "" "Now run this command from the same directory where :file:`pyproject.toml` is " "located:" msgstr "" +"Nun rulu la jenan komandon ĉe la sama dosierujo kie troviĝas :file:" +"`pyproject.toml`:" #: ../source/tutorials/packaging-projects.rst:357 msgid "" "This command should output a lot of text and once completed should generate " "two files in the :file:`dist` directory:" msgstr "" +"Tiu komando eligos multon da teksto, kaj post fino estos kreinta du " +"dosierojn en la dosierujo :file:`dist`:" #: ../source/tutorials/packaging-projects.rst:367 msgid "" @@ -22522,11 +24899,11 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:376 msgid "Uploading the distribution archives" -msgstr "" +msgstr "Alŝuti la distribuajn arĥivojn" #: ../source/tutorials/packaging-projects.rst:378 msgid "Finally, it's time to upload your package to the Python Package Index!" -msgstr "Finfine, vi pretas alŝuti vian pakon al PyPI!" +msgstr "Finfine, vi pretas alŝuti vian pakon al Python Package Index!" #: ../source/tutorials/packaging-projects.rst:380 msgid "" @@ -22552,11 +24929,13 @@ msgid "" "Now that you are registered, you can use :ref:`twine` to upload the " "distribution packages. You'll need to install Twine:" msgstr "" +"Post registrado, vi povas uzi :ref:`twine` por alŝuti la distribuajn pakojn. " +"Vi devas instali Twine:" #: ../source/tutorials/packaging-projects.rst:410 msgid "" "Once installed, run Twine to upload all of the archives under :file:`dist`:" -msgstr "" +msgstr "Post instalo, rulu Twine por alŝuti ĉiujn arĥivojn en :file:`dist`:" #: ../source/tutorials/packaging-projects.rst:424 msgid "" @@ -22564,16 +24943,21 @@ msgid "" "``pypi-`` prefix. Note that the input will be hidden, so be sure to paste " "correctly." msgstr "" +"Vi estos petata pri API-ĵetono. Tajpu la ĵetonan valoron inkluzive de la " +"prefikso ``pypi-``. Notu, ke la enigaĵo estos kaŝita; tial certigu, ke vi " +"algluos ĝuste." #: ../source/tutorials/packaging-projects.rst:427 msgid "After the command completes, you should see output similar to this:" -msgstr "" +msgstr "Post la fino de la komando, vi vidos eligaĵon similan al la jeno:" #: ../source/tutorials/packaging-projects.rst:438 msgid "" "Once uploaded, your package should be viewable on TestPyPI; for example: " "``https://test.pypi.org/project/example_package_YOUR_USERNAME_HERE``." msgstr "" +"Post alŝuto, via pako estos videbla ĉe TestPyPI; ekzemple: ``https://test." +"pypi.org/project/example_package_VIA_SALUTNOMO_ĈI_TIE``." #: ../source/tutorials/packaging-projects.rst:443 msgid "Installing your newly uploaded package" @@ -22585,6 +24969,9 @@ msgid "" "Create a :ref:`virtual environment ` and install your package from TestPyPI:" msgstr "" +"Vi povas uzi :ref:`pip` por instali vian pakon kaj konfirmi, ĉu ĝi funkcias. " +"Kreu :ref:`virtualan medion `, kaj " +"instalu vian pakon el TestPyPI:" #: ../source/tutorials/packaging-projects.rst:461 msgid "Make sure to specify your username in the package name!" @@ -22594,7 +24981,7 @@ msgstr "Certigu, ke vi indikas vian salutnomon en la nomo de la pako!" msgid "" "pip should install the package from TestPyPI and the output should look " "something like this:" -msgstr "" +msgstr "pip instalos la pakon el TestPyPI, kaj la eligaĵo aspektu jene:" #: ../source/tutorials/packaging-projects.rst:473 msgid "" @@ -22611,10 +24998,13 @@ msgid "" "You can test that it was installed correctly by importing the package. Make " "sure you're still in your virtual environment, then run Python:" msgstr "" +"Importante la pakon, vi povas kontroli, ĉu ĝi estis instalita ĝuste. " +"Certigu, ke vi ankoraŭ estas en via virtuala medio, kaj rulu la jenan Python-" +"kodon:" #: ../source/tutorials/packaging-projects.rst:495 msgid "and import the package:" -msgstr "kaj enportu la pakon:" +msgstr "kaj importu la pakon:" #: ../source/tutorials/packaging-projects.rst:507 msgid "" @@ -22643,6 +25033,8 @@ msgid "" "append your username as you did in the tutorial, but you can't use an " "existing name." msgstr "" +"Elektu memorindan kaj unikan nomon por via pako. Vi ne devas postmeti vian " +"salutnomon kiel en la lernilo, sed vi ne povas uzi ekzistantan nomon." #: ../source/tutorials/packaging-projects.rst:521 msgid "" @@ -22650,6 +25042,8 @@ msgid "" "servers and the login details from the test server are not shared with the " "main server." msgstr "" +"Registru konton ĉe https://pypi.org – notu, ke tiuj du estas apartaj " +"serviloj; la akreditiloj ne estas komunaj inter ili." #: ../source/tutorials/packaging-projects.rst:524 msgid "" @@ -22672,6 +25066,8 @@ msgid "" "At this point if you want to read more on packaging Python libraries here " "are some things you can do:" msgstr "" +"Nun, se vi volas legi pli pri pakado de Python-bibliotekoj, jen kelkaj " +"legindaĵoj:" #: ../source/tutorials/packaging-projects.rst:533 msgid "" @@ -22679,6 +25075,9 @@ msgid "" "`_, :doc:`setuptools `, :doc:`Flit `, `PDM `_." msgstr "" +"Legu pri altnivela agordado de via konstrua malfasado: `Hatchling `_, :doc:`setuptools `, :doc:" +"`Flit `, `PDM `_." #: ../source/tutorials/packaging-projects.rst:537 msgid "" @@ -22686,6 +25085,9 @@ msgid "" "practical information, or the :doc:`discussions ` for " "explanations and background on specific topics." msgstr "" +"Legu la :doc:`gvidilojn ` ĉe ĉi tiu retejo por pli komplikaj " +"praktikaj informoj aŭ la :doc:`diskutojn ` por klarigoj " +"kaj fonaj informoj pri specifaj temoj." #: ../source/tutorials/packaging-projects.rst:540 msgid "" @@ -22693,10 +25095,13 @@ msgid "" "project management and packaging, such as :ref:`hatch`, :ref:`flit`, :ref:" "`pdm`, and :ref:`poetry`." msgstr "" +"Konsideru pakadan ilon disponigantan unu komandlinian fasadon por " +"projektadministrado kaj pakado, kiel ekzemple :ref:`hatch`, :ref:`flit`, :" +"ref:`pdm` kaj :ref:`poetry`." #: ../source/tutorials/packaging-projects.rst:548 msgid "Notes" -msgstr "" +msgstr "Notoj" #: ../source/tutorials/packaging-projects.rst:550 msgid "" @@ -22707,13 +25112,17 @@ msgid "" "recommended to stick with *regular packages* and ``__init__.py`` (even if " "the file is empty)." msgstr "" +"Teĥnike, vi ankaŭ povas krei Python-pakon sen dosiero ``__init__.py``, sed " +"tia pako nomiĝas :doc:`nomspaca pako ` " +"kaj estas **altnivelaĵo** (ne pridiskutata en ĉi tiu lernilo). Se vi estas " +"komencanto pri Python-pakado, recomendate estas nur uzi *ordinarajn pakojn* " +"kaj ``__init__.py`` (eĉ se tiu dosiero estas malplena)." #, fuzzy #~ msgid "``install``" #~ msgstr "Uzi ``pip`` por instali Pipenv:" #, fuzzy -#~| msgid "Examples" #~ msgid "Examples:" #~ msgstr "Ekzemploj" @@ -22756,7 +25165,6 @@ msgstr "" #~ msgstr "Legu pri :doc:`/guides/packaging-binary-extensions`." #, fuzzy -#~| msgid "Creating pyproject.toml" #~ msgid "Current recommendation" #~ msgstr "Krei la dosieron pyproject.toml" diff --git a/locales/es/LC_MESSAGES/messages.po b/locales/es/LC_MESSAGES/messages.po index d3b7e62b4..88271b67d 100644 --- a/locales/es/LC_MESSAGES/messages.po +++ b/locales/es/LC_MESSAGES/messages.po @@ -15,11 +15,11 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-24 11:39+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-11-24 22:33+0000\n" "Last-Translator: gallegonovato \n" -"Language-Team: Spanish \n" +"Language-Team: Spanish \n" "Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -769,7 +769,7 @@ msgid "Unix (including Linux and macOS)" msgstr "Unix (incluyendo Linux y macOS)" #: ../source/discussions/deploying-python-applications.rst:118 -#: ../source/key_projects.rst:572 ../source/key_projects.rst:576 +#: ../source/key_projects.rst:576 msgid "pex" msgstr "pex" @@ -1864,7 +1864,9 @@ msgid "Where to read more about this?" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:213 -msgid "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" +msgid "" +"`Why you shouldn't invoke setup.py directly `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -2086,7 +2088,6 @@ msgid "" msgstr "" #: ../source/discussions/versioning.rst:6 -#: ../source/specifications/simple-repository-api.rst:310 #: ../source/specifications/simple-repository-api.rst:319 #, fuzzy msgid "Versioning" @@ -3398,6 +3399,7 @@ msgid "Description" msgstr "Descripción" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5331,7 +5333,7 @@ msgid "" "In particular, `NumPy `__, which provides the basis for " "most of the software in the `scientific Python stack `_ can be configured to interoperate with different FORTRAN " -"libraries, and can take advantage of different levels of vectorised " +"libraries, and can take advantage of different levels of vectorized " "instructions available in modern CPUs." msgstr "" @@ -5340,9 +5342,9 @@ msgid "" "Starting with version 1.10.4 of NumPy and version 1.0.0 of SciPy, pre-built " "32-bit and 64-bit binaries in the ``wheel`` format are available for all " "major operating systems (Windows, macOS, and Linux) on PyPI. Note, however, " -"that on Windows, NumPy binaries are linked against the `ATLAS `__ BLAS/LAPACK library, restricted to SSE2 instructions, " -"so they may not provide optimal linear algebra performance." +"that on Windows, NumPy binaries are linked against the `ATLAS `__ BLAS/LAPACK library, restricted to SSE2 " +"instructions, so they may not provide optimal linear algebra performance." msgstr "" #: ../source/guides/installing-scientific-packages.rst:26 @@ -5443,9 +5445,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -5455,7 +5457,7 @@ msgid "" msgstr "" #: ../source/guides/installing-scientific-packages.rst:100 -#: ../source/key_projects.rst:808 ../source/key_projects.rst:812 +#: ../source/key_projects.rst:812 msgid "Spack" msgstr "" @@ -5487,28 +5489,41 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:121 msgid "" -"`Anaconda `_ is a Python " +"``conda`` is an open source (BSD licensed) package management system and " +"environment management system that allows users to install multiple versions " +"of binary software packages and their dependencies, and easily switch " +"between them. It is a cross-platform tool working on Windows, MacOS, and " +"Linux. Conda can be used to package up and distribute all kinds of packages, " +"it is not limited to just Python packages. It has full support for native " +"virtual environments. Conda makes environments first-class citizens, making " +"it easy to create independent environments even for C libraries. It is " +"written in Python, but is Python-agnostic. Conda manages Python itself as a " +"package, so that :command:`conda update python` is possible, in contrast to " +"pip, which only manages Python packages." +msgstr "" + +#: ../source/guides/installing-scientific-packages.rst:133 +msgid "" +"Anaconda `Anaconda `_ is a Python " "distribution published by Anaconda, Inc. It is a stable collection of Open " -"Source packages for big data and scientific use. As of the 5.0 release of " -"Anaconda, about 200 packages are installed by default, and a total of " -"400-500 can be installed and updated from the Anaconda repository." +"Source packages for big data and scientific use, and a collection of " +"Graphical Interface utilities for managing conda environments." msgstr "" -#: ../source/guides/installing-scientific-packages.rst:127 +#: ../source/guides/installing-scientific-packages.rst:135 msgid "" -"``conda`` is an open source (BSD licensed) package management system and " -"environment management system included in Anaconda that allows users to " -"install multiple versions of binary software packages and their " -"dependencies, and easily switch between them. It is a cross-platform tool " -"working on Windows, macOS, and Linux. Conda can be used to package up and " -"distribute all kinds of packages, it is not limited to just Python packages. " -"It has full support for native virtual environments. Conda makes " -"environments first-class citizens, making it easy to create independent " -"environments even for C libraries. It is written in Python, but is Python-" -"agnostic. Conda manages Python itself as a package, so that :command:`conda " -"update python` is possible, in contrast to pip, which only manages Python " -"packages. Conda is available in Anaconda and Miniconda (an easy-to-install " -"download with just Python and conda)." +"In addition to the full distribution provided by Anaconda, the conda package " +"manager itself is available in `miniconda `_, `miniforge `_, and " +"`pixi `_." +msgstr "" + +#: ../source/guides/installing-scientific-packages.rst:138 +msgid "" +"Conda packages are available on multiple channels on Anaconda.org, including " +"the default channel supported by Anaconda, Inc, the community supported " +"conda-forge channel, which provides a wide variety of pre-built packages, " +"and some domain-specific package collections." msgstr "" #: ../source/guides/installing-stand-alone-command-line-tools.rst:4 @@ -8601,32 +8616,50 @@ msgstr "" #: ../source/guides/tool-recommendations.rst:142 msgid "" -"For projects hosted on GitHub, it is recommended to use the :ref:`trusted " -"publishing `, which allows the package to be securely " -"uploaded to PyPI from a GitHub Actions job. (This is not yet supported on " -"software forges other than GitHub.)" +"For projects hosted on or published via supported CI/CD platforms, it is " +"recommended to use the :ref:`Trusted Publishing `, which " +"allows the package to be securely uploaded to PyPI from a CI/CD workflow " +"without a manually configured API token." msgstr "" #: ../source/guides/tool-recommendations.rst:147 +msgid "" +"As of November 2024, PyPI supports the following platforms as Trusted " +"Publishing providers:" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:150 +msgid "GitHub Actions (on ``https://github.com``)" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:151 +msgid "GitLab CI/CD (on ``https://gitlab.com``)" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:152 +msgid "ActiveState" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:153 +msgid "Google Cloud" +msgstr "" + #: ../source/guides/tool-recommendations.rst:155 msgid "" "The other available method is to upload the package manually using :ref:" "`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:149 #: ../source/guides/tool-recommendations.rst:159 msgid "" "**Never** use ``python setup.py upload`` for this task. In addition to " "being :ref:`deprecated `, it is insecure." msgstr "" -#: ../source/guides/tool-recommendations.rst:154 #: ../source/guides/tool-recommendations.rst:164 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:156 #: ../source/guides/tool-recommendations.rst:166 msgid "" "These tools are environment managers that automatically manage virtual " @@ -8638,42 +8671,35 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:164 #: ../source/guides/tool-recommendations.rst:174 #, fuzzy msgid ":ref:`Flit`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:165 #: ../source/guides/tool-recommendations.rst:175 #, fuzzy msgid ":ref:`Hatch`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:166 #: ../source/guides/tool-recommendations.rst:176 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:167 #: ../source/guides/tool-recommendations.rst:177 #, fuzzy msgid ":ref:`PDM`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:168 #: ../source/guides/tool-recommendations.rst:178 #, fuzzy msgid ":ref:`Pipenv`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:169 #: ../source/guides/tool-recommendations.rst:179 #, fuzzy msgid ":ref:`Poetry`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:170 #: ../source/guides/tool-recommendations.rst:180 msgid ":doc:`tox `." msgstr "" @@ -9854,44 +9880,58 @@ msgstr "" #: ../source/key_projects.rst:407 msgid "" -"conda is the package management tool for `Anaconda `__ Python installations. Anaconda Python is a distribution " -"from `Anaconda, Inc `__ " -"specifically aimed at the scientific community, and in particular on Windows " -"where the installation of binary extensions is often difficult." +"Conda is a package, dependency, and environment management system for any " +"language — Python, R, Ruby, C/C++, Fortran, and more. It is written in " +"Python and widely used in the Python scientific computing community, due to " +"its support for non-Python compiled libraries and extensions. It is used as " +"the basis of the `Anaconda `__ Python " +"distribution from Anaconda, Inc. It was originally aimed at the scientific " +"community, but can also be used on its own, or with the :doc:`miniconda " +"`, `miniforge `_ " +"or `pixi `_ systems. It is available for Windows, Mac and " +"Linux systems." msgstr "" -#: ../source/key_projects.rst:414 +#: ../source/key_projects.rst:416 msgid "" "Conda is a completely separate tool from :ref:`pip`, virtualenv and wheel, " -"but provides many of their combined features in terms of package management, " -"virtual environment management and deployment of binary extensions." +"but provides many of their combined features, such as package management, " +"virtual environment management and deployment of binary extensions and other " +"binary code." +msgstr "" + +#: ../source/key_projects.rst:420 +msgid "" +"Conda does not install packages from PyPI -- it can only manage packages " +"built specifically for conda, which can be made available on a \"conda " +"channel\", such as those hosted on `anaconda.org `__, " +"or a local (e.g. intranet) package server. In addition to the \"default\" " +"channels managed by `Anaconda, Inc. `__, there " +"are a wide variety of packages from the community supported `conda-forge " +"project `__" msgstr "" -#: ../source/key_projects.rst:418 +#: ../source/key_projects.rst:426 msgid "" -"Conda does not install packages from PyPI and can install only from the " -"official Anaconda repositories, or anaconda.org (a place for user-" -"contributed *conda* packages), or a local (e.g. intranet) package server. " -"However, note that :ref:`pip` can be installed into, and work side-by-side " -"with conda for managing :term:`distributions ` from " -"PyPI. Also, `conda skeleton `__ is a tool to make " -"Python packages installable by conda by first fetching them from PyPI and " -"modifying their metadata." +"Note that :ref:`pip` can be installed into, and work side-by-side with conda " +"for managing :term:`distributions ` from PyPI. It is " +"also possible to build conda packages from Python source packages using " +"tools such as `conda skeleton `__: a tool to " +"automatically make conda packages from Python packages available on PyPI." msgstr "" -#: ../source/key_projects.rst:431 ../source/key_projects.rst:435 +#: ../source/key_projects.rst:435 msgid "devpi" msgstr "" -#: ../source/key_projects.rst:433 ../source/key_projects.rst:437 +#: ../source/key_projects.rst:437 msgid "" "`Docs `__ | :gh:`Issues ` " "| `PyPI `__" msgstr "" -#: ../source/key_projects.rst:437 ../source/key_projects.rst:441 +#: ../source/key_projects.rst:441 msgid "" "devpi features a powerful PyPI-compatible server and PyPI proxy cache with a " "complementary command line tool to drive packaging, testing and release " @@ -9901,17 +9941,17 @@ msgid "" "replication and fail-over, and package upload." msgstr "" -#: ../source/key_projects.rst:448 ../source/key_projects.rst:452 +#: ../source/key_projects.rst:452 msgid "dumb-pypi" msgstr "" -#: ../source/key_projects.rst:450 ../source/key_projects.rst:454 +#: ../source/key_projects.rst:454 msgid "" "`GitHub `__ | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:453 ../source/key_projects.rst:457 +#: ../source/key_projects.rst:457 msgid "" "dumb-pypi is a simple :term:`package index ` static file site " "generator, which then must be hosted by a static file webserver to become " @@ -9919,17 +9959,17 @@ msgid "" "status." msgstr "" -#: ../source/key_projects.rst:460 ../source/key_projects.rst:464 +#: ../source/key_projects.rst:464 msgid "enscons" msgstr "" -#: ../source/key_projects.rst:462 ../source/key_projects.rst:466 +#: ../source/key_projects.rst:466 msgid "" ":gh:`Source ` | :gh:`Issues ` | `PyPI " "`__" msgstr "" -#: ../source/key_projects.rst:466 ../source/key_projects.rst:470 +#: ../source/key_projects.rst:470 msgid "" "Enscons is a Python packaging tool based on `SCons`_. It builds :ref:`pip`-" "compatible source distributions and wheels without using distutils or " @@ -9941,39 +9981,38 @@ msgid "" "independent of enscons." msgstr "" -#: ../source/key_projects.rst:481 ../source/key_projects.rst:485 +#: ../source/key_projects.rst:485 msgid "Flask-Pypi-Proxy" msgstr "" -#: ../source/key_projects.rst:483 ../source/key_projects.rst:487 +#: ../source/key_projects.rst:487 msgid "" "`Docs `__ | :gh:`GitHub ` | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:487 ../source/key_projects.rst:681 -#: ../source/key_projects.rst:740 ../source/key_projects.rst:491 -#: ../source/key_projects.rst:685 ../source/key_projects.rst:744 +#: ../source/key_projects.rst:491 ../source/key_projects.rst:685 +#: ../source/key_projects.rst:744 msgid "Not maintained, project archived" msgstr "" -#: ../source/key_projects.rst:489 ../source/key_projects.rst:493 +#: ../source/key_projects.rst:493 msgid "" "Flask-Pypi-Proxy is a :term:`package index ` as a cached " "proxy for PyPI." msgstr "" -#: ../source/key_projects.rst:495 ../source/key_projects.rst:499 +#: ../source/key_projects.rst:499 msgid "Hashdist" msgstr "" -#: ../source/key_projects.rst:497 ../source/key_projects.rst:501 +#: ../source/key_projects.rst:501 msgid "" "`Docs `__ | `GitHub `__" msgstr "" -#: ../source/key_projects.rst:500 ../source/key_projects.rst:504 +#: ../source/key_projects.rst:504 msgid "" "Hashdist is a library for building non-root software distributions. Hashdist " "is trying to be “the Debian of choice for cases where Debian technology " @@ -9984,34 +10023,34 @@ msgid "" "researchers but has been lacking in maintenance since 2016." msgstr "" -#: ../source/key_projects.rst:512 ../source/key_projects.rst:516 +#: ../source/key_projects.rst:516 msgid "Maturin" msgstr "" -#: ../source/key_projects.rst:514 ../source/key_projects.rst:518 +#: ../source/key_projects.rst:518 msgid "" "`Docs `__ | `GitHub `__" msgstr "" -#: ../source/key_projects.rst:517 ../source/key_projects.rst:521 +#: ../source/key_projects.rst:521 msgid "" "Maturin is a build backend for Rust extension modules, also written in Rust. " "It supports building wheels for python 3.7+ on Windows, Linux, macOS and " "FreeBSD, can upload them to PyPI and has basic PyPy and GraalPy support." msgstr "" -#: ../source/key_projects.rst:525 ../source/key_projects.rst:529 +#: ../source/key_projects.rst:529 msgid "meson-python" msgstr "" -#: ../source/key_projects.rst:527 ../source/key_projects.rst:531 +#: ../source/key_projects.rst:531 msgid "" "`Docs `__ | `GitHub `__" msgstr "" -#: ../source/key_projects.rst:530 ../source/key_projects.rst:534 +#: ../source/key_projects.rst:534 msgid "" "``meson-python`` is a build backend that uses the Meson_ build system. It " "enables Python package authors to use Meson_ as the build system for their " @@ -10019,59 +10058,59 @@ msgid "" "to fill the needs of most complex build configurations." msgstr "" -#: ../source/key_projects.rst:540 ../source/key_projects.rst:544 +#: ../source/key_projects.rst:544 msgid "multibuild" msgstr "" -#: ../source/key_projects.rst:542 ../source/key_projects.rst:546 +#: ../source/key_projects.rst:546 #, fuzzy msgid "`GitHub `__" msgstr "`pip-tools `_" -#: ../source/key_projects.rst:544 ../source/key_projects.rst:548 +#: ../source/key_projects.rst:548 msgid "" "Multibuild is a set of CI scripts for building and testing Python :term:" "`wheels ` for Linux, macOS, and (less flexibly) Windows. Also see :" "ref:`cibuildwheel`." msgstr "" -#: ../source/key_projects.rst:550 ../source/key_projects.rst:554 +#: ../source/key_projects.rst:554 msgid "nginx_pypi_cache" msgstr "" -#: ../source/key_projects.rst:552 ../source/key_projects.rst:556 +#: ../source/key_projects.rst:556 msgid ":gh:`GitHub `" msgstr "" -#: ../source/key_projects.rst:554 ../source/key_projects.rst:558 +#: ../source/key_projects.rst:558 msgid "" "nginx_pypi_cache is a :term:`package index ` caching proxy " "using `nginx `_." msgstr "" -#: ../source/key_projects.rst:560 ../source/key_projects.rst:564 +#: ../source/key_projects.rst:564 msgid "pdm" msgstr "" -#: ../source/key_projects.rst:562 ../source/key_projects.rst:566 +#: ../source/key_projects.rst:566 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:566 ../source/key_projects.rst:570 +#: ../source/key_projects.rst:570 msgid "" "PDM is a modern Python package manager. It uses :term:`pyproject.toml` to " "store project metadata as defined in :pep:`621`." msgstr "" -#: ../source/key_projects.rst:574 ../source/key_projects.rst:578 +#: ../source/key_projects.rst:578 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:578 ../source/key_projects.rst:582 +#: ../source/key_projects.rst:582 msgid "" "Pex is a tool for generating :file:`.pex` (Python EXecutable) files, " "standalone Python environments in the spirit of :ref:`virtualenv`. PEX files " @@ -10092,18 +10131,18 @@ msgstr "" "pueden tener opcionalmente herramientas incrustadas que permiten convertir " "el archivo PEX en un venv estándar, dibujar dependencias y más." -#: ../source/key_projects.rst:590 ../source/key_projects.rst:594 +#: ../source/key_projects.rst:594 msgid "pip-tools" msgstr "" -#: ../source/key_projects.rst:592 ../source/key_projects.rst:596 +#: ../source/key_projects.rst:596 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:596 ../source/key_projects.rst:600 +#: ../source/key_projects.rst:600 msgid "" "pip-tools is a suite of tools meant for Python system administrators and " "release managers who particularly want to keep their builds deterministic " @@ -10114,32 +10153,32 @@ msgid "" "not provide), and create layers of constraints for the program to obey." msgstr "" -#: ../source/key_projects.rst:608 ../source/key_projects.rst:612 +#: ../source/key_projects.rst:612 msgid "pip2pi" msgstr "" -#: ../source/key_projects.rst:610 ../source/key_projects.rst:614 +#: ../source/key_projects.rst:614 msgid "" ":gh:`GitHub ` | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:613 ../source/key_projects.rst:617 +#: ../source/key_projects.rst:617 msgid "" "pip2pi is a :term:`package index ` server where specific " "packages are manually synchronised." msgstr "" -#: ../source/key_projects.rst:619 ../source/key_projects.rst:623 +#: ../source/key_projects.rst:623 msgid "piwheels" msgstr "" -#: ../source/key_projects.rst:621 ../source/key_projects.rst:625 +#: ../source/key_projects.rst:625 msgid "" "`Website `__ | :doc:`Docs ` | " "`GitHub `__" msgstr "" -#: ../source/key_projects.rst:625 ../source/key_projects.rst:629 +#: ../source/key_projects.rst:629 msgid "" "piwheels is a website, and software underpinning it, that fetches source " "code distribution packages from PyPI and compiles them into binary wheels " @@ -10147,17 +10186,17 @@ msgid "" "Pi OS pre-configures pip to use piwheels.org as an additional index to PyPI." msgstr "" -#: ../source/key_projects.rst:634 ../source/key_projects.rst:638 +#: ../source/key_projects.rst:638 msgid "poetry" msgstr "" -#: ../source/key_projects.rst:636 ../source/key_projects.rst:640 +#: ../source/key_projects.rst:640 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:640 ../source/key_projects.rst:644 +#: ../source/key_projects.rst:644 msgid "" "poetry is a command-line tool to handle dependency installation and " "isolation as well as building and packaging of Python packages. It uses " @@ -10167,49 +10206,49 @@ msgid "" "caching metadata about dependencies." msgstr "" -#: ../source/key_projects.rst:650 ../source/key_projects.rst:654 +#: ../source/key_projects.rst:654 msgid "proxpi" msgstr "" -#: ../source/key_projects.rst:652 ../source/key_projects.rst:656 +#: ../source/key_projects.rst:656 msgid "" ":gh:`GitHub ` | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:655 ../source/key_projects.rst:659 +#: ../source/key_projects.rst:659 msgid "" "proxpi is a simple :term:`package index ` which proxies PyPI " "and other indexes with caching." msgstr "" -#: ../source/key_projects.rst:661 ../source/key_projects.rst:665 +#: ../source/key_projects.rst:665 msgid "Pulp-python" msgstr "" -#: ../source/key_projects.rst:663 ../source/key_projects.rst:667 +#: ../source/key_projects.rst:667 msgid "" "`Docs `__ | :gh:`GitHub ` | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:667 ../source/key_projects.rst:671 +#: ../source/key_projects.rst:671 msgid "" "Pulp-python is the Python :term:`package index ` plugin for " "`Pulp `_. Pulp-python supports mirrors backed by " "local or `AWS S3`_, package upload, and proxying to multiple package indexes." msgstr "" -#: ../source/key_projects.rst:675 ../source/key_projects.rst:679 +#: ../source/key_projects.rst:679 msgid "PyPI Cloud" msgstr "" -#: ../source/key_projects.rst:677 ../source/key_projects.rst:681 +#: ../source/key_projects.rst:681 msgid "" "`Docs `__ | :gh:`GitHub ` | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:683 ../source/key_projects.rst:687 +#: ../source/key_projects.rst:687 msgid "" "PyPI Cloud is a :term:`package index ` server, backed by `AWS " "S3`_ or another cloud storage service, or local files. PyPI Cloud supports " @@ -10217,33 +10256,33 @@ msgid "" "authorisation." msgstr "" -#: ../source/key_projects.rst:691 ../source/key_projects.rst:695 +#: ../source/key_projects.rst:695 msgid "pypiprivate" msgstr "" -#: ../source/key_projects.rst:693 ../source/key_projects.rst:697 +#: ../source/key_projects.rst:697 msgid "" ":gh:`GitHub ` | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:696 ../source/key_projects.rst:700 +#: ../source/key_projects.rst:700 msgid "" "pypiprivate serves a local (or `AWS S3`_-hosted) directory of packages as a :" "term:`package index `." msgstr "" -#: ../source/key_projects.rst:702 ../source/key_projects.rst:706 +#: ../source/key_projects.rst:706 msgid "pypiserver" msgstr "" -#: ../source/key_projects.rst:704 ../source/key_projects.rst:708 +#: ../source/key_projects.rst:708 msgid "" "`GitHub `__ | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:707 ../source/key_projects.rst:711 +#: ../source/key_projects.rst:711 msgid "" "pypiserver is a minimalist application that serves as a private Python :term:" "`package index ` (from a local directory) within " @@ -10254,17 +10293,17 @@ msgid "" "pypiserver and from PyPI." msgstr "" -#: ../source/key_projects.rst:718 ../source/key_projects.rst:722 +#: ../source/key_projects.rst:722 msgid "PyScaffold" msgstr "" -#: ../source/key_projects.rst:720 ../source/key_projects.rst:724 +#: ../source/key_projects.rst:724 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:724 ../source/key_projects.rst:728 +#: ../source/key_projects.rst:728 msgid "" "PyScaffold is a project generator for bootstrapping Python packages, ready " "to be shared on PyPI and installable via :ref:`pip`. It relies on a set of " @@ -10274,33 +10313,33 @@ msgid "" "existing projects to make packaging easier." msgstr "" -#: ../source/key_projects.rst:735 ../source/key_projects.rst:739 +#: ../source/key_projects.rst:739 msgid "pywharf" msgstr "" -#: ../source/key_projects.rst:737 ../source/key_projects.rst:741 +#: ../source/key_projects.rst:741 msgid "" ":gh:`GitHub ` | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:742 ../source/key_projects.rst:746 +#: ../source/key_projects.rst:746 msgid "" "pywharf is a :term:`package index ` server, serving files " "locally or from `GitHub `_." msgstr "" -#: ../source/key_projects.rst:748 ../source/key_projects.rst:752 +#: ../source/key_projects.rst:752 msgid "scikit-build" msgstr "" -#: ../source/key_projects.rst:750 ../source/key_projects.rst:754 +#: ../source/key_projects.rst:754 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:754 ../source/key_projects.rst:758 +#: ../source/key_projects.rst:758 msgid "" "Scikit-build is a :ref:`setuptools` wrapper for CPython that builds C/C++/" "Fortran/Cython extensions It uses `cmake `__ " @@ -10311,18 +10350,18 @@ msgid "" "ninja>`__ (also available on PyPI)." msgstr "" -#: ../source/key_projects.rst:765 ../source/key_projects.rst:769 +#: ../source/key_projects.rst:769 msgid "scikit-build-core" msgstr "" -#: ../source/key_projects.rst:767 ../source/key_projects.rst:771 +#: ../source/key_projects.rst:771 msgid "" "`Docs `__ | `GitHub " "`__ | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:771 ../source/key_projects.rst:775 +#: ../source/key_projects.rst:775 msgid "" "Scikit-build-core is a build backend for CPython C/C++/Fortran/Cython " "extensions. It enables users to write extensions with `cmake `__ | `GitHub `__ | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:787 ../source/key_projects.rst:791 +#: ../source/key_projects.rst:791 msgid "" "shiv is a command line utility for building fully self contained Python " "zipapps as outlined in :pep:`441`, but with all their dependencies included. " @@ -10350,17 +10389,17 @@ msgid "" "tools fast & easy." msgstr "" -#: ../source/key_projects.rst:795 ../source/key_projects.rst:799 +#: ../source/key_projects.rst:799 msgid "simpleindex" msgstr "" -#: ../source/key_projects.rst:797 ../source/key_projects.rst:801 +#: ../source/key_projects.rst:801 msgid "" ":gh:`GitHub ` | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:800 ../source/key_projects.rst:804 +#: ../source/key_projects.rst:804 msgid "" "simpleindex is a :term:`package index ` which routes URLs to " "multiple package indexes (including PyPI), serves local (or cloud-hosted, " @@ -10368,7 +10407,7 @@ msgid "" "supports custom plugins." msgstr "" -#: ../source/key_projects.rst:810 ../source/key_projects.rst:814 +#: ../source/key_projects.rst:814 msgid "" ":doc:`Docs ` | `GitHub `__ | " "`Paper `__" msgstr "" -#: ../source/key_projects.rst:815 ../source/key_projects.rst:819 +#: ../source/key_projects.rst:819 msgid "" "A flexible package manager designed to support multiple versions, " "configurations, platforms, and compilers. Spack is like Homebrew, but " @@ -10387,24 +10426,24 @@ msgid "" "supercomputers." msgstr "" -#: ../source/key_projects.rst:823 ../source/key_projects.rst:827 +#: ../source/key_projects.rst:827 msgid "" "Spack is not in PyPI (yet), but it requires no installation and can be used " "immediately after cloning from GitHub." msgstr "" -#: ../source/key_projects.rst:829 ../source/key_projects.rst:833 +#: ../source/key_projects.rst:833 msgid "zest.releaser" msgstr "" -#: ../source/key_projects.rst:831 ../source/key_projects.rst:835 +#: ../source/key_projects.rst:835 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" -#: ../source/key_projects.rst:835 ../source/key_projects.rst:839 +#: ../source/key_projects.rst:839 msgid "" "``zest.releaser`` is a Python package release tool providing an abstraction " "layer on top of :ref:`twine`. Python developers use ``zest.releaser`` to " @@ -10412,21 +10451,21 @@ msgid "" "releases in source control, and uploading new packages to PyPI." msgstr "" -#: ../source/key_projects.rst:842 ../source/key_projects.rst:846 +#: ../source/key_projects.rst:846 msgid "Standard Library Projects" msgstr "" -#: ../source/key_projects.rst:847 ../source/key_projects.rst:851 +#: ../source/key_projects.rst:851 msgid "ensurepip" msgstr "" -#: ../source/key_projects.rst:849 ../source/key_projects.rst:853 +#: ../source/key_projects.rst:853 msgid "" "`Docs `__ | `Issues " "`__" msgstr "" -#: ../source/key_projects.rst:852 ../source/key_projects.rst:856 +#: ../source/key_projects.rst:856 msgid "" "A package in the Python Standard Library that provides support for " "bootstrapping :ref:`pip` into an existing Python installation or virtual " @@ -10434,34 +10473,34 @@ msgid "" "will be used during the build of the Python distribution." msgstr "" -#: ../source/key_projects.rst:860 ../source/key_projects.rst:864 +#: ../source/key_projects.rst:864 msgid "http.server" msgstr "" -#: ../source/key_projects.rst:862 ../source/key_projects.rst:866 +#: ../source/key_projects.rst:866 msgid "" ":doc:`Docs ` | :gh:`Issues `" msgstr "" -#: ../source/key_projects.rst:865 ../source/key_projects.rst:869 +#: ../source/key_projects.rst:869 msgid "" "A package and command-line interface which can host a directory as a " "website, for example as a :term:`package index ` (see :ref:" "`Hosting your Own Simple Repository`)." msgstr "" -#: ../source/key_projects.rst:872 ../source/key_projects.rst:876 +#: ../source/key_projects.rst:876 msgid "venv" msgstr "" -#: ../source/key_projects.rst:874 ../source/key_projects.rst:878 +#: ../source/key_projects.rst:878 msgid "" "`Docs `__ | `Issues `__" msgstr "" -#: ../source/key_projects.rst:877 ../source/key_projects.rst:881 +#: ../source/key_projects.rst:881 msgid "" "A package in the Python Standard Library (starting with Python 3.3) for " "creating :term:`Virtual Environments `. For more " @@ -12151,7 +12190,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12500,6 +12540,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12510,11 +12551,10 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:332 #: ../source/specifications/pyproject-toml.rst:444 #: ../source/specifications/recording-installed-packages.rst:252 -#: ../source/specifications/simple-repository-api.rst:974 +#: ../source/specifications/simple-repository-api.rst:988 #: ../source/specifications/source-distribution-format.rst:144 #: ../source/specifications/version-specifiers.rst:1266 #: ../source/specifications/virtual-environments.rst:54 -#: ../source/specifications/simple-repository-api.rst:988 msgid "History" msgstr "" @@ -12528,11 +12568,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13550,6 +13598,232 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "Especificación" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +#, fuzzy +msgid "Package Building" +msgstr "Índice de paquetes" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +#, fuzzy +#| msgid "Installing \"Extras\"" +msgid "Installing Dependency Groups & Extras" +msgstr "Instalando \"Extras\"" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +#, fuzzy +msgid "Validation and Compatibility" +msgstr "Etiquetas de compatibilidad con plataformas" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +#, fuzzy +msgid "Reference Implementation" +msgstr "Tipos de documentación" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13579,14 +13853,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/inline-script-metadata.rst:13 -#: ../source/specifications/index-hosted-attestations.rst:17 -msgid "Specification" -msgstr "Especificación" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -13721,7 +13987,6 @@ msgid "" msgstr "" #: ../source/specifications/dependency-specifiers.rst:163 -#: ../source/specifications/simple-repository-api.rst:888 #: ../source/specifications/simple-repository-api.rst:902 #, fuzzy msgid "Versions" @@ -15354,7538 +15619,7214 @@ msgid "" "www.pypa.io/en/latest/specifications/>`__." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:5 -#, fuzzy -msgid "Inline script metadata" -msgstr "Configuración de los metadatos" +#: ../source/specifications/index-hosted-attestations.rst:6 +msgid "Index hosted attestations" +msgstr "" -#: ../source/specifications/inline-script-metadata.rst:7 -msgid "" -"This specification defines a metadata format that can be embedded in single-" -"file Python scripts to assist launchers, IDEs and other external tools which " -"may need to interact with such scripts." +#: ../source/specifications/index-hosted-attestations.rst:8 +msgid "This specification was originally defined in :pep:`740`." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:12 msgid "" -"This specification defines a metadata comment block format (loosely inspired " -"by `reStructuredText Directives`__)." +":pep:`740` includes changes to the HTML and JSON index APIs. These changes " +"are documented in the :ref:`simple-repository-api` under :ref:`simple-" +"repository-api-base` and :ref:`json-serialization`." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:20 -msgid "" -"Any Python script may have top-level comment blocks that MUST start with the " -"line ``# /// TYPE`` where ``TYPE`` determines how to process the content. " -"That is: a single ``#``, followed by a single space, followed by three " -"forward slashes, followed by a single space, followed by the type of " -"metadata. Block MUST end with the line ``# ///``. That is: a single ``#``, " -"followed by a single space, followed by three forward slashes. The ``TYPE`` " -"MUST only consist of ASCII letters, numbers and hyphens." +#: ../source/specifications/index-hosted-attestations.rst:22 +msgid "Upload endpoint changes" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:28 +#: ../source/specifications/index-hosted-attestations.rst:26 msgid "" -"Every line between these two lines (``# /// TYPE`` and ``# ///``) MUST be a " -"comment starting with ``#``. If there are characters after the ``#`` then " -"the first character MUST be a space. The embedded content is formed by " -"taking away the first two characters of each line if the second character is " -"a space, otherwise just the first character (which means the line consists " -"of only a single ``#``)." +"The \"legacy\" upload API is not standardized. See `PyPI's Upload API " +"documentation `_ for how attestations are " +"uploaded." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:35 -msgid "" -"Precedence for an ending line ``# ///`` is given when the next line is not a " -"valid embedded content line as described above. For example, the following " -"is a single fully valid block:" -msgstr "" +#: ../source/specifications/index-hosted-attestations.rst:33 +#, fuzzy +msgid "Attestation objects" +msgstr "Un proyecto sencillo" -#: ../source/specifications/inline-script-metadata.rst:51 +#: ../source/specifications/index-hosted-attestations.rst:35 msgid "" -"A starting line MUST NOT be placed between another starting line and its " -"ending line. In such cases tools MAY produce an error. Unclosed blocks MUST " -"be ignored." +"An attestation object is a JSON object with several required keys; " +"applications or signers may include additional keys so long as all " +"explicitly listed keys are provided. The required layout of an attestation " +"object is provided as pseudocode below." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:54 +#: ../source/specifications/index-hosted-attestations.rst:88 msgid "" -"When there are multiple comment blocks of the same ``TYPE`` defined, tools " -"MUST produce an error." +"A full data model for each object in ``transparency_entries`` is provided " +"in :ref:`appendix`. Attestation objects **SHOULD** include one or more " +"transparency log entries, and **MAY** include additional keys for other " +"sources of signed time (such as an :rfc:`3161` Time Stamping Authority or a " +"`Roughtime `__ server)." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:57 +#: ../source/specifications/index-hosted-attestations.rst:94 msgid "" -"Tools reading embedded metadata MAY respect the standard Python encoding " -"declaration. If they choose not to do so, they MUST process the file as " -"UTF-8." +"Attestation objects are versioned; this PEP specifies version 1. Each " +"version is tied to a single cryptographic suite to minimize unnecessary " +"cryptographic agility. In version 1, the suite is as follows:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:60 +#: ../source/specifications/index-hosted-attestations.rst:98 msgid "" -"This is the canonical regular expression that MAY be used to parse the " -"metadata:" +"Certificates are specified as X.509 certificates, and comply with the " +"profile in :rfc:`5280`." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:67 +#: ../source/specifications/index-hosted-attestations.rst:100 msgid "" -"In circumstances where there is a discrepancy between the text specification " -"and the regular expression, the text specification takes precedence." +"The message signature algorithm is ECDSA, with the P-256 curve for public " +"keys and SHA-256 as the cryptographic digest function." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:70 +#: ../source/specifications/index-hosted-attestations.rst:103 msgid "" -"Tools MUST NOT read from metadata blocks with types that have not been " -"standardized by this specification." +"Future PEPs may change this suite (and the overall shape of the attestation " +"object) by selecting a new version number." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:74 -msgid "script type" +#: ../source/specifications/index-hosted-attestations.rst:109 +msgid "Attestation statement and signature generation" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:76 +#: ../source/specifications/index-hosted-attestations.rst:111 msgid "" -"The first type of metadata block is named ``script``, which contains script " -"metadata (dependency data and tool configuration)." +"The *attestation statement* is the actual claim that is cryptographically " +"signed over within the attestation object (i.e., the ``envelope.statement``)." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:79 +#: ../source/specifications/index-hosted-attestations.rst:114 msgid "" -"This document MAY include the top-level fields ``dependencies`` and " -"``requires-python``, and MAY optionally include a ``[tool]`` table." +"The attestation statement is encoded as a `v1 in-toto Statement object " +"`__, in JSON form. When serialized the statement is treated as an opaque " +"binary blob, avoiding the need for canonicalization." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:82 +#: ../source/specifications/index-hosted-attestations.rst:119 msgid "" -"The ``[tool]`` MAY be used by any tool, script runner or otherwise, to " -"configure behavior. It has the same semantics as the :ref:`[tool] table in " -"pyproject.toml `." -msgstr "" - -#: ../source/specifications/inline-script-metadata.rst:86 -msgid "The top-level fields are:" +"In addition to being a v1 in-toto Statement, the attestation statement is " +"constrained in the following ways:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:88 -msgid "" -"``dependencies``: A list of strings that specifies the runtime dependencies " -"of the script. Each entry MUST be a valid :ref:`dependency specifier " -"`." +#: ../source/specifications/index-hosted-attestations.rst:122 +msgid "The in-toto ``subject`` **MUST** contain only a single subject." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:91 +#: ../source/specifications/index-hosted-attestations.rst:123 msgid "" -"``requires-python``: A string that specifies the Python version(s) with " -"which the script is compatible. The value of this field MUST be a valid :ref:" -"`version specifier `." +"``subject[0].name`` is the distribution's filename, which **MUST** be a " +"valid :ref:`source distribution ` or :ref:`wheel " +"distribution ` filename." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:95 +#: ../source/specifications/index-hosted-attestations.rst:126 msgid "" -"Script runners MUST error if the specified ``dependencies`` cannot be " -"provided. Script runners SHOULD error if no version of Python that satisfies " -"the specified ``requires-python`` can be provided." +"``subject[0].digest`` **MUST** contain a SHA-256 digest. Other digests " +"**MAY** be present. The digests **MUST** be represented as hexadecimal " +"strings." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:100 -#, fuzzy -msgid "Example" -msgstr "Ejemplos" - -#: ../source/specifications/inline-script-metadata.rst:102 -msgid "The following is an example of a script with embedded metadata:" +#: ../source/specifications/index-hosted-attestations.rst:128 +msgid "The following ``predicateType`` values are supported:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -#, fuzzy -msgid "Reference Implementation" -msgstr "Tipos de documentación" - -#: ../source/specifications/inline-script-metadata.rst:125 +#: ../source/specifications/index-hosted-attestations.rst:130 msgid "" -"The following is an example of how to read the metadata on Python 3.11 or " -"higher." +"`SLSA Provenance `__: ``https://slsa.dev/" +"provenance/v1``" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:151 +#: ../source/specifications/index-hosted-attestations.rst:131 msgid "" -"Often tools will edit dependencies like package managers or dependency " -"update automation in CI. The following is a crude example of modifying the " -"content using the ``tomlkit`` library__." +"`PyPI Publish Attestation `__: ``https://docs.pypi.org/attestations/publish/v1``" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:182 +#: ../source/specifications/index-hosted-attestations.rst:133 msgid "" -"Note that this example used a library that preserves TOML formatting. This " -"is not a requirement for editing by any means but rather is a \"nice to " -"have\" feature." +"The signature over this statement is constructed using the `v1 DSSE " +"signature protocol `__, with a ``PAYLOAD_TYPE`` of ``application/vnd.in-toto+json`` " +"and a ``PAYLOAD_BODY`` of the JSON-encoded statement above. No other " +"``PAYLOAD_TYPE`` is permitted." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:186 -msgid "" -"The following is an example of how to read a stream of arbitrary metadata " -"blocks." +#: ../source/specifications/index-hosted-attestations.rst:141 +msgid "Provenance objects" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:205 -#: ../source/specifications/simple-repository-api.rst:815 -#: ../source/specifications/simple-repository-api.rst:829 -#, fuzzy -msgid "Recommendations" -msgstr "Recomendaciones de herramientas" - -#: ../source/specifications/inline-script-metadata.rst:207 +#: ../source/specifications/index-hosted-attestations.rst:143 msgid "" -"Tools that support managing different versions of Python should attempt to " -"use the highest available version of Python that is compatible with the " -"script's ``requires-python`` metadata, if defined." +"The index will serve uploaded attestations along with metadata that can " +"assist in verifying them in the form of JSON serialized objects." msgstr "" -#: ../source/specifications/inline-script-metadata.rst:215 +#: ../source/specifications/index-hosted-attestations.rst:146 msgid "" -"October 2023: This specification was conditionally approved through :pep:" -"`723`." +"These *provenance objects* will be available via both the Simple Index and " +"JSON-based Simple API as described above, and will have the following layout:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:216 -msgid "" -"January 2024: Through amendments to :pep:`723`, the ``pyproject`` metadata " -"block type was renamed to ``script``, and the ``[run]`` table was dropped, " -"making the ``dependencies`` and ``requires-python`` keys top-level. " -"Additionally, the specification is no longer provisional." +#: ../source/specifications/index-hosted-attestations.rst:169 +msgid "or, as pseudocode:" msgstr "" -#: ../source/specifications/name-normalization.rst:3 -#, fuzzy -msgid "Names and normalization" -msgstr "Versión del paquete" - -#: ../source/specifications/name-normalization.rst:5 +#: ../source/specifications/index-hosted-attestations.rst:217 msgid "" -"This specification defines the format that names for packages and extras are " -"required to follow. It also describes how to normalize them, which should be " -"done before lookups and comparisons." +"``version`` is ``1``. Like attestation objects, provenance objects are " +"versioned, and this PEP only defines version ``1``." msgstr "" -#: ../source/specifications/name-normalization.rst:13 -#, fuzzy -msgid "Name format" -msgstr "Formato de archivo" - -#: ../source/specifications/name-normalization.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:219 msgid "" -"A valid name consists only of ASCII letters and numbers, period, underscore " -"and hyphen. It must start and end with a letter or number. This means that " -"valid project names are limited to those which match the following regex " -"(run with :py:data:`re.IGNORECASE`)::" +"``attestation_bundles`` is a **required** JSON array, containing one or more " +"\"bundles\" of attestations. Each bundle corresponds to a signing identity " +"(such as a Trusted Publishing identity), and contains one or more " +"attestation objects." msgstr "" -#: ../source/specifications/name-normalization.rst:26 -#, fuzzy -msgid "Name normalization" -msgstr "Traducciones" - -#: ../source/specifications/name-normalization.rst:28 +#: ../source/specifications/index-hosted-attestations.rst:224 msgid "" -"The name should be lowercased with all runs of the characters ``.``, ``-``, " -"or ``_`` replaced with a single ``-`` character. This can be implemented in " -"Python with the re module:" +"As noted in the ``Publisher`` model, each ``AttestationBundle.publisher`` " +"object is specific to its Trusted Publisher but must include at minimum:" msgstr "" -#: ../source/specifications/name-normalization.rst:39 -msgid "This means that the following names are all equivalent:" +#: ../source/specifications/index-hosted-attestations.rst:228 +msgid "" +"A ``kind`` key, which **MUST** be a JSON string that uniquely identifies the " +"kind of Trusted Publisher." msgstr "" -#: ../source/specifications/name-normalization.rst:41 -msgid "``friendly-bard`` (normalized form)" +#: ../source/specifications/index-hosted-attestations.rst:230 +msgid "" +"A ``claims`` key, which **MUST** be a JSON object containing any context-" +"specific claims retained by the index during Trusted Publisher " +"authentication." msgstr "" -#: ../source/specifications/name-normalization.rst:42 -msgid "``Friendly-Bard``" +#: ../source/specifications/index-hosted-attestations.rst:233 +msgid "All other keys in the publisher object are publisher-specific." msgstr "" -#: ../source/specifications/name-normalization.rst:43 -msgid "``FRIENDLY-BARD``" +#: ../source/specifications/index-hosted-attestations.rst:235 +msgid "" +"Each array of attestation objects is a superset of the ``attestations`` " +"array supplied by the uploaded through the ``attestations`` field at upload " +"time, as described in :ref:`upload-endpoint` and :ref:`changes-to-provenance-" +"objects`." msgstr "" -#: ../source/specifications/name-normalization.rst:44 -msgid "``friendly.bard``" +#: ../source/specifications/index-hosted-attestations.rst:243 +msgid "Changes to provenance objects" msgstr "" -#: ../source/specifications/name-normalization.rst:45 -msgid "``friendly_bard``" +#: ../source/specifications/index-hosted-attestations.rst:245 +msgid "" +"Provenance objects are *not* immutable, and may change over time. Reasons " +"for changes to the provenance object include but are not limited to:" msgstr "" -#: ../source/specifications/name-normalization.rst:46 -msgid "``friendly--bard``" +#: ../source/specifications/index-hosted-attestations.rst:248 +msgid "" +"Addition of new attestations for a pre-existing signing identity: the index " +"**MAY** choose to allow additional attestations by pre-existing signing " +"identities, such as newer attestation versions for already uploaded files." msgstr "" -#: ../source/specifications/name-normalization.rst:47 +#: ../source/specifications/index-hosted-attestations.rst:253 msgid "" -"``FrIeNdLy-._.-bArD`` (a *terrible* way to write a name, but it is valid)" +"Addition of new signing identities and associated attestations: the index " +"**MAY** choose to support attestations from sources other than the file's " +"uploader, such as third-party auditors or the index itself. These " +"attestations may be performed asynchronously, requiring the index to insert " +"them into the provenance object *post facto*." msgstr "" -#: ../source/specifications/name-normalization.rst:52 -msgid "" -"September 2015: The specification of name normalized was approved through :" -"pep:`503 <503#normalized-names>`." +#: ../source/specifications/index-hosted-attestations.rst:262 +msgid "Attestation verification" msgstr "" -#: ../source/specifications/name-normalization.rst:54 +#: ../source/specifications/index-hosted-attestations.rst:264 msgid "" -"November 2015: The specification of valid names was approved through :pep:" -"`508 <508#names>`." +"Verifying an attestation object against a distribution file requires " +"verification of each of the following:" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:6 -msgid "Platform compatibility tags" -msgstr "Etiquetas de compatibilidad con plataformas" +#: ../source/specifications/index-hosted-attestations.rst:267 +msgid "``version`` is ``1``. The verifier **MUST** reject any other version." +msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:8 +#: ../source/specifications/index-hosted-attestations.rst:268 msgid "" -"Platform compatibility tags allow build tools to mark distributions as being " -"compatible with specific platforms, and allows installers to understand " -"which distributions are compatible with the system they are running on." +"``verification_material.certificate`` is a valid signing certificate, as " +"issued by an *a priori* trusted authority (such as a root of trust already " +"present within the verifying client)." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:16 -msgid "The tag format is ``{python tag}-{abi tag}-{platform tag}``." +#: ../source/specifications/index-hosted-attestations.rst:271 +msgid "" +"``verification_material.certificate`` identifies an appropriate signing " +"subject, such as the machine identity of the Trusted Publisher that " +"published the package." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:18 -msgid "python tag" +#: ../source/specifications/index-hosted-attestations.rst:274 +msgid "" +"``envelope.statement`` is a valid in-toto v1 Statement, with a subject and " +"digest that **MUST** match the distribution's filename and contents. For the " +"distribution's filename, matching **MUST** be performed by parsing using the " +"appropriate source distribution or wheel filename format, as the statement's " +"subject may be equivalent but normalized." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:19 -msgid "'py27', 'cp33'" +#: ../source/specifications/index-hosted-attestations.rst:279 +msgid "" +"``envelope.signature`` is a valid signature for ``envelope.statement`` " +"corresponding to ``verification_material.certificate``, as reconstituted via " +"the `v1 DSSE signature protocol `__." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:21 -msgid "'cp32dmu', 'none'" +#: ../source/specifications/index-hosted-attestations.rst:284 +msgid "" +"In addition to the above required steps, a verifier **MAY** additionally " +"verify ``verification_material.transparency_entries`` on a policy basis, e." +"g. requiring at least one transparency log entry or a threshold of entries. " +"When verifying transparency entries, the verifier **MUST** confirm that the " +"inclusion time for each entry lies within the signing certificate's validity " +"period." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:23 -msgid "'linux_x86_64', 'any'" +#: ../source/specifications/index-hosted-attestations.rst:293 +msgid "Appendix: Data models for Transparency Log Entries" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:25 +#: ../source/specifications/index-hosted-attestations.rst:295 msgid "" -"For example, the tag ``py27-none-any`` indicates compatibility with Python " -"2.7 (any Python 2.7 implementation) with no abi requirement, on any platform." +"This appendix contains pseudocoded data models for transparency log entries " +"in attestation objects. Each transparency log entry serves as a source of " +"signed inclusion time, and can be verified either online or offline." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:28 +#: ../source/specifications/inline-script-metadata.rst:5 +#, fuzzy +msgid "Inline script metadata" +msgstr "Configuración de los metadatos" + +#: ../source/specifications/inline-script-metadata.rst:7 msgid "" -"The ``wheel`` built package format includes these tags in its filenames, of " -"the form ``{distribution}-{version}(-{build tag})?-{python tag}-{abitag}-" -"{platform tag}.whl``. Other package formats may have their own conventions." +"This specification defines a metadata format that can be embedded in single-" +"file Python scripts to assist launchers, IDEs and other external tools which " +"may need to interact with such scripts." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:33 -msgid "Any potential spaces in any tag should be replaced with ``_``." +#: ../source/specifications/inline-script-metadata.rst:15 +msgid "" +"This specification defines a metadata comment block format (loosely inspired " +"by `reStructuredText Directives`__)." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:37 -msgid "Python Tag" +#: ../source/specifications/inline-script-metadata.rst:20 +msgid "" +"Any Python script may have top-level comment blocks that MUST start with the " +"line ``# /// TYPE`` where ``TYPE`` determines how to process the content. " +"That is: a single ``#``, followed by a single space, followed by three " +"forward slashes, followed by a single space, followed by the type of " +"metadata. Block MUST end with the line ``# ///``. That is: a single ``#``, " +"followed by a single space, followed by three forward slashes. The ``TYPE`` " +"MUST only consist of ASCII letters, numbers and hyphens." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:39 +#: ../source/specifications/inline-script-metadata.rst:28 msgid "" -"The Python tag indicates the implementation and version required by a " -"distribution. Major implementations have abbreviated codes, initially:" +"Every line between these two lines (``# /// TYPE`` and ``# ///``) MUST be a " +"comment starting with ``#``. If there are characters after the ``#`` then " +"the first character MUST be a space. The embedded content is formed by " +"taking away the first two characters of each line if the second character is " +"a space, otherwise just the first character (which means the line consists " +"of only a single ``#``)." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:42 -msgid "py: Generic Python (does not require implementation-specific features)" +#: ../source/specifications/inline-script-metadata.rst:35 +msgid "" +"Precedence for an ending line ``# ///`` is given when the next line is not a " +"valid embedded content line as described above. For example, the following " +"is a single fully valid block:" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:43 -msgid "cp: CPython" +#: ../source/specifications/inline-script-metadata.rst:51 +msgid "" +"A starting line MUST NOT be placed between another starting line and its " +"ending line. In such cases tools MAY produce an error. Unclosed blocks MUST " +"be ignored." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:44 -msgid "ip: IronPython" +#: ../source/specifications/inline-script-metadata.rst:54 +msgid "" +"When there are multiple comment blocks of the same ``TYPE`` defined, tools " +"MUST produce an error." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:45 -msgid "pp: PyPy" +#: ../source/specifications/inline-script-metadata.rst:57 +msgid "" +"Tools reading embedded metadata MAY respect the standard Python encoding " +"declaration. If they choose not to do so, they MUST process the file as " +"UTF-8." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:46 -msgid "jy: Jython" +#: ../source/specifications/inline-script-metadata.rst:60 +msgid "" +"This is the canonical regular expression that MAY be used to parse the " +"metadata:" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:48 +#: ../source/specifications/inline-script-metadata.rst:67 msgid "" -"Other Python implementations should use :py:data:`sys.implementation.name " -"`." +"In circumstances where there is a discrepancy between the text specification " +"and the regular expression, the text specification takes precedence." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:50 +#: ../source/specifications/inline-script-metadata.rst:70 msgid "" -"The version is ``py_version_nodot``. CPython gets away with no dot, but if " -"one is needed the underscore ``_`` is used instead. PyPy should probably " -"use its own versions here ``pp18``, ``pp19``." +"Tools MUST NOT read from metadata blocks with types that have not been " +"standardized by this specification." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:54 +#: ../source/specifications/inline-script-metadata.rst:74 +msgid "script type" +msgstr "" + +#: ../source/specifications/inline-script-metadata.rst:76 msgid "" -"The version can be just the major version ``2`` or ``3`` ``py2``, ``py3`` " -"for many pure-Python distributions." +"The first type of metadata block is named ``script``, which contains script " +"metadata (dependency data and tool configuration)." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:57 +#: ../source/specifications/inline-script-metadata.rst:79 msgid "" -"Importantly, major-version-only tags like ``py2`` and ``py3`` are not " -"shorthand for ``py20`` and ``py30``. Instead, these tags mean the packager " -"intentionally released a cross-version-compatible distribution." +"This document MAY include the top-level fields ``dependencies`` and " +"``requires-python``, and MAY optionally include a ``[tool]`` table." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:61 +#: ../source/specifications/inline-script-metadata.rst:82 msgid "" -"A single-source Python 2/3 compatible distribution can use the compound tag " -"``py2.py3``. See `Compressed Tag Sets`_, below." +"The ``[tool]`` MAY be used by any tool, script runner or otherwise, to " +"configure behavior. It has the same semantics as the :ref:`[tool] table in " +"pyproject.toml `." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:66 -msgid "ABI Tag" +#: ../source/specifications/inline-script-metadata.rst:86 +msgid "The top-level fields are:" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:68 +#: ../source/specifications/inline-script-metadata.rst:88 msgid "" -"The ABI tag indicates which Python ABI is required by any included extension " -"modules. For implementation-specific ABIs, the implementation is " -"abbreviated in the same way as the Python Tag, e.g. ``cp33d`` would be the " -"CPython 3.3 ABI with debugging." +"``dependencies``: A list of strings that specifies the runtime dependencies " +"of the script. Each entry MUST be a valid :ref:`dependency specifier " +"`." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:73 -msgid "The CPython stable ABI is ``abi3`` as in the shared library suffix." +#: ../source/specifications/inline-script-metadata.rst:91 +msgid "" +"``requires-python``: A string that specifies the Python version(s) with " +"which the script is compatible. The value of this field MUST be a valid :ref:" +"`version specifier `." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:75 +#: ../source/specifications/inline-script-metadata.rst:95 msgid "" -"Implementations with a very unstable ABI may use the first 6 bytes (as 8 " -"base64-encoded characters) of the SHA-256 hash of their source code revision " -"and compiler flags, etc, but will probably not have a great need to " -"distribute binary distributions. Each implementation's community may decide " -"how to best use the ABI tag." +"Script runners MUST error if the specified ``dependencies`` cannot be " +"provided. Script runners SHOULD error if no version of Python that satisfies " +"the specified ``requires-python`` can be provided." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:83 -msgid "Platform Tag" +#: ../source/specifications/inline-script-metadata.rst:100 +#, fuzzy +msgid "Example" +msgstr "Ejemplos" + +#: ../source/specifications/inline-script-metadata.rst:102 +msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:86 -msgid "Basic platform tags" +#: ../source/specifications/inline-script-metadata.rst:125 +msgid "" +"The following is an example of how to read the metadata on Python 3.11 or " +"higher." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:88 +#: ../source/specifications/inline-script-metadata.rst:151 msgid "" -"In its simplest form, the platform tag is :py:func:`sysconfig." -"get_platform()` with all hyphens ``-`` and periods ``.`` replaced with " -"underscore ``_``. Until the removal of :ref:`distutils` in Python 3.12, this " -"was ``distutils.util.get_platform()``. For example:" +"Often tools will edit dependencies like package managers or dependency " +"update automation in CI. The following is a crude example of modifying the " +"content using the ``tomlkit`` library__." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:93 -msgid "win32" +#: ../source/specifications/inline-script-metadata.rst:182 +msgid "" +"Note that this example used a library that preserves TOML formatting. This " +"is not a requirement for editing by any means but rather is a \"nice to " +"have\" feature." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:94 -msgid "linux_i386" +#: ../source/specifications/inline-script-metadata.rst:186 +msgid "" +"The following is an example of how to read a stream of arbitrary metadata " +"blocks." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:95 -msgid "linux_x86_64" -msgstr "" - -#: ../source/specifications/platform-compatibility-tags.rst:101 +#: ../source/specifications/inline-script-metadata.rst:205 +#: ../source/specifications/simple-repository-api.rst:829 #, fuzzy -msgid "``manylinux``" -msgstr "Responsable" +msgid "Recommendations" +msgstr "Recomendaciones de herramientas" -#: ../source/specifications/platform-compatibility-tags.rst:103 +#: ../source/specifications/inline-script-metadata.rst:207 msgid "" -"The simple scheme above is insufficient for public distribution of wheel " -"files to Linux platforms, due to the large ecosystem of Linux platforms and " -"subtle differences between them." +"Tools that support managing different versions of Python should attempt to " +"use the highest available version of Python that is compatible with the " +"script's ``requires-python`` metadata, if defined." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:107 +#: ../source/specifications/inline-script-metadata.rst:215 msgid "" -"Instead, for those platforms, the ``manylinux`` standard represents a common " -"subset of Linux platforms, and allows building wheels tagged with the " -"``manylinux`` platform tag which can be used across most common Linux " -"distributions." +"October 2023: This specification was conditionally approved through :pep:" +"`723`." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:112 +#: ../source/specifications/inline-script-metadata.rst:216 msgid "" -"The current standard is the future-proof ``manylinux_x_y`` standard. It " -"defines tags of the form ``manylinux_x_y_arch``, where ``x`` and ``y`` are " -"glibc major and minor versions supported (e.g. ``manylinux_2_24_xxx`` should " -"work on any distro using glibc 2.24+), and ``arch`` is the architecture, " -"matching the value of :py:func:`sysconfig.get_platform()` on the system as " -"in the \"simple\" form above." +"January 2024: Through amendments to :pep:`723`, the ``pyproject`` metadata " +"block type was renamed to ``script``, and the ``[run]`` table was dropped, " +"making the ``dependencies`` and ``requires-python`` keys top-level. " +"Additionally, the specification is no longer provisional." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:118 -msgid "" -"The following older tags are still supported for backward compatibility:" -msgstr "" +#: ../source/specifications/name-normalization.rst:3 +#, fuzzy +msgid "Names and normalization" +msgstr "Versión del paquete" -#: ../source/specifications/platform-compatibility-tags.rst:120 +#: ../source/specifications/name-normalization.rst:5 msgid "" -"``manylinux1`` supports glibc 2.5 on ``x86_64`` and ``i686`` architectures." +"This specification defines the format that names for packages and extras are " +"required to follow. It also describes how to normalize them, which should be " +"done before lookups and comparisons." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:121 -msgid "``manylinux2010`` supports glibc 2.12 on ``x86_64`` and ``i686``." -msgstr "" +#: ../source/specifications/name-normalization.rst:13 +#, fuzzy +msgid "Name format" +msgstr "Formato de archivo" -#: ../source/specifications/platform-compatibility-tags.rst:122 +#: ../source/specifications/name-normalization.rst:15 msgid "" -"``manylinux2014`` supports glibc 2.17 on ``x86_64``, ``i686``, ``aarch64``, " -"``armv7l``, ``ppc64``, ``ppc64le``, and ``s390x``." +"A valid name consists only of ASCII letters and numbers, period, underscore " +"and hyphen. It must start and end with a letter or number. This means that " +"valid project names are limited to those which match the following regex " +"(run with :py:data:`re.IGNORECASE`)::" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:125 -msgid "" -"In general, distributions built for older versions of the specification are " -"forwards-compatible (meaning that ``manylinux1`` distributions should " -"continue to work on modern systems) but not backwards-compatible (meaning " -"that ``manylinux2010`` distributions are not expected to work on platforms " -"that existed before 2010)." -msgstr "" +#: ../source/specifications/name-normalization.rst:26 +#, fuzzy +msgid "Name normalization" +msgstr "Traducciones" -#: ../source/specifications/platform-compatibility-tags.rst:131 +#: ../source/specifications/name-normalization.rst:28 msgid "" -"Package maintainers should attempt to target the most compatible " -"specification possible, with the caveat that the provided build environment " -"for ``manylinux1`` and ``manylinux2010`` have reached end-of-life meaning " -"that these images will no longer receive security updates." +"The name should be lowercased with all runs of the characters ``.``, ``-``, " +"or ``_`` replaced with a single ``-`` character. This can be implemented in " +"Python with the re module:" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:136 -msgid "" -"The following table shows the minimum versions of relevant projects to " -"support the various ``manylinux`` standards:" +#: ../source/specifications/name-normalization.rst:39 +msgid "This means that the following names are all equivalent:" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:140 -msgid "Tool" -msgstr "Herramienta" - -#: ../source/specifications/platform-compatibility-tags.rst:140 -msgid "``manylinux1``" +#: ../source/specifications/name-normalization.rst:41 +msgid "``friendly-bard`` (normalized form)" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:140 -msgid "``manylinux2010``" +#: ../source/specifications/name-normalization.rst:42 +msgid "``Friendly-Bard``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:140 -msgid "``manylinux2014``" +#: ../source/specifications/name-normalization.rst:43 +msgid "``FRIENDLY-BARD``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:140 -msgid "``manylinux_x_y``" +#: ../source/specifications/name-normalization.rst:44 +msgid "``friendly.bard``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:142 -msgid "``>=8.1.0``" +#: ../source/specifications/name-normalization.rst:45 +msgid "``friendly_bard``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:142 -msgid "``>=19.0``" +#: ../source/specifications/name-normalization.rst:46 +msgid "``friendly--bard``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:142 -msgid "``>=19.3``" +#: ../source/specifications/name-normalization.rst:47 +msgid "" +"``FrIeNdLy-._.-bArD`` (a *terrible* way to write a name, but it is valid)" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:142 -msgid "``>=20.3``" +#: ../source/specifications/name-normalization.rst:52 +msgid "" +"September 2015: The specification of name normalized was approved through :" +"pep:`503 <503#normalized-names>`." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:143 -msgid "auditwheel" +#: ../source/specifications/name-normalization.rst:54 +msgid "" +"November 2015: The specification of valid names was approved through :pep:" +"`508 <508#names>`." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:143 -msgid "``>=1.0.0``" -msgstr "" +#: ../source/specifications/platform-compatibility-tags.rst:6 +msgid "Platform compatibility tags" +msgstr "Etiquetas de compatibilidad con plataformas" -#: ../source/specifications/platform-compatibility-tags.rst:143 -msgid "``>=2.0.0``" +#: ../source/specifications/platform-compatibility-tags.rst:8 +msgid "" +"Platform compatibility tags allow build tools to mark distributions as being " +"compatible with specific platforms, and allows installers to understand " +"which distributions are compatible with the system they are running on." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:143 -msgid "``>=3.0.0``" +#: ../source/specifications/platform-compatibility-tags.rst:16 +msgid "The tag format is ``{python tag}-{abi tag}-{platform tag}``." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:143 -msgid "``>=3.3.0`` [#]_" +#: ../source/specifications/platform-compatibility-tags.rst:18 +msgid "python tag" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:146 -msgid "Only support for ``manylinux_2_24`` has been added in auditwheel 3.3.0" +#: ../source/specifications/platform-compatibility-tags.rst:19 +msgid "'py27', 'cp33'" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:150 -#, fuzzy -msgid "``musllinux``" -msgstr "Responsable" +#: ../source/specifications/platform-compatibility-tags.rst:21 +msgid "'cp32dmu', 'none'" +msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:152 -msgid "" -"The ``musllinux`` family of tags is similar to ``manylinux``, but for Linux " -"platforms that use the musl_ libc rather than glibc (a prime example being " -"Alpine Linux). The schema is ``musllinux_x_y_arch``, supporting musl ``x.y`` " -"and higher on the architecture ``arch``." +#: ../source/specifications/platform-compatibility-tags.rst:23 +msgid "'linux_x86_64', 'any'" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:157 +#: ../source/specifications/platform-compatibility-tags.rst:25 msgid "" -"The musl version values can be obtained by executing the musl libc shared " -"library the Python interpreter is currently running on, and parsing the " -"output:" +"For example, the tag ``py27-none-any`` indicates compatibility with Python " +"2.7 (any Python 2.7 implementation) with no abi requirement, on any platform." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:188 +#: ../source/specifications/platform-compatibility-tags.rst:28 msgid "" -"There are currently two possible ways to find the musl library’s location " -"that a Python interpreter is running on, either with the system ldd_ " -"command, or by parsing the ``PT_INTERP`` section’s value from the " -"executable’s ELF_ header." +"The ``wheel`` built package format includes these tags in its filenames, of " +"the form ``{distribution}-{version}(-{build tag})?-{python tag}-{abitag}-" +"{platform tag}.whl``. Other package formats may have their own conventions." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:194 -msgid "Use" +#: ../source/specifications/platform-compatibility-tags.rst:33 +msgid "Any potential spaces in any tag should be replaced with ``_``." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:196 -msgid "" -"The tags are used by installers to decide which built distribution (if any) " -"to download from a list of potential built distributions. The installer " -"maintains a list of (pyver, abi, arch) tuples that it will support. If the " -"built distribution's tag is ``in`` the list, then it can be installed." +#: ../source/specifications/platform-compatibility-tags.rst:37 +msgid "Python Tag" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:202 +#: ../source/specifications/platform-compatibility-tags.rst:39 msgid "" -"It is recommended that installers try to choose the most feature complete " -"built distribution available (the one most specific to the installation " -"environment) by default before falling back to pure Python versions " -"published for older Python releases. Installers are also recommended to " -"provide a way to configure and re-order the list of allowed compatibility " -"tags; for example, a user might accept only the ``*-none-any`` tags to only " -"download built packages that advertise themselves as being pure Python." +"The Python tag indicates the implementation and version required by a " +"distribution. Major implementations have abbreviated codes, initially:" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:210 -msgid "" -"Another desirable installer feature might be to include \"re-compile from " -"source if possible\" as more preferable than some of the compatible but " -"legacy pre-built options." +#: ../source/specifications/platform-compatibility-tags.rst:42 +msgid "py: Generic Python (does not require implementation-specific features)" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:214 -msgid "" -"This example list is for an installer running under CPython 3.3 on a " -"linux_x86_64 system. It is in order from most-preferred (a distribution with " -"a compiled extension module, built for the current version of Python) to " -"least-preferred (a pure-Python distribution built with an older version of " -"Python):" +#: ../source/specifications/platform-compatibility-tags.rst:43 +msgid "cp: CPython" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:220 -msgid "cp33-cp33m-linux_x86_64" +#: ../source/specifications/platform-compatibility-tags.rst:44 +msgid "ip: IronPython" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:221 -msgid "cp33-abi3-linux_x86_64" +#: ../source/specifications/platform-compatibility-tags.rst:45 +msgid "pp: PyPy" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:222 -msgid "cp3-abi3-linux_x86_64" +#: ../source/specifications/platform-compatibility-tags.rst:46 +msgid "jy: Jython" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:223 -msgid "cp33-none-linux_x86_64*" +#: ../source/specifications/platform-compatibility-tags.rst:48 +msgid "" +"Other Python implementations should use :py:data:`sys.implementation.name " +"`." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:224 -msgid "cp3-none-linux_x86_64*" -msgstr "" +#: ../source/specifications/platform-compatibility-tags.rst:50 +msgid "" +"The version is ``py_version_nodot``. CPython gets away with no dot, but if " +"one is needed the underscore ``_`` is used instead. PyPy should probably " +"use its own versions here ``pp18``, ``pp19``." +msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:225 -msgid "py33-none-linux_x86_64*" +#: ../source/specifications/platform-compatibility-tags.rst:54 +msgid "" +"The version can be just the major version ``2`` or ``3`` ``py2``, ``py3`` " +"for many pure-Python distributions." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:226 -msgid "py3-none-linux_x86_64*" +#: ../source/specifications/platform-compatibility-tags.rst:57 +msgid "" +"Importantly, major-version-only tags like ``py2`` and ``py3`` are not " +"shorthand for ``py20`` and ``py30``. Instead, these tags mean the packager " +"intentionally released a cross-version-compatible distribution." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:227 -msgid "cp33-none-any" +#: ../source/specifications/platform-compatibility-tags.rst:61 +msgid "" +"A single-source Python 2/3 compatible distribution can use the compound tag " +"``py2.py3``. See `Compressed Tag Sets`_, below." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:228 -msgid "cp3-none-any" +#: ../source/specifications/platform-compatibility-tags.rst:66 +msgid "ABI Tag" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:229 -msgid "py33-none-any" +#: ../source/specifications/platform-compatibility-tags.rst:68 +msgid "" +"The ABI tag indicates which Python ABI is required by any included extension " +"modules. For implementation-specific ABIs, the implementation is " +"abbreviated in the same way as the Python Tag, e.g. ``cp33d`` would be the " +"CPython 3.3 ABI with debugging." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:230 -msgid "py3-none-any" +#: ../source/specifications/platform-compatibility-tags.rst:73 +msgid "The CPython stable ABI is ``abi3`` as in the shared library suffix." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:231 -msgid "py32-none-any" +#: ../source/specifications/platform-compatibility-tags.rst:75 +msgid "" +"Implementations with a very unstable ABI may use the first 6 bytes (as 8 " +"base64-encoded characters) of the SHA-256 hash of their source code revision " +"and compiler flags, etc, but will probably not have a great need to " +"distribute binary distributions. Each implementation's community may decide " +"how to best use the ABI tag." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:232 -msgid "py31-none-any" +#: ../source/specifications/platform-compatibility-tags.rst:83 +msgid "Platform Tag" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:233 -msgid "py30-none-any" +#: ../source/specifications/platform-compatibility-tags.rst:86 +msgid "Basic platform tags" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:235 +#: ../source/specifications/platform-compatibility-tags.rst:88 msgid "" -"Built distributions may be platform specific for reasons other than C " -"extensions, such as by including a native executable invoked as a subprocess." +"In its simplest form, the platform tag is :py:func:`sysconfig." +"get_platform()` with all hyphens ``-`` and periods ``.`` replaced with " +"underscore ``_``. Until the removal of :ref:`distutils` in Python 3.12, this " +"was ``distutils.util.get_platform()``. For example:" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:239 -msgid "" -"Sometimes there will be more than one supported built distribution for a " -"particular version of a package. For example, a packager could release a " -"package tagged ``cp33-abi3-linux_x86_64`` that contains an optional C " -"extension and the same distribution tagged ``py3-none-any`` that does not. " -"The index of the tag in the supported tags list breaks the tie, and the " -"package with the C extension is installed in preference to the package " -"without because that tag appears first in the list." +#: ../source/specifications/platform-compatibility-tags.rst:93 +msgid "win32" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:248 -msgid "Compressed Tag Sets" +#: ../source/specifications/platform-compatibility-tags.rst:94 +msgid "linux_i386" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:250 -msgid "" -"To allow for compact filenames of bdists that work with more than one " -"compatibility tag triple, each tag in a filename can instead be a '.'-" -"separated, sorted, set of tags. For example, pip, a pure-Python package " -"that is written to run under Python 2 and 3 with the same source code, could " -"distribute a bdist with the tag ``py2.py3-none-any``. The full list of " -"simple tags is::" +#: ../source/specifications/platform-compatibility-tags.rst:95 +msgid "linux_x86_64" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:262 +#: ../source/specifications/platform-compatibility-tags.rst:101 +#, fuzzy +msgid "``manylinux``" +msgstr "Responsable" + +#: ../source/specifications/platform-compatibility-tags.rst:103 msgid "" -"A bdist format that implements this scheme should include the expanded tags " -"in bdist-specific metadata. This compression scheme can generate large " -"numbers of unsupported tags and \"impossible\" tags that are supported by no " -"Python implementation e.g. \"cp33-cp31u-win64\", so use it sparingly." +"The simple scheme above is insufficient for public distribution of wheel " +"files to Linux platforms, due to the large ecosystem of Linux platforms and " +"subtle differences between them." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:275 -msgid "What tags are used by default?" +#: ../source/specifications/platform-compatibility-tags.rst:107 +msgid "" +"Instead, for those platforms, the ``manylinux`` standard represents a common " +"subset of Linux platforms, and allows building wheels tagged with the " +"``manylinux`` platform tag which can be used across most common Linux " +"distributions." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:271 +#: ../source/specifications/platform-compatibility-tags.rst:112 msgid "" -"Tools should use the most-preferred architecture dependent tag e.g. ``cp33-" -"cp33m-win32`` or the most-preferred pure python tag e.g. ``py33-none-any`` " -"by default. If the packager overrides the default it indicates that they " -"intended to provide cross-Python compatibility." +"The current standard is the future-proof ``manylinux_x_y`` standard. It " +"defines tags of the form ``manylinux_x_y_arch``, where ``x`` and ``y`` are " +"glibc major and minor versions supported (e.g. ``manylinux_2_24_xxx`` should " +"work on any distro using glibc 2.24+), and ``arch`` is the architecture, " +"matching the value of :py:func:`sysconfig.get_platform()` on the system as " +"in the \"simple\" form above." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:285 +#: ../source/specifications/platform-compatibility-tags.rst:118 msgid "" -"What tag do I use if my distribution uses a feature exclusive to the newest " -"version of Python?" +"The following older tags are still supported for backward compatibility:" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:278 +#: ../source/specifications/platform-compatibility-tags.rst:120 msgid "" -"Compatibility tags aid installers in selecting the *most compatible* build " -"of a *single version* of a distribution. For example, when there is no " -"Python 3.3 compatible build of ``beaglevote-1.2.0`` (it uses a Python 3.4 " -"exclusive feature) it may still use the ``py3-none-any`` tag instead of the " -"``py34-none-any`` tag. A Python 3.3 user must combine other qualifiers, such " -"as a requirement for the older release ``beaglevote-1.1.0`` that does not " -"use the new feature, to get a compatible build." +"``manylinux1`` supports glibc 2.5 on ``x86_64`` and ``i686`` architectures." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:290 -msgid "Why isn't there a ``.`` in the Python version number?" +#: ../source/specifications/platform-compatibility-tags.rst:121 +msgid "``manylinux2010`` supports glibc 2.12 on ``x86_64`` and ``i686``." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:288 +#: ../source/specifications/platform-compatibility-tags.rst:122 msgid "" -"CPython has lasted 20+ years without a 3-digit major release. This should " -"continue for some time. Other implementations may use _ as a delimiter, " -"since both - and . delimit the surrounding filename." +"``manylinux2014`` supports glibc 2.17 on ``x86_64``, ``i686``, ``aarch64``, " +"``armv7l``, ``ppc64``, ``ppc64le``, and ``s390x``." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:296 +#: ../source/specifications/platform-compatibility-tags.rst:125 msgid "" -"Why normalise hyphens and other non-alphanumeric characters to underscores?" +"In general, distributions built for older versions of the specification are " +"forwards-compatible (meaning that ``manylinux1`` distributions should " +"continue to work on modern systems) but not backwards-compatible (meaning " +"that ``manylinux2010`` distributions are not expected to work on platforms " +"that existed before 2010)." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:293 +#: ../source/specifications/platform-compatibility-tags.rst:131 msgid "" -"To avoid conflicting with the ``.`` and ``-`` characters that separate " -"components of the filename, and for better compatibility with the widest " -"range of filesystem limitations for filenames (including being usable in URL " -"paths without quoting)." +"Package maintainers should attempt to target the most compatible " +"specification possible, with the caveat that the provided build environment " +"for ``manylinux1`` and ``manylinux2010`` have reached end-of-life meaning " +"that these images will no longer receive security updates." msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:305 -msgid "Why not use special character rather than ``.`` or ``-``?" +#: ../source/specifications/platform-compatibility-tags.rst:136 +msgid "" +"The following table shows the minimum versions of relevant projects to " +"support the various ``manylinux`` standards:" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:299 -msgid "" -"Either because that character is inconvenient or potentially confusing in " -"some contexts (for example, ``+`` must be quoted in URLs, ``~`` is used to " -"denote the user's home directory in POSIX), or because the advantages " -"weren't sufficiently compelling to justify changing the existing reference " -"implementation for the wheel format defined in :pep:`427` (for example, " -"using ``,`` rather than ``.`` to separate components in a compressed tag)." +#: ../source/specifications/platform-compatibility-tags.rst:140 +msgid "Tool" +msgstr "Herramienta" + +#: ../source/specifications/platform-compatibility-tags.rst:140 +msgid "``manylinux1``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:310 -msgid "Who will maintain the registry of abbreviated implementations?" +#: ../source/specifications/platform-compatibility-tags.rst:140 +msgid "``manylinux2010``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:308 -msgid "" -"New two-letter abbreviations can be requested on the python-dev mailing " -"list. As a rule of thumb, abbreviations are reserved for the current 4 most " -"prominent implementations." +#: ../source/specifications/platform-compatibility-tags.rst:140 +msgid "``manylinux2014``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:315 -msgid "Does the compatibility tag go into METADATA or PKG-INFO?" +#: ../source/specifications/platform-compatibility-tags.rst:140 +msgid "``manylinux_x_y``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:313 -msgid "" -"No. The compatibility tag is part of the built distribution's metadata. " -"METADATA / PKG-INFO should be valid for an entire distribution, not a single " -"build of that distribution." +#: ../source/specifications/platform-compatibility-tags.rst:142 +msgid "``>=8.1.0``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:321 -msgid "Why didn't you mention my favorite Python implementation?" +#: ../source/specifications/platform-compatibility-tags.rst:142 +msgid "``>=19.0``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:318 -msgid "" -"The abbreviated tags facilitate sharing compiled Python code in a public " -"index. Your Python implementation can use this specification too, but with " -"longer tags. Recall that all \"pure Python\" built distributions just use " -"``py``." +#: ../source/specifications/platform-compatibility-tags.rst:142 +msgid "``>=19.3``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:329 -msgid "" -"Why is the ABI tag (the second tag) sometimes \"none\" in the reference " -"implementation?" +#: ../source/specifications/platform-compatibility-tags.rst:142 +msgid "``>=20.3``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:324 -msgid "" -"Since Python 2 does not have an easy way to get to the SOABI (the concept " -"comes from newer versions of Python 3) the reference implementation at the " -"time of writing guesses \"none\". Ideally it would detect \"py27(d|m|u)\" " -"analogous to newer versions of Python, but in the meantime \"none\" is a " -"good enough way to say \"don't know\"." +#: ../source/specifications/platform-compatibility-tags.rst:143 +msgid "auditwheel" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:334 -msgid "" -"February 2013: The original version of this specification was approved " -"through :pep:`425`." +#: ../source/specifications/platform-compatibility-tags.rst:143 +msgid "``>=1.0.0``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:336 -msgid "January 2016: The ``manylinux1`` tag was approved through :pep:`513`." +#: ../source/specifications/platform-compatibility-tags.rst:143 +msgid "``>=2.0.0``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:337 -msgid "April 2018: The ``manylinux2010`` tag was approved through :pep:`571`." +#: ../source/specifications/platform-compatibility-tags.rst:143 +msgid "``>=3.0.0``" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:338 -msgid "July 2019: The ``manylinux2014`` tag was approved through :pep:`599`." +#: ../source/specifications/platform-compatibility-tags.rst:143 +msgid "``>=3.3.0`` [#]_" msgstr "" -#: ../source/specifications/platform-compatibility-tags.rst:339 -msgid "" -"November 2019: The ``manylinux_x_y`` perennial tag was approved through :pep:" -"`600`." -msgstr "" - -#: ../source/specifications/platform-compatibility-tags.rst:341 -msgid "April 2021: The ``musllinux_x_y`` tag was approved through :pep:`656`." +#: ../source/specifications/platform-compatibility-tags.rst:146 +msgid "Only support for ``manylinux_2_24`` has been added in auditwheel 3.3.0" msgstr "" -#: ../source/specifications/pypirc.rst:6 -msgid "The :file:`.pypirc` file" -msgstr "El archivo :file:`.pypirc`" +#: ../source/specifications/platform-compatibility-tags.rst:150 +#, fuzzy +msgid "``musllinux``" +msgstr "Responsable" -#: ../source/specifications/pypirc.rst:8 +#: ../source/specifications/platform-compatibility-tags.rst:152 msgid "" -"A :file:`.pypirc` file allows you to define the configuration for :term:" -"`package indexes ` (referred to here as \"repositories\"), so " -"that you don't have to enter the URL, username, or password whenever you " -"upload a package with :ref:`twine` or :ref:`flit`." -msgstr "" - -#: ../source/specifications/pypirc.rst:13 -msgid "The format (originally defined by the :ref:`distutils` package) is:" +"The ``musllinux`` family of tags is similar to ``manylinux``, but for Linux " +"platforms that use the musl_ libc rather than glibc (a prime example being " +"Alpine Linux). The schema is ``musllinux_x_y_arch``, supporting musl ``x.y`` " +"and higher on the architecture ``arch``." msgstr "" -"El formato (definido originalmente por el paquete :ref:`distutils`) es:" -#: ../source/specifications/pypirc.rst:32 +#: ../source/specifications/platform-compatibility-tags.rst:157 msgid "" -"The ``distutils`` section defines an ``index-servers`` field that lists the " -"name of all sections describing a repository." -msgstr "" - -#: ../source/specifications/pypirc.rst:35 -msgid "Each section describing a repository defines three fields:" -msgstr "" - -#: ../source/specifications/pypirc.rst:37 -msgid "``repository``: The URL of the repository." +"The musl version values can be obtained by executing the musl libc shared " +"library the Python interpreter is currently running on, and parsing the " +"output:" msgstr "" -#: ../source/specifications/pypirc.rst:38 -msgid "``username``: The registered username on the repository." +#: ../source/specifications/platform-compatibility-tags.rst:188 +msgid "" +"There are currently two possible ways to find the musl library’s location " +"that a Python interpreter is running on, either with the system ldd_ " +"command, or by parsing the ``PT_INTERP`` section’s value from the " +"executable’s ELF_ header." msgstr "" -#: ../source/specifications/pypirc.rst:39 -msgid "``password``: The password that will used to authenticate the username." +#: ../source/specifications/platform-compatibility-tags.rst:194 +msgid "Use" msgstr "" -#: ../source/specifications/pypirc.rst:43 +#: ../source/specifications/platform-compatibility-tags.rst:196 msgid "" -"Be aware that this stores your password in plain text. For better security, " -"consider an alternative like `keyring`_, setting environment variables, or " -"providing the password on the command line." +"The tags are used by installers to decide which built distribution (if any) " +"to download from a list of potential built distributions. The installer " +"maintains a list of (pyver, abi, arch) tuples that it will support. If the " +"built distribution's tag is ``in`` the list, then it can be installed." msgstr "" -#: ../source/specifications/pypirc.rst:47 +#: ../source/specifications/platform-compatibility-tags.rst:202 msgid "" -"Otherwise, set the permissions on :file:`.pypirc` so that only you can view " -"or modify it. For example, on Linux or macOS, run:" +"It is recommended that installers try to choose the most feature complete " +"built distribution available (the one most specific to the installation " +"environment) by default before falling back to pure Python versions " +"published for older Python releases. Installers are also recommended to " +"provide a way to configure and re-order the list of allowed compatibility " +"tags; for example, a user might accept only the ``*-none-any`` tags to only " +"download built packages that advertise themselves as being pure Python." msgstr "" -#: ../source/specifications/pypirc.rst:57 -msgid "Common configurations" -msgstr "Configuraciones habituales" - -#: ../source/specifications/pypirc.rst:61 +#: ../source/specifications/platform-compatibility-tags.rst:210 msgid "" -"These examples apply to :ref:`twine`. Other projects (e.g. :ref:`flit`) also " -"use :file:`.pypirc`, but with different defaults. Please refer to each " -"project's documentation for more details and usage instructions." +"Another desirable installer feature might be to include \"re-compile from " +"source if possible\" as more preferable than some of the compatible but " +"legacy pre-built options." msgstr "" -#: ../source/specifications/pypirc.rst:65 +#: ../source/specifications/platform-compatibility-tags.rst:214 msgid "" -"Twine's default configuration mimics a :file:`.pypirc` with repository " -"sections for PyPI and TestPyPI:" +"This example list is for an installer running under CPython 3.3 on a " +"linux_x86_64 system. It is in order from most-preferred (a distribution with " +"a compiled extension module, built for the current version of Python) to " +"least-preferred (a pure-Python distribution built with an older version of " +"Python):" msgstr "" -#: ../source/specifications/pypirc.rst:81 -msgid "" -"Twine will add additional configuration from :file:`$HOME/.pypirc`, the " -"command line, and environment variables to this default configuration." +#: ../source/specifications/platform-compatibility-tags.rst:220 +msgid "cp33-cp33m-linux_x86_64" msgstr "" -#: ../source/specifications/pypirc.rst:85 -msgid "Using a PyPI token" -msgstr "Uso de una ficha de PyPI" +#: ../source/specifications/platform-compatibility-tags.rst:221 +msgid "cp33-abi3-linux_x86_64" +msgstr "" -#: ../source/specifications/pypirc.rst:87 -msgid "" -"To set your `API token`_ for PyPI, you can create a :file:`$HOME/.pypirc` " -"similar to:" +#: ../source/specifications/platform-compatibility-tags.rst:222 +msgid "cp3-abi3-linux_x86_64" msgstr "" -#: ../source/specifications/pypirc.rst:96 -msgid "" -"For :ref:`TestPyPI `, add a ``[testpypi]`` section, using " -"the API token from your TestPyPI account." +#: ../source/specifications/platform-compatibility-tags.rst:223 +msgid "cp33-none-linux_x86_64*" msgstr "" -#: ../source/specifications/pypirc.rst:102 -msgid "Using another package index" -msgstr "Uso de otro índice de paquetes" +#: ../source/specifications/platform-compatibility-tags.rst:224 +msgid "cp3-none-linux_x86_64*" +msgstr "" -#: ../source/specifications/pypirc.rst:104 -msgid "" -"To configure an additional repository, you'll need to redefine the ``index-" -"servers`` field to include the repository name. Here is a complete example " -"of a :file:`$HOME/.pypirc` for PyPI, TestPyPI, and a private repository:" +#: ../source/specifications/platform-compatibility-tags.rst:225 +msgid "py33-none-linux_x86_64*" msgstr "" -#: ../source/specifications/pypirc.rst:131 -msgid "" -"Instead of using the ``password`` field, consider saving your API tokens and " -"passwords securely using `keyring`_ (which is installed by Twine):" +#: ../source/specifications/platform-compatibility-tags.rst:226 +msgid "py3-none-linux_x86_64*" msgstr "" -#: ../source/specifications/pyproject-toml.rst:6 -msgid "``pyproject.toml`` specification" +#: ../source/specifications/platform-compatibility-tags.rst:227 +msgid "cp33-none-any" msgstr "" -#: ../source/specifications/pyproject-toml.rst:10 -msgid "" -"This is a **technical, formal specification**. For a gentle, user-friendly " -"guide to ``pyproject.toml``, see :ref:`writing-pyproject-toml`." +#: ../source/specifications/platform-compatibility-tags.rst:228 +msgid "cp3-none-any" msgstr "" -#: ../source/specifications/pyproject-toml.rst:14 -msgid "" -"The ``pyproject.toml`` file acts as a configuration file for packaging-" -"related tools (as well as other tools)." +#: ../source/specifications/platform-compatibility-tags.rst:229 +msgid "py33-none-any" msgstr "" -#: ../source/specifications/pyproject-toml.rst:17 -msgid "This specification was originally defined in :pep:`518` and :pep:`621`." +#: ../source/specifications/platform-compatibility-tags.rst:230 +msgid "py3-none-any" msgstr "" -#: ../source/specifications/pyproject-toml.rst:19 -msgid "" -"The ``pyproject.toml`` file is written in `TOML `_. Three " -"tables are currently specified, namely :ref:`[build-system] `, :ref:`[project] ` and :ref:`[tool] " -"`. Other tables are reserved for future use (tool-" -"specific configuration should use the ``[tool]`` table)." +#: ../source/specifications/platform-compatibility-tags.rst:231 +msgid "py32-none-any" msgstr "" -#: ../source/specifications/pyproject-toml.rst:29 -msgid "Declaring build system dependencies: the ``[build-system]`` table" +#: ../source/specifications/platform-compatibility-tags.rst:232 +msgid "py31-none-any" msgstr "" -#: ../source/specifications/pyproject-toml.rst:31 -msgid "" -"The ``[build-system]`` table declares any Python level dependencies that " -"must be installed in order to run the project's build system successfully." +#: ../source/specifications/platform-compatibility-tags.rst:233 +msgid "py30-none-any" msgstr "" -#: ../source/specifications/pyproject-toml.rst:37 +#: ../source/specifications/platform-compatibility-tags.rst:235 msgid "" -"The ``[build-system]`` table is used to store build-related data. Initially, " -"only one key of the table is valid and is mandatory for the table: " -"``requires``. This key must have a value of a list of strings representing " -"dependencies required to execute the build system. The strings in this list " -"follow the :ref:`version specifier specification `." +"Built distributions may be platform specific for reasons other than C " +"extensions, such as by including a native executable invoked as a subprocess." msgstr "" -#: ../source/specifications/pyproject-toml.rst:44 +#: ../source/specifications/platform-compatibility-tags.rst:239 msgid "" -"An example ``[build-system]`` table for a project built with ``setuptools`` " -"is:" +"Sometimes there will be more than one supported built distribution for a " +"particular version of a package. For example, a packager could release a " +"package tagged ``cp33-abi3-linux_x86_64`` that contains an optional C " +"extension and the same distribution tagged ``py3-none-any`` that does not. " +"The index of the tag in the supported tags list breaks the tie, and the " +"package with the C extension is installed in preference to the package " +"without because that tag appears first in the list." msgstr "" -#: ../source/specifications/pyproject-toml.rst:53 -msgid "" -"Build tools are expected to use the example configuration file above as " -"their default semantics when a ``pyproject.toml`` file is not present." +#: ../source/specifications/platform-compatibility-tags.rst:248 +msgid "Compressed Tag Sets" msgstr "" -#: ../source/specifications/pyproject-toml.rst:56 +#: ../source/specifications/platform-compatibility-tags.rst:250 msgid "" -"Tools should not require the existence of the ``[build-system]`` table. A " -"``pyproject.toml`` file may be used to store configuration details other " -"than build-related data and thus lack a ``[build-system]`` table " -"legitimately. If the file exists but is lacking the ``[build-system]`` table " -"then the default values as specified above should be used. If the table is " -"specified but is missing required fields then the tool should consider it an " -"error." +"To allow for compact filenames of bdists that work with more than one " +"compatibility tag triple, each tag in a filename can instead be a '.'-" +"separated, sorted, set of tags. For example, pip, a pure-Python package " +"that is written to run under Python 2 and 3 with the same source code, could " +"distribute a bdist with the tag ``py2.py3-none-any``. The full list of " +"simple tags is::" msgstr "" -#: ../source/specifications/pyproject-toml.rst:65 +#: ../source/specifications/platform-compatibility-tags.rst:262 msgid "" -"To provide a type-specific representation of the resulting data from the " -"TOML file for illustrative purposes only, the following `JSON Schema " -"`_ would match the data format:" +"A bdist format that implements this scheme should include the expanded tags " +"in bdist-specific metadata. This compression scheme can generate large " +"numbers of unsupported tags and \"impossible\" tags that are supported by no " +"Python implementation e.g. \"cp33-cp31u-win64\", so use it sparingly." msgstr "" -#: ../source/specifications/pyproject-toml.rst:103 -msgid "Declaring project metadata: the ``[project]`` table" +#: ../source/specifications/platform-compatibility-tags.rst:275 +msgid "What tags are used by default?" msgstr "" -#: ../source/specifications/pyproject-toml.rst:105 +#: ../source/specifications/platform-compatibility-tags.rst:271 msgid "" -"The ``[project]`` table specifies the project's :ref:`core metadata `." +"Tools should use the most-preferred architecture dependent tag e.g. ``cp33-" +"cp33m-win32`` or the most-preferred pure python tag e.g. ``py33-none-any`` " +"by default. If the packager overrides the default it indicates that they " +"intended to provide cross-Python compatibility." msgstr "" -#: ../source/specifications/pyproject-toml.rst:107 +#: ../source/specifications/platform-compatibility-tags.rst:285 msgid "" -"There are two kinds of metadata: *static* and *dynamic*. Static metadata is " -"specified in the ``pyproject.toml`` file directly and cannot be specified or " -"changed by a tool (this includes data *referred* to by the metadata, e.g. " -"the contents of files referenced by the metadata). Dynamic metadata is " -"listed via the ``dynamic`` key (defined later in this specification) and " -"represents metadata that a tool will later provide." +"What tag do I use if my distribution uses a feature exclusive to the newest " +"version of Python?" msgstr "" -#: ../source/specifications/pyproject-toml.rst:115 +#: ../source/specifications/platform-compatibility-tags.rst:278 msgid "" -"The lack of a ``[project]`` table implicitly means the :term:`build backend " -"` will dynamically provide all keys." +"Compatibility tags aid installers in selecting the *most compatible* build " +"of a *single version* of a distribution. For example, when there is no " +"Python 3.3 compatible build of ``beaglevote-1.2.0`` (it uses a Python 3.4 " +"exclusive feature) it may still use the ``py3-none-any`` tag instead of the " +"``py34-none-any`` tag. A Python 3.3 user must combine other qualifiers, such " +"as a requirement for the older release ``beaglevote-1.1.0`` that does not " +"use the new feature, to get a compatible build." msgstr "" -#: ../source/specifications/pyproject-toml.rst:118 -msgid "The only keys required to be statically defined are:" +#: ../source/specifications/platform-compatibility-tags.rst:290 +msgid "Why isn't there a ``.`` in the Python version number?" msgstr "" -#: ../source/specifications/pyproject-toml.rst:122 +#: ../source/specifications/platform-compatibility-tags.rst:288 msgid "" -"The keys which are required but may be specified *either* statically or " -"listed as dynamic are:" +"CPython has lasted 20+ years without a 3-digit major release. This should " +"continue for some time. Other implementations may use _ as a delimiter, " +"since both - and . delimit the surrounding filename." msgstr "" -#: ../source/specifications/pyproject-toml.rst:127 +#: ../source/specifications/platform-compatibility-tags.rst:296 msgid "" -"All other keys are considered optional and may be specified statically, " -"listed as dynamic, or left unspecified." +"Why normalise hyphens and other non-alphanumeric characters to underscores?" msgstr "" -#: ../source/specifications/pyproject-toml.rst:130 -msgid "The complete list of keys allowed in the ``[project]`` table are:" +#: ../source/specifications/platform-compatibility-tags.rst:293 +msgid "" +"To avoid conflicting with the ``.`` and ``-`` characters that separate " +"components of the filename, and for better compatibility with the widest " +"range of filesystem limitations for filenames (including being usable in URL " +"paths without quoting)." msgstr "" -#: ../source/specifications/pyproject-toml.rst:132 -msgid "``authors``" +#: ../source/specifications/platform-compatibility-tags.rst:305 +msgid "Why not use special character rather than ``.`` or ``-``?" msgstr "" -#: ../source/specifications/pyproject-toml.rst:134 -#, fuzzy -msgid "``dependencies``" -msgstr "Dependencias externas" - -#: ../source/specifications/pyproject-toml.rst:136 -#: ../source/specifications/pyproject-toml.rst:386 -msgid "``dynamic``" +#: ../source/specifications/platform-compatibility-tags.rst:299 +msgid "" +"Either because that character is inconvenient or potentially confusing in " +"some contexts (for example, ``+`` must be quoted in URLs, ``~`` is used to " +"denote the user's home directory in POSIX), or because the advantages " +"weren't sufficiently compelling to justify changing the existing reference " +"implementation for the wheel format defined in :pep:`427` (for example, " +"using ``,`` rather than ``.`` to separate components in a compressed tag)." msgstr "" -#: ../source/specifications/pyproject-toml.rst:137 -msgid "``entry-points``" +#: ../source/specifications/platform-compatibility-tags.rst:310 +msgid "Who will maintain the registry of abbreviated implementations?" msgstr "" -#: ../source/specifications/pyproject-toml.rst:138 -msgid "``gui-scripts``" +#: ../source/specifications/platform-compatibility-tags.rst:308 +msgid "" +"New two-letter abbreviations can be requested on the python-dev mailing " +"list. As a rule of thumb, abbreviations are reserved for the current 4 most " +"prominent implementations." msgstr "" -#: ../source/specifications/pyproject-toml.rst:141 -#, fuzzy -msgid "``maintainers``" -msgstr "Responsable" - -#: ../source/specifications/pyproject-toml.rst:143 -#, fuzzy -msgid "``optional-dependencies``" -msgstr "Dependencias externas" - -#: ../source/specifications/pyproject-toml.rst:154 -#: ../source/specifications/pyproject-toml.rst:166 -#: ../source/specifications/pyproject-toml.rst:179 -#: ../source/specifications/pyproject-toml.rst:229 -msgid "TOML_ type: string" +#: ../source/specifications/platform-compatibility-tags.rst:315 +msgid "Does the compatibility tag go into METADATA or PKG-INFO?" msgstr "" -#: ../source/specifications/pyproject-toml.rst:155 +#: ../source/specifications/platform-compatibility-tags.rst:313 msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`Name `" +"No. The compatibility tag is part of the built distribution's metadata. " +"METADATA / PKG-INFO should be valid for an entire distribution, not a single " +"build of that distribution." msgstr "" -#: ../source/specifications/pyproject-toml.rst:158 -msgid "The name of the project." +#: ../source/specifications/platform-compatibility-tags.rst:321 +msgid "Why didn't you mention my favorite Python implementation?" msgstr "" -#: ../source/specifications/pyproject-toml.rst:160 +#: ../source/specifications/platform-compatibility-tags.rst:318 msgid "" -"Tools SHOULD :ref:`normalize ` this name, as soon as it " -"is read for internal consistency." +"The abbreviated tags facilitate sharing compiled Python code in a public " +"index. Your Python implementation can use this specification too, but with " +"longer tags. Recall that all \"pure Python\" built distributions just use " +"``py``." msgstr "" -#: ../source/specifications/pyproject-toml.rst:167 +#: ../source/specifications/platform-compatibility-tags.rst:329 msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`Version " -"`" +"Why is the ABI tag (the second tag) sometimes \"none\" in the reference " +"implementation?" msgstr "" -#: ../source/specifications/pyproject-toml.rst:170 +#: ../source/specifications/platform-compatibility-tags.rst:324 msgid "" -"The version of the project, as defined in the :ref:`Version specifier " -"specification `." +"Since Python 2 does not have an easy way to get to the SOABI (the concept " +"comes from newer versions of Python 3) the reference implementation at the " +"time of writing guesses \"none\". Ideally it would detect \"py27(d|m|u)\" " +"analogous to newer versions of Python, but in the meantime \"none\" is a " +"good enough way to say \"don't know\"." msgstr "" -#: ../source/specifications/pyproject-toml.rst:173 -msgid "Users SHOULD prefer to specify already-normalized versions." +#: ../source/specifications/platform-compatibility-tags.rst:334 +msgid "" +"February 2013: The original version of this specification was approved " +"through :pep:`425`." msgstr "" -#: ../source/specifications/pyproject-toml.rst:180 -msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`Summary " -"`" +#: ../source/specifications/platform-compatibility-tags.rst:336 +msgid "January 2016: The ``manylinux1`` tag was approved through :pep:`513`." msgstr "" -#: ../source/specifications/pyproject-toml.rst:183 -msgid "" -"The summary description of the project in one line. Tools MAY error if this " -"includes multiple lines." +#: ../source/specifications/platform-compatibility-tags.rst:337 +msgid "April 2018: The ``manylinux2010`` tag was approved through :pep:`571`." msgstr "" -"La descripción resumida del proyecto en una línea. Las herramientas PUEDEN " -"producir un error si esto incluye varias líneas." -#: ../source/specifications/pyproject-toml.rst:190 -msgid "TOML_ type: string or table" +#: ../source/specifications/platform-compatibility-tags.rst:338 +msgid "July 2019: The ``manylinux2014`` tag was approved through :pep:`599`." msgstr "" -#: ../source/specifications/pyproject-toml.rst:191 +#: ../source/specifications/platform-compatibility-tags.rst:339 msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`Description " -"` and :ref:`Description-Content-Type `" +"November 2019: The ``manylinux_x_y`` perennial tag was approved through :pep:" +"`600`." msgstr "" -#: ../source/specifications/pyproject-toml.rst:195 -msgid "The full description of the project (i.e. the README)." +#: ../source/specifications/platform-compatibility-tags.rst:341 +msgid "April 2021: The ``musllinux_x_y`` tag was approved through :pep:`656`." msgstr "" -#: ../source/specifications/pyproject-toml.rst:197 +#: ../source/specifications/pypirc.rst:6 +msgid "The :file:`.pypirc` file" +msgstr "El archivo :file:`.pypirc`" + +#: ../source/specifications/pypirc.rst:8 msgid "" -"The key accepts either a string or a table. If it is a string then it is a " -"path relative to ``pyproject.toml`` to a text file containing the full " -"description. Tools MUST assume the file's encoding is UTF-8. If the file " -"path ends in a case-insensitive ``.md`` suffix, then tools MUST assume the " -"content-type is ``text/markdown``. If the file path ends in a case-" -"insensitive ``.rst``, then tools MUST assume the content-type is ``text/x-" -"rst``. If a tool recognizes more extensions than this PEP, they MAY infer " -"the content-type for the user without specifying this key as ``dynamic``. " -"For all unrecognized suffixes when a content-type is not provided, tools " -"MUST raise an error." +"A :file:`.pypirc` file allows you to define the configuration for :term:" +"`package indexes ` (referred to here as \"repositories\"), so " +"that you don't have to enter the URL, username, or password whenever you " +"upload a package with :ref:`twine` or :ref:`flit`." msgstr "" -#: ../source/specifications/pyproject-toml.rst:208 -msgid "" -"The ``readme`` key may also take a table. The ``file`` key has a string " -"value representing a path relative to ``pyproject.toml`` to a file " -"containing the full description. The ``text`` key has a string value which " -"is the full description. These keys are mutually-exclusive, thus tools MUST " -"raise an error if the metadata specifies both keys." +#: ../source/specifications/pypirc.rst:13 +msgid "The format (originally defined by the :ref:`distutils` package) is:" msgstr "" +"El formato (definido originalmente por el paquete :ref:`distutils`) es:" -#: ../source/specifications/pyproject-toml.rst:215 +#: ../source/specifications/pypirc.rst:32 msgid "" -"A table specified in the ``readme`` key also has a ``content-type`` key " -"which takes a string specifying the content-type of the full description. A " -"tool MUST raise an error if the metadata does not specify this key in the " -"table. If the metadata does not specify the ``charset`` parameter, then it " -"is assumed to be UTF-8. Tools MAY support other encodings if they choose to. " -"Tools MAY support alternative content-types which they can transform to a " -"content-type as supported by the :ref:`core metadata `. " -"Otherwise tools MUST raise an error for unsupported content-types." +"The ``distutils`` section defines an ``index-servers`` field that lists the " +"name of all sections describing a repository." msgstr "" -#: ../source/specifications/pyproject-toml.rst:230 -msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`Requires-" -"Python `" +#: ../source/specifications/pypirc.rst:35 +msgid "Each section describing a repository defines three fields:" msgstr "" -#: ../source/specifications/pyproject-toml.rst:233 -msgid "The Python version requirements of the project." +#: ../source/specifications/pypirc.rst:37 +msgid "``repository``: The URL of the repository." msgstr "" -#: ../source/specifications/pyproject-toml.rst:239 -msgid "TOML_ type: table" +#: ../source/specifications/pypirc.rst:38 +msgid "``username``: The registered username on the repository." msgstr "" -#: ../source/specifications/pyproject-toml.rst:240 -msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`License " -"`" +#: ../source/specifications/pypirc.rst:39 +msgid "``password``: The password that will used to authenticate the username." msgstr "" -#: ../source/specifications/pyproject-toml.rst:243 +#: ../source/specifications/pypirc.rst:43 msgid "" -"The table may have one of two keys. The ``file`` key has a string value that " -"is a file path relative to ``pyproject.toml`` to the file which contains the " -"license for the project. Tools MUST assume the file's encoding is UTF-8. The " -"``text`` key has a string value which is the license of the project. These " -"keys are mutually exclusive, so a tool MUST raise an error if the metadata " -"specifies both keys." +"Be aware that this stores your password in plain text. For better security, " +"consider an alternative like `keyring`_, setting environment variables, or " +"providing the password on the command line." msgstr "" -#: ../source/specifications/pyproject-toml.rst:254 -msgid "TOML_ type: Array of inline tables with string keys and values" +#: ../source/specifications/pypirc.rst:47 +msgid "" +"Otherwise, set the permissions on :file:`.pypirc` so that only you can view " +"or modify it. For example, on Linux or macOS, run:" msgstr "" -#: ../source/specifications/pyproject-toml.rst:255 +#: ../source/specifications/pypirc.rst:57 +msgid "Common configurations" +msgstr "Configuraciones habituales" + +#: ../source/specifications/pypirc.rst:61 msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`Author `, :ref:`Author-email `, :ref:" -"`Maintainer `, and :ref:`Maintainer-email `" +"These examples apply to :ref:`twine`. Other projects (e.g. :ref:`flit`) also " +"use :file:`.pypirc`, but with different defaults. Please refer to each " +"project's documentation for more details and usage instructions." msgstr "" -#: ../source/specifications/pyproject-toml.rst:261 +#: ../source/specifications/pypirc.rst:65 msgid "" -"The people or organizations considered to be the \"authors\" of the project. " -"The exact meaning is open to interpretation — it may list the original or " -"primary authors, current maintainers, or owners of the package." +"Twine's default configuration mimics a :file:`.pypirc` with repository " +"sections for PyPI and TestPyPI:" msgstr "" -#: ../source/specifications/pyproject-toml.rst:266 +#: ../source/specifications/pypirc.rst:81 msgid "" -"The \"maintainers\" key is similar to \"authors\" in that its exact meaning " -"is open to interpretation." +"Twine will add additional configuration from :file:`$HOME/.pypirc`, the " +"command line, and environment variables to this default configuration." msgstr "" -#: ../source/specifications/pyproject-toml.rst:269 -msgid "" -"These keys accept an array of tables with 2 keys: ``name`` and ``email``. " -"Both values must be strings. The ``name`` value MUST be a valid email name " -"(i.e. whatever can be put as a name, before an email, in :rfc:`822`) and not " -"contain commas. The ``email`` value MUST be a valid email address. Both keys " -"are optional, but at least one of the keys must be specified in the table." -msgstr "" +#: ../source/specifications/pypirc.rst:85 +msgid "Using a PyPI token" +msgstr "Uso de una ficha de PyPI" -#: ../source/specifications/pyproject-toml.rst:276 +#: ../source/specifications/pypirc.rst:87 msgid "" -"Using the data to fill in :ref:`core metadata ` is as follows:" +"To set your `API token`_ for PyPI, you can create a :file:`$HOME/.pypirc` " +"similar to:" msgstr "" -#: ../source/specifications/pyproject-toml.rst:279 +#: ../source/specifications/pypirc.rst:96 msgid "" -"If only ``name`` is provided, the value goes in :ref:`Author ` or :ref:`Maintainer ` as appropriate." +"For :ref:`TestPyPI `, add a ``[testpypi]`` section, using " +"the API token from your TestPyPI account." msgstr "" -#: ../source/specifications/pyproject-toml.rst:282 +#: ../source/specifications/pypirc.rst:102 +msgid "Using another package index" +msgstr "Uso de otro índice de paquetes" + +#: ../source/specifications/pypirc.rst:104 msgid "" -"If only ``email`` is provided, the value goes in :ref:`Author-email ` or :ref:`Maintainer-email ` as appropriate." +"To configure an additional repository, you'll need to redefine the ``index-" +"servers`` field to include the repository name. Here is a complete example " +"of a :file:`$HOME/.pypirc` for PyPI, TestPyPI, and a private repository:" msgstr "" -#: ../source/specifications/pyproject-toml.rst:286 +#: ../source/specifications/pypirc.rst:131 msgid "" -"If both ``email`` and ``name`` are provided, the value goes in :ref:`Author-" -"email ` or :ref:`Maintainer-email ` as appropriate, with the format ``{name} <{email}>``." +"Instead of using the ``password`` field, consider saving your API tokens and " +"passwords securely using `keyring`_ (which is installed by Twine):" msgstr "" -#: ../source/specifications/pyproject-toml.rst:290 -msgid "Multiple values should be separated by commas." +#: ../source/specifications/pyproject-toml.rst:6 +msgid "``pyproject.toml`` specification" msgstr "" -#: ../source/specifications/pyproject-toml.rst:296 -#: ../source/specifications/pyproject-toml.rst:306 -msgid "TOML_ type: array of strings" +#: ../source/specifications/pyproject-toml.rst:10 +msgid "" +"This is a **technical, formal specification**. For a gentle, user-friendly " +"guide to ``pyproject.toml``, see :ref:`writing-pyproject-toml`." msgstr "" -#: ../source/specifications/pyproject-toml.rst:297 +#: ../source/specifications/pyproject-toml.rst:14 msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`Keywords " -"`" +"The ``pyproject.toml`` file acts as a configuration file for packaging-" +"related tools (as well as other tools)." msgstr "" -#: ../source/specifications/pyproject-toml.rst:300 -msgid "The keywords for the project." +#: ../source/specifications/pyproject-toml.rst:17 +msgid "This specification was originally defined in :pep:`518` and :pep:`621`." msgstr "" -#: ../source/specifications/pyproject-toml.rst:307 +#: ../source/specifications/pyproject-toml.rst:19 msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`Classifier " -"`" +"The ``pyproject.toml`` file is written in `TOML `_. Three " +"tables are currently specified, namely :ref:`[build-system] `, :ref:`[project] ` and :ref:`[tool] " +"`. Other tables are reserved for future use (tool-" +"specific configuration should use the ``[tool]`` table)." msgstr "" -#: ../source/specifications/pyproject-toml.rst:310 -msgid "Trove classifiers which apply to the project." +#: ../source/specifications/pyproject-toml.rst:29 +msgid "Declaring build system dependencies: the ``[build-system]`` table" msgstr "" -#: ../source/specifications/pyproject-toml.rst:316 -msgid "TOML_ type: table with keys and values of strings" +#: ../source/specifications/pyproject-toml.rst:31 +msgid "" +"The ``[build-system]`` table declares any Python level dependencies that " +"must be installed in order to run the project's build system successfully." msgstr "" -#: ../source/specifications/pyproject-toml.rst:317 +#: ../source/specifications/pyproject-toml.rst:37 msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`Project-URL " -"`" +"The ``[build-system]`` table is used to store build-related data. Initially, " +"only one key of the table is valid and is mandatory for the table: " +"``requires``. This key must have a value of a list of strings representing " +"dependencies required to execute the build system. The strings in this list " +"follow the :ref:`version specifier specification `." msgstr "" -#: ../source/specifications/pyproject-toml.rst:320 +#: ../source/specifications/pyproject-toml.rst:44 msgid "" -"A table of URLs where the key is the URL label and the value is the URL " -"itself. See :ref:`well-known-project-urls` for normalization rules and well-" -"known rules when processing metadata for presentation." +"An example ``[build-system]`` table for a project built with ``setuptools`` " +"is:" msgstr "" -#: ../source/specifications/pyproject-toml.rst:326 -msgid "Entry points" +#: ../source/specifications/pyproject-toml.rst:53 +msgid "" +"Build tools are expected to use the example configuration file above as " +"their default semantics when a ``pyproject.toml`` file is not present." msgstr "" -#: ../source/specifications/pyproject-toml.rst:328 +#: ../source/specifications/pyproject-toml.rst:56 msgid "" -"TOML_ type: table (``[project.scripts]``, ``[project.gui-scripts]``, and " -"``[project.entry-points]``)" +"Tools should not require the existence of the ``[build-system]`` table. A " +"``pyproject.toml`` file may be used to store configuration details other " +"than build-related data and thus lack a ``[build-system]`` table " +"legitimately. If the file exists but is lacking the ``[build-system]`` table " +"then the default values as specified above should be used. If the table is " +"specified but is missing required fields then the tool should consider it an " +"error." msgstr "" -#: ../source/specifications/pyproject-toml.rst:330 -msgid ":ref:`Entry points specification `" +#: ../source/specifications/pyproject-toml.rst:65 +msgid "" +"To provide a type-specific representation of the resulting data from the " +"TOML file for illustrative purposes only, the following `JSON Schema " +"`_ would match the data format:" msgstr "" -#: ../source/specifications/pyproject-toml.rst:332 -msgid "" -"There are three tables related to entry points. The ``[project.scripts]`` " -"table corresponds to the ``console_scripts`` group in the :ref:`entry points " -"specification `. The key of the table is the name of the entry " -"point and the value is the object reference." +#: ../source/specifications/pyproject-toml.rst:103 +msgid "Declaring project metadata: the ``[project]`` table" msgstr "" -#: ../source/specifications/pyproject-toml.rst:338 +#: ../source/specifications/pyproject-toml.rst:105 msgid "" -"The ``[project.gui-scripts]`` table corresponds to the ``gui_scripts`` group " -"in the :ref:`entry points specification `. Its format is the " -"same as ``[project.scripts]``." +"The ``[project]`` table specifies the project's :ref:`core metadata `." msgstr "" -#: ../source/specifications/pyproject-toml.rst:342 +#: ../source/specifications/pyproject-toml.rst:107 msgid "" -"The ``[project.entry-points]`` table is a collection of tables. Each sub-" -"table's name is an entry point group. The key and value semantics are the " -"same as ``[project.scripts]``. Users MUST NOT create nested sub-tables but " -"instead keep the entry point groups to only one level deep." +"There are two kinds of metadata: *static* and *dynamic*. Static metadata is " +"specified in the ``pyproject.toml`` file directly and cannot be specified or " +"changed by a tool (this includes data *referred* to by the metadata, e.g. " +"the contents of files referenced by the metadata). Dynamic metadata is " +"listed via the ``dynamic`` key (defined later in this specification) and " +"represents metadata that a tool will later provide." msgstr "" -#: ../source/specifications/pyproject-toml.rst:348 +#: ../source/specifications/pyproject-toml.rst:115 msgid "" -"Build back-ends MUST raise an error if the metadata defines a ``[project." -"entry-points.console_scripts]`` or ``[project.entry-points.gui_scripts]`` " -"table, as they would be ambiguous in the face of ``[project.scripts]`` and " -"``[project.gui-scripts]``, respectively." +"The lack of a ``[project]`` table implicitly means the :term:`build backend " +"` will dynamically provide all keys." msgstr "" -#: ../source/specifications/pyproject-toml.rst:358 +#: ../source/specifications/pyproject-toml.rst:118 +msgid "The only keys required to be statically defined are:" +msgstr "" + +#: ../source/specifications/pyproject-toml.rst:122 msgid "" -"TOML_ type: Array of :pep:`508` strings (``dependencies``), and a table with " -"values of arrays of :pep:`508` strings (``optional-dependencies``)" +"The keys which are required but may be specified *either* statically or " +"listed as dynamic are:" msgstr "" -#: ../source/specifications/pyproject-toml.rst:361 +#: ../source/specifications/pyproject-toml.rst:127 msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`Requires-" -"Dist ` and :ref:`Provides-Extra `" +"All other keys are considered optional and may be specified statically, " +"listed as dynamic, or left unspecified." msgstr "" -#: ../source/specifications/pyproject-toml.rst:365 -msgid "The (optional) dependencies of the project." +#: ../source/specifications/pyproject-toml.rst:130 +msgid "The complete list of keys allowed in the ``[project]`` table are:" msgstr "" -#: ../source/specifications/pyproject-toml.rst:367 -msgid "" -"For ``dependencies``, it is a key whose value is an array of strings. Each " -"string represents a dependency of the project and MUST be formatted as a " -"valid :pep:`508` string. Each string maps directly to a :ref:`Requires-Dist " -"` entry." +#: ../source/specifications/pyproject-toml.rst:132 +msgid "``authors``" msgstr "" -#: ../source/specifications/pyproject-toml.rst:372 -msgid "" -"For ``optional-dependencies``, it is a table where each key specifies an " -"extra and whose value is an array of strings. The strings of the arrays must " -"be valid :pep:`508` strings. The keys MUST be valid values for :ref:" -"`Provides-Extra `. Each value in the array " -"thus becomes a corresponding :ref:`Requires-Dist ` entry for the matching :ref:`Provides-Extra ` metadata." +#: ../source/specifications/pyproject-toml.rst:134 +#, fuzzy +msgid "``dependencies``" +msgstr "Dependencias externas" + +#: ../source/specifications/pyproject-toml.rst:136 +#: ../source/specifications/pyproject-toml.rst:386 +msgid "``dynamic``" msgstr "" -#: ../source/specifications/pyproject-toml.rst:388 -msgid "TOML_ type: array of string" +#: ../source/specifications/pyproject-toml.rst:137 +msgid "``entry-points``" msgstr "" -#: ../source/specifications/pyproject-toml.rst:389 -msgid "" -"Corresponding :ref:`core metadata ` field: :ref:`Dynamic " -"`" +#: ../source/specifications/pyproject-toml.rst:138 +msgid "``gui-scripts``" msgstr "" -#: ../source/specifications/pyproject-toml.rst:392 -msgid "" -"Specifies which keys listed by this PEP were intentionally unspecified so " -"another tool can/will provide such metadata dynamically. This clearly " -"delineates which metadata is purposefully unspecified and expected to stay " -"unspecified compared to being provided via tooling later on." +#: ../source/specifications/pyproject-toml.rst:141 +#, fuzzy +msgid "``maintainers``" +msgstr "Responsable" + +#: ../source/specifications/pyproject-toml.rst:143 +#, fuzzy +msgid "``optional-dependencies``" +msgstr "Dependencias externas" + +#: ../source/specifications/pyproject-toml.rst:154 +#: ../source/specifications/pyproject-toml.rst:166 +#: ../source/specifications/pyproject-toml.rst:179 +#: ../source/specifications/pyproject-toml.rst:229 +msgid "TOML_ type: string" msgstr "" -#: ../source/specifications/pyproject-toml.rst:398 +#: ../source/specifications/pyproject-toml.rst:155 msgid "" -"A build back-end MUST honour statically-specified metadata (which means the " -"metadata did not list the key in ``dynamic``)." +"Corresponding :ref:`core metadata ` field: :ref:`Name `" msgstr "" -#: ../source/specifications/pyproject-toml.rst:400 -msgid "" -"A build back-end MUST raise an error if the metadata specifies ``name`` in " -"``dynamic``." +#: ../source/specifications/pyproject-toml.rst:158 +msgid "The name of the project." msgstr "" -#: ../source/specifications/pyproject-toml.rst:402 +#: ../source/specifications/pyproject-toml.rst:160 msgid "" -"If the :ref:`core metadata ` specification lists a field as " -"\"Required\", then the metadata MUST specify the key statically or list it " -"in ``dynamic`` (build back-ends MUST raise an error otherwise, i.e. it " -"should not be possible for a required key to not be listed somehow in the " -"``[project]`` table)." +"Tools SHOULD :ref:`normalize ` this name, as soon as it " +"is read for internal consistency." msgstr "" -#: ../source/specifications/pyproject-toml.rst:407 +#: ../source/specifications/pyproject-toml.rst:167 msgid "" -"If the :ref:`core metadata ` specification lists a field as " -"\"Optional\", the metadata MAY list it in ``dynamic`` if the expectation is " -"a build back-end will provide the data for the key later." -msgstr "" - -#: ../source/specifications/pyproject-toml.rst:411 -msgid "" -"Build back-ends MUST raise an error if the metadata specifies a key " -"statically as well as being listed in ``dynamic``." -msgstr "" - -#: ../source/specifications/pyproject-toml.rst:413 -msgid "" -"If the metadata does not list a key in ``dynamic``, then a build back-end " -"CANNOT fill in the requisite metadata on behalf of the user (i.e. " -"``dynamic`` is the only way to allow a tool to fill in metadata and the user " -"must opt into the filling in)." +"Corresponding :ref:`core metadata ` field: :ref:`Version " +"`" msgstr "" -#: ../source/specifications/pyproject-toml.rst:417 +#: ../source/specifications/pyproject-toml.rst:170 msgid "" -"Build back-ends MUST raise an error if the metadata specifies a key in " -"``dynamic`` but the build back-end was unable to determine the data for it " -"(omitting the data, if determined to be the accurate value, is acceptable)." +"The version of the project, as defined in the :ref:`Version specifier " +"specification `." msgstr "" -#: ../source/specifications/pyproject-toml.rst:427 -msgid "Arbitrary tool configuration: the ``[tool]`` table" +#: ../source/specifications/pyproject-toml.rst:173 +msgid "Users SHOULD prefer to specify already-normalized versions." msgstr "" -#: ../source/specifications/pyproject-toml.rst:429 +#: ../source/specifications/pyproject-toml.rst:180 msgid "" -"The ``[tool]`` table is where any tool related to your Python project, not " -"just build tools, can have users specify configuration data as long as they " -"use a sub-table within ``[tool]``, e.g. the `flit `_ tool would store its configuration in ``[tool.flit]``." +"Corresponding :ref:`core metadata ` field: :ref:`Summary " +"`" msgstr "" -#: ../source/specifications/pyproject-toml.rst:435 +#: ../source/specifications/pyproject-toml.rst:183 msgid "" -"A mechanism is needed to allocate names within the ``tool.*`` namespace, to " -"make sure that different projects do not attempt to use the same sub-table " -"and collide. Our rule is that a project can use the subtable ``tool.$NAME`` " -"if, and only if, they own the entry for ``$NAME`` in the Cheeseshop/PyPI." +"The summary description of the project in one line. Tools MAY error if this " +"includes multiple lines." msgstr "" +"La descripción resumida del proyecto en una línea. Las herramientas PUEDEN " +"producir un error si esto incluye varias líneas." -#: ../source/specifications/pyproject-toml.rst:446 -msgid "" -"May 2016: The initial specification of the ``pyproject.toml`` file, with " -"just a ``[build-system]`` containing a ``requires`` key and a ``[tool]`` " -"table, was approved through :pep:`518`." +#: ../source/specifications/pyproject-toml.rst:190 +msgid "TOML_ type: string or table" msgstr "" -#: ../source/specifications/pyproject-toml.rst:450 +#: ../source/specifications/pyproject-toml.rst:191 msgid "" -"November 2020: The specification of the ``[project]`` table was approved " -"through :pep:`621`." +"Corresponding :ref:`core metadata ` field: :ref:`Description " +"` and :ref:`Description-Content-Type `" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:7 -msgid "Recording installed projects" +#: ../source/specifications/pyproject-toml.rst:195 +msgid "The full description of the project (i.e. the README)." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:9 +#: ../source/specifications/pyproject-toml.rst:197 msgid "" -"This document specifies a common format of recording information about " -"Python :term:`projects ` installed in an environment. A common " -"metadata format allows tools to query, manage or uninstall projects, " -"regardless of how they were installed." +"The key accepts either a string or a table. If it is a string then it is a " +"path relative to ``pyproject.toml`` to a text file containing the full " +"description. Tools MUST assume the file's encoding is UTF-8. If the file " +"path ends in a case-insensitive ``.md`` suffix, then tools MUST assume the " +"content-type is ``text/markdown``. If the file path ends in a case-" +"insensitive ``.rst``, then tools MUST assume the content-type is ``text/x-" +"rst``. If a tool recognizes more extensions than this PEP, they MAY infer " +"the content-type for the user without specifying this key as ``dynamic``. " +"For all unrecognized suffixes when a content-type is not provided, tools " +"MUST raise an error." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:14 +#: ../source/specifications/pyproject-toml.rst:208 msgid "" -"Almost all information is optional. This allows tools outside the Python " -"ecosystem, such as Linux package managers, to integrate with Python tooling " -"as much as possible. For example, even if an installer cannot easily provide " -"a list of installed files in a format specific to Python tooling, it should " -"still record the name and version of the installed project." +"The ``readme`` key may also take a table. The ``file`` key has a string " +"value representing a path relative to ``pyproject.toml`` to a file " +"containing the full description. The ``text`` key has a string value which " +"is the full description. These keys are mutually-exclusive, thus tools MUST " +"raise an error if the metadata specifies both keys." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:25 +#: ../source/specifications/pyproject-toml.rst:215 msgid "" -"Each project installed from a distribution must, in addition to files, " -"install a \"``.dist-info``\" directory located alongside importable modules " -"and packages (commonly, the ``site-packages`` directory)." +"A table specified in the ``readme`` key also has a ``content-type`` key " +"which takes a string specifying the content-type of the full description. A " +"tool MUST raise an error if the metadata does not specify this key in the " +"table. If the metadata does not specify the ``charset`` parameter, then it " +"is assumed to be UTF-8. Tools MAY support other encodings if they choose to. " +"Tools MAY support alternative content-types which they can transform to a " +"content-type as supported by the :ref:`core metadata `. " +"Otherwise tools MUST raise an error for unsupported content-types." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:29 +#: ../source/specifications/pyproject-toml.rst:230 msgid "" -"This directory is named as ``{name}-{version}.dist-info``, with ``name`` and " -"``version`` fields corresponding to :ref:`core-metadata`. Both fields must " -"be normalized (see the :ref:`name normalization specification ` and the :ref:`version normalization specification `), and replace dash (``-``) characters with " -"underscore (``_``) characters, so the ``.dist-info`` directory always has " -"exactly one dash (``-``) character in its stem, separating the ``name`` and " -"``version`` fields." +"Corresponding :ref:`core metadata ` field: :ref:`Requires-" +"Python `" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:37 -msgid "" -"Historically, tools have failed to replace dot characters or normalize case " -"in the ``name`` field, or not perform normalization in the ``version`` " -"field. Tools consuming ``.dist-info`` directories should expect those fields " -"to be unnormalized, and treat them as equivalent to their normalized " -"counterparts. New tools that write ``.dist-info`` directories MUST normalize " -"both ``name`` and ``version`` fields using the rules described above, and " -"existing tools are encouraged to start normalizing those fields." +#: ../source/specifications/pyproject-toml.rst:233 +msgid "The Python version requirements of the project." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:47 -msgid "" -"The ``.dist-info`` directory's name is formatted to unambiguously represent " -"a distribution as a filesystem path. Tools presenting a distribution name to " -"a user should avoid using the normalized name, and instead present the " -"specified name (when needed prior to resolution to an installed package), or " -"read the respective fields in Core Metadata, since values listed there are " -"unescaped and accurately reflect the distribution. Libraries should provide " -"API for such tools to consume, so tools can have access to the unnormalized " -"name when displaying distribution information." +#: ../source/specifications/pyproject-toml.rst:239 +msgid "TOML_ type: table" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:56 -#, fuzzy +#: ../source/specifications/pyproject-toml.rst:240 msgid "" -"This ``.dist-info`` directory may contain the following files, described in " -"detail below:" +"Corresponding :ref:`core metadata ` field: :ref:`License " +"`" msgstr "" -"El directorio ``.dist-info`` puede contener los archivos que se describen a " -"detalle a continuación:" - -#: ../source/specifications/recording-installed-packages.rst:59 -msgid "``METADATA``: contains project metadata" -msgstr "``METADATA``: contiene metadatos sobre el proyecto" - -#: ../source/specifications/recording-installed-packages.rst:60 -msgid "``RECORD``: records the list of installed files." -msgstr "``RECORD``: registra la lista de archivos instalados." -#: ../source/specifications/recording-installed-packages.rst:61 +#: ../source/specifications/pyproject-toml.rst:243 msgid "" -"``INSTALLER``: records the name of the tool used to install the project." +"The table may have one of two keys. The ``file`` key has a string value that " +"is a file path relative to ``pyproject.toml`` to the file which contains the " +"license for the project. Tools MUST assume the file's encoding is UTF-8. The " +"``text`` key has a string value which is the license of the project. These " +"keys are mutually exclusive, so a tool MUST raise an error if the metadata " +"specifies both keys." msgstr "" -"``INSTALLER``: registra el nombre de la herramienta utilizada para instalar " -"el proyecto." -#: ../source/specifications/recording-installed-packages.rst:62 -msgid "``entry_points.txt``: see :ref:`entry-points` for details" +#: ../source/specifications/pyproject-toml.rst:254 +msgid "TOML_ type: Array of inline tables with string keys and values" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:63 -msgid "``direct_url.json``: see :ref:`direct-url` for details" +#: ../source/specifications/pyproject-toml.rst:255 +msgid "" +"Corresponding :ref:`core metadata ` field: :ref:`Author `, :ref:`Author-email `, :ref:" +"`Maintainer `, and :ref:`Maintainer-email `" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:65 +#: ../source/specifications/pyproject-toml.rst:261 msgid "" -"The ``METADATA`` file is mandatory. All other files may be omitted at the " -"installing tool's discretion. Additional installer-specific files may be " -"present." +"The people or organizations considered to be the \"authors\" of the project. " +"The exact meaning is open to interpretation — it may list the original or " +"primary authors, current maintainers, or owners of the package." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:71 +#: ../source/specifications/pyproject-toml.rst:266 msgid "" -"The :ref:`binary-distribution-format` specification describes additional " -"files that may appear in the ``.dist-info`` directory of a :term:`Wheel`. " -"Such files may be copied to the ``.dist-info`` directory of an installed " -"project." +"The \"maintainers\" key is similar to \"authors\" in that its exact meaning " +"is open to interpretation." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:76 +#: ../source/specifications/pyproject-toml.rst:269 msgid "" -"The previous versions of this specification also specified a ``REQUESTED`` " -"file. This file is now considered a tool-specific extension, but may be " -"standardized again in the future. See `PEP 376 `_ for its original meaning." +"These keys accept an array of tables with 2 keys: ``name`` and ``email``. " +"Both values must be strings. The ``name`` value MUST be a valid email name " +"(i.e. whatever can be put as a name, before an email, in :rfc:`822`) and not " +"contain commas. The ``email`` value MUST be a valid email address. Both keys " +"are optional, but at least one of the keys must be specified in the table." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:83 -msgid "The METADATA file" -msgstr "El archivo METADATA" - -#: ../source/specifications/recording-installed-packages.rst:85 +#: ../source/specifications/pyproject-toml.rst:276 msgid "" -"The ``METADATA`` file contains metadata as described in the :ref:`core-" -"metadata` specification, version 1.1 or greater." +"Using the data to fill in :ref:`core metadata ` is as follows:" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:88 +#: ../source/specifications/pyproject-toml.rst:279 msgid "" -"The ``METADATA`` file is mandatory. If it cannot be created, or if required " -"core metadata is not available, installers must report an error and fail to " -"install the project." +"If only ``name`` is provided, the value goes in :ref:`Author ` or :ref:`Maintainer ` as appropriate." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:94 -msgid "The RECORD file" -msgstr "El archivo RECORD" - -#: ../source/specifications/recording-installed-packages.rst:96 +#: ../source/specifications/pyproject-toml.rst:282 msgid "" -"The ``RECORD`` file holds the list of installed files. It is a CSV file " -"containing one record (line) per installed file." +"If only ``email`` is provided, the value goes in :ref:`Author-email ` or :ref:`Maintainer-email ` as appropriate." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:99 +#: ../source/specifications/pyproject-toml.rst:286 msgid "" -"The CSV dialect must be readable with the default ``reader`` of Python's " -"``csv`` module:" +"If both ``email`` and ``name`` are provided, the value goes in :ref:`Author-" +"email ` or :ref:`Maintainer-email ` as appropriate, with the format ``{name} <{email}>``." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:102 -msgid "field delimiter: ``,`` (comma)," -msgstr "delimitador de campos: ``,`` (coma)," - -#: ../source/specifications/recording-installed-packages.rst:103 -msgid "quoting char: ``\"`` (straight double quote)," +#: ../source/specifications/pyproject-toml.rst:290 +msgid "Multiple values should be separated by commas." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:104 -msgid "line terminator: either ``\\r\\n`` or ``\\n``." +#: ../source/specifications/pyproject-toml.rst:296 +#: ../source/specifications/pyproject-toml.rst:306 +msgid "TOML_ type: array of strings" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:106 +#: ../source/specifications/pyproject-toml.rst:297 msgid "" -"Each record is composed of three elements: the file's **path**, the **hash** " -"of the contents, and its **size**." +"Corresponding :ref:`core metadata ` field: :ref:`Keywords " +"`" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:109 -msgid "" -"The *path* may be either absolute, or relative to the directory containing " -"the ``.dist-info`` directory (commonly, the ``site-packages`` directory). On " -"Windows, directories may be separated either by forward- or backslashes (``/" -"`` or ``\\``)." +#: ../source/specifications/pyproject-toml.rst:300 +msgid "The keywords for the project." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:114 +#: ../source/specifications/pyproject-toml.rst:307 msgid "" -"The *hash* is either an empty string or the name of a hash algorithm from :" -"py:data:`hashlib.algorithms_guaranteed`, followed by the equals character " -"``=`` and the digest of the file's contents, encoded with the urlsafe-base64-" -"nopad encoding (:py:func:`base64.urlsafe_b64encode(digest) ` with trailing ``=`` removed)." +"Corresponding :ref:`core metadata ` field: :ref:`Classifier " +"`" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:119 -msgid "" -"The *size* is either the empty string, or file's size in bytes, as a base 10 " -"integer." +#: ../source/specifications/pyproject-toml.rst:310 +msgid "Trove classifiers which apply to the project." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:122 -msgid "" -"For any file, either or both of the *hash* and *size* fields may be left " -"empty. Commonly, entries for ``.pyc`` files and the ``RECORD`` file itself " -"have empty *hash* and *size*. For other files, leaving the information out " -"is discouraged, as it prevents verifying the integrity of the installed " -"project." +#: ../source/specifications/pyproject-toml.rst:316 +msgid "TOML_ type: table with keys and values of strings" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:128 +#: ../source/specifications/pyproject-toml.rst:317 msgid "" -"If the ``RECORD`` file is present, it must list all installed files of the " -"project, except ``.pyc`` files corresponding to ``.py`` files listed in " -"``RECORD``, which are optional. Notably, the contents of the ``.dist-info`` " -"directory (including the ``RECORD`` file itself) must be listed. Directories " -"should not be listed." +"Corresponding :ref:`core metadata ` field: :ref:`Project-URL " +"`" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:135 +#: ../source/specifications/pyproject-toml.rst:320 msgid "" -"To completely uninstall a package, a tool needs to remove all files listed " -"in ``RECORD``, all ``.pyc`` files (of all optimization levels) corresponding " -"to removed ``.py`` files, and any directories emptied by the uninstallation." +"A table of URLs where the key is the URL label and the value is the URL " +"itself. See :ref:`well-known-project-urls` for normalization rules and well-" +"known rules when processing metadata for presentation." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:140 -msgid "Here is an example snippet of a possible ``RECORD`` file::" +#: ../source/specifications/pyproject-toml.rst:326 +msgid "Entry points" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:159 +#: ../source/specifications/pyproject-toml.rst:328 msgid "" -"If the ``RECORD`` file is missing, tools that rely on ``.dist-info`` must " -"not attempt to uninstall or upgrade the package. (This restriction does not " -"apply to tools that rely on other sources of information, such as system " -"package managers in Linux distros.)" +"TOML_ type: table (``[project.scripts]``, ``[project.gui-scripts]``, and " +"``[project.entry-points]``)" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:166 -msgid "" -"It is *strongly discouraged* for an installed package to modify itself (e." -"g., store cache files under its namespace in ``site-packages``). Changes " -"inside ``site-packages`` should be left to specialized installer tools such " -"as pip. If a package is nevertheless modified in this way, then the " -"``RECORD`` must be updated, otherwise uninstalling the package will leave " -"unlisted files in place (possibly resulting in a zombie namespace package)." +#: ../source/specifications/pyproject-toml.rst:330 +msgid ":ref:`Entry points specification `" msgstr "" -"Está *fuertemente desaconsejado* que un paquete instalado se modifique a sí " -"mismo (por ejemplo, almacenar archivos de caché bajo su espacio de nombres " -"en ``site-packages``). Los cambios dentro de ``site-packages`` deben dejarse " -"a herramientas de instalación especializadas como pip. Si un paquete es " -"modificado de esta manera, entonces el ``RECORD`` debe ser actualizado, de " -"lo contrario la desinstalación del paquete dejará archivos no listados en su " -"lugar (posiblemente resultando en un paquete de espacio de nombres zombie)." - -#: ../source/specifications/recording-installed-packages.rst:175 -msgid "The INSTALLER file" -msgstr "El archivo INSTALLER" -#: ../source/specifications/recording-installed-packages.rst:177 +#: ../source/specifications/pyproject-toml.rst:332 msgid "" -"If present, ``INSTALLER`` is a single-line text file naming the tool used to " -"install the project. If the installer is executable from the command line, " -"``INSTALLER`` should contain the command name. Otherwise, it should contain " -"a printable ASCII string." +"There are three tables related to entry points. The ``[project.scripts]`` " +"table corresponds to the ``console_scripts`` group in the :ref:`entry points " +"specification `. The key of the table is the name of the entry " +"point and the value is the object reference." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:183 -msgid "The file can be terminated by zero or more ASCII whitespace characters." +#: ../source/specifications/pyproject-toml.rst:338 +msgid "" +"The ``[project.gui-scripts]`` table corresponds to the ``gui_scripts`` group " +"in the :ref:`entry points specification `. Its format is the " +"same as ``[project.scripts]``." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:185 -msgid "Here are examples of two possible ``INSTALLER`` files::" +#: ../source/specifications/pyproject-toml.rst:342 +msgid "" +"The ``[project.entry-points]`` table is a collection of tables. Each sub-" +"table's name is an entry point group. The key and value semantics are the " +"same as ``[project.scripts]``. Users MUST NOT create nested sub-tables but " +"instead keep the entry point groups to only one level deep." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:193 +#: ../source/specifications/pyproject-toml.rst:348 msgid "" -"This value should be used for informational purposes only. For example, if a " -"tool is asked to uninstall a project but finds no ``RECORD`` file, it may " -"suggest that the tool named in ``INSTALLER`` may be able to do the " -"uninstallation." +"Build back-ends MUST raise an error if the metadata defines a ``[project." +"entry-points.console_scripts]`` or ``[project.entry-points.gui_scripts]`` " +"table, as they would be ambiguous in the face of ``[project.scripts]`` and " +"``[project.gui-scripts]``, respectively." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:200 -msgid "The entry_points.txt file" +#: ../source/specifications/pyproject-toml.rst:358 +msgid "" +"TOML_ type: Array of :pep:`508` strings (``dependencies``), and a table with " +"values of arrays of :pep:`508` strings (``optional-dependencies``)" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:202 +#: ../source/specifications/pyproject-toml.rst:361 msgid "" -"This file MAY be created by installers to indicate when packages contain " -"components intended for discovery and use by other code, including console " -"scripts and other applications that the installer has made available for " -"execution." +"Corresponding :ref:`core metadata ` field: :ref:`Requires-" +"Dist ` and :ref:`Provides-Extra `" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:207 -msgid "Its detailed specification is at :ref:`entry-points`." +#: ../source/specifications/pyproject-toml.rst:365 +msgid "The (optional) dependencies of the project." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:211 -msgid "The direct_url.json file" +#: ../source/specifications/pyproject-toml.rst:367 +msgid "" +"For ``dependencies``, it is a key whose value is an array of strings. Each " +"string represents a dependency of the project and MUST be formatted as a " +"valid :pep:`508` string. Each string maps directly to a :ref:`Requires-Dist " +"` entry." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:213 +#: ../source/specifications/pyproject-toml.rst:372 msgid "" -"This file MUST be created by installers when installing a distribution from " -"a requirement specifying a direct URL reference (including a VCS URL)." +"For ``optional-dependencies``, it is a table where each key specifies an " +"extra and whose value is an array of strings. The strings of the arrays must " +"be valid :pep:`508` strings. The keys MUST be valid values for :ref:" +"`Provides-Extra `. Each value in the array " +"thus becomes a corresponding :ref:`Requires-Dist ` entry for the matching :ref:`Provides-Extra ` metadata." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:219 -msgid "Its detailed specification is at :ref:`direct-url`." +#: ../source/specifications/pyproject-toml.rst:388 +msgid "TOML_ type: array of string" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:223 -msgid "Intentionally preventing changes to installed packages" +#: ../source/specifications/pyproject-toml.rst:389 +msgid "" +"Corresponding :ref:`core metadata ` field: :ref:`Dynamic " +"`" msgstr "" -#: ../source/specifications/recording-installed-packages.rst:225 +#: ../source/specifications/pyproject-toml.rst:392 msgid "" -"In some cases (such as when needing to manage external dependencies in " -"addition to Python ecosystem dependencies), it is desirable for a tool that " -"installs packages into a Python environment to ensure that other tools are " -"not used to uninstall or otherwise modify that installed package, as doing " -"so may cause compatibility problems with the wider environment." +"Specifies which keys listed by this PEP were intentionally unspecified so " +"another tool can/will provide such metadata dynamically. This clearly " +"delineates which metadata is purposefully unspecified and expected to stay " +"unspecified compared to being provided via tooling later on." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:231 -msgid "To achieve this, affected tools should take the following steps:" +#: ../source/specifications/pyproject-toml.rst:398 +msgid "" +"A build back-end MUST honour statically-specified metadata (which means the " +"metadata did not list the key in ``dynamic``)." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:233 +#: ../source/specifications/pyproject-toml.rst:400 msgid "" -"Rename or remove the ``RECORD`` file to prevent changes via other tools (e." -"g. appending a suffix to create a non-standard ``RECORD.tool`` file if the " -"tool itself needs the information, or omitting the file entirely if the " -"package contents are tracked and managed via other means)" +"A build back-end MUST raise an error if the metadata specifies ``name`` in " +"``dynamic``." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:237 +#: ../source/specifications/pyproject-toml.rst:402 msgid "" -"Write an ``INSTALLER`` file indicating the name of the tool that should be " -"used to manage the package (this allows ``RECORD``-aware tools to provide " -"better error notices when asked to modify affected packages)" +"If the :ref:`core metadata ` specification lists a field as " +"\"Required\", then the metadata MUST specify the key statically or list it " +"in ``dynamic`` (build back-ends MUST raise an error otherwise, i.e. it " +"should not be possible for a required key to not be listed somehow in the " +"``[project]`` table)." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:241 +#: ../source/specifications/pyproject-toml.rst:407 msgid "" -"Python runtime providers may also prevent inadvertent modification of " -"platform provided packages by modifying the default Python package " -"installation scheme to use a location other than that used by platform " -"provided packages (while also ensuring both locations appear on the default " -"Python import path)." +"If the :ref:`core metadata ` specification lists a field as " +"\"Optional\", the metadata MAY list it in ``dynamic`` if the expectation is " +"a build back-end will provide the data for the key later." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:246 +#: ../source/specifications/pyproject-toml.rst:411 msgid "" -"In some circumstances, it may be desirable to block even installation of " -"additional packages via Python-specific tools. For these cases refer to :ref:" -"`externally-managed-environments`" +"Build back-ends MUST raise an error if the metadata specifies a key " +"statically as well as being listed in ``dynamic``." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:254 +#: ../source/specifications/pyproject-toml.rst:413 msgid "" -"June 2009: The original version of this specification was approved through :" -"pep:`376`. At the time, it was known as the *Database of Installed Python " -"Distributions*." +"If the metadata does not list a key in ``dynamic``, then a build back-end " +"CANNOT fill in the requisite metadata on behalf of the user (i.e. " +"``dynamic`` is the only way to allow a tool to fill in metadata and the user " +"must opt into the filling in)." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:257 +#: ../source/specifications/pyproject-toml.rst:417 msgid "" -"March 2020: The specification of the ``direct_url.json`` file was approved " -"through :pep:`610`. It is only mentioned on this page; see :ref:`direct-url` " -"for the full definition." +"Build back-ends MUST raise an error if the metadata specifies a key in " +"``dynamic`` but the build back-end was unable to determine the data for it " +"(omitting the data, if determined to be the accurate value, is acceptable)." msgstr "" -#: ../source/specifications/recording-installed-packages.rst:260 -msgid "" -"September 2020: Various amendments and clarifications were approved through :" -"pep:`627`." +#: ../source/specifications/pyproject-toml.rst:427 +msgid "Arbitrary tool configuration: the ``[tool]`` table" msgstr "" -#: ../source/specifications/section-distribution-formats.rst:3 -msgid "Package Distribution File Formats" -msgstr "Formatos de archivo de distribución de paquetes" +#: ../source/specifications/pyproject-toml.rst:429 +msgid "" +"The ``[tool]`` table is where any tool related to your Python project, not " +"just build tools, can have users specify configuration data as long as they " +"use a sub-table within ``[tool]``, e.g. the `flit `_ tool would store its configuration in ``[tool.flit]``." +msgstr "" -#: ../source/specifications/section-distribution-metadata.rst:3 -msgid "Package Distribution Metadata" -msgstr "Metadatos de distribución de paquetes" - -#: ../source/specifications/section-installation-metadata.rst:3 -#, fuzzy -msgid "Package Installation Metadata" -msgstr "Metadatos de distribución de paquetes" - -#: ../source/specifications/section-package-indices.rst:3 -msgid "Package Index Interfaces" -msgstr "Interfaces del Índice de paquetes" +#: ../source/specifications/pyproject-toml.rst:435 +msgid "" +"A mechanism is needed to allocate names within the ``tool.*`` namespace, to " +"make sure that different projects do not attempt to use the same sub-table " +"and collide. Our rule is that a project can use the subtable ``tool.$NAME`` " +"if, and only if, they own the entry for ``$NAME`` in the Cheeseshop/PyPI." +msgstr "" -#: ../source/specifications/simple-repository-api.rst:6 -msgid "Simple repository API" +#: ../source/specifications/pyproject-toml.rst:446 +msgid "" +"May 2016: The initial specification of the ``pyproject.toml`` file, with " +"just a ``[build-system]`` containing a ``requires`` key and a ``[tool]`` " +"table, was approved through :pep:`518`." msgstr "" -#: ../source/specifications/simple-repository-api.rst:8 +#: ../source/specifications/pyproject-toml.rst:450 msgid "" -"The interface for querying available package versions and retrieving " -"packages from an index server comes in two forms: HTML and JSON." +"November 2020: The specification of the ``[project]`` table was approved " +"through :pep:`621`." msgstr "" -#: ../source/specifications/simple-repository-api.rst:15 -msgid "Base HTML API" +#: ../source/specifications/recording-installed-packages.rst:7 +msgid "Recording installed projects" msgstr "" -#: ../source/specifications/simple-repository-api.rst:17 +#: ../source/specifications/recording-installed-packages.rst:9 msgid "" -"A repository that implements the simple API is defined by its base URL, this " -"is the top level URL that all additional URLs are below. The API is named " -"the \"simple\" repository due to the fact that PyPI's base URL is ``https://" -"pypi.org/simple/``." +"This document specifies a common format of recording information about " +"Python :term:`projects ` installed in an environment. A common " +"metadata format allows tools to query, manage or uninstall projects, " +"regardless of how they were installed." msgstr "" -#: ../source/specifications/simple-repository-api.rst:22 +#: ../source/specifications/recording-installed-packages.rst:14 msgid "" -"All subsequent URLs in this document will be relative to this base URL (so " -"given PyPI's URL, a URL of ``/foo/`` would be ``https://pypi.org/simple/foo/" -"``." +"Almost all information is optional. This allows tools outside the Python " +"ecosystem, such as Linux package managers, to integrate with Python tooling " +"as much as possible. For example, even if an installer cannot easily provide " +"a list of installed files in a format specific to Python tooling, it should " +"still record the name and version of the installed project." msgstr "" -#: ../source/specifications/simple-repository-api.rst:27 +#: ../source/specifications/recording-installed-packages.rst:25 msgid "" -"Within a repository, the root URL (``/`` for this spec which represents the " -"base URL) **MUST** be a valid HTML5 page with a single anchor element per " -"project in the repository. The text of the anchor tag **MUST** be the name " -"of the project and the href attribute **MUST** link to the URL for that " -"particular project. As an example::" +"Each project installed from a distribution must, in addition to files, " +"install a \"``.dist-info``\" directory located alongside importable modules " +"and packages (commonly, the ``site-packages`` directory)." msgstr "" -#: ../source/specifications/simple-repository-api.rst:41 +#: ../source/specifications/recording-installed-packages.rst:29 msgid "" -"Below the root URL is another URL for each individual project contained " -"within a repository. The format of this URL is ``//`` where the " -"```` is replaced by the normalized name for that project, so a " -"project named \"HolyGrail\" would have a URL like ``/holygrail/``. This URL " -"must respond with a valid HTML5 page with a single anchor element per file " -"for the project. The href attribute **MUST** be a URL that links to the " -"location of the file for download, and the text of the anchor tag **MUST** " -"match the final path component (the filename) of the URL. The URL **SHOULD** " -"include a hash in the form of a URL fragment with the following syntax: " -"``#=``, where ```` is the lowercase name of " -"the hash function (such as ``sha256``) and ```` is the hex " -"encoded digest." +"This directory is named as ``{name}-{version}.dist-info``, with ``name`` and " +"``version`` fields corresponding to :ref:`core-metadata`. Both fields must " +"be normalized (see the :ref:`name normalization specification ` and the :ref:`version normalization specification `), and replace dash (``-``) characters with " +"underscore (``_``) characters, so the ``.dist-info`` directory always has " +"exactly one dash (``-``) character in its stem, separating the ``name`` and " +"``version`` fields." msgstr "" -#: ../source/specifications/simple-repository-api.rst:53 +#: ../source/specifications/recording-installed-packages.rst:37 msgid "" -"In addition to the above, the following constraints are placed on the API:" +"Historically, tools have failed to replace dot characters or normalize case " +"in the ``name`` field, or not perform normalization in the ``version`` " +"field. Tools consuming ``.dist-info`` directories should expect those fields " +"to be unnormalized, and treat them as equivalent to their normalized " +"counterparts. New tools that write ``.dist-info`` directories MUST normalize " +"both ``name`` and ``version`` fields using the rules described above, and " +"existing tools are encouraged to start normalizing those fields." msgstr "" -#: ../source/specifications/simple-repository-api.rst:55 +#: ../source/specifications/recording-installed-packages.rst:47 msgid "" -"All URLs which respond with an HTML5 page **MUST** end with a ``/`` and the " -"repository **SHOULD** redirect the URLs without a ``/`` to add a ``/`` to " -"the end." +"The ``.dist-info`` directory's name is formatted to unambiguously represent " +"a distribution as a filesystem path. Tools presenting a distribution name to " +"a user should avoid using the normalized name, and instead present the " +"specified name (when needed prior to resolution to an installed package), or " +"read the respective fields in Core Metadata, since values listed there are " +"unescaped and accurately reflect the distribution. Libraries should provide " +"API for such tools to consume, so tools can have access to the unnormalized " +"name when displaying distribution information." msgstr "" -#: ../source/specifications/simple-repository-api.rst:59 +#: ../source/specifications/recording-installed-packages.rst:56 +#, fuzzy msgid "" -"URLs may be either absolute or relative as long as they point to the correct " -"location." +"This ``.dist-info`` directory may contain the following files, described in " +"detail below:" msgstr "" +"El directorio ``.dist-info`` puede contener los archivos que se describen a " +"detalle a continuación:" -#: ../source/specifications/simple-repository-api.rst:62 +#: ../source/specifications/recording-installed-packages.rst:59 +msgid "``METADATA``: contains project metadata" +msgstr "``METADATA``: contiene metadatos sobre el proyecto" + +#: ../source/specifications/recording-installed-packages.rst:60 +msgid "``RECORD``: records the list of installed files." +msgstr "``RECORD``: registra la lista de archivos instalados." + +#: ../source/specifications/recording-installed-packages.rst:61 msgid "" -"There are no constraints on where the files must be hosted relative to the " -"repository." +"``INSTALLER``: records the name of the tool used to install the project." msgstr "" +"``INSTALLER``: registra el nombre de la herramienta utilizada para instalar " +"el proyecto." -#: ../source/specifications/simple-repository-api.rst:65 +#: ../source/specifications/recording-installed-packages.rst:62 +msgid "``entry_points.txt``: see :ref:`entry-points` for details" +msgstr "" + +#: ../source/specifications/recording-installed-packages.rst:63 +msgid "``direct_url.json``: see :ref:`direct-url` for details" +msgstr "" + +#: ../source/specifications/recording-installed-packages.rst:65 msgid "" -"There may be any other HTML elements on the API pages as long as the " -"required anchor elements exist." +"The ``METADATA`` file is mandatory. All other files may be omitted at the " +"installing tool's discretion. Additional installer-specific files may be " +"present." msgstr "" -#: ../source/specifications/simple-repository-api.rst:68 +#: ../source/specifications/recording-installed-packages.rst:71 msgid "" -"Repositories **MAY** redirect unnormalized URLs to the canonical normalized " -"URL (e.g. ``/Foobar/`` may redirect to ``/foobar/``), however clients **MUST " -"NOT** rely on this redirection and **MUST** request the normalized URL." +"The :ref:`binary-distribution-format` specification describes additional " +"files that may appear in the ``.dist-info`` directory of a :term:`Wheel`. " +"Such files may be copied to the ``.dist-info`` directory of an installed " +"project." msgstr "" -#: ../source/specifications/simple-repository-api.rst:73 +#: ../source/specifications/recording-installed-packages.rst:76 msgid "" -"Repositories **SHOULD** choose a hash function from one of the ones " -"guaranteed to be available via the :py:mod:`hashlib` module in the Python " -"standard library (currently ``md5``, ``sha1``, ``sha224``, ``sha256``, " -"``sha384``, ``sha512``). The current recommendation is to use ``sha256``." +"The previous versions of this specification also specified a ``REQUESTED`` " +"file. This file is now considered a tool-specific extension, but may be " +"standardized again in the future. See `PEP 376 `_ for its original meaning." msgstr "" -#: ../source/specifications/simple-repository-api.rst:78 +#: ../source/specifications/recording-installed-packages.rst:83 +msgid "The METADATA file" +msgstr "El archivo METADATA" + +#: ../source/specifications/recording-installed-packages.rst:85 msgid "" -"If there is a GPG signature for a particular distribution file it **MUST** " -"live alongside that file with the same name with a ``.asc`` appended to it. " -"So if the file ``/packages/HolyGrail-1.0.tar.gz`` existed and had an " -"associated signature, the signature would be located at ``/packages/" -"HolyGrail-1.0.tar.gz.asc``." +"The ``METADATA`` file contains metadata as described in the :ref:`core-" +"metadata` specification, version 1.1 or greater." msgstr "" -#: ../source/specifications/simple-repository-api.rst:84 +#: ../source/specifications/recording-installed-packages.rst:88 msgid "" -"A repository **MAY** include a ``data-gpg-sig`` attribute on a file link " -"with a value of either ``true`` or ``false`` to indicate whether or not " -"there is a GPG signature. Repositories that do this **SHOULD** include it on " -"every link." +"The ``METADATA`` file is mandatory. If it cannot be created, or if required " +"core metadata is not available, installers must report an error and fail to " +"install the project." msgstr "" -#: ../source/specifications/simple-repository-api.rst:88 +#: ../source/specifications/recording-installed-packages.rst:94 +msgid "The RECORD file" +msgstr "El archivo RECORD" + +#: ../source/specifications/recording-installed-packages.rst:96 msgid "" -"A repository **MAY** include a ``data-requires-python`` attribute on a file " -"link. This exposes the :ref:`core-metadata-requires-python` metadata field " -"for the corresponding release. Where this is present, installer tools " -"**SHOULD** ignore the download when installing to a Python version that " -"doesn't satisfy the requirement. For example::" +"The ``RECORD`` file holds the list of installed files. It is a CSV file " +"containing one record (line) per installed file." msgstr "" -#: ../source/specifications/simple-repository-api.rst:96 +#: ../source/specifications/recording-installed-packages.rst:99 msgid "" -"In the attribute value, < and > have to be HTML encoded as ``<`` and " -"``>``, respectively." +"The CSV dialect must be readable with the default ``reader`` of Python's " +"``csv`` module:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:100 -#: ../source/specifications/simple-repository-api.rst:109 -#, fuzzy -msgid "Normalized Names" -msgstr "Traducciones" +#: ../source/specifications/recording-installed-packages.rst:102 +msgid "field delimiter: ``,`` (comma)," +msgstr "delimitador de campos: ``,`` (coma)," -#: ../source/specifications/simple-repository-api.rst:102 -#: ../source/specifications/simple-repository-api.rst:111 -msgid "" -"This spec references the concept of a \"normalized\" project name. As per :" -"ref:`the name normalization specification ` the only " -"valid characters in a name are the ASCII alphabet, ASCII numbers, ``.``, ``-" -"``, and ``_``. The name should be lowercased with all runs of the characters " -"``.``, ``-``, or ``_`` replaced with a single ``-`` character. This can be " -"implemented in Python with the ``re`` module::" +#: ../source/specifications/recording-installed-packages.rst:103 +msgid "quoting char: ``\"`` (straight double quote)," msgstr "" -#: ../source/specifications/simple-repository-api.rst:117 -#: ../source/specifications/simple-repository-api.rst:126 -msgid "Adding \"Yank\" Support to the Simple API" +#: ../source/specifications/recording-installed-packages.rst:104 +msgid "line terminator: either ``\\r\\n`` or ``\\n``." msgstr "" -#: ../source/specifications/simple-repository-api.rst:119 -#: ../source/specifications/simple-repository-api.rst:128 +#: ../source/specifications/recording-installed-packages.rst:106 msgid "" -"Links in the simple repository **MAY** have a ``data-yanked`` attribute " -"which may have no value, or may have an arbitrary string as a value. The " -"presence of a ``data-yanked`` attribute **SHOULD** be interpreted as " -"indicating that the file pointed to by this particular link has been " -"\"Yanked\", and should not generally be selected by an installer, except " -"under specific scenarios." +"Each record is composed of three elements: the file's **path**, the **hash** " +"of the contents, and its **size**." msgstr "" -#: ../source/specifications/simple-repository-api.rst:126 -#: ../source/specifications/simple-repository-api.rst:135 +#: ../source/specifications/recording-installed-packages.rst:109 msgid "" -"The value of the ``data-yanked`` attribute, if present, is an arbitrary " -"string that represents the reason for why the file has been yanked. Tools " -"that process the simple repository API **MAY** surface this string to end " -"users." +"The *path* may be either absolute, or relative to the directory containing " +"the ``.dist-info`` directory (commonly, the ``site-packages`` directory). On " +"Windows, directories may be separated either by forward- or backslashes (``/" +"`` or ``\\``)." msgstr "" -#: ../source/specifications/simple-repository-api.rst:131 -#: ../source/specifications/simple-repository-api.rst:140 +#: ../source/specifications/recording-installed-packages.rst:114 msgid "" -"The yanked attribute is not immutable once set, and may be rescinded in the " -"future (and once rescinded, may be reset as well). Thus API users **MUST** " -"be able to cope with a yanked file being \"unyanked\" (and even yanked " -"again)." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:138 -#: ../source/specifications/simple-repository-api.rst:147 -#, fuzzy -msgid "Installers" -msgstr "Instalador" - -#: ../source/specifications/simple-repository-api.rst:140 -#: ../source/specifications/simple-repository-api.rst:149 -msgid "" -"The desirable experience for users is that once a file is yanked, when a " -"human being is currently trying to directly install a yanked file, that it " -"fails as if that file had been deleted. However, when a human did that " -"awhile ago, and now a computer is just continuing to mechanically follow the " -"original order to install the now yanked file, then it acts as if it had not " -"been yanked." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:147 -#: ../source/specifications/simple-repository-api.rst:156 -msgid "" -"An installer **MUST** ignore yanked releases, if the selection constraints " -"can be satisfied with a non-yanked version, and **MAY** refuse to use a " -"yanked release even if it means that the request cannot be satisfied at all. " -"An implementation **SHOULD** choose a policy that follows the spirit of the " -"intention above, and that prevents \"new\" dependencies on yanked releases/" -"files." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:154 -#: ../source/specifications/simple-repository-api.rst:163 -msgid "" -"What this means is left up to the specific installer, to decide how to best " -"fit into the overall usage of their installer. However, there are two " -"suggested approaches to take:" -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:158 -#: ../source/specifications/simple-repository-api.rst:167 -msgid "" -"Yanked files are always ignored, unless they are the only file that matches " -"a version specifier that \"pins\" to an exact version using either ``==`` " -"(without any modifiers that make it a range, such as ``.*``) or ``===``. " -"Matching this version specifier should otherwise be done as per :ref:`the " -"version specifiers specification ` for things like local " -"versions, zero padding, etc." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:165 -#: ../source/specifications/simple-repository-api.rst:174 -msgid "" -"Yanked files are always ignored, unless they are the only file that matches " -"what a lock file (such as ``Pipfile.lock`` or ``poetry.lock``) specifies to " -"be installed. In this case, a yanked file **SHOULD** not be used when " -"creating or updating a lock file from some input file or command." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:171 -#: ../source/specifications/simple-repository-api.rst:180 -msgid "" -"Regardless of the specific strategy that an installer chooses for deciding " -"when to install yanked files, an installer **SHOULD** emit a warning when it " -"does decide to install a yanked file. That warning **MAY** utilize the value " -"of the ``data-yanked`` attribute (if it has a value) to provide more " -"specific feedback to the user about why that file had been yanked." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:179 -#: ../source/specifications/simple-repository-api.rst:188 -msgid "Mirrors" -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:181 -#: ../source/specifications/simple-repository-api.rst:190 -msgid "Mirrors can generally treat yanked files one of two ways:" -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:183 -#: ../source/specifications/simple-repository-api.rst:192 -msgid "" -"They may choose to omit them from their simple repository API completely, " -"providing a view over the repository that shows only \"active\", unyanked " -"files." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:186 -#: ../source/specifications/simple-repository-api.rst:195 -msgid "" -"They may choose to include yanked files, and additionally mirror the ``data-" -"yanked`` attribute as well." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:189 -#: ../source/specifications/simple-repository-api.rst:198 -msgid "" -"Mirrors **MUST NOT** mirror a yanked file without also mirroring the ``data-" -"yanked`` attribute for it." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:195 -#: ../source/specifications/simple-repository-api.rst:204 -msgid "Versioning PyPI's Simple API" -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:197 -#: ../source/specifications/simple-repository-api.rst:206 -msgid "" -"This spec proposes the inclusion of a meta tag on the responses of every " -"successful request to a simple API page, which contains a name attribute of " -"\"pypi:repository-version\", and a content that is a :ref:`version " -"specifiers specification ` compatible version number, " -"which is further constrained to ONLY be Major.Minor, and none of the " -"additional features supported by :ref:`the version specifiers specification " -"`." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:205 -#: ../source/specifications/simple-repository-api.rst:214 -msgid "This would end up looking like::" -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:209 -#: ../source/specifications/simple-repository-api.rst:218 -msgid "When interpreting the repository version:" -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:211 -#: ../source/specifications/simple-repository-api.rst:220 -msgid "" -"Incrementing the major version is used to signal a backwards incompatible " -"change such that existing clients would no longer be expected to be able to " -"meaningfully use the API." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:214 -#: ../source/specifications/simple-repository-api.rst:223 -msgid "" -"Incrementing the minor version is used to signal a backwards compatible " -"change such that existing clients would still be expected to be able to " -"meaningfully use the API." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:218 -#: ../source/specifications/simple-repository-api.rst:227 -msgid "" -"It is left up to the discretion of any future specs as to what specifically " -"constitutes a backwards incompatible vs compatible change beyond the broad " -"suggestion that existing clients will be able to \"meaningfully\" continue " -"to use the API, and can include adding, modifying, or removing existing " -"features." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:224 -#: ../source/specifications/simple-repository-api.rst:233 -msgid "" -"It is expectation of this spec that the major version will never be " -"incremented, and any future major API evolutions would utilize a different " -"mechanism for API evolution. However the major version is included to " -"disambiguate with future versions (e.g. a hypothetical simple api v2 that " -"lived at /v2/, but which would be confusing if the repository-version was " -"set to a version >= 2)." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:231 -#: ../source/specifications/simple-repository-api.rst:240 -msgid "" -"This spec sets the current API version to \"1.0\", and expects that future " -"specs that further evolve the simple API will increment the minor version " -"number." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:237 -#: ../source/specifications/simple-repository-api.rst:957 -#: ../source/specifications/simple-repository-api.rst:246 -#: ../source/specifications/simple-repository-api.rst:971 -#, fuzzy -msgid "Clients" -msgstr "Contenido" - -#: ../source/specifications/simple-repository-api.rst:239 -#: ../source/specifications/simple-repository-api.rst:248 -msgid "" -"Clients interacting with the simple API **SHOULD** introspect each response " -"for the repository version, and if that data does not exist **MUST** assume " -"that it is version 1.0." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:243 -#: ../source/specifications/simple-repository-api.rst:252 -msgid "" -"When encountering a major version greater than expected, clients **MUST** " -"hard fail with an appropriate error message for the user." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:246 -#: ../source/specifications/simple-repository-api.rst:255 -msgid "" -"When encountering a minor version greater than expected, clients **SHOULD** " -"warn users with an appropriate message." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:249 -#: ../source/specifications/simple-repository-api.rst:258 -msgid "" -"Clients **MAY** still continue to use feature detection in order to " -"determine what features a repository uses." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:255 -#: ../source/specifications/simple-repository-api.rst:264 -msgid "Serve Distribution Metadata in the Simple Repository API" -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:257 -#: ../source/specifications/simple-repository-api.rst:266 -msgid "" -"In a simple repository's project page, each anchor tag pointing to a " -"distribution **MAY** have a ``data-dist-info-metadata`` attribute. The " -"presence of the attribute indicates the distribution represented by the " -"anchor tag **MUST** contain a Core Metadata file that will not be modified " -"when the distribution is processed and/or installed." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:263 -#: ../source/specifications/simple-repository-api.rst:272 -msgid "" -"If a ``data-dist-info-metadata`` attribute is present, the repository " -"**MUST** serve the distribution's Core Metadata file alongside the " -"distribution with a ``.metadata`` appended to the distribution's file name. " -"For example, the Core Metadata of a distribution served at ``/files/" -"distribution-1.0-py3.none.any.whl`` would be located at ``/files/" -"distribution-1.0-py3.none.any.whl.metadata``. This is similar to how :ref:" -"`the base HTML API specification ` specifies the " -"GPG signature file's location." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:272 -#: ../source/specifications/simple-repository-api.rst:281 -msgid "" -"The repository **SHOULD** provide the hash of the Core Metadata file as the " -"``data-dist-info-metadata`` attribute's value using the syntax " -"``=``, where ```` is the lower cased name of " -"the hash function used, and ```` is the hex encoded digest. The " -"repository **MAY** use ``true`` as the attribute's value if a hash is " -"unavailable." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:280 -#: ../source/specifications/simple-repository-api.rst:289 -#, fuzzy -msgid "Backwards Compatibility" -msgstr "Etiquetas de compatibilidad con plataformas" - -#: ../source/specifications/simple-repository-api.rst:282 -#: ../source/specifications/simple-repository-api.rst:291 -msgid "" -"If an anchor tag lacks the ``data-dist-info-metadata`` attribute, tools are " -"expected to revert to their current behaviour of downloading the " -"distribution to inspect the metadata." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:286 -#: ../source/specifications/simple-repository-api.rst:295 -msgid "" -"Older tools not supporting the new ``data-dist-info-metadata`` attribute are " -"expected to ignore the attribute and maintain their current behaviour of " -"downloading the distribution to inspect the metadata. This is similar to how " -"prior ``data-`` attribute additions expect existing tools to operate." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:295 -#: ../source/specifications/simple-repository-api.rst:304 -msgid "JSON-based Simple API for Python Package Indexes" -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:297 -#: ../source/specifications/simple-repository-api.rst:306 -msgid "" -"To enable response parsing with only the standard library, this spec " -"specifies that all responses (besides the files themselves, and the HTML " -"responses from :ref:`the base HTML API specification `) should be serialized using `JSON `_." +"The *hash* is either an empty string or the name of a hash algorithm from :" +"py:data:`hashlib.algorithms_guaranteed`, followed by the equals character " +"``=`` and the digest of the file's contents, encoded with the urlsafe-base64-" +"nopad encoding (:py:func:`base64.urlsafe_b64encode(digest) ` with trailing ``=`` removed)." msgstr "" -#: ../source/specifications/simple-repository-api.rst:302 -#: ../source/specifications/simple-repository-api.rst:311 +#: ../source/specifications/recording-installed-packages.rst:119 msgid "" -"To enable zero configuration discovery and to minimize the amount of " -"additional HTTP requests, this spec extends :ref:`the base HTML API " -"specification ` such that all of the API " -"endpoints (other than the files themselves) will utilize HTTP content " -"negotiation to allow client and server to select the correct serialization " -"format to serve, i.e. either HTML or JSON." +"The *size* is either the empty string, or file's size in bytes, as a base 10 " +"integer." msgstr "" -#: ../source/specifications/simple-repository-api.rst:312 -#: ../source/specifications/simple-repository-api.rst:321 +#: ../source/specifications/recording-installed-packages.rst:122 msgid "" -"Versioning will adhere to :ref:`the API versioning specification ` format (``Major.Minor``), which has defined the " -"existing HTML responses to be ``1.0``. Since this spec does not introduce " -"new features into the API, rather it describes a different serialization " -"format for the existing features, this spec does not change the existing " -"``1.0`` version, and instead just describes how to serialize that into JSON." +"For any file, either or both of the *hash* and *size* fields may be left " +"empty. Commonly, entries for ``.pyc`` files and the ``RECORD`` file itself " +"have empty *hash* and *size*. For other files, leaving the information out " +"is discouraged, as it prevents verifying the integrity of the installed " +"project." msgstr "" -#: ../source/specifications/simple-repository-api.rst:319 -#: ../source/specifications/simple-repository-api.rst:328 +#: ../source/specifications/recording-installed-packages.rst:128 msgid "" -"Similar to :ref:`the API versioning specification `, the major version number **MUST** be incremented if any " -"changes to the new format would result in no longer being able to expect " -"existing clients to meaningfully understand the format." +"If the ``RECORD`` file is present, it must list all installed files of the " +"project, except ``.pyc`` files corresponding to ``.py`` files listed in " +"``RECORD``, which are optional. Notably, the contents of the ``.dist-info`` " +"directory (including the ``RECORD`` file itself) must be listed. Directories " +"should not be listed." msgstr "" -#: ../source/specifications/simple-repository-api.rst:325 -#: ../source/specifications/simple-repository-api.rst:334 +#: ../source/specifications/recording-installed-packages.rst:135 msgid "" -"Likewise, the minor version **MUST** be incremented if features are added or " -"removed from the format, but existing clients would be expected to continue " -"to meaningfully understand the format." +"To completely uninstall a package, a tool needs to remove all files listed " +"in ``RECORD``, all ``.pyc`` files (of all optimization levels) corresponding " +"to removed ``.py`` files, and any directories emptied by the uninstallation." msgstr "" -#: ../source/specifications/simple-repository-api.rst:329 -#: ../source/specifications/simple-repository-api.rst:338 -msgid "" -"Changes that would not result in existing clients being unable to " -"meaningfully understand the format and which do not represent features being " -"added or removed may occur without changing the version number." +#: ../source/specifications/recording-installed-packages.rst:140 +msgid "Here is an example snippet of a possible ``RECORD`` file::" msgstr "" -#: ../source/specifications/simple-repository-api.rst:333 -#: ../source/specifications/simple-repository-api.rst:342 +#: ../source/specifications/recording-installed-packages.rst:159 msgid "" -"This is intentionally vague, as this spec believes it is best left up to " -"future specs that make any changes to the API to investigate and decide " -"whether or not that change should increment the major or minor version." +"If the ``RECORD`` file is missing, tools that rely on ``.dist-info`` must " +"not attempt to uninstall or upgrade the package. (This restriction does not " +"apply to tools that rely on other sources of information, such as system " +"package managers in Linux distros.)" msgstr "" -#: ../source/specifications/simple-repository-api.rst:337 -#: ../source/specifications/simple-repository-api.rst:346 +#: ../source/specifications/recording-installed-packages.rst:166 msgid "" -"Future versions of the API may add things that can only be represented in a " -"subset of the available serializations of that version. All serializations " -"version numbers, within a major version, **SHOULD** be kept in sync, but the " -"specifics of how a feature serializes into each format may differ, including " -"whether or not that feature is present at all." +"It is *strongly discouraged* for an installed package to modify itself (e." +"g., store cache files under its namespace in ``site-packages``). Changes " +"inside ``site-packages`` should be left to specialized installer tools such " +"as pip. If a package is nevertheless modified in this way, then the " +"``RECORD`` must be updated, otherwise uninstalling the package will leave " +"unlisted files in place (possibly resulting in a zombie namespace package)." msgstr "" +"Está *fuertemente desaconsejado* que un paquete instalado se modifique a sí " +"mismo (por ejemplo, almacenar archivos de caché bajo su espacio de nombres " +"en ``site-packages``). Los cambios dentro de ``site-packages`` deben dejarse " +"a herramientas de instalación especializadas como pip. Si un paquete es " +"modificado de esta manera, entonces el ``RECORD`` debe ser actualizado, de " +"lo contrario la desinstalación del paquete dejará archivos no listados en su " +"lugar (posiblemente resultando en un paquete de espacio de nombres zombie)." -#: ../source/specifications/simple-repository-api.rst:343 -#: ../source/specifications/simple-repository-api.rst:352 +#: ../source/specifications/recording-installed-packages.rst:175 +msgid "The INSTALLER file" +msgstr "El archivo INSTALLER" + +#: ../source/specifications/recording-installed-packages.rst:177 msgid "" -"It is the intent of this spec that the API should be thought of as URL " -"endpoints that return data, whose interpretation is defined by the version " -"of that data, and then serialized into the target serialization format." +"If present, ``INSTALLER`` is a single-line text file naming the tool used to " +"install the project. If the installer is executable from the command line, " +"``INSTALLER`` should contain the command name. Otherwise, it should contain " +"a printable ASCII string." msgstr "" -#: ../source/specifications/simple-repository-api.rst:351 -#: ../source/specifications/simple-repository-api.rst:360 -#, fuzzy -msgid "JSON Serialization" -msgstr "Traducciones" +#: ../source/specifications/recording-installed-packages.rst:183 +msgid "The file can be terminated by zero or more ASCII whitespace characters." +msgstr "" -#: ../source/specifications/simple-repository-api.rst:353 -#: ../source/specifications/simple-repository-api.rst:362 -msgid "" -"The URL structure from :ref:`the base HTML API specification ` still applies, as this spec only adds an additional " -"serialization format for the already existing API." +#: ../source/specifications/recording-installed-packages.rst:185 +msgid "Here are examples of two possible ``INSTALLER`` files::" msgstr "" -#: ../source/specifications/simple-repository-api.rst:357 -#: ../source/specifications/simple-repository-api.rst:366 +#: ../source/specifications/recording-installed-packages.rst:193 msgid "" -"The following constraints apply to all JSON serialized responses described " -"in this spec:" +"This value should be used for informational purposes only. For example, if a " +"tool is asked to uninstall a project but finds no ``RECORD`` file, it may " +"suggest that the tool named in ``INSTALLER`` may be able to do the " +"uninstallation." msgstr "" -#: ../source/specifications/simple-repository-api.rst:360 -#: ../source/specifications/simple-repository-api.rst:369 -msgid "" -"All JSON responses will *always* be a JSON object rather than an array or " -"other type." +#: ../source/specifications/recording-installed-packages.rst:200 +msgid "The entry_points.txt file" msgstr "" -#: ../source/specifications/simple-repository-api.rst:363 -#: ../source/specifications/simple-repository-api.rst:372 +#: ../source/specifications/recording-installed-packages.rst:202 msgid "" -"While JSON doesn't natively support a URL type, any value that represents an " -"URL in this API may be either absolute or relative as long as they point to " -"the correct location. If relative, they are relative to the current URL as " -"if it were HTML." +"This file MAY be created by installers to indicate when packages contain " +"components intended for discovery and use by other code, including console " +"scripts and other applications that the installer has made available for " +"execution." msgstr "" -#: ../source/specifications/simple-repository-api.rst:368 -#: ../source/specifications/simple-repository-api.rst:377 -msgid "" -"Additional keys may be added to any dictionary objects in the API responses " -"and clients **MUST** ignore keys that they don't understand." +#: ../source/specifications/recording-installed-packages.rst:207 +msgid "Its detailed specification is at :ref:`entry-points`." msgstr "" -#: ../source/specifications/simple-repository-api.rst:371 -#: ../source/specifications/simple-repository-api.rst:380 -msgid "" -"All JSON responses will have a ``meta`` key, which contains information " -"related to the response itself, rather than the content of the response." +#: ../source/specifications/recording-installed-packages.rst:211 +msgid "The direct_url.json file" msgstr "" -#: ../source/specifications/simple-repository-api.rst:374 -#: ../source/specifications/simple-repository-api.rst:383 +#: ../source/specifications/recording-installed-packages.rst:213 msgid "" -"All JSON responses will have a ``meta.api-version`` key, which will be a " -"string that contains the :ref:`API versioning specification ` ``Major.Minor`` version number, with the same " -"fail/warn semantics as defined in :ref:`the API versioning specification " -"`." +"This file MUST be created by installers when installing a distribution from " +"a requirement specifying a direct URL reference (including a VCS URL)." msgstr "" -#: ../source/specifications/simple-repository-api.rst:380 -#: ../source/specifications/simple-repository-api.rst:389 -msgid "" -"All requirements of :ref:`the base HTML API specification ` that are not HTML specific still apply." +#: ../source/specifications/recording-installed-packages.rst:219 +msgid "Its detailed specification is at :ref:`direct-url`." msgstr "" -#: ../source/specifications/simple-repository-api.rst:385 -#: ../source/specifications/simple-repository-api.rst:394 -#, fuzzy -msgid "Project List" -msgstr "Proyecto" +#: ../source/specifications/recording-installed-packages.rst:223 +msgid "Intentionally preventing changes to installed packages" +msgstr "" -#: ../source/specifications/simple-repository-api.rst:387 -#: ../source/specifications/simple-repository-api.rst:396 +#: ../source/specifications/recording-installed-packages.rst:225 msgid "" -"The root URL ``/`` for this spec (which represents the base URL) will be a " -"JSON encoded dictionary which has a two keys:" +"In some cases (such as when needing to manage external dependencies in " +"addition to Python ecosystem dependencies), it is desirable for a tool that " +"installs packages into a Python environment to ensure that other tools are " +"not used to uninstall or otherwise modify that installed package, as doing " +"so may cause compatibility problems with the wider environment." msgstr "" -#: ../source/specifications/simple-repository-api.rst:390 -#: ../source/specifications/simple-repository-api.rst:399 -msgid "" -"``projects``: An array where each entry is a dictionary with a single key, " -"``name``, which represents string of the project name." +#: ../source/specifications/recording-installed-packages.rst:231 +msgid "To achieve this, affected tools should take the following steps:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:391 -#: ../source/specifications/simple-repository-api.rst:440 -#: ../source/specifications/simple-repository-api.rst:400 -#: ../source/specifications/simple-repository-api.rst:449 +#: ../source/specifications/recording-installed-packages.rst:233 msgid "" -"``meta``: The general response metadata as `described earlier `__." +"Rename or remove the ``RECORD`` file to prevent changes via other tools (e." +"g. appending a suffix to create a non-standard ``RECORD.tool`` file if the " +"tool itself needs the information, or omitting the file entirely if the " +"package contents are tracked and managed via other means)" msgstr "" -#: ../source/specifications/simple-repository-api.rst:393 -#: ../source/specifications/simple-repository-api.rst:499 -#: ../source/specifications/simple-repository-api.rst:402 -#: ../source/specifications/simple-repository-api.rst:512 -#, fuzzy -msgid "As an example:" -msgstr "Por ejemplo:" - -#: ../source/specifications/simple-repository-api.rst:410 -#: ../source/specifications/simple-repository-api.rst:419 +#: ../source/specifications/recording-installed-packages.rst:237 msgid "" -"The ``name`` field is the same as the one from :ref:`the base HTML API " -"specification `, which does not specify whether " -"it is the non-normalized display name or the normalized name. In practice " -"different implementations of these specs are choosing differently here, so " -"relying on it being either non-normalized or normalized is relying on an " -"implementation detail of the repository in question." +"Write an ``INSTALLER`` file indicating the name of the tool that should be " +"used to manage the package (this allows ``RECORD``-aware tools to provide " +"better error notices when asked to modify affected packages)" msgstr "" -#: ../source/specifications/simple-repository-api.rst:420 -#: ../source/specifications/simple-repository-api.rst:429 +#: ../source/specifications/recording-installed-packages.rst:241 msgid "" -"While the ``projects`` key is an array, and thus is required to be in some " -"kind of an order, neither :ref:`the base HTML API specification ` nor this spec requires any specific ordering nor that " -"the ordering is consistent from one request to the next. Mentally this is " -"best thought of as a set, but both JSON and HTML lack the functionality to " -"have sets." +"Python runtime providers may also prevent inadvertent modification of " +"platform provided packages by modifying the default Python package " +"installation scheme to use a location other than that used by platform " +"provided packages (while also ensuring both locations appear on the default " +"Python import path)." msgstr "" -#: ../source/specifications/simple-repository-api.rst:429 -#: ../source/specifications/simple-repository-api.rst:438 -#, fuzzy -msgid "Project Detail" -msgstr "Nombre de proyecto" - -#: ../source/specifications/simple-repository-api.rst:431 -#: ../source/specifications/simple-repository-api.rst:440 +#: ../source/specifications/recording-installed-packages.rst:246 msgid "" -"The format of this URL is ``//`` where the ```` is " -"replaced by the :ref:`the base HTML API specification ` normalized name for that project, so a project named \"Silly_Walk\" " -"would have a URL like ``/silly-walk/``." +"In some circumstances, it may be desirable to block even installation of " +"additional packages via Python-specific tools. For these cases refer to :ref:" +"`externally-managed-environments`" msgstr "" -#: ../source/specifications/simple-repository-api.rst:436 -#: ../source/specifications/simple-repository-api.rst:445 +#: ../source/specifications/recording-installed-packages.rst:254 msgid "" -"This URL must respond with a JSON encoded dictionary that has three keys:" +"June 2009: The original version of this specification was approved through :" +"pep:`376`. At the time, it was known as the *Database of Installed Python " +"Distributions*." msgstr "" -#: ../source/specifications/simple-repository-api.rst:438 -#: ../source/specifications/simple-repository-api.rst:447 -msgid "``name``: The normalized name of the project." +#: ../source/specifications/recording-installed-packages.rst:257 +msgid "" +"March 2020: The specification of the ``direct_url.json`` file was approved " +"through :pep:`610`. It is only mentioned on this page; see :ref:`direct-url` " +"for the full definition." msgstr "" -#: ../source/specifications/simple-repository-api.rst:439 -#: ../source/specifications/simple-repository-api.rst:448 +#: ../source/specifications/recording-installed-packages.rst:260 msgid "" -"``files``: A list of dictionaries, each one representing an individual file." +"September 2020: Various amendments and clarifications were approved through :" +"pep:`627`." msgstr "" -#: ../source/specifications/simple-repository-api.rst:442 -#: ../source/specifications/simple-repository-api.rst:451 -msgid "Each individual file dictionary has the following keys:" -msgstr "" +#: ../source/specifications/section-distribution-formats.rst:3 +msgid "Package Distribution File Formats" +msgstr "Formatos de archivo de distribución de paquetes" -#: ../source/specifications/simple-repository-api.rst:444 -#: ../source/specifications/simple-repository-api.rst:453 -msgid "``filename``: The filename that is being represented." -msgstr "" +#: ../source/specifications/section-distribution-metadata.rst:3 +msgid "Package Distribution Metadata" +msgstr "Metadatos de distribución de paquetes" -#: ../source/specifications/simple-repository-api.rst:445 -#: ../source/specifications/simple-repository-api.rst:454 -msgid "``url``: The URL that the file can be fetched from." +#: ../source/specifications/section-installation-metadata.rst:3 +#, fuzzy +msgid "Package Installation Metadata" +msgstr "Metadatos de distribución de paquetes" + +#: ../source/specifications/section-package-indices.rst:3 +msgid "Package Index Interfaces" +msgstr "Interfaces del Índice de paquetes" + +#: ../source/specifications/simple-repository-api.rst:6 +msgid "Simple repository API" msgstr "" -#: ../source/specifications/simple-repository-api.rst:446 -#: ../source/specifications/simple-repository-api.rst:455 +#: ../source/specifications/simple-repository-api.rst:8 msgid "" -"``hashes``: A dictionary mapping a hash name to a hex encoded digest of the " -"file. Multiple hashes can be included, and it is up to the client to decide " -"what to do with multiple hashes (it may validate all of them or a subset of " -"them, or nothing at all). These hash names **SHOULD** always be normalized " -"to be lowercase." +"The interface for querying available package versions and retrieving " +"packages from an index server comes in two forms: HTML and JSON." msgstr "" -#: ../source/specifications/simple-repository-api.rst:451 -#: ../source/specifications/simple-repository-api.rst:460 -msgid "" -"The ``hashes`` dictionary **MUST** be present, even if no hashes are " -"available for the file, however it is **HIGHLY** recommended that at least " -"one secure, guaranteed-to-be-available hash is always included." +#: ../source/specifications/simple-repository-api.rst:15 +msgid "Base HTML API" msgstr "" -#: ../source/specifications/simple-repository-api.rst:455 -#: ../source/specifications/simple-repository-api.rst:464 +#: ../source/specifications/simple-repository-api.rst:17 msgid "" -"By default, any hash algorithm available via :py:mod:`hashlib` (specifically " -"any that can be passed to :py:func:`hashlib.new()` and do not require " -"additional parameters) can be used as a key for the hashes dictionary. At " -"least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " -"**SHOULD** always be included. At the time of this spec, ``sha256`` " -"specifically is recommended." +"A repository that implements the simple API is defined by its base URL, this " +"is the top level URL that all additional URLs are below. The API is named " +"the \"simple\" repository due to the fact that PyPI's base URL is ``https://" +"pypi.org/simple/``." msgstr "" -#: ../source/specifications/simple-repository-api.rst:460 -#: ../source/specifications/simple-repository-api.rst:469 +#: ../source/specifications/simple-repository-api.rst:22 msgid "" -"``requires-python``: An **optional** key that exposes the :ref:`core-" -"metadata-requires-python` metadata field. Where this is present, installer " -"tools **SHOULD** ignore the download when installing to a Python version " -"that doesn't satisfy the requirement." +"All subsequent URLs in this document will be relative to this base URL (so " +"given PyPI's URL, a URL of ``/foo/`` would be ``https://pypi.org/simple/foo/" +"``." msgstr "" -#: ../source/specifications/simple-repository-api.rst:466 -#: ../source/specifications/simple-repository-api.rst:475 +#: ../source/specifications/simple-repository-api.rst:27 msgid "" -"Unlike ``data-requires-python`` in :ref:`the base HTML API specification " -"`, the ``requires-python`` key does not require " -"any special escaping other than anything JSON does naturally." +"Within a repository, the root URL (``/`` for this spec which represents the " +"base URL) **MUST** be a valid HTML5 page with a single anchor element per " +"project in the repository. The text of the anchor tag **MUST** be the name " +"of the project and the href attribute **MUST** link to the URL for that " +"particular project. As an example::" msgstr "" -#: ../source/specifications/simple-repository-api.rst:469 -#: ../source/specifications/simple-repository-api.rst:478 +#: ../source/specifications/simple-repository-api.rst:41 msgid "" -"``dist-info-metadata``: An **optional** key that indicates that metadata for " -"this file is available, via the same location as specified in :ref:`the API " -"metadata file specification ` " -"(``{file_url}.metadata``). Where this is present, it **MUST** be either a " -"boolean to indicate if the file has an associated metadata file, or a " -"dictionary mapping hash names to a hex encoded digest of the metadata's hash." +"Below the root URL is another URL for each individual project contained " +"within a repository. The format of this URL is ``//`` where the " +"```` is replaced by the normalized name for that project, so a " +"project named \"HolyGrail\" would have a URL like ``/holygrail/``. This URL " +"must respond with a valid HTML5 page with a single anchor element per file " +"for the project. The href attribute **MUST** be a URL that links to the " +"location of the file for download, and the text of the anchor tag **MUST** " +"match the final path component (the filename) of the URL. The URL **SHOULD** " +"include a hash in the form of a URL fragment with the following syntax: " +"``#=``, where ```` is the lowercase name of " +"the hash function (such as ``sha256``) and ```` is the hex " +"encoded digest." msgstr "" -#: ../source/specifications/simple-repository-api.rst:477 -#: ../source/specifications/simple-repository-api.rst:486 +#: ../source/specifications/simple-repository-api.rst:53 msgid "" -"When this is a dictionary of hashes instead of a boolean, then all the same " -"requirements and recommendations as the ``hashes`` key hold true for this " -"key as well." +"In addition to the above, the following constraints are placed on the API:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:481 -#: ../source/specifications/simple-repository-api.rst:490 +#: ../source/specifications/simple-repository-api.rst:55 msgid "" -"If this key is missing then the metadata file may or may not exist. If the " -"key value is truthy, then the metadata file is present, and if it is falsey " -"then it is not." +"All URLs which respond with an HTML5 page **MUST** end with a ``/`` and the " +"repository **SHOULD** redirect the URLs without a ``/`` to add a ``/`` to " +"the end." msgstr "" -#: ../source/specifications/simple-repository-api.rst:485 -#: ../source/specifications/simple-repository-api.rst:494 +#: ../source/specifications/simple-repository-api.rst:59 msgid "" -"It is recommended that servers make the hashes of the metadata file " -"available if possible." +"URLs may be either absolute or relative as long as they point to the correct " +"location." msgstr "" -#: ../source/specifications/simple-repository-api.rst:487 -#: ../source/specifications/simple-repository-api.rst:496 +#: ../source/specifications/simple-repository-api.rst:62 msgid "" -"``gpg-sig``: An **optional** key that acts a boolean to indicate if the file " -"has an associated GPG signature or not. The URL for the signature file " -"follows what is specified in :ref:`the base HTML API specification ` (``{file_url}.asc``). If this key does not exist, then " -"the signature may or may not exist." +"There are no constraints on where the files must be hosted relative to the " +"repository." msgstr "" -#: ../source/specifications/simple-repository-api.rst:492 -#: ../source/specifications/simple-repository-api.rst:501 +#: ../source/specifications/simple-repository-api.rst:65 msgid "" -"``yanked``: An **optional** key which may be either a boolean to indicate if " -"the file has been yanked, or a non empty, but otherwise arbitrary, string to " -"indicate that a file has been yanked with a specific reason. If the " -"``yanked`` key is present and is a truthy value, then it **SHOULD** be " -"interpreted as indicating that the file pointed to by the ``url`` field has " -"been \"Yanked\" as per :ref:`the API yank specification `." +"There may be any other HTML elements on the API pages as long as the " +"required anchor elements exist." msgstr "" -#: ../source/specifications/simple-repository-api.rst:529 -#: ../source/specifications/simple-repository-api.rst:543 +#: ../source/specifications/simple-repository-api.rst:68 msgid "" -"While the ``files`` key is an array, and thus is required to be in some kind " -"of an order, neither :ref:`the base HTML API specification ` nor this spec requires any specific ordering nor that " -"the ordering is consistent from one request to the next. Mentally this is " -"best thought of as a set, but both JSON and HTML lack the functionality to " -"have sets." +"Repositories **MAY** redirect unnormalized URLs to the canonical normalized " +"URL (e.g. ``/Foobar/`` may redirect to ``/foobar/``), however clients **MUST " +"NOT** rely on this redirection and **MUST** request the normalized URL." msgstr "" -#: ../source/specifications/simple-repository-api.rst:538 -#: ../source/specifications/simple-repository-api.rst:552 -#, fuzzy -msgid "Content-Types" -msgstr "Contenido" - -#: ../source/specifications/simple-repository-api.rst:540 -#: ../source/specifications/simple-repository-api.rst:554 +#: ../source/specifications/simple-repository-api.rst:73 msgid "" -"This spec proposes that all responses from the Simple API will have a " -"standard content type that describes what the response is (a Simple API " -"response), what version of the API it represents, and what serialization " -"format has been used." +"Repositories **SHOULD** choose a hash function from one of the ones " +"guaranteed to be available via the :py:mod:`hashlib` module in the Python " +"standard library (currently ``md5``, ``sha1``, ``sha224``, ``sha256``, " +"``sha384``, ``sha512``). The current recommendation is to use ``sha256``." msgstr "" -#: ../source/specifications/simple-repository-api.rst:544 -#: ../source/specifications/simple-repository-api.rst:558 -msgid "The structure of this content type will be:" +#: ../source/specifications/simple-repository-api.rst:78 +msgid "" +"If there is a GPG signature for a particular distribution file it **MUST** " +"live alongside that file with the same name with a ``.asc`` appended to it. " +"So if the file ``/packages/HolyGrail-1.0.tar.gz`` existed and had an " +"associated signature, the signature would be located at ``/packages/" +"HolyGrail-1.0.tar.gz.asc``." msgstr "" -#: ../source/specifications/simple-repository-api.rst:550 -#: ../source/specifications/simple-repository-api.rst:564 +#: ../source/specifications/simple-repository-api.rst:84 msgid "" -"Since only major versions should be disruptive to clients attempting to " -"understand one of these API responses, only the major version will be " -"included in the content type, and will be prefixed with a ``v`` to clarify " -"that it is a version number." +"A repository **MAY** include a ``data-gpg-sig`` attribute on a file link " +"with a value of either ``true`` or ``false`` to indicate whether or not " +"there is a GPG signature. Repositories that do this **SHOULD** include it on " +"every link." msgstr "" -#: ../source/specifications/simple-repository-api.rst:555 -#: ../source/specifications/simple-repository-api.rst:569 -msgid "Which means that for the existing 1.0 API, the content types would be:" +#: ../source/specifications/simple-repository-api.rst:88 +msgid "" +"A repository **MAY** include a ``data-requires-python`` attribute on a file " +"link. This exposes the :ref:`core-metadata-requires-python` metadata field " +"for the corresponding release. Where this is present, installer tools " +"**SHOULD** ignore the download when installing to a Python version that " +"doesn't satisfy the requirement. For example::" msgstr "" -#: ../source/specifications/simple-repository-api.rst:557 -#: ../source/specifications/simple-repository-api.rst:571 -msgid "**JSON:** ``application/vnd.pypi.simple.v1+json``" +#: ../source/specifications/simple-repository-api.rst:96 +msgid "" +"In the attribute value, < and > have to be HTML encoded as ``<`` and " +"``>``, respectively." msgstr "" -#: ../source/specifications/simple-repository-api.rst:558 -#: ../source/specifications/simple-repository-api.rst:572 -msgid "**HTML:** ``application/vnd.pypi.simple.v1+html``" +#: ../source/specifications/simple-repository-api.rst:99 +msgid "" +"A repository **MAY** include a ``data-provenance`` attribute on a file link. " +"The value of this attribute **MUST** be a fully qualified URL, signaling " +"that the file's provenance can be found at that URL. This URL **MUST** " +"represent a `secure origin `_." msgstr "" -#: ../source/specifications/simple-repository-api.rst:560 -#: ../source/specifications/simple-repository-api.rst:574 +#: ../source/specifications/simple-repository-api.rst:106 msgid "" -"In addition to the above, a special \"meta\" version is supported named " -"``latest``, whose purpose is to allow clients to request the absolute latest " -"version, without having to know ahead of time what that version is. It is " -"recommended however, that clients be explicit about what versions they " -"support." +"The format of the linked provenance is defined in :ref:`index-hosted-" +"attestations`." msgstr "" -#: ../source/specifications/simple-repository-api.rst:565 -#: ../source/specifications/simple-repository-api.rst:579 +#: ../source/specifications/simple-repository-api.rst:109 +#, fuzzy +msgid "Normalized Names" +msgstr "Traducciones" + +#: ../source/specifications/simple-repository-api.rst:111 msgid "" -"To support existing clients which expect the existing :ref:`the base HTML " -"API specification ` API responses to use the " -"``text/html`` content type, this spec further defines ``text/html`` as an " -"alias for the ``application/vnd.pypi.simple.v1+html`` content type." +"This spec references the concept of a \"normalized\" project name. As per :" +"ref:`the name normalization specification ` the only " +"valid characters in a name are the ASCII alphabet, ASCII numbers, ``.``, ``-" +"``, and ``_``. The name should be lowercased with all runs of the characters " +"``.``, ``-``, or ``_`` replaced with a single ``-`` character. This can be " +"implemented in Python with the ``re`` module::" msgstr "" -#: ../source/specifications/simple-repository-api.rst:572 -#: ../source/specifications/simple-repository-api.rst:586 -#, fuzzy -msgid "Version + Format Selection" -msgstr "Versión" +#: ../source/specifications/simple-repository-api.rst:126 +msgid "Adding \"Yank\" Support to the Simple API" +msgstr "" -#: ../source/specifications/simple-repository-api.rst:574 -#: ../source/specifications/simple-repository-api.rst:588 +#: ../source/specifications/simple-repository-api.rst:128 msgid "" -"Now that there is multiple possible serializations, we need a mechanism to " -"allow clients to indicate what serialization formats they're able to " -"understand. In addition, it would be beneficial if any possible new major " -"version to the API can be added without disrupting existing clients " -"expecting the previous API version." +"Links in the simple repository **MAY** have a ``data-yanked`` attribute " +"which may have no value, or may have an arbitrary string as a value. The " +"presence of a ``data-yanked`` attribute **SHOULD** be interpreted as " +"indicating that the file pointed to by this particular link has been " +"\"Yanked\", and should not generally be selected by an installer, except " +"under specific scenarios." msgstr "" -#: ../source/specifications/simple-repository-api.rst:579 -#: ../source/specifications/simple-repository-api.rst:593 +#: ../source/specifications/simple-repository-api.rst:135 msgid "" -"To enable this, this spec standardizes on the use of HTTP's `Server-Driven " -"Content Negotiation `_." +"The value of the ``data-yanked`` attribute, if present, is an arbitrary " +"string that represents the reason for why the file has been yanked. Tools " +"that process the simple repository API **MAY** surface this string to end " +"users." msgstr "" -#: ../source/specifications/simple-repository-api.rst:582 -#: ../source/specifications/simple-repository-api.rst:596 +#: ../source/specifications/simple-repository-api.rst:140 msgid "" -"While this spec won't fully describe the entirety of server-driven content " -"negotiation, the flow is roughly:" +"The yanked attribute is not immutable once set, and may be rescinded in the " +"future (and once rescinded, may be reset as well). Thus API users **MUST** " +"be able to cope with a yanked file being \"unyanked\" (and even yanked " +"again)." msgstr "" -#: ../source/specifications/simple-repository-api.rst:585 -#: ../source/specifications/simple-repository-api.rst:599 +#: ../source/specifications/simple-repository-api.rst:147 +#, fuzzy +msgid "Installers" +msgstr "Instalador" + +#: ../source/specifications/simple-repository-api.rst:149 msgid "" -"The client makes an HTTP request containing an ``Accept`` header listing all " -"of the version+format content types that they are able to understand." +"The desirable experience for users is that once a file is yanked, when a " +"human being is currently trying to directly install a yanked file, that it " +"fails as if that file had been deleted. However, when a human did that " +"awhile ago, and now a computer is just continuing to mechanically follow the " +"original order to install the now yanked file, then it acts as if it had not " +"been yanked." msgstr "" -#: ../source/specifications/simple-repository-api.rst:587 -#: ../source/specifications/simple-repository-api.rst:601 +#: ../source/specifications/simple-repository-api.rst:156 msgid "" -"The server inspects that header, selects one of the listed content types, " -"then returns a response using that content type (treating the absence of an " -"``Accept`` header as ``Accept: */*``)." +"An installer **MUST** ignore yanked releases, if the selection constraints " +"can be satisfied with a non-yanked version, and **MAY** refuse to use a " +"yanked release even if it means that the request cannot be satisfied at all. " +"An implementation **SHOULD** choose a policy that follows the spirit of the " +"intention above, and that prevents \"new\" dependencies on yanked releases/" +"files." msgstr "" -#: ../source/specifications/simple-repository-api.rst:590 -#: ../source/specifications/simple-repository-api.rst:604 +#: ../source/specifications/simple-repository-api.rst:163 msgid "" -"If the server does not support any of the content types in the ``Accept`` " -"header then they are able to choose between 3 different options for how to " -"respond:" +"What this means is left up to the specific installer, to decide how to best " +"fit into the overall usage of their installer. However, there are two " +"suggested approaches to take:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:594 -#: ../source/specifications/simple-repository-api.rst:608 +#: ../source/specifications/simple-repository-api.rst:167 msgid "" -"Select a default content type other than what the client has requested and " -"return a response with that." +"Yanked files are always ignored, unless they are the only file that matches " +"a version specifier that \"pins\" to an exact version using either ``==`` " +"(without any modifiers that make it a range, such as ``.*``) or ``===``. " +"Matching this version specifier should otherwise be done as per :ref:`the " +"version specifiers specification ` for things like local " +"versions, zero padding, etc." msgstr "" -#: ../source/specifications/simple-repository-api.rst:596 -#: ../source/specifications/simple-repository-api.rst:610 +#: ../source/specifications/simple-repository-api.rst:174 msgid "" -"Return a HTTP ``406 Not Acceptable`` response to indicate that none of the " -"requested content types were available, and the server was unable or " -"unwilling to select a default content type to respond with." +"Yanked files are always ignored, unless they are the only file that matches " +"what a lock file (such as ``Pipfile.lock`` or ``poetry.lock``) specifies to " +"be installed. In this case, a yanked file **SHOULD** not be used when " +"creating or updating a lock file from some input file or command." msgstr "" -#: ../source/specifications/simple-repository-api.rst:599 -#: ../source/specifications/simple-repository-api.rst:613 +#: ../source/specifications/simple-repository-api.rst:180 msgid "" -"Return a HTTP ``300 Multiple Choices`` response that contains a list of all " -"of the possible responses that could have been chosen." +"Regardless of the specific strategy that an installer chooses for deciding " +"when to install yanked files, an installer **SHOULD** emit a warning when it " +"does decide to install a yanked file. That warning **MAY** utilize the value " +"of the ``data-yanked`` attribute (if it has a value) to provide more " +"specific feedback to the user about why that file had been yanked." msgstr "" -#: ../source/specifications/simple-repository-api.rst:601 -#: ../source/specifications/simple-repository-api.rst:615 -msgid "" -"The client interprets the response, handling the different types of " -"responses that the server may have responded with." +#: ../source/specifications/simple-repository-api.rst:188 +msgid "Mirrors" msgstr "" -#: ../source/specifications/simple-repository-api.rst:604 -#: ../source/specifications/simple-repository-api.rst:618 -msgid "" -"This spec does not specify which choices the server makes in regards to " -"handling a content type that it isn't able to return, and clients **SHOULD** " -"be prepared to handle all of the possible responses in whatever way makes " -"the most sense for that client." +#: ../source/specifications/simple-repository-api.rst:190 +msgid "Mirrors can generally treat yanked files one of two ways:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:609 -#: ../source/specifications/simple-repository-api.rst:623 +#: ../source/specifications/simple-repository-api.rst:192 msgid "" -"However, as there is no standard format for how a ``300 Multiple Choices`` " -"response can be interpreted, this spec highly discourages servers from " -"utilizing that option, as clients will have no way to understand and select " -"a different content-type to request. In addition, it's unlikely that the " -"client *could* understand a different content type anyways, so at best this " -"response would likely just be treated the same as a ``406 Not Acceptable`` " -"error." +"They may choose to omit them from their simple repository API completely, " +"providing a view over the repository that shows only \"active\", unyanked " +"files." msgstr "" -#: ../source/specifications/simple-repository-api.rst:616 -#: ../source/specifications/simple-repository-api.rst:630 +#: ../source/specifications/simple-repository-api.rst:195 msgid "" -"This spec **does** require that if the meta version ``latest`` is being " -"used, the server **MUST** respond with the content type for the actual " -"version that is contained in the response (i.e. an ``Accept: application/vnd." -"pypi.simple.latest+json`` request that returns a ``v1.x`` response should " -"have a ``Content-Type`` of ``application/vnd.pypi.simple.v1+json``)." +"They may choose to include yanked files, and additionally mirror the ``data-" +"yanked`` attribute as well." msgstr "" -#: ../source/specifications/simple-repository-api.rst:623 -#: ../source/specifications/simple-repository-api.rst:637 +#: ../source/specifications/simple-repository-api.rst:198 msgid "" -"The ``Accept`` header is a comma separated list of content types that the " -"client understands and is able to process. It supports three different " -"formats for each content type that is being requested:" +"Mirrors **MUST NOT** mirror a yanked file without also mirroring the ``data-" +"yanked`` attribute for it." msgstr "" -#: ../source/specifications/simple-repository-api.rst:627 -#: ../source/specifications/simple-repository-api.rst:641 -msgid "``$type/$subtype``" +#: ../source/specifications/simple-repository-api.rst:204 +msgid "Versioning PyPI's Simple API" msgstr "" -#: ../source/specifications/simple-repository-api.rst:628 -#: ../source/specifications/simple-repository-api.rst:642 -msgid "``$type/*``" +#: ../source/specifications/simple-repository-api.rst:206 +msgid "" +"This spec proposes the inclusion of a meta tag on the responses of every " +"successful request to a simple API page, which contains a name attribute of " +"\"pypi:repository-version\", and a content that is a :ref:`version " +"specifiers specification ` compatible version number, " +"which is further constrained to ONLY be Major.Minor, and none of the " +"additional features supported by :ref:`the version specifiers specification " +"`." msgstr "" -#: ../source/specifications/simple-repository-api.rst:629 -#: ../source/specifications/simple-repository-api.rst:643 -msgid "``*/*``" +#: ../source/specifications/simple-repository-api.rst:214 +msgid "This would end up looking like::" msgstr "" -#: ../source/specifications/simple-repository-api.rst:631 -#: ../source/specifications/simple-repository-api.rst:645 -msgid "" -"For the use of selecting a version+format, the most useful of these is " -"``$type/$subtype``, as that is the only way to actually specify the version " -"and format you want." +#: ../source/specifications/simple-repository-api.rst:218 +msgid "When interpreting the repository version:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:635 -#: ../source/specifications/simple-repository-api.rst:649 +#: ../source/specifications/simple-repository-api.rst:220 msgid "" -"The order of the content types listed in the ``Accept`` header does not have " -"any specific meaning, and the server **SHOULD** consider all of them to be " -"equally valid to respond with. If a client wishes to specify that they " -"prefer a specific content type over another, they may use the ``Accept`` " -"header's `quality value `_ syntax." +"Incrementing the major version is used to signal a backwards incompatible " +"change such that existing clients would no longer be expected to be able to " +"meaningfully use the API." msgstr "" -#: ../source/specifications/simple-repository-api.rst:642 -#: ../source/specifications/simple-repository-api.rst:656 +#: ../source/specifications/simple-repository-api.rst:223 msgid "" -"This allows a client to specify a priority for a specific entry in their " -"``Accept`` header, by appending a ``;q=`` followed by a value between ``0`` " -"and ``1`` inclusive, with up to 3 decimal digits. When interpreting this " -"value, an entry with a higher quality has priority over an entry with a " -"lower quality, and any entry without a quality present will default to a " -"quality of ``1``." +"Incrementing the minor version is used to signal a backwards compatible " +"change such that existing clients would still be expected to be able to " +"meaningfully use the API." msgstr "" -#: ../source/specifications/simple-repository-api.rst:648 -#: ../source/specifications/simple-repository-api.rst:662 +#: ../source/specifications/simple-repository-api.rst:227 msgid "" -"However, clients should keep in mind that a server is free to select **any** " -"of the content types they've asked for, regardless of their requested " -"priority, and it may even return a content type that they did **not** ask " -"for." +"It is left up to the discretion of any future specs as to what specifically " +"constitutes a backwards incompatible vs compatible change beyond the broad " +"suggestion that existing clients will be able to \"meaningfully\" continue " +"to use the API, and can include adding, modifying, or removing existing " +"features." msgstr "" -#: ../source/specifications/simple-repository-api.rst:652 -#: ../source/specifications/simple-repository-api.rst:666 +#: ../source/specifications/simple-repository-api.rst:233 msgid "" -"To aid clients in determining the content type of the response that they " -"have received from an API request, this spec requires that servers always " -"include a ``Content-Type`` header indicating the content type of the " -"response. This is technically a backwards incompatible change, however in " -"practice `pip has been enforcing this requirement `_ so the risks for actual breakages is low." -msgstr "" - -#: ../source/specifications/simple-repository-api.rst:659 -#: ../source/specifications/simple-repository-api.rst:673 -msgid "An example of how a client can operate would look like:" +"It is expectation of this spec that the major version will never be " +"incremented, and any future major API evolutions would utilize a different " +"mechanism for API evolution. However the major version is included to " +"disambiguate with future versions (e.g. a hypothetical simple api v2 that " +"lived at /v2/, but which would be confusing if the repository-version was " +"set to a version >= 2)." msgstr "" -#: ../source/specifications/simple-repository-api.rst:710 -#: ../source/specifications/simple-repository-api.rst:724 +#: ../source/specifications/simple-repository-api.rst:240 msgid "" -"If a client wishes to only support HTML or only support JSON, then they " -"would just remove the content types that they do not want from the " -"``Accept`` header, and turn receiving them into an error." +"This spec sets the current API version to \"1.0\", and expects that future " +"specs that further evolve the simple API will increment the minor version " +"number." msgstr "" -#: ../source/specifications/simple-repository-api.rst:716 -#: ../source/specifications/simple-repository-api.rst:730 -msgid "Alternative Negotiation Mechanisms" -msgstr "" +#: ../source/specifications/simple-repository-api.rst:246 +#: ../source/specifications/simple-repository-api.rst:971 +#, fuzzy +msgid "Clients" +msgstr "Contenido" -#: ../source/specifications/simple-repository-api.rst:718 -#: ../source/specifications/simple-repository-api.rst:732 +#: ../source/specifications/simple-repository-api.rst:248 msgid "" -"While using HTTP's Content negotiation is considered the standard way for a " -"client and server to coordinate to ensure that the client is getting an HTTP " -"response that it is able to understand, there are situations where that " -"mechanism may not be sufficient. For those cases this spec has alternative " -"negotiation mechanisms that may *optionally* be used instead." +"Clients interacting with the simple API **SHOULD** introspect each response " +"for the repository version, and if that data does not exist **MUST** assume " +"that it is version 1.0." msgstr "" -#: ../source/specifications/simple-repository-api.rst:726 -#: ../source/specifications/simple-repository-api.rst:740 -msgid "URL Parameter" +#: ../source/specifications/simple-repository-api.rst:252 +msgid "" +"When encountering a major version greater than expected, clients **MUST** " +"hard fail with an appropriate error message for the user." msgstr "" -#: ../source/specifications/simple-repository-api.rst:728 -#: ../source/specifications/simple-repository-api.rst:742 +#: ../source/specifications/simple-repository-api.rst:255 msgid "" -"Servers that implement the Simple API may choose to support a URL parameter " -"named ``format`` to allow the clients to request a specific version of the " -"URL." +"When encountering a minor version greater than expected, clients **SHOULD** " +"warn users with an appropriate message." msgstr "" -#: ../source/specifications/simple-repository-api.rst:731 -#: ../source/specifications/simple-repository-api.rst:745 +#: ../source/specifications/simple-repository-api.rst:258 msgid "" -"The value of the ``format`` parameter should be **one** of the valid content " -"types. Passing multiple content types, wild cards, quality values, etc... is " -"**not** supported." +"Clients **MAY** still continue to use feature detection in order to " +"determine what features a repository uses." msgstr "" -#: ../source/specifications/simple-repository-api.rst:735 -#: ../source/specifications/simple-repository-api.rst:749 +#: ../source/specifications/simple-repository-api.rst:264 +msgid "Serve Distribution Metadata in the Simple Repository API" +msgstr "" + +#: ../source/specifications/simple-repository-api.rst:266 msgid "" -"Supporting this parameter is optional, and clients **SHOULD NOT** rely on it " -"for interacting with the API. This negotiation mechanism is intended to " -"allow for easier human based exploration of the API within a browser, or to " -"allow documentation or notes to link to a specific version+format." +"In a simple repository's project page, each anchor tag pointing to a " +"distribution **MAY** have a ``data-dist-info-metadata`` attribute. The " +"presence of the attribute indicates the distribution represented by the " +"anchor tag **MUST** contain a Core Metadata file that will not be modified " +"when the distribution is processed and/or installed." msgstr "" -#: ../source/specifications/simple-repository-api.rst:740 -#: ../source/specifications/simple-repository-api.rst:754 +#: ../source/specifications/simple-repository-api.rst:272 msgid "" -"Servers that do not support this parameter may choose to return an error " -"when it is present, or they may simple ignore its presence." +"If a ``data-dist-info-metadata`` attribute is present, the repository " +"**MUST** serve the distribution's Core Metadata file alongside the " +"distribution with a ``.metadata`` appended to the distribution's file name. " +"For example, the Core Metadata of a distribution served at ``/files/" +"distribution-1.0-py3.none.any.whl`` would be located at ``/files/" +"distribution-1.0-py3.none.any.whl.metadata``. This is similar to how :ref:" +"`the base HTML API specification ` specifies the " +"GPG signature file's location." msgstr "" -#: ../source/specifications/simple-repository-api.rst:743 -#: ../source/specifications/simple-repository-api.rst:757 +#: ../source/specifications/simple-repository-api.rst:281 msgid "" -"When a server does implement this parameter, it **SHOULD** take precedence " -"over any values in the client's ``Accept`` header, and if the server does " -"not support the requested format, it may choose to fall back to the " -"``Accept`` header, or choose any of the error conditions that standard " -"server-driven content negotiation typically has (e.g. ``406 Not Available``, " -"``303 Multiple Choices``, or selecting a default type to return)." +"The repository **SHOULD** provide the hash of the Core Metadata file as the " +"``data-dist-info-metadata`` attribute's value using the syntax " +"``=``, where ```` is the lower cased name of " +"the hash function used, and ```` is the hex encoded digest. The " +"repository **MAY** use ``true`` as the attribute's value if a hash is " +"unavailable." msgstr "" -#: ../source/specifications/simple-repository-api.rst:752 -#: ../source/specifications/simple-repository-api.rst:766 -#, fuzzy -msgid "Endpoint Configuration" -msgstr "Configuraciones habituales" +#: ../source/specifications/simple-repository-api.rst:289 +#, fuzzy +msgid "Backwards Compatibility" +msgstr "Etiquetas de compatibilidad con plataformas" -#: ../source/specifications/simple-repository-api.rst:754 -#: ../source/specifications/simple-repository-api.rst:768 +#: ../source/specifications/simple-repository-api.rst:291 msgid "" -"This option technically is not a special option at all, it is just a natural " -"consequence of using content negotiation and allowing servers to select " -"which of the available content types is their default." +"If an anchor tag lacks the ``data-dist-info-metadata`` attribute, tools are " +"expected to revert to their current behaviour of downloading the " +"distribution to inspect the metadata." msgstr "" -#: ../source/specifications/simple-repository-api.rst:758 -#: ../source/specifications/simple-repository-api.rst:772 +#: ../source/specifications/simple-repository-api.rst:295 msgid "" -"If a server is unwilling or unable to implement the server-driven content " -"negotiation, and would instead rather require users to explicitly configure " -"their client to select the version they want, then that is a supported " -"configuration." +"Older tools not supporting the new ``data-dist-info-metadata`` attribute are " +"expected to ignore the attribute and maintain their current behaviour of " +"downloading the distribution to inspect the metadata. This is similar to how " +"prior ``data-`` attribute additions expect existing tools to operate." msgstr "" -#: ../source/specifications/simple-repository-api.rst:762 -#: ../source/specifications/simple-repository-api.rst:776 +#: ../source/specifications/simple-repository-api.rst:304 +msgid "JSON-based Simple API for Python Package Indexes" +msgstr "" + +#: ../source/specifications/simple-repository-api.rst:306 msgid "" -"To enable this, a server should make multiple endpoints (for instance, ``/" -"simple/v1+html/`` and/or ``/simple/v1+json/``) for each version+format that " -"they wish to support. Under that endpoint, they can host a copy of their " -"repository that only supports one (or a subset) of the content-types. When a " -"client makes a request using the ``Accept`` header, the server can ignore it " -"and return the content type that corresponds to that endpoint." +"To enable response parsing with only the standard library, this spec " +"specifies that all responses (besides the files themselves, and the HTML " +"responses from :ref:`the base HTML API specification `) should be serialized using `JSON `_." msgstr "" -#: ../source/specifications/simple-repository-api.rst:769 -#: ../source/specifications/simple-repository-api.rst:783 +#: ../source/specifications/simple-repository-api.rst:311 msgid "" -"For clients that wish to require specific configuration, they can keep track " -"of which version+format a specific repository URL was configured for, and " -"when making a request to that server, emit an ``Accept`` header that *only* " -"includes the correct content type." +"To enable zero configuration discovery and to minimize the amount of " +"additional HTTP requests, this spec extends :ref:`the base HTML API " +"specification ` such that all of the API " +"endpoints (other than the files themselves) will utilize HTTP content " +"negotiation to allow client and server to select the correct serialization " +"format to serve, i.e. either HTML or JSON." msgstr "" -#: ../source/specifications/simple-repository-api.rst:776 -#: ../source/specifications/simple-repository-api.rst:790 -msgid "TUF Support - PEP 458" +#: ../source/specifications/simple-repository-api.rst:321 +msgid "" +"Versioning will adhere to :ref:`the API versioning specification ` format (``Major.Minor``), which has defined the " +"existing HTML responses to be ``1.0``. Since this spec does not introduce " +"new features into the API, rather it describes a different serialization " +"format for the existing features, this spec does not change the existing " +"``1.0`` version, and instead just describes how to serialize that into JSON." msgstr "" -#: ../source/specifications/simple-repository-api.rst:778 -#: ../source/specifications/simple-repository-api.rst:792 +#: ../source/specifications/simple-repository-api.rst:328 msgid "" -":pep:`458` requires that all API responses are hashable and that they can be " -"uniquely identified by a path relative to the repository root. For a Simple " -"API repository, the target path is the Root of our API (e.g. ``/simple/`` on " -"PyPI). This creates challenges when accessing the API using a TUF client " -"instead of directly using a standard HTTP client, as the TUF client cannot " -"handle the fact that a target could have multiple different representations " -"that all hash differently." +"Similar to :ref:`the API versioning specification `, the major version number **MUST** be incremented if any " +"changes to the new format would result in no longer being able to expect " +"existing clients to meaningfully understand the format." msgstr "" -#: ../source/specifications/simple-repository-api.rst:785 -#: ../source/specifications/simple-repository-api.rst:799 +#: ../source/specifications/simple-repository-api.rst:334 msgid "" -":pep:`458` does not specify what the target path should be for the Simple " -"API, but TUF requires that the target paths be \"file-like\", in other " -"words, a path like ``simple/PROJECT/`` is not acceptable, because it " -"technically points to a directory." +"Likewise, the minor version **MUST** be incremented if features are added or " +"removed from the format, but existing clients would be expected to continue " +"to meaningfully understand the format." msgstr "" -#: ../source/specifications/simple-repository-api.rst:790 -#: ../source/specifications/simple-repository-api.rst:804 +#: ../source/specifications/simple-repository-api.rst:338 msgid "" -"The saving grace is that the target path does not *have* to actually match " -"the URL being fetched from the Simple API, and it can just be a sigil that " -"the fetching code knows how to transform into the actual URL that needs to " -"be fetched. This same thing can hold true for other aspects of the actual " -"HTTP request, such as the ``Accept`` header." +"Changes that would not result in existing clients being unable to " +"meaningfully understand the format and which do not represent features being " +"added or removed may occur without changing the version number." msgstr "" -#: ../source/specifications/simple-repository-api.rst:796 -#: ../source/specifications/simple-repository-api.rst:810 +#: ../source/specifications/simple-repository-api.rst:342 msgid "" -"Ultimately figuring out how to map a directory to a filename is out of scope " -"for this spec (but it would be in scope for :pep:`458`), and this spec " -"defers making a decision about how exactly to represent this inside of :pep:" -"`458` metadata." +"This is intentionally vague, as this spec believes it is best left up to " +"future specs that make any changes to the API to investigate and decide " +"whether or not that change should increment the major or minor version." msgstr "" -#: ../source/specifications/simple-repository-api.rst:800 -#: ../source/specifications/simple-repository-api.rst:814 +#: ../source/specifications/simple-repository-api.rst:346 msgid "" -"However, it appears that the current WIP branch against pip that attempts to " -"implement :pep:`458` is using a target path like ``simple/PROJECT/index." -"html``. This could be modified to include the API version and serialization " -"format using something like ``simple/PROJECT/vnd.pypi.simple.vN.FORMAT``. So " -"the v1 HTML format would be ``simple/PROJECT/vnd.pypi.simple.v1.html`` and " -"the v1 JSON format would be ``simple/PROJECT/vnd.pypi.simple.v1.json``." +"Future versions of the API may add things that can only be represented in a " +"subset of the available serializations of that version. All serializations " +"version numbers, within a major version, **SHOULD** be kept in sync, but the " +"specifics of how a feature serializes into each format may differ, including " +"whether or not that feature is present at all." msgstr "" -#: ../source/specifications/simple-repository-api.rst:807 -#: ../source/specifications/simple-repository-api.rst:821 +#: ../source/specifications/simple-repository-api.rst:352 msgid "" -"In this case, since ``text/html`` is an alias to ``application/vnd.pypi." -"simple.v1+html`` when interacting through TUF, it likely will make the most " -"sense to normalize to the more explicit name." +"It is the intent of this spec that the API should be thought of as URL " +"endpoints that return data, whose interpretation is defined by the version " +"of that data, and then serialized into the target serialization format." msgstr "" -#: ../source/specifications/simple-repository-api.rst:811 -#: ../source/specifications/simple-repository-api.rst:825 +#: ../source/specifications/simple-repository-api.rst:360 +#, fuzzy +msgid "JSON Serialization" +msgstr "Traducciones" + +#: ../source/specifications/simple-repository-api.rst:362 msgid "" -"Likewise the ``latest`` metaversion should not be included in the targets, " -"only explicitly declared versions should be supported." +"The URL structure from :ref:`the base HTML API specification ` still applies, as this spec only adds an additional " +"serialization format for the already existing API." msgstr "" -#: ../source/specifications/simple-repository-api.rst:817 -#: ../source/specifications/simple-repository-api.rst:831 +#: ../source/specifications/simple-repository-api.rst:366 msgid "" -"This section is non-normative, and represents what the spec authors believe " -"to be the best default implementation decisions for something implementing " -"this spec, but it does **not** represent any sort of requirement to match " -"these decisions." +"The following constraints apply to all JSON serialized responses described " +"in this spec:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:821 -#: ../source/specifications/simple-repository-api.rst:835 +#: ../source/specifications/simple-repository-api.rst:369 msgid "" -"These decisions have been chosen to maximize the number of requests that can " -"be moved onto the newest version of an API, while maintaining the greatest " -"amount of compatibility. In addition, they've also tried to make using the " -"API provide guardrails that attempt to push clients into making the best " -"choices it can." +"All JSON responses will *always* be a JSON object rather than an array or " +"other type." msgstr "" -#: ../source/specifications/simple-repository-api.rst:826 -#: ../source/specifications/simple-repository-api.rst:840 -msgid "It is recommended that servers:" +#: ../source/specifications/simple-repository-api.rst:372 +msgid "" +"While JSON doesn't natively support a URL type, any value that represents an " +"URL in this API may be either absolute or relative as long as they point to " +"the correct location. If relative, they are relative to the current URL as " +"if it were HTML." msgstr "" -#: ../source/specifications/simple-repository-api.rst:828 -#: ../source/specifications/simple-repository-api.rst:842 +#: ../source/specifications/simple-repository-api.rst:377 msgid "" -"Support all 3 content types described in this spec, using server-driven " -"content negotiation, for as long as they reasonably can, or at least as long " -"as they're receiving non trivial traffic that uses the HTML responses." +"Additional keys may be added to any dictionary objects in the API responses " +"and clients **MUST** ignore keys that they don't understand." msgstr "" -#: ../source/specifications/simple-repository-api.rst:832 -#: ../source/specifications/simple-repository-api.rst:846 +#: ../source/specifications/simple-repository-api.rst:380 msgid "" -"When encountering an ``Accept`` header that does not contain any content " -"types that it knows how to work with, the server should not ever return a " -"``300 Multiple Choice`` response, and instead return a ``406 Not " -"Acceptable`` response." +"All JSON responses will have a ``meta`` key, which contains information " +"related to the response itself, rather than the content of the response." msgstr "" -#: ../source/specifications/simple-repository-api.rst:837 -#: ../source/specifications/simple-repository-api.rst:851 +#: ../source/specifications/simple-repository-api.rst:383 msgid "" -"However, if choosing to use the endpoint configuration, you should prefer to " -"return a ``200 OK`` response in the expected content type for that endpoint." +"All JSON responses will have a ``meta.api-version`` key, which will be a " +"string that contains the :ref:`API versioning specification ` ``Major.Minor`` version number, with the same " +"fail/warn semantics as defined in :ref:`the API versioning specification " +"`." msgstr "" -#: ../source/specifications/simple-repository-api.rst:840 -#: ../source/specifications/simple-repository-api.rst:854 +#: ../source/specifications/simple-repository-api.rst:389 msgid "" -"When selecting an acceptable version, the server should choose the highest " -"version that the client supports, with the most expressive/featureful " -"serialization format, taking into account the specificity of the client " -"requests as well as any quality priority values they have expressed, and it " -"should only use the ``text/html`` content type as a last resort." +"All requirements of :ref:`the base HTML API specification ` that are not HTML specific still apply." msgstr "" -#: ../source/specifications/simple-repository-api.rst:846 -#: ../source/specifications/simple-repository-api.rst:860 -msgid "It is recommended that clients:" +#: ../source/specifications/simple-repository-api.rst:394 +#, fuzzy +msgid "Project List" +msgstr "Proyecto" + +#: ../source/specifications/simple-repository-api.rst:396 +msgid "" +"The root URL ``/`` for this spec (which represents the base URL) will be a " +"JSON encoded dictionary which has a two keys:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:848 -#: ../source/specifications/simple-repository-api.rst:862 +#: ../source/specifications/simple-repository-api.rst:399 msgid "" -"Support all 3 content types described in this spec, using server-driven " -"content negotiation, for as long as they reasonably can." +"``projects``: An array where each entry is a dictionary with a single key, " +"``name``, which represents string of the project name." msgstr "" -#: ../source/specifications/simple-repository-api.rst:851 -#: ../source/specifications/simple-repository-api.rst:865 +#: ../source/specifications/simple-repository-api.rst:400 +#: ../source/specifications/simple-repository-api.rst:449 msgid "" -"When constructing an ``Accept`` header, include all of the content types " -"that you support." +"``meta``: The general response metadata as `described earlier `__." msgstr "" -#: ../source/specifications/simple-repository-api.rst:854 -#: ../source/specifications/simple-repository-api.rst:868 +#: ../source/specifications/simple-repository-api.rst:402 +#: ../source/specifications/simple-repository-api.rst:512 +#, fuzzy +msgid "As an example:" +msgstr "Por ejemplo:" + +#: ../source/specifications/simple-repository-api.rst:419 msgid "" -"You should generally *not* include a quality priority value for your content " -"types, unless you have implementation specific reasons that you want the " -"server to take into account (for example, if you're using the standard " -"library HTML parser and you're worried that there may be some kinds of HTML " -"responses that you're unable to parse in some edge cases)." +"The ``name`` field is the same as the one from :ref:`the base HTML API " +"specification `, which does not specify whether " +"it is the non-normalized display name or the normalized name. In practice " +"different implementations of these specs are choosing differently here, so " +"relying on it being either non-normalized or normalized is relying on an " +"implementation detail of the repository in question." msgstr "" -#: ../source/specifications/simple-repository-api.rst:860 -#: ../source/specifications/simple-repository-api.rst:874 +#: ../source/specifications/simple-repository-api.rst:429 msgid "" -"The one exception to this recommendation is that it is recommended that you " -"*should* include a ``;q=0.01`` value on the legacy ``text/html`` content " -"type, unless it is the only content type that you are requesting." +"While the ``projects`` key is an array, and thus is required to be in some " +"kind of an order, neither :ref:`the base HTML API specification ` nor this spec requires any specific ordering nor that " +"the ordering is consistent from one request to the next. Mentally this is " +"best thought of as a set, but both JSON and HTML lack the functionality to " +"have sets." msgstr "" -#: ../source/specifications/simple-repository-api.rst:864 -#: ../source/specifications/simple-repository-api.rst:878 +#: ../source/specifications/simple-repository-api.rst:438 +#, fuzzy +msgid "Project Detail" +msgstr "Nombre de proyecto" + +#: ../source/specifications/simple-repository-api.rst:440 msgid "" -"Explicitly select what versions they are looking for, rather than using the " -"``latest`` meta version during normal operation." +"The format of this URL is ``//`` where the ```` is " +"replaced by the :ref:`the base HTML API specification ` normalized name for that project, so a project named \"Silly_Walk\" " +"would have a URL like ``/silly-walk/``." msgstr "" -#: ../source/specifications/simple-repository-api.rst:867 -#: ../source/specifications/simple-repository-api.rst:881 +#: ../source/specifications/simple-repository-api.rst:445 msgid "" -"Check the ``Content-Type`` of the response and ensure it matches something " -"that you were expecting." +"This URL must respond with a JSON encoded dictionary that has three keys:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:871 -#: ../source/specifications/simple-repository-api.rst:885 -msgid "Additional Fields for the Simple API for Package Indexes" +#: ../source/specifications/simple-repository-api.rst:447 +msgid "``name``: The normalized name of the project." msgstr "" -#: ../source/specifications/simple-repository-api.rst:873 -#: ../source/specifications/simple-repository-api.rst:887 +#: ../source/specifications/simple-repository-api.rst:448 msgid "" -"This specification defines version 1.1 of the simple repository API. For the " -"HTML version of the API, there is no change from version 1.0. For the JSON " -"version of the API, the following changes are made:" +"``files``: A list of dictionaries, each one representing an individual file." msgstr "" -#: ../source/specifications/simple-repository-api.rst:877 -#: ../source/specifications/simple-repository-api.rst:891 -msgid "The ``api-version`` must specify version 1.1 or later." +#: ../source/specifications/simple-repository-api.rst:451 +msgid "Each individual file dictionary has the following keys:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:878 -#: ../source/specifications/simple-repository-api.rst:892 -msgid "A new ``versions`` key is added at the top level." +#: ../source/specifications/simple-repository-api.rst:453 +msgid "``filename``: The filename that is being represented." msgstr "" -#: ../source/specifications/simple-repository-api.rst:879 -#: ../source/specifications/simple-repository-api.rst:893 -msgid "" -"Two new \"file information\" keys, ``size`` and ``upload-time``, are added " -"to the ``files`` data." +#: ../source/specifications/simple-repository-api.rst:454 +msgid "``url``: The URL that the file can be fetched from." msgstr "" -#: ../source/specifications/simple-repository-api.rst:881 -#: ../source/specifications/simple-repository-api.rst:895 +#: ../source/specifications/simple-repository-api.rst:455 msgid "" -"Keys (at any level) with a leading underscore are reserved as private for " -"index server use. No future standard will assign a meaning to any such key." +"``hashes``: A dictionary mapping a hash name to a hex encoded digest of the " +"file. Multiple hashes can be included, and it is up to the client to decide " +"what to do with multiple hashes (it may validate all of them or a subset of " +"them, or nothing at all). These hash names **SHOULD** always be normalized " +"to be lowercase." msgstr "" -#: ../source/specifications/simple-repository-api.rst:884 -#: ../source/specifications/simple-repository-api.rst:898 +#: ../source/specifications/simple-repository-api.rst:460 msgid "" -"The ``versions`` and ``size`` keys are mandatory. The ``upload-time`` key is " -"optional." +"The ``hashes`` dictionary **MUST** be present, even if no hashes are " +"available for the file, however it is **HIGHLY** recommended that at least " +"one secure, guaranteed-to-be-available hash is always included." msgstr "" -#: ../source/specifications/simple-repository-api.rst:890 -#: ../source/specifications/simple-repository-api.rst:904 +#: ../source/specifications/simple-repository-api.rst:464 msgid "" -"An additional key, ``versions`` MUST be present at the top level, in " -"addition to the keys ``name``, ``files`` and ``meta`` defined in :ref:`the " -"JSON API specification `. This key MUST contain " -"a list of version strings specifying all of the project versions uploaded " -"for this project. The value is logically a set, and as such may not contain " -"duplicates, and the order of the values is not significant." +"By default, any hash algorithm available via :py:mod:`hashlib` (specifically " +"any that can be passed to :py:func:`hashlib.new()` and do not require " +"additional parameters) can be used as a key for the hashes dictionary. At " +"least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " +"**SHOULD** always be included. At the time of this spec, ``sha256`` " +"specifically is recommended." msgstr "" -#: ../source/specifications/simple-repository-api.rst:897 -#: ../source/specifications/simple-repository-api.rst:911 +#: ../source/specifications/simple-repository-api.rst:469 msgid "" -"All of the files listed in the ``files`` key MUST be associated with one of " -"the versions in the ``versions`` key. The ``versions`` key MAY contain " -"versions with no associated files (to represent versions with no files " -"uploaded, if the server has such a concept)." +"``requires-python``: An **optional** key that exposes the :ref:`core-" +"metadata-requires-python` metadata field. Where this is present, installer " +"tools **SHOULD** ignore the download when installing to a Python version " +"that doesn't satisfy the requirement." msgstr "" -#: ../source/specifications/simple-repository-api.rst:902 -#: ../source/specifications/simple-repository-api.rst:916 +#: ../source/specifications/simple-repository-api.rst:475 msgid "" -"Note that because servers may hold \"legacy\" data from before the adoption " -"of :ref:`the version specifiers specification (VSS) `, " -"version strings currently cannot be required to be valid VSS versions, and " -"therefore cannot be assumed to be orderable using the VSS rules. However, " -"servers SHOULD use normalised VSS versions where possible." +"Unlike ``data-requires-python`` in :ref:`the base HTML API specification " +"`, the ``requires-python`` key does not require " +"any special escaping other than anything JSON does naturally." msgstr "" -#: ../source/specifications/simple-repository-api.rst:911 -#: ../source/specifications/simple-repository-api.rst:925 -msgid "Additional file information" +#: ../source/specifications/simple-repository-api.rst:478 +msgid "" +"``dist-info-metadata``: An **optional** key that indicates that metadata for " +"this file is available, via the same location as specified in :ref:`the API " +"metadata file specification ` " +"(``{file_url}.metadata``). Where this is present, it **MUST** be either a " +"boolean to indicate if the file has an associated metadata file, or a " +"dictionary mapping hash names to a hex encoded digest of the metadata's hash." msgstr "" -#: ../source/specifications/simple-repository-api.rst:913 -#: ../source/specifications/simple-repository-api.rst:927 -msgid "Two new keys are added to the ``files`` key." +#: ../source/specifications/simple-repository-api.rst:486 +msgid "" +"When this is a dictionary of hashes instead of a boolean, then all the same " +"requirements and recommendations as the ``hashes`` key hold true for this " +"key as well." msgstr "" -#: ../source/specifications/simple-repository-api.rst:915 -#: ../source/specifications/simple-repository-api.rst:929 +#: ../source/specifications/simple-repository-api.rst:490 msgid "" -"``size``: This field is mandatory. It MUST contain an integer which is the " -"file size in bytes." +"If this key is missing then the metadata file may or may not exist. If the " +"key value is truthy, then the metadata file is present, and if it is falsey " +"then it is not." msgstr "" -#: ../source/specifications/simple-repository-api.rst:917 -#: ../source/specifications/simple-repository-api.rst:931 +#: ../source/specifications/simple-repository-api.rst:494 msgid "" -"``upload-time``: This field is optional. If present, it MUST contain a valid " -"ISO 8601 date/time string, in the format ``yyyy-mm-ddThh:mm:ss.ffffffZ``, " -"which represents the time the file was uploaded to the index. As indicated " -"by the ``Z`` suffix, the upload time MUST use the UTC timezone. The " -"fractional seconds part of the timestamp (the ``.ffffff`` part) is optional, " -"and if present may contain up to 6 digits of precision. If a server does not " -"record upload time information for a file, it MAY omit the ``upload-time`` " -"key." +"It is recommended that servers make the hashes of the metadata file " +"available if possible." msgstr "" -#: ../source/specifications/simple-repository-api.rst:926 -#: ../source/specifications/simple-repository-api.rst:940 -msgid "Rename dist-info-metadata in the Simple API" +#: ../source/specifications/simple-repository-api.rst:496 +msgid "" +"``gpg-sig``: An **optional** key that acts a boolean to indicate if the file " +"has an associated GPG signature or not. The URL for the signature file " +"follows what is specified in :ref:`the base HTML API specification ` (``{file_url}.asc``). If this key does not exist, then " +"the signature may or may not exist." msgstr "" -#: ../source/specifications/simple-repository-api.rst:929 -#: ../source/specifications/simple-repository-api.rst:943 +#: ../source/specifications/simple-repository-api.rst:501 msgid "" -"The keywords \"**MUST**\", \"**MUST NOT**\", \"**REQUIRED**\", " -"\"**SHALL**\", \"**SHALL NOT**\", \"**SHOULD**\", \"**SHOULD NOT**\", " -"\"**RECOMMENDED**\", \"**MAY**\", and \"**OPTIONAL**\"\" in this document " -"are to be interpreted as described in :rfc:`RFC 2119 <2119>`." +"``yanked``: An **optional** key which may be either a boolean to indicate if " +"the file has been yanked, or a non empty, but otherwise arbitrary, string to " +"indicate that a file has been yanked with a specific reason. If the " +"``yanked`` key is present and is a truthy value, then it **SHOULD** be " +"interpreted as indicating that the file pointed to by the ``url`` field has " +"been \"Yanked\" as per :ref:`the API yank specification `." msgstr "" -#: ../source/specifications/simple-repository-api.rst:936 -#: ../source/specifications/simple-repository-api.rst:950 -msgid "Servers" +#: ../source/specifications/simple-repository-api.rst:507 +msgid "" +"``provenance``: An **optional** key which, if present **MUST** be either a " +"JSON string or ``null``. If not ``null``, it **MUST** be a URL to the file's " +"associated provenance, with the same rules as ``data-provenance`` in the :" +"ref:`base HTML API specification `." msgstr "" -#: ../source/specifications/simple-repository-api.rst:938 -#: ../source/specifications/simple-repository-api.rst:952 +#: ../source/specifications/simple-repository-api.rst:543 msgid "" -"The :ref:`the API metadata file specification ` metadata, when used in the HTML representation of the Simple " -"API, **MUST** be emitted using the attribute name ``data-core-metadata``, " -"with the supported values remaining the same." +"While the ``files`` key is an array, and thus is required to be in some kind " +"of an order, neither :ref:`the base HTML API specification ` nor this spec requires any specific ordering nor that " +"the ordering is consistent from one request to the next. Mentally this is " +"best thought of as a set, but both JSON and HTML lack the functionality to " +"have sets." msgstr "" -#: ../source/specifications/simple-repository-api.rst:944 -#: ../source/specifications/simple-repository-api.rst:958 +#: ../source/specifications/simple-repository-api.rst:552 +#, fuzzy +msgid "Content-Types" +msgstr "Contenido" + +#: ../source/specifications/simple-repository-api.rst:554 msgid "" -"The :ref:`the API metadata file specification ` metadata, when used in the :ref:`the JSON API specification " -"` JSON representation of the Simple API, " -"**MUST** be emitted using the key ``core-metadata``, with the supported " -"values remaining the same." +"This spec proposes that all responses from the Simple API will have a " +"standard content type that describes what the response is (a Simple API " +"response), what version of the API it represents, and what serialization " +"format has been used." msgstr "" -#: ../source/specifications/simple-repository-api.rst:950 -#: ../source/specifications/simple-repository-api.rst:964 -msgid "" -"To support clients that used the previous key names, the HTML representation " -"**MAY** also be emitted using the ``data-dist-info-metadata``, and if it " -"does so it **MUST** match the value of ``data-core-metadata``." +#: ../source/specifications/simple-repository-api.rst:558 +msgid "The structure of this content type will be:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:959 -#: ../source/specifications/simple-repository-api.rst:973 +#: ../source/specifications/simple-repository-api.rst:564 msgid "" -"Clients consuming any of the HTML representations of the Simple API **MUST** " -"read the :ref:`the API metadata file specification ` metadata from the key ``data-core-metadata`` if it is " -"present. They **MAY** optionally use the legacy ``data-dist-info-metadata`` " -"if it is present but ``data-core-metadata`` is not." +"Since only major versions should be disruptive to clients attempting to " +"understand one of these API responses, only the major version will be " +"included in the content type, and will be prefixed with a ``v`` to clarify " +"that it is a version number." msgstr "" -#: ../source/specifications/simple-repository-api.rst:966 -#: ../source/specifications/simple-repository-api.rst:980 -msgid "" -"Clients consuming the JSON representation of the Simple API **MUST** read " -"the :ref:`the API metadata file specification ` metadata from the key ``core-metadata`` if it is present. " -"They **MAY** optionally use the legacy ``dist-info-metadata`` key if it is " -"present but ``core-metadata`` is not." +#: ../source/specifications/simple-repository-api.rst:569 +msgid "Which means that for the existing 1.0 API, the content types would be:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:976 -#: ../source/specifications/simple-repository-api.rst:990 -msgid "September 2015: initial form of the HTML format, in :pep:`503`" +#: ../source/specifications/simple-repository-api.rst:571 +msgid "**JSON:** ``application/vnd.pypi.simple.v1+json``" msgstr "" -#: ../source/specifications/simple-repository-api.rst:977 -#: ../source/specifications/simple-repository-api.rst:991 -msgid "July 2016: Requires-Python metadata, in an update to :pep:`503`" +#: ../source/specifications/simple-repository-api.rst:572 +msgid "**HTML:** ``application/vnd.pypi.simple.v1+html``" msgstr "" -#: ../source/specifications/simple-repository-api.rst:978 -#: ../source/specifications/simple-repository-api.rst:992 -msgid "May 2019: \"yank\" support, in :pep:`592`" +#: ../source/specifications/simple-repository-api.rst:574 +msgid "" +"In addition to the above, a special \"meta\" version is supported named " +"``latest``, whose purpose is to allow clients to request the absolute latest " +"version, without having to know ahead of time what that version is. It is " +"recommended however, that clients be explicit about what versions they " +"support." msgstr "" -#: ../source/specifications/simple-repository-api.rst:979 -#: ../source/specifications/simple-repository-api.rst:993 +#: ../source/specifications/simple-repository-api.rst:579 msgid "" -"July 2020: API versioning convention and metadata, and declaring the HTML " -"format as API v1, in :pep:`629`" +"To support existing clients which expect the existing :ref:`the base HTML " +"API specification ` API responses to use the " +"``text/html`` content type, this spec further defines ``text/html`` as an " +"alias for the ``application/vnd.pypi.simple.v1+html`` content type." msgstr "" -#: ../source/specifications/simple-repository-api.rst:981 -#: ../source/specifications/simple-repository-api.rst:995 +#: ../source/specifications/simple-repository-api.rst:586 +#, fuzzy +msgid "Version + Format Selection" +msgstr "Versión" + +#: ../source/specifications/simple-repository-api.rst:588 msgid "" -"May 2021: providing package metadata independently from a package, in :pep:" -"`658`" +"Now that there is multiple possible serializations, we need a mechanism to " +"allow clients to indicate what serialization formats they're able to " +"understand. In addition, it would be beneficial if any possible new major " +"version to the API can be added without disrupting existing clients " +"expecting the previous API version." msgstr "" -#: ../source/specifications/simple-repository-api.rst:983 -#: ../source/specifications/simple-repository-api.rst:997 +#: ../source/specifications/simple-repository-api.rst:593 msgid "" -"May 2022: initial form of the JSON format, with a mechanism for clients to " -"choose between them, and declaring both formats as API v1, in :pep:`691`" +"To enable this, this spec standardizes on the use of HTTP's `Server-Driven " +"Content Negotiation `_." msgstr "" -#: ../source/specifications/simple-repository-api.rst:985 -#: ../source/specifications/simple-repository-api.rst:999 +#: ../source/specifications/simple-repository-api.rst:596 msgid "" -"October 2022: project versions and file size and upload-time in the JSON " -"format, in :pep:`700`" +"While this spec won't fully describe the entirety of server-driven content " +"negotiation, the flow is roughly:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:987 -#: ../source/specifications/simple-repository-api.rst:1001 +#: ../source/specifications/simple-repository-api.rst:599 msgid "" -"June 2023: renaming the field which provides package metadata independently " -"from a package, in :pep:`714`" -msgstr "" - -#: ../source/specifications/source-distribution-format.rst:6 -msgid "Source distribution format" +"The client makes an HTTP request containing an ``Accept`` header listing all " +"of the version+format content types that they are able to understand." msgstr "" -#: ../source/specifications/source-distribution-format.rst:8 +#: ../source/specifications/simple-repository-api.rst:601 msgid "" -"The current standard format of source distribution format is identified by " -"the presence of a :file:`pyproject.toml` file in the distribution archive. " -"The layout of such a distribution was originally specified in :pep:`517` and " -"is formally documented here." +"The server inspects that header, selects one of the listed content types, " +"then returns a response using that content type (treating the absence of an " +"``Accept`` header as ``Accept: */*``)." msgstr "" -#: ../source/specifications/source-distribution-format.rst:13 +#: ../source/specifications/simple-repository-api.rst:604 msgid "" -"There is also the legacy source distribution format, implicitly defined by " -"the behaviour of ``distutils`` module in the standard library, when " -"executing :command:`setup.py sdist`. This document does not attempt to " -"standardise this format, except to note that if a legacy source distribution " -"contains a ``PKG-INFO`` file using metadata version 2.2 or later, then it " -"MUST follow the rules applicable to source distributions defined in the " -"metadata specification." +"If the server does not support any of the content types in the ``Accept`` " +"header then they are able to choose between 3 different options for how to " +"respond:" msgstr "" -#: ../source/specifications/source-distribution-format.rst:21 -msgid "Source distributions are also known as *sdists* for short." +#: ../source/specifications/simple-repository-api.rst:608 +msgid "" +"Select a default content type other than what the client has requested and " +"return a response with that." msgstr "" -#: ../source/specifications/source-distribution-format.rst:24 -msgid "Source trees" +#: ../source/specifications/simple-repository-api.rst:610 +msgid "" +"Return a HTTP ``406 Not Acceptable`` response to indicate that none of the " +"requested content types were available, and the server was unable or " +"unwilling to select a default content type to respond with." msgstr "" -#: ../source/specifications/source-distribution-format.rst:26 +#: ../source/specifications/simple-repository-api.rst:613 msgid "" -"A *source tree* is a collection of files and directories -- like a version " -"control system checkout -- which contains a :file:`pyproject.toml` file that " -"can be use to build a source distribution from the contained files and " -"directories. :pep:`517` and :pep:`518` specify what is required to meet the " -"definition of what :file:`pyproject.toml` must contain for something to be " -"deemed a source tree." +"Return a HTTP ``300 Multiple Choices`` response that contains a list of all " +"of the possible responses that could have been chosen." msgstr "" -#: ../source/specifications/source-distribution-format.rst:34 -msgid "Source distribution file name" +#: ../source/specifications/simple-repository-api.rst:615 +msgid "" +"The client interprets the response, handling the different types of " +"responses that the server may have responded with." msgstr "" -#: ../source/specifications/source-distribution-format.rst:36 +#: ../source/specifications/simple-repository-api.rst:618 msgid "" -"The file name of a sdist was standardised in :pep:`625`. The file name must " -"be in the form ``{name}-{version}.tar.gz``, where ``{name}`` is normalised " -"according to the same rules as for binary distributions (see :ref:`binary-" -"distribution-format`), and ``{version}`` is the canonicalized form of the " -"project version (see :ref:`version-specifiers`)." +"This spec does not specify which choices the server makes in regards to " +"handling a content type that it isn't able to return, and clients **SHOULD** " +"be prepared to handle all of the possible responses in whatever way makes " +"the most sense for that client." msgstr "" -#: ../source/specifications/source-distribution-format.rst:42 +#: ../source/specifications/simple-repository-api.rst:623 msgid "" -"The name and version components of the filename MUST match the values stored " -"in the metadata contained in the file." +"However, as there is no standard format for how a ``300 Multiple Choices`` " +"response can be interpreted, this spec highly discourages servers from " +"utilizing that option, as clients will have no way to understand and select " +"a different content-type to request. In addition, it's unlikely that the " +"client *could* understand a different content type anyways, so at best this " +"response would likely just be treated the same as a ``406 Not Acceptable`` " +"error." msgstr "" -#: ../source/specifications/source-distribution-format.rst:45 +#: ../source/specifications/simple-repository-api.rst:630 msgid "" -"Code that produces a source distribution file MUST give the file a name that " -"matches this specification. This includes the ``build_sdist`` hook of a :" -"term:`build backend `." +"This spec **does** require that if the meta version ``latest`` is being " +"used, the server **MUST** respond with the content type for the actual " +"version that is contained in the response (i.e. an ``Accept: application/vnd." +"pypi.simple.latest+json`` request that returns a ``v1.x`` response should " +"have a ``Content-Type`` of ``application/vnd.pypi.simple.v1+json``)." msgstr "" -#: ../source/specifications/source-distribution-format.rst:49 +#: ../source/specifications/simple-repository-api.rst:637 msgid "" -"Code that processes source distribution files MAY recognise source " -"distribution files by the ``.tar.gz`` suffix and the presence of precisely " -"*one* hyphen in the filename. Code that does this may then use the " -"distribution name and version from the filename without further verification." +"The ``Accept`` header is a comma separated list of content types that the " +"client understands and is able to process. It supports three different " +"formats for each content type that is being requested:" msgstr "" -#: ../source/specifications/source-distribution-format.rst:55 -msgid "Source distribution file format" +#: ../source/specifications/simple-repository-api.rst:641 +msgid "``$type/$subtype``" msgstr "" -#: ../source/specifications/source-distribution-format.rst:57 -msgid "" -"A ``.tar.gz`` source distribution (sdist) contains a single top-level " -"directory called ``{name}-{version}`` (e.g. ``foo-1.0``), containing the " -"source files of the package. The name and version MUST match the metadata " -"stored in the file. This directory must also contain a :file:`pyproject." -"toml` in the format defined in :ref:`pyproject-toml-spec`, and a ``PKG-" -"INFO`` file containing metadata in the format described in the :ref:`core-" -"metadata` specification. The metadata MUST conform to at least version 2.2 " -"of the metadata specification." +#: ../source/specifications/simple-repository-api.rst:642 +msgid "``$type/*``" msgstr "" -#: ../source/specifications/source-distribution-format.rst:65 -msgid "" -"No other content of a sdist is required or defined. Build systems can store " -"whatever information they need in the sdist to build the project." +#: ../source/specifications/simple-repository-api.rst:643 +msgid "``*/*``" msgstr "" -#: ../source/specifications/source-distribution-format.rst:68 +#: ../source/specifications/simple-repository-api.rst:645 msgid "" -"The tarball should use the modern POSIX.1-2001 pax tar format, which " -"specifies UTF-8 based file names. In particular, source distribution files " -"must be readable using the standard library tarfile module with the open " -"flag 'r:gz'." +"For the use of selecting a version+format, the most useful of these is " +"``$type/$subtype``, as that is the only way to actually specify the version " +"and format you want." msgstr "" -#: ../source/specifications/source-distribution-format.rst:76 -#, fuzzy -msgid "Source distribution archive features" -msgstr "Formatos de archivo de distribución de paquetes" - -#: ../source/specifications/source-distribution-format.rst:78 +#: ../source/specifications/simple-repository-api.rst:649 msgid "" -"Because extracting tar files as-is is dangerous, and the results are " -"platform-specific, archive features of source distributions are limited." -msgstr "" - -#: ../source/specifications/source-distribution-format.rst:82 -msgid "Unpacking with the data filter" +"The order of the content types listed in the ``Accept`` header does not have " +"any specific meaning, and the server **SHOULD** consider all of them to be " +"equally valid to respond with. If a client wishes to specify that they " +"prefer a specific content type over another, they may use the ``Accept`` " +"header's `quality value `_ syntax." msgstr "" -#: ../source/specifications/source-distribution-format.rst:84 +#: ../source/specifications/simple-repository-api.rst:656 msgid "" -"When extracting a source distribution, tools MUST either use :py:func:" -"`tarfile.data_filter` (e.g. :py:meth:`TarFile.extractall(..., filter='data') " -"`), OR follow the *Unpacking without the data " -"filter* section below." +"This allows a client to specify a priority for a specific entry in their " +"``Accept`` header, by appending a ``;q=`` followed by a value between ``0`` " +"and ``1`` inclusive, with up to 3 decimal digits. When interpreting this " +"value, an entry with a higher quality has priority over an entry with a " +"lower quality, and any entry without a quality present will default to a " +"quality of ``1``." msgstr "" -#: ../source/specifications/source-distribution-format.rst:88 +#: ../source/specifications/simple-repository-api.rst:662 msgid "" -"As an exception, on Python interpreters without :py:func:`hasattr(tarfile, " -"'data_filter') ` (:pep:`706`), tools that normally use " -"that filter (directly on indirectly) MAY warn the user and ignore this " -"specification. The trade-off between usability (e.g. fully trusting the " -"archive) and security (e.g. refusing to unpack) is left up to the tool in " -"this case." +"However, clients should keep in mind that a server is free to select **any** " +"of the content types they've asked for, regardless of their requested " +"priority, and it may even return a content type that they did **not** ask " +"for." msgstr "" -#: ../source/specifications/source-distribution-format.rst:96 -msgid "Unpacking without the data filter" +#: ../source/specifications/simple-repository-api.rst:666 +msgid "" +"To aid clients in determining the content type of the response that they " +"have received from an API request, this spec requires that servers always " +"include a ``Content-Type`` header indicating the content type of the " +"response. This is technically a backwards incompatible change, however in " +"practice `pip has been enforcing this requirement `_ so the risks for actual breakages is low." msgstr "" -#: ../source/specifications/source-distribution-format.rst:98 -msgid "" -"Tools that do not use the ``data`` filter directly (e.g. for backwards " -"compatibility, allowing additional features, or not using Python) MUST " -"follow this section. (At the time of this writing, the ``data`` filter also " -"follows this section, but it may get out of sync in the future.)" +#: ../source/specifications/simple-repository-api.rst:673 +msgid "An example of how a client can operate would look like:" msgstr "" -#: ../source/specifications/source-distribution-format.rst:104 +#: ../source/specifications/simple-repository-api.rst:724 msgid "" -"The following files are invalid in an *sdist* archive. Upon encountering " -"such an entry, tools SHOULD notify the user, MUST NOT unpack the entry, and " -"MAY abort with a failure:" +"If a client wishes to only support HTML or only support JSON, then they " +"would just remove the content types that they do not want from the " +"``Accept`` header, and turn receiving them into an error." msgstr "" -#: ../source/specifications/source-distribution-format.rst:108 -msgid "Files that would be placed outside the destination directory." +#: ../source/specifications/simple-repository-api.rst:730 +msgid "Alternative Negotiation Mechanisms" msgstr "" -#: ../source/specifications/source-distribution-format.rst:109 -msgid "Links (symbolic or hard) pointing outside the destination directory." +#: ../source/specifications/simple-repository-api.rst:732 +msgid "" +"While using HTTP's Content negotiation is considered the standard way for a " +"client and server to coordinate to ensure that the client is getting an HTTP " +"response that it is able to understand, there are situations where that " +"mechanism may not be sufficient. For those cases this spec has alternative " +"negotiation mechanisms that may *optionally* be used instead." msgstr "" -#: ../source/specifications/source-distribution-format.rst:110 -msgid "Device files (including pipes)." +#: ../source/specifications/simple-repository-api.rst:740 +msgid "URL Parameter" msgstr "" -#: ../source/specifications/source-distribution-format.rst:112 +#: ../source/specifications/simple-repository-api.rst:742 msgid "" -"The following are also invalid. Tools MAY treat them as above, but are NOT " -"REQUIRED to do so:" -msgstr "" - -#: ../source/specifications/source-distribution-format.rst:115 -msgid "Files with a ``..`` component in the filename or link target." +"Servers that implement the Simple API may choose to support a URL parameter " +"named ``format`` to allow the clients to request a specific version of the " +"URL." msgstr "" -#: ../source/specifications/source-distribution-format.rst:116 -msgid "Links pointing to a file that is not part of the archive." +#: ../source/specifications/simple-repository-api.rst:745 +msgid "" +"The value of the ``format`` parameter should be **one** of the valid content " +"types. Passing multiple content types, wild cards, quality values, etc... is " +"**not** supported." msgstr "" -#: ../source/specifications/source-distribution-format.rst:118 +#: ../source/specifications/simple-repository-api.rst:749 msgid "" -"Tools MAY unpack links (symbolic or hard) as regular files, using content " -"from the archive." +"Supporting this parameter is optional, and clients **SHOULD NOT** rely on it " +"for interacting with the API. This negotiation mechanism is intended to " +"allow for easier human based exploration of the API within a browser, or to " +"allow documentation or notes to link to a specific version+format." msgstr "" -#: ../source/specifications/source-distribution-format.rst:121 -msgid "When extracting *sdist* archives:" +#: ../source/specifications/simple-repository-api.rst:754 +msgid "" +"Servers that do not support this parameter may choose to return an error " +"when it is present, or they may simple ignore its presence." msgstr "" -#: ../source/specifications/source-distribution-format.rst:123 +#: ../source/specifications/simple-repository-api.rst:757 msgid "" -"Leading slashes in file names MUST be dropped. (This is nowadays standard " -"behaviour for ``tar`` unpacking.)" +"When a server does implement this parameter, it **SHOULD** take precedence " +"over any values in the client's ``Accept`` header, and if the server does " +"not support the requested format, it may choose to fall back to the " +"``Accept`` header, or choose any of the error conditions that standard " +"server-driven content negotiation typically has (e.g. ``406 Not Available``, " +"``303 Multiple Choices``, or selecting a default type to return)." msgstr "" -#: ../source/specifications/source-distribution-format.rst:125 -msgid "For each ``mode`` (Unix permission) bit, tools MUST either:" -msgstr "" +#: ../source/specifications/simple-repository-api.rst:766 +#, fuzzy +msgid "Endpoint Configuration" +msgstr "Configuraciones habituales" -#: ../source/specifications/source-distribution-format.rst:127 -msgid "use the platform's default for a new file/directory (respectively)," +#: ../source/specifications/simple-repository-api.rst:768 +msgid "" +"This option technically is not a special option at all, it is just a natural " +"consequence of using content negotiation and allowing servers to select " +"which of the available content types is their default." msgstr "" -#: ../source/specifications/source-distribution-format.rst:128 -msgid "set the bit according to the archive, or" +#: ../source/specifications/simple-repository-api.rst:772 +msgid "" +"If a server is unwilling or unable to implement the server-driven content " +"negotiation, and would instead rather require users to explicitly configure " +"their client to select the version they want, then that is a supported " +"configuration." msgstr "" -#: ../source/specifications/source-distribution-format.rst:129 +#: ../source/specifications/simple-repository-api.rst:776 msgid "" -"use the bit from ``rw-r--r--`` (``0o644``) for non-executable files or " -"``rwxr-xr-x`` (``0o755``) for executable files and directories." +"To enable this, a server should make multiple endpoints (for instance, ``/" +"simple/v1+html/`` and/or ``/simple/v1+json/``) for each version+format that " +"they wish to support. Under that endpoint, they can host a copy of their " +"repository that only supports one (or a subset) of the content-types. When a " +"client makes a request using the ``Accept`` header, the server can ignore it " +"and return the content type that corresponds to that endpoint." msgstr "" -#: ../source/specifications/source-distribution-format.rst:132 -msgid "High ``mode`` bits (setuid, setgid, sticky) MUST be cleared." +#: ../source/specifications/simple-repository-api.rst:783 +msgid "" +"For clients that wish to require specific configuration, they can keep track " +"of which version+format a specific repository URL was configured for, and " +"when making a request to that server, emit an ``Accept`` header that *only* " +"includes the correct content type." msgstr "" -#: ../source/specifications/source-distribution-format.rst:133 -msgid "It is RECOMMENDED to preserve the user *executable* bit." +#: ../source/specifications/simple-repository-api.rst:790 +msgid "TUF Support - PEP 458" msgstr "" -#: ../source/specifications/source-distribution-format.rst:137 -msgid "Further hints" +#: ../source/specifications/simple-repository-api.rst:792 +msgid "" +":pep:`458` requires that all API responses are hashable and that they can be " +"uniquely identified by a path relative to the repository root. For a Simple " +"API repository, the target path is the Root of our API (e.g. ``/simple/`` on " +"PyPI). This creates challenges when accessing the API using a TUF client " +"instead of directly using a standard HTTP client, as the TUF client cannot " +"handle the fact that a target could have multiple different representations " +"that all hash differently." msgstr "" -#: ../source/specifications/source-distribution-format.rst:139 +#: ../source/specifications/simple-repository-api.rst:799 msgid "" -"Tool authors are encouraged to consider how *hints for further verification* " -"in ``tarfile`` documentation apply to their tool." +":pep:`458` does not specify what the target path should be for the Simple " +"API, but TUF requires that the target paths be \"file-like\", in other " +"words, a path like ``simple/PROJECT/`` is not acceptable, because it " +"technically points to a directory." msgstr "" -#: ../source/specifications/source-distribution-format.rst:146 +#: ../source/specifications/simple-repository-api.rst:804 msgid "" -"November 2020: The original version of this specification was approved " -"through :pep:`643`." +"The saving grace is that the target path does not *have* to actually match " +"the URL being fetched from the Simple API, and it can just be a sigil that " +"the fetching code knows how to transform into the actual URL that needs to " +"be fetched. This same thing can hold true for other aspects of the actual " +"HTTP request, such as the ``Accept`` header." msgstr "" -#: ../source/specifications/source-distribution-format.rst:148 -msgid "July 2021: Defined what a source tree is." +#: ../source/specifications/simple-repository-api.rst:810 +msgid "" +"Ultimately figuring out how to map a directory to a filename is out of scope " +"for this spec (but it would be in scope for :pep:`458`), and this spec " +"defers making a decision about how exactly to represent this inside of :pep:" +"`458` metadata." msgstr "" -#: ../source/specifications/source-distribution-format.rst:149 +#: ../source/specifications/simple-repository-api.rst:814 msgid "" -"September 2022: The filename of a source distribution was standardized " -"through :pep:`625`." +"However, it appears that the current WIP branch against pip that attempts to " +"implement :pep:`458` is using a target path like ``simple/PROJECT/index." +"html``. This could be modified to include the API version and serialization " +"format using something like ``simple/PROJECT/vnd.pypi.simple.vN.FORMAT``. So " +"the v1 HTML format would be ``simple/PROJECT/vnd.pypi.simple.v1.html`` and " +"the v1 JSON format would be ``simple/PROJECT/vnd.pypi.simple.v1.json``." msgstr "" -#: ../source/specifications/source-distribution-format.rst:151 +#: ../source/specifications/simple-repository-api.rst:821 msgid "" -"August 2023: Source distribution archive features were standardized through :" -"pep:`721`." +"In this case, since ``text/html`` is an alias to ``application/vnd.pypi." +"simple.v1+html`` when interacting through TUF, it likely will make the most " +"sense to normalize to the more explicit name." msgstr "" -#: ../source/specifications/version-specifiers.rst:7 -#: ../source/specifications/version-specifiers.rst:782 -msgid "Version specifiers" +#: ../source/specifications/simple-repository-api.rst:825 +msgid "" +"Likewise the ``latest`` metaversion should not be included in the targets, " +"only explicitly declared versions should be supported." msgstr "" -#: ../source/specifications/version-specifiers.rst:10 +#: ../source/specifications/simple-repository-api.rst:831 msgid "" -"This specification describes a scheme for identifying versions of Python " -"software distributions, and declaring dependencies on particular versions." +"This section is non-normative, and represents what the spec authors believe " +"to be the best default implementation decisions for something implementing " +"this spec, but it does **not** represent any sort of requirement to match " +"these decisions." msgstr "" -#: ../source/specifications/version-specifiers.rst:15 -#, fuzzy -msgid "Definitions" -msgstr "Especificaciones" - -#: ../source/specifications/version-specifiers.rst:17 +#: ../source/specifications/simple-repository-api.rst:835 msgid "" -"The key words \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL " -"NOT\", \"SHOULD\", \"SHOULD NOT\", \"RECOMMENDED\", \"MAY\", and " -"\"OPTIONAL\" in this document are to be interpreted as described in :rfc:" -"`2119`." +"These decisions have been chosen to maximize the number of requests that can " +"be moved onto the newest version of an API, while maintaining the greatest " +"amount of compatibility. In addition, they've also tried to make using the " +"API provide guardrails that attempt to push clients into making the best " +"choices it can." msgstr "" -#: ../source/specifications/version-specifiers.rst:21 -msgid "" -"\"Build tools\" are automated tools intended to run on development systems, " -"producing source and binary distribution archives. Build tools may also be " -"invoked by integration tools in order to build software distributed as " -"sdists rather than prebuilt binary archives." +#: ../source/specifications/simple-repository-api.rst:840 +msgid "It is recommended that servers:" msgstr "" -#: ../source/specifications/version-specifiers.rst:26 +#: ../source/specifications/simple-repository-api.rst:842 msgid "" -"\"Index servers\" are active distribution registries which publish version " -"and dependency metadata and place constraints on the permitted metadata." +"Support all 3 content types described in this spec, using server-driven " +"content negotiation, for as long as they reasonably can, or at least as long " +"as they're receiving non trivial traffic that uses the HTML responses." msgstr "" -#: ../source/specifications/version-specifiers.rst:29 +#: ../source/specifications/simple-repository-api.rst:846 msgid "" -"\"Publication tools\" are automated tools intended to run on development " -"systems and upload source and binary distribution archives to index servers." +"When encountering an ``Accept`` header that does not contain any content " +"types that it knows how to work with, the server should not ever return a " +"``300 Multiple Choice`` response, and instead return a ``406 Not " +"Acceptable`` response." msgstr "" -#: ../source/specifications/version-specifiers.rst:32 +#: ../source/specifications/simple-repository-api.rst:851 msgid "" -"\"Installation tools\" are integration tools specifically intended to run on " -"deployment targets, consuming source and binary distribution archives from " -"an index server or other designated location and deploying them to the " -"target system." +"However, if choosing to use the endpoint configuration, you should prefer to " +"return a ``200 OK`` response in the expected content type for that endpoint." msgstr "" -#: ../source/specifications/version-specifiers.rst:37 +#: ../source/specifications/simple-repository-api.rst:854 msgid "" -"\"Automated tools\" is a collective term covering build tools, index " -"servers, publication tools, integration tools and any other software that " -"produces or consumes distribution version and dependency metadata." +"When selecting an acceptable version, the server should choose the highest " +"version that the client supports, with the most expressive/featureful " +"serialization format, taking into account the specificity of the client " +"requests as well as any quality priority values they have expressed, and it " +"should only use the ``text/html`` content type as a last resort." msgstr "" -#: ../source/specifications/version-specifiers.rst:43 -#, fuzzy -msgid "Version scheme" -msgstr "Versión" +#: ../source/specifications/simple-repository-api.rst:860 +msgid "It is recommended that clients:" +msgstr "" -#: ../source/specifications/version-specifiers.rst:45 +#: ../source/specifications/simple-repository-api.rst:862 msgid "" -"Distributions are identified by a public version identifier which supports " -"all defined version comparison operations" +"Support all 3 content types described in this spec, using server-driven " +"content negotiation, for as long as they reasonably can." msgstr "" -#: ../source/specifications/version-specifiers.rst:48 +#: ../source/specifications/simple-repository-api.rst:865 msgid "" -"The version scheme is used both to describe the distribution version " -"provided by a particular distribution archive, as well as to place " -"constraints on the version of dependencies needed in order to build or run " -"the software." +"When constructing an ``Accept`` header, include all of the content types " +"that you support." msgstr "" -#: ../source/specifications/version-specifiers.rst:57 -msgid "Public version identifiers" +#: ../source/specifications/simple-repository-api.rst:868 +msgid "" +"You should generally *not* include a quality priority value for your content " +"types, unless you have implementation specific reasons that you want the " +"server to take into account (for example, if you're using the standard " +"library HTML parser and you're worried that there may be some kinds of HTML " +"responses that you're unable to parse in some edge cases)." msgstr "" -#: ../source/specifications/version-specifiers.rst:59 +#: ../source/specifications/simple-repository-api.rst:874 msgid "" -"The canonical public version identifiers MUST comply with the following " -"scheme::" +"The one exception to this recommendation is that it is recommended that you " +"*should* include a ``;q=0.01`` value on the legacy ``text/html`` content " +"type, unless it is the only content type that you are requesting." msgstr "" -#: ../source/specifications/version-specifiers.rst:64 +#: ../source/specifications/simple-repository-api.rst:878 msgid "" -"Public version identifiers MUST NOT include leading or trailing whitespace." +"Explicitly select what versions they are looking for, rather than using the " +"``latest`` meta version during normal operation." msgstr "" -#: ../source/specifications/version-specifiers.rst:66 -msgid "Public version identifiers MUST be unique within a given distribution." +#: ../source/specifications/simple-repository-api.rst:881 +msgid "" +"Check the ``Content-Type`` of the response and ensure it matches something " +"that you were expecting." msgstr "" -#: ../source/specifications/version-specifiers.rst:68 -msgid "" -"Installation tools SHOULD ignore any public versions which do not comply " -"with this scheme but MUST also include the normalizations specified below. " -"Installation tools MAY warn the user when non-compliant or ambiguous " -"versions are detected." +#: ../source/specifications/simple-repository-api.rst:885 +msgid "Additional Fields for the Simple API for Package Indexes" msgstr "" -#: ../source/specifications/version-specifiers.rst:73 +#: ../source/specifications/simple-repository-api.rst:887 msgid "" -"See also :ref:`version-specifiers-regex` which provides a regular expression " -"to check strict conformance with the canonical format, as well as a more " -"permissive regular expression accepting inputs that may require subsequent " -"normalization." +"This specification defines version 1.1 of the simple repository API. For the " +"HTML version of the API, there is no change from version 1.0. For the JSON " +"version of the API, the following changes are made:" msgstr "" -#: ../source/specifications/version-specifiers.rst:78 -msgid "Public version identifiers are separated into up to five segments:" +#: ../source/specifications/simple-repository-api.rst:891 +msgid "The ``api-version`` must specify version 1.1 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:80 -msgid "Epoch segment: ``N!``" +#: ../source/specifications/simple-repository-api.rst:892 +msgid "A new ``versions`` key is added at the top level." msgstr "" -#: ../source/specifications/version-specifiers.rst:81 -msgid "Release segment: ``N(.N)*``" +#: ../source/specifications/simple-repository-api.rst:893 +msgid "" +"Two new \"file information\" keys, ``size`` and ``upload-time``, are added " +"to the ``files`` data." msgstr "" -#: ../source/specifications/version-specifiers.rst:82 -msgid "Pre-release segment: ``{a|b|rc}N``" +#: ../source/specifications/simple-repository-api.rst:895 +msgid "" +"Keys (at any level) with a leading underscore are reserved as private for " +"index server use. No future standard will assign a meaning to any such key." msgstr "" -#: ../source/specifications/version-specifiers.rst:83 -msgid "Post-release segment: ``.postN``" +#: ../source/specifications/simple-repository-api.rst:898 +msgid "" +"The ``versions`` and ``size`` keys are mandatory. The ``upload-time`` key is " +"optional." msgstr "" -#: ../source/specifications/version-specifiers.rst:84 -msgid "Development release segment: ``.devN``" +#: ../source/specifications/simple-repository-api.rst:904 +msgid "" +"An additional key, ``versions`` MUST be present at the top level, in " +"addition to the keys ``name``, ``files`` and ``meta`` defined in :ref:`the " +"JSON API specification `. This key MUST contain " +"a list of version strings specifying all of the project versions uploaded " +"for this project. The value is logically a set, and as such may not contain " +"duplicates, and the order of the values is not significant." msgstr "" -#: ../source/specifications/version-specifiers.rst:86 +#: ../source/specifications/simple-repository-api.rst:911 msgid "" -"Any given release will be a \"final release\", \"pre-release\", \"post-" -"release\" or \"developmental release\" as defined in the following sections." +"All of the files listed in the ``files`` key MUST be associated with one of " +"the versions in the ``versions`` key. The ``versions`` key MAY contain " +"versions with no associated files (to represent versions with no files " +"uploaded, if the server has such a concept)." msgstr "" -#: ../source/specifications/version-specifiers.rst:89 +#: ../source/specifications/simple-repository-api.rst:916 msgid "" -"All numeric components MUST be non-negative integers represented as " -"sequences of ASCII digits." +"Note that because servers may hold \"legacy\" data from before the adoption " +"of :ref:`the version specifiers specification (VSS) `, " +"version strings currently cannot be required to be valid VSS versions, and " +"therefore cannot be assumed to be orderable using the VSS rules. However, " +"servers SHOULD use normalised VSS versions where possible." msgstr "" -#: ../source/specifications/version-specifiers.rst:92 -msgid "" -"All numeric components MUST be interpreted and ordered according to their " -"numeric value, not as text strings." +#: ../source/specifications/simple-repository-api.rst:925 +msgid "Additional file information" msgstr "" -#: ../source/specifications/version-specifiers.rst:95 +#: ../source/specifications/simple-repository-api.rst:927 +msgid "Two new keys are added to the ``files`` key." +msgstr "" + +#: ../source/specifications/simple-repository-api.rst:929 msgid "" -"All numeric components MAY be zero. Except as described below for the " -"release segment, a numeric component of zero has no special significance " -"aside from always being the lowest possible value in the version ordering." +"``size``: This field is mandatory. It MUST contain an integer which is the " +"file size in bytes." msgstr "" -#: ../source/specifications/version-specifiers.rst:101 +#: ../source/specifications/simple-repository-api.rst:931 msgid "" -"Some hard to read version identifiers are permitted by this scheme in order " -"to better accommodate the wide range of versioning practices across existing " -"public and private Python projects." +"``upload-time``: This field is optional. If present, it MUST contain a valid " +"ISO 8601 date/time string, in the format ``yyyy-mm-ddThh:mm:ss.ffffffZ``, " +"which represents the time the file was uploaded to the index. As indicated " +"by the ``Z`` suffix, the upload time MUST use the UTC timezone. The " +"fractional seconds part of the timestamp (the ``.ffffff`` part) is optional, " +"and if present may contain up to 6 digits of precision. If a server does not " +"record upload time information for a file, it MAY omit the ``upload-time`` " +"key." msgstr "" -#: ../source/specifications/version-specifiers.rst:105 +#: ../source/specifications/simple-repository-api.rst:940 +msgid "Rename dist-info-metadata in the Simple API" +msgstr "" + +#: ../source/specifications/simple-repository-api.rst:943 msgid "" -"Accordingly, some of the versioning practices which are technically " -"permitted by the specification are strongly discouraged for new projects. " -"Where this is the case, the relevant details are noted in the following " -"sections." +"The keywords \"**MUST**\", \"**MUST NOT**\", \"**REQUIRED**\", " +"\"**SHALL**\", \"**SHALL NOT**\", \"**SHOULD**\", \"**SHOULD NOT**\", " +"\"**RECOMMENDED**\", \"**MAY**\", and \"**OPTIONAL**\"\" in this document " +"are to be interpreted as described in :rfc:`RFC 2119 <2119>`." msgstr "" -#: ../source/specifications/version-specifiers.rst:116 -msgid "Local version identifiers MUST comply with the following scheme::" +#: ../source/specifications/simple-repository-api.rst:950 +msgid "Servers" msgstr "" -#: ../source/specifications/version-specifiers.rst:120 +#: ../source/specifications/simple-repository-api.rst:952 msgid "" -"They consist of a normal public version identifier (as defined in the " -"previous section), along with an arbitrary \"local version label\", " -"separated from the public version identifier by a plus. Local version labels " -"have no specific semantics assigned, but some syntactic restrictions are " -"imposed." +"The :ref:`the API metadata file specification ` metadata, when used in the HTML representation of the Simple " +"API, **MUST** be emitted using the attribute name ``data-core-metadata``, " +"with the supported values remaining the same." msgstr "" -#: ../source/specifications/version-specifiers.rst:125 +#: ../source/specifications/simple-repository-api.rst:958 msgid "" -"Local version identifiers are used to denote fully API (and, if applicable, " -"ABI) compatible patched versions of upstream projects. For example, these " -"may be created by application developers and system integrators by applying " -"specific backported bug fixes when upgrading to a new upstream release would " -"be too disruptive to the application or other integrated system (such as a " -"Linux distribution)." +"The :ref:`the API metadata file specification ` metadata, when used in the :ref:`the JSON API specification " +"` JSON representation of the Simple API, " +"**MUST** be emitted using the key ``core-metadata``, with the supported " +"values remaining the same." msgstr "" -#: ../source/specifications/version-specifiers.rst:132 +#: ../source/specifications/simple-repository-api.rst:964 msgid "" -"The inclusion of the local version label makes it possible to differentiate " -"upstream releases from potentially altered rebuilds by downstream " -"integrators. The use of a local version identifier does not affect the kind " -"of a release but, when applied to a source distribution, does indicate that " -"it may not contain the exact same code as the corresponding upstream release." +"To support clients that used the previous key names, the HTML representation " +"**MAY** also be emitted using the ``data-dist-info-metadata``, and if it " +"does so it **MUST** match the value of ``data-core-metadata``." msgstr "" -#: ../source/specifications/version-specifiers.rst:138 +#: ../source/specifications/simple-repository-api.rst:973 msgid "" -"To ensure local version identifiers can be readily incorporated as part of " -"filenames and URLs, and to avoid formatting inconsistencies in hexadecimal " -"hash representations, local version labels MUST be limited to the following " -"set of permitted characters:" +"Clients consuming any of the HTML representations of the Simple API **MUST** " +"read the :ref:`the API metadata file specification ` metadata from the key ``data-core-metadata`` if it is " +"present. They **MAY** optionally use the legacy ``data-dist-info-metadata`` " +"if it is present but ``data-core-metadata`` is not." msgstr "" -#: ../source/specifications/version-specifiers.rst:143 -msgid "ASCII letters (``[a-zA-Z]``)" +#: ../source/specifications/simple-repository-api.rst:980 +msgid "" +"Clients consuming the JSON representation of the Simple API **MUST** read " +"the :ref:`the API metadata file specification ` metadata from the key ``core-metadata`` if it is present. " +"They **MAY** optionally use the legacy ``dist-info-metadata`` key if it is " +"present but ``core-metadata`` is not." msgstr "" -#: ../source/specifications/version-specifiers.rst:144 -msgid "ASCII digits (``[0-9]``)" +#: ../source/specifications/simple-repository-api.rst:990 +msgid "September 2015: initial form of the HTML format, in :pep:`503`" msgstr "" -#: ../source/specifications/version-specifiers.rst:145 -msgid "periods (``.``)" +#: ../source/specifications/simple-repository-api.rst:991 +msgid "July 2016: Requires-Python metadata, in an update to :pep:`503`" msgstr "" -#: ../source/specifications/version-specifiers.rst:147 -msgid "Local version labels MUST start and end with an ASCII letter or digit." +#: ../source/specifications/simple-repository-api.rst:992 +msgid "May 2019: \"yank\" support, in :pep:`592`" msgstr "" -#: ../source/specifications/version-specifiers.rst:149 +#: ../source/specifications/simple-repository-api.rst:993 msgid "" -"Comparison and ordering of local versions considers each segment of the " -"local version (divided by a ``.``) separately. If a segment consists " -"entirely of ASCII digits then that section should be considered an integer " -"for comparison purposes and if a segment contains any ASCII letters then " -"that segment is compared lexicographically with case insensitivity. When " -"comparing a numeric and lexicographic segment, the numeric section always " -"compares as greater than the lexicographic segment. Additionally a local " -"version with a great number of segments will always compare as greater than " -"a local version with fewer segments, as long as the shorter local version's " -"segments match the beginning of the longer local version's segments exactly." +"July 2020: API versioning convention and metadata, and declaring the HTML " +"format as API v1, in :pep:`629`" msgstr "" -#: ../source/specifications/version-specifiers.rst:160 +#: ../source/specifications/simple-repository-api.rst:995 msgid "" -"An \"upstream project\" is a project that defines its own public versions. A " -"\"downstream project\" is one which tracks and redistributes an upstream " -"project, potentially backporting security and bug fixes from later versions " -"of the upstream project." +"May 2021: providing package metadata independently from a package, in :pep:" +"`658`" msgstr "" -#: ../source/specifications/version-specifiers.rst:165 +#: ../source/specifications/simple-repository-api.rst:997 msgid "" -"Local version identifiers SHOULD NOT be used when publishing upstream " -"projects to a public index server, but MAY be used to identify private " -"builds created directly from the project source. Local version identifiers " -"SHOULD be used by downstream projects when releasing a version that is API " -"compatible with the version of the upstream project identified by the public " -"version identifier, but contains additional changes (such as bug fixes). As " -"the Python Package Index is intended solely for indexing and hosting " -"upstream projects, it MUST NOT allow the use of local version identifiers." +"May 2022: initial form of the JSON format, with a mechanism for clients to " +"choose between them, and declaring both formats as API v1, in :pep:`691`" msgstr "" -#: ../source/specifications/version-specifiers.rst:175 +#: ../source/specifications/simple-repository-api.rst:999 msgid "" -"Source distributions using a local version identifier SHOULD provide the " -"``python.integrator`` extension metadata (as defined in :pep:`459`)." +"October 2022: project versions and file size and upload-time in the JSON " +"format, in :pep:`700`" msgstr "" -#: ../source/specifications/version-specifiers.rst:180 -msgid "Final releases" +#: ../source/specifications/simple-repository-api.rst:1001 +msgid "" +"June 2023: renaming the field which provides package metadata independently " +"from a package, in :pep:`714`" msgstr "" -#: ../source/specifications/version-specifiers.rst:182 +#: ../source/specifications/simple-repository-api.rst:1003 msgid "" -"A version identifier that consists solely of a release segment and " -"optionally an epoch identifier is termed a \"final release\"." +"November 2024: provenance metadata in the HTML and JSON formats, in :pep:" +"`740`" msgstr "" -#: ../source/specifications/version-specifiers.rst:185 -msgid "" -"The release segment consists of one or more non-negative integer values, " -"separated by dots::" +#: ../source/specifications/source-distribution-format.rst:6 +msgid "Source distribution format" msgstr "" -#: ../source/specifications/version-specifiers.rst:190 +#: ../source/specifications/source-distribution-format.rst:8 msgid "" -"Final releases within a project MUST be numbered in a consistently " -"increasing fashion, otherwise automated tools will not be able to upgrade " -"them correctly." +"The current standard format of source distribution format is identified by " +"the presence of a :file:`pyproject.toml` file in the distribution archive. " +"The layout of such a distribution was originally specified in :pep:`517` and " +"is formally documented here." msgstr "" -#: ../source/specifications/version-specifiers.rst:194 +#: ../source/specifications/source-distribution-format.rst:13 msgid "" -"Comparison and ordering of release segments considers the numeric value of " -"each component of the release segment in turn. When comparing release " -"segments with different numbers of components, the shorter segment is padded " -"out with additional zeros as necessary." +"There is also the legacy source distribution format, implicitly defined by " +"the behaviour of ``distutils`` module in the standard library, when " +"executing :command:`setup.py sdist`. This document does not attempt to " +"standardise this format, except to note that if a legacy source distribution " +"contains a ``PKG-INFO`` file using metadata version 2.2 or later, then it " +"MUST follow the rules applicable to source distributions defined in the " +"metadata specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:199 -msgid "" -"While any number of additional components after the first are permitted " -"under this scheme, the most common variants are to use two components " -"(\"major.minor\") or three components (\"major.minor.micro\")." +#: ../source/specifications/source-distribution-format.rst:21 +msgid "Source distributions are also known as *sdists* for short." msgstr "" -#: ../source/specifications/version-specifiers.rst:203 -msgid "For example::" -msgstr "Por ejemplo::" +#: ../source/specifications/source-distribution-format.rst:24 +msgid "Source trees" +msgstr "" -#: ../source/specifications/version-specifiers.rst:218 +#: ../source/specifications/source-distribution-format.rst:26 msgid "" -"A release series is any set of final release numbers that start with a " -"common prefix. For example, ``3.3.1``, ``3.3.5`` and ``3.3.9.45`` are all " -"part of the ``3.3`` release series." +"A *source tree* is a collection of files and directories -- like a version " +"control system checkout -- which contains a :file:`pyproject.toml` file that " +"can be use to build a source distribution from the contained files and " +"directories. :pep:`517` and :pep:`518` specify what is required to meet the " +"definition of what :file:`pyproject.toml` must contain for something to be " +"deemed a source tree." msgstr "" -#: ../source/specifications/version-specifiers.rst:224 -msgid "" -"``X.Y`` and ``X.Y.0`` are not considered distinct release numbers, as the " -"release segment comparison rules implicit expand the two component form to " -"``X.Y.0`` when comparing it to any release segment that includes three " -"components." +#: ../source/specifications/source-distribution-format.rst:34 +msgid "Source distribution file name" msgstr "" -#: ../source/specifications/version-specifiers.rst:229 +#: ../source/specifications/source-distribution-format.rst:36 msgid "" -"Date based release segments are also permitted. An example of a date based " -"release scheme using the year and month of the release::" +"The file name of a sdist was standardised in :pep:`625`. The file name must " +"be in the form ``{name}-{version}.tar.gz``, where ``{name}`` is normalised " +"according to the same rules as for binary distributions (see :ref:`binary-" +"distribution-format`), and ``{version}`` is the canonicalized form of the " +"project version (see :ref:`version-specifiers`)." msgstr "" -#: ../source/specifications/version-specifiers.rst:243 -msgid "Pre-releases" +#: ../source/specifications/source-distribution-format.rst:42 +msgid "" +"The name and version components of the filename MUST match the values stored " +"in the metadata contained in the file." msgstr "" -#: ../source/specifications/version-specifiers.rst:245 +#: ../source/specifications/source-distribution-format.rst:45 msgid "" -"Some projects use an \"alpha, beta, release candidate\" pre-release cycle to " -"support testing by their users prior to a final release." +"Code that produces a source distribution file MUST give the file a name that " +"matches this specification. This includes the ``build_sdist`` hook of a :" +"term:`build backend `." msgstr "" -#: ../source/specifications/version-specifiers.rst:248 +#: ../source/specifications/source-distribution-format.rst:49 msgid "" -"If used as part of a project's development cycle, these pre-releases are " -"indicated by including a pre-release segment in the version identifier::" +"Code that processes source distribution files MAY recognise source " +"distribution files by the ``.tar.gz`` suffix and the presence of precisely " +"*one* hyphen in the filename. Code that does this may then use the " +"distribution name and version from the filename without further verification." msgstr "" -#: ../source/specifications/version-specifiers.rst:256 -msgid "" -"A version identifier that consists solely of a release segment and a pre-" -"release segment is termed a \"pre-release\"." +#: ../source/specifications/source-distribution-format.rst:55 +msgid "Source distribution file format" msgstr "" -#: ../source/specifications/version-specifiers.rst:259 +#: ../source/specifications/source-distribution-format.rst:57 msgid "" -"The pre-release segment consists of an alphabetical identifier for the pre-" -"release phase, along with a non-negative integer value. Pre-releases for a " -"given release are ordered first by phase (alpha, beta, release candidate) " -"and then by the numerical component within that phase." +"A ``.tar.gz`` source distribution (sdist) contains a single top-level " +"directory called ``{name}-{version}`` (e.g. ``foo-1.0``), containing the " +"source files of the package. The name and version MUST match the metadata " +"stored in the file. This directory must also contain a :file:`pyproject." +"toml` in the format defined in :ref:`pyproject-toml-spec`, and a ``PKG-" +"INFO`` file containing metadata in the format described in the :ref:`core-" +"metadata` specification. The metadata MUST conform to at least version 2.2 " +"of the metadata specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:264 +#: ../source/specifications/source-distribution-format.rst:65 msgid "" -"Installation tools MAY accept both ``c`` and ``rc`` releases for a common " -"release segment in order to handle some existing legacy distributions." +"No other content of a sdist is required or defined. Build systems can store " +"whatever information they need in the sdist to build the project." msgstr "" -#: ../source/specifications/version-specifiers.rst:267 +#: ../source/specifications/source-distribution-format.rst:68 msgid "" -"Installation tools SHOULD interpret ``c`` versions as being equivalent to " -"``rc`` versions (that is, ``c1`` indicates the same version as ``rc1``)." +"The tarball should use the modern POSIX.1-2001 pax tar format, which " +"specifies UTF-8 based file names. In particular, source distribution files " +"must be readable using the standard library tarfile module with the open " +"flag 'r:gz'." msgstr "" -#: ../source/specifications/version-specifiers.rst:270 +#: ../source/specifications/source-distribution-format.rst:76 +#, fuzzy +msgid "Source distribution archive features" +msgstr "Formatos de archivo de distribución de paquetes" + +#: ../source/specifications/source-distribution-format.rst:78 msgid "" -"Build tools, publication tools and index servers SHOULD disallow the " -"creation of both ``rc`` and ``c`` releases for a common release segment." +"Because extracting tar files as-is is dangerous, and the results are " +"platform-specific, archive features of source distributions are limited." msgstr "" -#: ../source/specifications/version-specifiers.rst:275 -msgid "Post-releases" +#: ../source/specifications/source-distribution-format.rst:82 +msgid "Unpacking with the data filter" msgstr "" -#: ../source/specifications/version-specifiers.rst:277 +#: ../source/specifications/source-distribution-format.rst:84 msgid "" -"Some projects use post-releases to address minor errors in a final release " -"that do not affect the distributed software (for example, correcting an " -"error in the release notes)." +"When extracting a source distribution, tools MUST either use :py:func:" +"`tarfile.data_filter` (e.g. :py:meth:`TarFile.extractall(..., filter='data') " +"`), OR follow the *Unpacking without the data " +"filter* section below." msgstr "" -#: ../source/specifications/version-specifiers.rst:281 +#: ../source/specifications/source-distribution-format.rst:88 msgid "" -"If used as part of a project's development cycle, these post-releases are " -"indicated by including a post-release segment in the version identifier::" +"As an exception, on Python interpreters without :py:func:`hasattr(tarfile, " +"'data_filter') ` (:pep:`706`), tools that normally use " +"that filter (directly on indirectly) MAY warn the user and ignore this " +"specification. The trade-off between usability (e.g. fully trusting the " +"archive) and security (e.g. refusing to unpack) is left up to the tool in " +"this case." msgstr "" -#: ../source/specifications/version-specifiers.rst:286 -msgid "" -"A version identifier that includes a post-release segment without a " -"developmental release segment is termed a \"post-release\"." +#: ../source/specifications/source-distribution-format.rst:96 +msgid "Unpacking without the data filter" msgstr "" -#: ../source/specifications/version-specifiers.rst:289 +#: ../source/specifications/source-distribution-format.rst:98 msgid "" -"The post-release segment consists of the string ``.post``, followed by a non-" -"negative integer value. Post-releases are ordered by their numerical " -"component, immediately following the corresponding release, and ahead of any " -"subsequent release." +"Tools that do not use the ``data`` filter directly (e.g. for backwards " +"compatibility, allowing additional features, or not using Python) MUST " +"follow this section. (At the time of this writing, the ``data`` filter also " +"follows this section, but it may get out of sync in the future.)" msgstr "" -#: ../source/specifications/version-specifiers.rst:296 +#: ../source/specifications/source-distribution-format.rst:104 msgid "" -"The use of post-releases to publish maintenance releases containing actual " -"bug fixes is strongly discouraged. In general, it is better to use a longer " -"release number and increment the final component for each maintenance " -"release." +"The following files are invalid in an *sdist* archive. Upon encountering " +"such an entry, tools SHOULD notify the user, MUST NOT unpack the entry, and " +"MAY abort with a failure:" msgstr "" -#: ../source/specifications/version-specifiers.rst:301 -msgid "Post-releases are also permitted for pre-releases::" +#: ../source/specifications/source-distribution-format.rst:108 +msgid "Files that would be placed outside the destination directory." msgstr "" -#: ../source/specifications/version-specifiers.rst:309 -msgid "" -"Creating post-releases of pre-releases is strongly discouraged, as it makes " -"the version identifier difficult to parse for human readers. In general, it " -"is substantially clearer to simply create a new pre-release by incrementing " -"the numeric component." +#: ../source/specifications/source-distribution-format.rst:109 +msgid "Links (symbolic or hard) pointing outside the destination directory." msgstr "" -#: ../source/specifications/version-specifiers.rst:316 -msgid "Developmental releases" +#: ../source/specifications/source-distribution-format.rst:110 +msgid "Device files (including pipes)." msgstr "" -#: ../source/specifications/version-specifiers.rst:318 +#: ../source/specifications/source-distribution-format.rst:112 msgid "" -"Some projects make regular developmental releases, and system packagers " -"(especially for Linux distributions) may wish to create early releases " -"directly from source control which do not conflict with later project " -"releases." +"The following are also invalid. Tools MAY treat them as above, but are NOT " +"REQUIRED to do so:" msgstr "" -#: ../source/specifications/version-specifiers.rst:323 -msgid "" -"If used as part of a project's development cycle, these developmental " -"releases are indicated by including a developmental release segment in the " -"version identifier::" +#: ../source/specifications/source-distribution-format.rst:115 +msgid "Files with a ``..`` component in the filename or link target." msgstr "" -#: ../source/specifications/version-specifiers.rst:329 -msgid "" -"A version identifier that includes a developmental release segment is termed " -"a \"developmental release\"." +#: ../source/specifications/source-distribution-format.rst:116 +msgid "Links pointing to a file that is not part of the archive." msgstr "" -#: ../source/specifications/version-specifiers.rst:332 +#: ../source/specifications/source-distribution-format.rst:118 msgid "" -"The developmental release segment consists of the string ``.dev``, followed " -"by a non-negative integer value. Developmental releases are ordered by their " -"numerical component, immediately before the corresponding release (and " -"before any pre-releases with the same release segment), and following any " -"previous release (including any post-releases)." +"Tools MAY unpack links (symbolic or hard) as regular files, using content " +"from the archive." msgstr "" -#: ../source/specifications/version-specifiers.rst:338 -msgid "" -"Developmental releases are also permitted for pre-releases and post-" -"releases::" +#: ../source/specifications/source-distribution-format.rst:121 +msgid "When extracting *sdist* archives:" msgstr "" -#: ../source/specifications/version-specifiers.rst:348 +#: ../source/specifications/source-distribution-format.rst:123 msgid "" -"While they may be useful for continuous integration purposes, publishing " -"developmental releases of pre-releases to general purpose public index " -"servers is strongly discouraged, as it makes the version identifier " -"difficult to parse for human readers. If such a release needs to be " -"published, it is substantially clearer to instead create a new pre-release " -"by incrementing the numeric component." +"Leading slashes in file names MUST be dropped. (This is nowadays standard " +"behaviour for ``tar`` unpacking.)" msgstr "" -#: ../source/specifications/version-specifiers.rst:355 -msgid "" -"Developmental releases of post-releases are also strongly discouraged, but " -"they may be appropriate for projects which use the post-release notation for " -"full maintenance releases which may include code changes." +#: ../source/specifications/source-distribution-format.rst:125 +msgid "For each ``mode`` (Unix permission) bit, tools MUST either:" msgstr "" -#: ../source/specifications/version-specifiers.rst:361 -#, fuzzy -msgid "Version epochs" -msgstr "Versión" - -#: ../source/specifications/version-specifiers.rst:363 -msgid "" -"If included in a version identifier, the epoch appears before all other " -"components, separated from the release segment by an exclamation mark::" +#: ../source/specifications/source-distribution-format.rst:127 +msgid "use the platform's default for a new file/directory (respectively)," msgstr "" -#: ../source/specifications/version-specifiers.rst:368 -msgid "If no explicit epoch is given, the implicit epoch is ``0``." +#: ../source/specifications/source-distribution-format.rst:128 +msgid "set the bit according to the archive, or" msgstr "" -#: ../source/specifications/version-specifiers.rst:370 +#: ../source/specifications/source-distribution-format.rst:129 msgid "" -"Most version identifiers will not include an epoch, as an explicit epoch is " -"only needed if a project *changes* the way it handles version numbering in a " -"way that means the normal version ordering rules will give the wrong answer. " -"For example, if a project is using date based versions like ``2014.04`` and " -"would like to switch to semantic versions like ``1.0``, then the new " -"releases would be identified as *older* than the date based releases when " -"using the normal sorting scheme::" +"use the bit from ``rw-r--r--`` (``0o644``) for non-executable files or " +"``rwxr-xr-x`` (``0o755``) for executable files and directories." msgstr "" -#: ../source/specifications/version-specifiers.rst:384 -msgid "" -"However, by specifying an explicit epoch, the sort order can be changed " -"appropriately, as all versions from a later epoch are sorted after versions " -"from an earlier epoch::" +#: ../source/specifications/source-distribution-format.rst:132 +msgid "High ``mode`` bits (setuid, setgid, sticky) MUST be cleared." msgstr "" - -#: ../source/specifications/version-specifiers.rst:398 -#, fuzzy -msgid "Normalization" -msgstr "Traducciones" - -#: ../source/specifications/version-specifiers.rst:400 -msgid "" -"In order to maintain better compatibility with existing versions there are a " -"number of \"alternative\" syntaxes that MUST be taken into account when " -"parsing versions. These syntaxes MUST be considered when parsing a version, " -"however they should be \"normalized\" to the standard syntax defined above." + +#: ../source/specifications/source-distribution-format.rst:133 +msgid "It is RECOMMENDED to preserve the user *executable* bit." msgstr "" -#: ../source/specifications/version-specifiers.rst:407 -msgid "Case sensitivity" +#: ../source/specifications/source-distribution-format.rst:137 +msgid "Further hints" msgstr "" -#: ../source/specifications/version-specifiers.rst:409 +#: ../source/specifications/source-distribution-format.rst:139 msgid "" -"All ascii letters should be interpreted case insensitively within a version " -"and the normal form is lowercase. This allows versions such as ``1.1RC1`` " -"which would be normalized to ``1.1rc1``." +"Tool authors are encouraged to consider how *hints for further verification* " +"in ``tarfile`` documentation apply to their tool." msgstr "" -#: ../source/specifications/version-specifiers.rst:415 -#, fuzzy -msgid "Integer Normalization" -msgstr "Traducciones" - -#: ../source/specifications/version-specifiers.rst:417 +#: ../source/specifications/source-distribution-format.rst:146 msgid "" -"All integers are interpreted via the ``int()`` built in and normalize to the " -"string form of the output. This means that an integer version of ``00`` " -"would normalize to ``0`` while ``09000`` would normalize to ``9000``. This " -"does not hold true for integers inside of an alphanumeric segment of a local " -"version such as ``1.0+foo0100`` which is already in its normalized form." +"November 2020: The original version of this specification was approved " +"through :pep:`643`." msgstr "" -#: ../source/specifications/version-specifiers.rst:425 -msgid "Pre-release separators" +#: ../source/specifications/source-distribution-format.rst:148 +msgid "July 2021: Defined what a source tree is." msgstr "" -#: ../source/specifications/version-specifiers.rst:427 +#: ../source/specifications/source-distribution-format.rst:149 msgid "" -"Pre-releases should allow a ``.``, ``-``, or ``_`` separator between the " -"release segment and the pre-release segment. The normal form for this is " -"without a separator. This allows versions such as ``1.1.a1`` or ``1.1-a1`` " -"which would be normalized to ``1.1a1``. It should also allow a separator to " -"be used between the pre-release signifier and the numeral. This allows " -"versions such as ``1.0a.1`` which would be normalized to ``1.0a1``." -msgstr "" - -#: ../source/specifications/version-specifiers.rst:436 -msgid "Pre-release spelling" +"September 2022: The filename of a source distribution was standardized " +"through :pep:`625`." msgstr "" -#: ../source/specifications/version-specifiers.rst:438 +#: ../source/specifications/source-distribution-format.rst:151 msgid "" -"Pre-releases allow the additional spellings of ``alpha``, ``beta``, ``c``, " -"``pre``, and ``preview`` for ``a``, ``b``, ``rc``, ``rc``, and ``rc`` " -"respectively. This allows versions such as ``1.1alpha1``, ``1.1beta2``, or " -"``1.1c3`` which normalize to ``1.1a1``, ``1.1b2``, and ``1.1rc3``. In every " -"case the additional spelling should be considered equivalent to their normal " -"forms." +"August 2023: Source distribution archive features were standardized through :" +"pep:`721`." msgstr "" -#: ../source/specifications/version-specifiers.rst:447 -msgid "Implicit pre-release number" +#: ../source/specifications/version-specifiers.rst:7 +#: ../source/specifications/version-specifiers.rst:782 +msgid "Version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:449 +#: ../source/specifications/version-specifiers.rst:10 msgid "" -"Pre releases allow omitting the numeral in which case it is implicitly " -"assumed to be ``0``. The normal form for this is to include the ``0`` " -"explicitly. This allows versions such as ``1.2a`` which is normalized to " -"``1.2a0``." +"This specification describes a scheme for identifying versions of Python " +"software distributions, and declaring dependencies on particular versions." msgstr "" -#: ../source/specifications/version-specifiers.rst:455 -msgid "Post release separators" +#: ../source/specifications/version-specifiers.rst:15 +#, fuzzy +msgid "Definitions" +msgstr "Especificaciones" + +#: ../source/specifications/version-specifiers.rst:17 +msgid "" +"The key words \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL " +"NOT\", \"SHOULD\", \"SHOULD NOT\", \"RECOMMENDED\", \"MAY\", and " +"\"OPTIONAL\" in this document are to be interpreted as described in :rfc:" +"`2119`." msgstr "" -#: ../source/specifications/version-specifiers.rst:457 +#: ../source/specifications/version-specifiers.rst:21 msgid "" -"Post releases allow a ``.``, ``-``, or ``_`` separator as well as omitting " -"the separator all together. The normal form of this is with the ``.`` " -"separator. This allows versions such as ``1.2-post2`` or ``1.2post2`` which " -"normalize to ``1.2.post2``. Like the pre-release separator this also allows " -"an optional separator between the post release signifier and the numeral. " -"This allows versions like ``1.2.post-2`` which would normalize to ``1.2." -"post2``." +"\"Build tools\" are automated tools intended to run on development systems, " +"producing source and binary distribution archives. Build tools may also be " +"invoked by integration tools in order to build software distributed as " +"sdists rather than prebuilt binary archives." msgstr "" -#: ../source/specifications/version-specifiers.rst:466 -msgid "Post release spelling" +#: ../source/specifications/version-specifiers.rst:26 +msgid "" +"\"Index servers\" are active distribution registries which publish version " +"and dependency metadata and place constraints on the permitted metadata." msgstr "" -#: ../source/specifications/version-specifiers.rst:468 +#: ../source/specifications/version-specifiers.rst:29 msgid "" -"Post-releases allow the additional spellings of ``rev`` and ``r``. This " -"allows versions such as ``1.0-r4`` which normalizes to ``1.0.post4``. As " -"with the pre-releases the additional spellings should be considered " -"equivalent to their normal forms." +"\"Publication tools\" are automated tools intended to run on development " +"systems and upload source and binary distribution archives to index servers." msgstr "" -#: ../source/specifications/version-specifiers.rst:475 -msgid "Implicit post release number" +#: ../source/specifications/version-specifiers.rst:32 +msgid "" +"\"Installation tools\" are integration tools specifically intended to run on " +"deployment targets, consuming source and binary distribution archives from " +"an index server or other designated location and deploying them to the " +"target system." msgstr "" -#: ../source/specifications/version-specifiers.rst:477 +#: ../source/specifications/version-specifiers.rst:37 msgid "" -"Post releases allow omitting the numeral in which case it is implicitly " -"assumed to be ``0``. The normal form for this is to include the ``0`` " -"explicitly. This allows versions such as ``1.2.post`` which is normalized to " -"``1.2.post0``." +"\"Automated tools\" is a collective term covering build tools, index " +"servers, publication tools, integration tools and any other software that " +"produces or consumes distribution version and dependency metadata." msgstr "" -#: ../source/specifications/version-specifiers.rst:483 -msgid "Implicit post releases" +#: ../source/specifications/version-specifiers.rst:43 +#, fuzzy +msgid "Version scheme" +msgstr "Versión" + +#: ../source/specifications/version-specifiers.rst:45 +msgid "" +"Distributions are identified by a public version identifier which supports " +"all defined version comparison operations" msgstr "" -#: ../source/specifications/version-specifiers.rst:485 +#: ../source/specifications/version-specifiers.rst:48 msgid "" -"Post releases allow omitting the ``post`` signifier all together. When using " -"this form the separator MUST be ``-`` and no other form is allowed. This " -"allows versions such as ``1.0-1`` to be normalized to ``1.0.post1``. This " -"particular normalization MUST NOT be used in conjunction with the implicit " -"post release number rule. In other words, ``1.0-`` is *not* a valid version " -"and it does *not* normalize to ``1.0.post0``." +"The version scheme is used both to describe the distribution version " +"provided by a particular distribution archive, as well as to place " +"constraints on the version of dependencies needed in order to build or run " +"the software." msgstr "" -#: ../source/specifications/version-specifiers.rst:494 -msgid "Development release separators" +#: ../source/specifications/version-specifiers.rst:57 +msgid "Public version identifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:496 +#: ../source/specifications/version-specifiers.rst:59 msgid "" -"Development releases allow a ``.``, ``-``, or a ``_`` separator as well as " -"omitting the separator all together. The normal form of this is with the ``." -"`` separator. This allows versions such as ``1.2-dev2`` or ``1.2dev2`` which " -"normalize to ``1.2.dev2``." +"The canonical public version identifiers MUST comply with the following " +"scheme::" msgstr "" -#: ../source/specifications/version-specifiers.rst:503 -msgid "Implicit development release number" +#: ../source/specifications/version-specifiers.rst:64 +msgid "" +"Public version identifiers MUST NOT include leading or trailing whitespace." msgstr "" -#: ../source/specifications/version-specifiers.rst:505 -msgid "" -"Development releases allow omitting the numeral in which case it is " -"implicitly assumed to be ``0``. The normal form for this is to include the " -"``0`` explicitly. This allows versions such as ``1.2.dev`` which is " -"normalized to ``1.2.dev0``." +#: ../source/specifications/version-specifiers.rst:66 +msgid "Public version identifiers MUST be unique within a given distribution." msgstr "" -#: ../source/specifications/version-specifiers.rst:512 -msgid "Local version segments" +#: ../source/specifications/version-specifiers.rst:68 +msgid "" +"Installation tools SHOULD ignore any public versions which do not comply " +"with this scheme but MUST also include the normalizations specified below. " +"Installation tools MAY warn the user when non-compliant or ambiguous " +"versions are detected." msgstr "" -#: ../source/specifications/version-specifiers.rst:514 +#: ../source/specifications/version-specifiers.rst:73 msgid "" -"With a local version, in addition to the use of ``.`` as a separator of " -"segments, the use of ``-`` and ``_`` is also acceptable. The normal form is " -"using the ``.`` character. This allows versions such as ``1.0+ubuntu-1`` to " -"be normalized to ``1.0+ubuntu.1``." +"See also :ref:`version-specifiers-regex` which provides a regular expression " +"to check strict conformance with the canonical format, as well as a more " +"permissive regular expression accepting inputs that may require subsequent " +"normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:521 -msgid "Preceding v character" +#: ../source/specifications/version-specifiers.rst:78 +msgid "Public version identifiers are separated into up to five segments:" msgstr "" -#: ../source/specifications/version-specifiers.rst:523 -msgid "" -"In order to support the common version notation of ``v1.0`` versions may be " -"preceded by a single literal ``v`` character. This character MUST be ignored " -"for all purposes and should be omitted from all normalized forms of the " -"version. The same version with and without the ``v`` is considered " -"equivalent." +#: ../source/specifications/version-specifiers.rst:80 +msgid "Epoch segment: ``N!``" msgstr "" -#: ../source/specifications/version-specifiers.rst:530 -msgid "Leading and Trailing Whitespace" +#: ../source/specifications/version-specifiers.rst:81 +msgid "Release segment: ``N(.N)*``" msgstr "" -#: ../source/specifications/version-specifiers.rst:532 -msgid "" -"Leading and trailing whitespace must be silently ignored and removed from " -"all normalized forms of a version. This includes ``\" \"``, ``\\t``, " -"``\\n``, ``\\r``, ``\\f``, and ``\\v``. This allows accidental whitespace to " -"be handled sensibly, such as a version like ``1.0\\n`` which normalizes to " -"``1.0``." +#: ../source/specifications/version-specifiers.rst:82 +msgid "Pre-release segment: ``{a|b|rc}N``" msgstr "" -#: ../source/specifications/version-specifiers.rst:539 -msgid "Examples of compliant version schemes" +#: ../source/specifications/version-specifiers.rst:83 +msgid "Post-release segment: ``.postN``" msgstr "" -#: ../source/specifications/version-specifiers.rst:541 -msgid "" -"The standard version scheme is designed to encompass a wide range of " -"identification practices across public and private Python projects. In " -"practice, a single project attempting to use the full flexibility offered by " -"the scheme would create a situation where human users had difficulty " -"figuring out the relative order of versions, even though the rules above " -"ensure all compliant tools will order them consistently." +#: ../source/specifications/version-specifiers.rst:84 +msgid "Development release segment: ``.devN``" msgstr "" -#: ../source/specifications/version-specifiers.rst:548 +#: ../source/specifications/version-specifiers.rst:86 msgid "" -"The following examples illustrate a small selection of the different " -"approaches projects may choose to identify their releases, while still " -"ensuring that the \"latest release\" and the \"latest stable release\" can " -"be easily determined, both by human users and automated tools." +"Any given release will be a \"final release\", \"pre-release\", \"post-" +"release\" or \"developmental release\" as defined in the following sections." msgstr "" -#: ../source/specifications/version-specifiers.rst:553 -msgid "Simple \"major.minor\" versioning::" +#: ../source/specifications/version-specifiers.rst:89 +msgid "" +"All numeric components MUST be non-negative integers represented as " +"sequences of ASCII digits." msgstr "" -#: ../source/specifications/version-specifiers.rst:562 -msgid "Simple \"major.minor.micro\" versioning::" +#: ../source/specifications/version-specifiers.rst:92 +msgid "" +"All numeric components MUST be interpreted and ordered according to their " +"numeric value, not as text strings." msgstr "" -#: ../source/specifications/version-specifiers.rst:570 +#: ../source/specifications/version-specifiers.rst:95 msgid "" -"\"major.minor\" versioning with alpha, beta and candidate pre-releases::" +"All numeric components MAY be zero. Except as described below for the " +"release segment, a numeric component of zero has no special significance " +"aside from always being the lowest possible value in the version ordering." msgstr "" -#: ../source/specifications/version-specifiers.rst:582 +#: ../source/specifications/version-specifiers.rst:101 msgid "" -"\"major.minor\" versioning with developmental releases, release candidates " -"and post-releases for minor corrections::" +"Some hard to read version identifiers are permitted by this scheme in order " +"to better accommodate the wide range of versioning practices across existing " +"public and private Python projects." msgstr "" -#: ../source/specifications/version-specifiers.rst:597 +#: ../source/specifications/version-specifiers.rst:105 msgid "" -"Date based releases, using an incrementing serial within each year, skipping " -"zero::" +"Accordingly, some of the versioning practices which are technically " +"permitted by the specification are strongly discouraged for new projects. " +"Where this is the case, the relevant details are noted in the following " +"sections." msgstr "" -#: ../source/specifications/version-specifiers.rst:611 -msgid "Summary of permitted suffixes and relative ordering" +#: ../source/specifications/version-specifiers.rst:116 +msgid "Local version identifiers MUST comply with the following scheme::" msgstr "" -#: ../source/specifications/version-specifiers.rst:615 +#: ../source/specifications/version-specifiers.rst:120 msgid "" -"This section is intended primarily for authors of tools that automatically " -"process distribution metadata, rather than developers of Python " -"distributions deciding on a versioning scheme." +"They consist of a normal public version identifier (as defined in the " +"previous section), along with an arbitrary \"local version label\", " +"separated from the public version identifier by a plus. Local version labels " +"have no specific semantics assigned, but some syntactic restrictions are " +"imposed." msgstr "" -#: ../source/specifications/version-specifiers.rst:619 +#: ../source/specifications/version-specifiers.rst:125 msgid "" -"The epoch segment of version identifiers MUST be sorted according to the " -"numeric value of the given epoch. If no epoch segment is present, the " -"implicit numeric value is ``0``." +"Local version identifiers are used to denote fully API (and, if applicable, " +"ABI) compatible patched versions of upstream projects. For example, these " +"may be created by application developers and system integrators by applying " +"specific backported bug fixes when upgrading to a new upstream release would " +"be too disruptive to the application or other integrated system (such as a " +"Linux distribution)." msgstr "" -#: ../source/specifications/version-specifiers.rst:623 +#: ../source/specifications/version-specifiers.rst:132 msgid "" -"The release segment of version identifiers MUST be sorted in the same order " -"as Python's tuple sorting when the normalized release segment is parsed as " -"follows::" +"The inclusion of the local version label makes it possible to differentiate " +"upstream releases from potentially altered rebuilds by downstream " +"integrators. The use of a local version identifier does not affect the kind " +"of a release but, when applied to a source distribution, does indicate that " +"it may not contain the exact same code as the corresponding upstream release." msgstr "" -#: ../source/specifications/version-specifiers.rst:629 +#: ../source/specifications/version-specifiers.rst:138 msgid "" -"All release segments involved in the comparison MUST be converted to a " -"consistent length by padding shorter segments with zeros as needed." +"To ensure local version identifiers can be readily incorporated as part of " +"filenames and URLs, and to avoid formatting inconsistencies in hexadecimal " +"hash representations, local version labels MUST be limited to the following " +"set of permitted characters:" msgstr "" -#: ../source/specifications/version-specifiers.rst:632 -msgid "" -"Within a numeric release (``1.0``, ``2.7.3``), the following suffixes are " -"permitted and MUST be ordered as shown::" +#: ../source/specifications/version-specifiers.rst:143 +msgid "ASCII letters (``[a-zA-Z]``)" msgstr "" -#: ../source/specifications/version-specifiers.rst:637 -msgid "" -"Note that ``c`` is considered to be semantically equivalent to ``rc`` and " -"must be sorted as if it were ``rc``. Tools MAY reject the case of having the " -"same ``N`` for both a ``c`` and a ``rc`` in the same release segment as " -"ambiguous and remain in compliance with the specification." +#: ../source/specifications/version-specifiers.rst:144 +msgid "ASCII digits (``[0-9]``)" msgstr "" -#: ../source/specifications/version-specifiers.rst:642 -msgid "" -"Within an alpha (``1.0a1``), beta (``1.0b1``), or release candidate " -"(``1.0rc1``, ``1.0c1``), the following suffixes are permitted and MUST be " -"ordered as shown::" +#: ../source/specifications/version-specifiers.rst:145 +msgid "periods (``.``)" msgstr "" -#: ../source/specifications/version-specifiers.rst:648 +#: ../source/specifications/version-specifiers.rst:147 +msgid "Local version labels MUST start and end with an ASCII letter or digit." +msgstr "" + +#: ../source/specifications/version-specifiers.rst:149 msgid "" -"Within a post-release (``1.0.post1``), the following suffixes are permitted " -"and MUST be ordered as shown::" +"Comparison and ordering of local versions considers each segment of the " +"local version (divided by a ``.``) separately. If a segment consists " +"entirely of ASCII digits then that section should be considered an integer " +"for comparison purposes and if a segment contains any ASCII letters then " +"that segment is compared lexicographically with case insensitivity. When " +"comparing a numeric and lexicographic segment, the numeric section always " +"compares as greater than the lexicographic segment. Additionally a local " +"version with a great number of segments will always compare as greater than " +"a local version with fewer segments, as long as the shorter local version's " +"segments match the beginning of the longer local version's segments exactly." msgstr "" -#: ../source/specifications/version-specifiers.rst:653 +#: ../source/specifications/version-specifiers.rst:160 msgid "" -"Note that ``devN`` and ``postN`` MUST always be preceded by a dot, even when " -"used immediately following a numeric version (e.g. ``1.0.dev456``, ``1.0." -"post1``)." +"An \"upstream project\" is a project that defines its own public versions. A " +"\"downstream project\" is one which tracks and redistributes an upstream " +"project, potentially backporting security and bug fixes from later versions " +"of the upstream project." msgstr "" -#: ../source/specifications/version-specifiers.rst:657 +#: ../source/specifications/version-specifiers.rst:165 msgid "" -"Within a pre-release, post-release or development release segment with a " -"shared prefix, ordering MUST be by the value of the numeric component." +"Local version identifiers SHOULD NOT be used when publishing upstream " +"projects to a public index server, but MAY be used to identify private " +"builds created directly from the project source. Local version identifiers " +"SHOULD be used by downstream projects when releasing a version that is API " +"compatible with the version of the upstream project identified by the public " +"version identifier, but contains additional changes (such as bug fixes). As " +"the Python Package Index is intended solely for indexing and hosting " +"upstream projects, it MUST NOT allow the use of local version identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:660 -msgid "The following example covers many of the possible combinations::" +#: ../source/specifications/version-specifiers.rst:175 +msgid "" +"Source distributions using a local version identifier SHOULD provide the " +"``python.integrator`` extension metadata (as defined in :pep:`459`)." msgstr "" -#: ../source/specifications/version-specifiers.rst:685 -msgid "Version ordering across different metadata versions" +#: ../source/specifications/version-specifiers.rst:180 +msgid "Final releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:687 +#: ../source/specifications/version-specifiers.rst:182 msgid "" -"Metadata v1.0 (:pep:`241`) and metadata v1.1 (:pep:`314`) do not specify a " -"standard version identification or ordering scheme. However metadata v1.2 (:" -"pep:`345`) does specify a scheme which is defined in :pep:`386`." +"A version identifier that consists solely of a release segment and " +"optionally an epoch identifier is termed a \"final release\"." msgstr "" -#: ../source/specifications/version-specifiers.rst:691 +#: ../source/specifications/version-specifiers.rst:185 msgid "" -"Due to the nature of the simple installer API it is not possible for an " -"installer to be aware of which metadata version a particular distribution " -"was using. Additionally installers required the ability to create a " -"reasonably prioritized list that includes all, or as many as possible, " -"versions of a project to determine which versions it should install. These " -"requirements necessitate a standardization across one parsing mechanism to " -"be used for all versions of a project." +"The release segment consists of one or more non-negative integer values, " +"separated by dots::" msgstr "" -#: ../source/specifications/version-specifiers.rst:699 +#: ../source/specifications/version-specifiers.rst:190 msgid "" -"Due to the above, this specification MUST be used for all versions of " -"metadata and supersedes :pep:`386` even for metadata v1.2. Tools SHOULD " -"ignore any versions which cannot be parsed by the rules in this " -"specification, but MAY fall back to implementation defined version parsing " -"and ordering schemes if no versions complying with this specification are " -"available." +"Final releases within a project MUST be numbered in a consistently " +"increasing fashion, otherwise automated tools will not be able to upgrade " +"them correctly." msgstr "" -#: ../source/specifications/version-specifiers.rst:705 +#: ../source/specifications/version-specifiers.rst:194 msgid "" -"Distribution users may wish to explicitly remove non-compliant versions from " -"any private package indexes they control." +"Comparison and ordering of release segments considers the numeric value of " +"each component of the release segment in turn. When comparing release " +"segments with different numbers of components, the shorter segment is padded " +"out with additional zeros as necessary." msgstr "" -#: ../source/specifications/version-specifiers.rst:710 -msgid "Compatibility with other version schemes" +#: ../source/specifications/version-specifiers.rst:199 +msgid "" +"While any number of additional components after the first are permitted " +"under this scheme, the most common variants are to use two components " +"(\"major.minor\") or three components (\"major.minor.micro\")." msgstr "" -#: ../source/specifications/version-specifiers.rst:712 +#: ../source/specifications/version-specifiers.rst:203 +msgid "For example::" +msgstr "Por ejemplo::" + +#: ../source/specifications/version-specifiers.rst:218 msgid "" -"Some projects may choose to use a version scheme which requires translation " -"in order to comply with the public version scheme defined in this " -"specification. In such cases, the project specific version can be stored in " -"the metadata while the translated public version is published in the version " -"field." +"A release series is any set of final release numbers that start with a " +"common prefix. For example, ``3.3.1``, ``3.3.5`` and ``3.3.9.45`` are all " +"part of the ``3.3`` release series." msgstr "" -#: ../source/specifications/version-specifiers.rst:717 +#: ../source/specifications/version-specifiers.rst:224 msgid "" -"This allows automated distribution tools to provide consistently correct " -"ordering of published releases, while still allowing developers to use the " -"internal versioning scheme they prefer for their projects." +"``X.Y`` and ``X.Y.0`` are not considered distinct release numbers, as the " +"release segment comparison rules implicit expand the two component form to " +"``X.Y.0`` when comparing it to any release segment that includes three " +"components." msgstr "" -#: ../source/specifications/version-specifiers.rst:725 +#: ../source/specifications/version-specifiers.rst:229 msgid "" -"`Semantic versioning`_ is a popular version identification scheme that is " -"more prescriptive than this specification regarding the significance of " -"different elements of a release number. Even if a project chooses not to " -"abide by the details of semantic versioning, the scheme is worth " -"understanding as it covers many of the issues that can arise when depending " -"on other distributions, and when publishing a distribution that others rely " -"on." +"Date based release segments are also permitted. An example of a date based " +"release scheme using the year and month of the release::" msgstr "" -#: ../source/specifications/version-specifiers.rst:732 -msgid "" -"The \"Major.Minor.Patch\" (described in this specification as \"major.minor." -"micro\") aspects of semantic versioning (clauses 1-8 in the 2.0.0 " -"specification) are fully compatible with the version scheme defined in this " -"specification, and abiding by these aspects is encouraged." +#: ../source/specifications/version-specifiers.rst:243 +msgid "Pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:737 +#: ../source/specifications/version-specifiers.rst:245 msgid "" -"Semantic versions containing a hyphen (pre-releases - clause 10) or a plus " -"sign (builds - clause 11) are *not* compatible with this specification and " -"are not permitted in the public version field." +"Some projects use an \"alpha, beta, release candidate\" pre-release cycle to " +"support testing by their users prior to a final release." msgstr "" -#: ../source/specifications/version-specifiers.rst:741 +#: ../source/specifications/version-specifiers.rst:248 msgid "" -"One possible mechanism to translate such semantic versioning based source " -"labels to compatible public versions is to use the ``.devN`` suffix to " -"specify the appropriate version order." +"If used as part of a project's development cycle, these pre-releases are " +"indicated by including a pre-release segment in the version identifier::" msgstr "" -#: ../source/specifications/version-specifiers.rst:745 +#: ../source/specifications/version-specifiers.rst:256 msgid "" -"Specific build information may also be included in local version labels." +"A version identifier that consists solely of a release segment and a pre-" +"release segment is termed a \"pre-release\"." msgstr "" -#: ../source/specifications/version-specifiers.rst:751 -msgid "DVCS based version labels" +#: ../source/specifications/version-specifiers.rst:259 +msgid "" +"The pre-release segment consists of an alphabetical identifier for the pre-" +"release phase, along with a non-negative integer value. Pre-releases for a " +"given release are ordered first by phase (alpha, beta, release candidate) " +"and then by the numerical component within that phase." msgstr "" -#: ../source/specifications/version-specifiers.rst:753 +#: ../source/specifications/version-specifiers.rst:264 msgid "" -"Many build tools integrate with distributed version control systems like Git " -"and Mercurial in order to add an identifying hash to the version identifier. " -"As hashes cannot be ordered reliably such versions are not permitted in the " -"public version field." +"Installation tools MAY accept both ``c`` and ``rc`` releases for a common " +"release segment in order to handle some existing legacy distributions." msgstr "" -#: ../source/specifications/version-specifiers.rst:758 -msgid "" -"As with semantic versioning, the public ``.devN`` suffix may be used to " -"uniquely identify such releases for publication, while the original DVCS " -"based label can be stored in the project metadata." +#: ../source/specifications/version-specifiers.rst:267 +msgid "" +"Installation tools SHOULD interpret ``c`` versions as being equivalent to " +"``rc`` versions (that is, ``c1`` indicates the same version as ``rc1``)." msgstr "" -#: ../source/specifications/version-specifiers.rst:762 +#: ../source/specifications/version-specifiers.rst:270 msgid "" -"Identifying hash information may also be included in local version labels." +"Build tools, publication tools and index servers SHOULD disallow the " +"creation of both ``rc`` and ``c`` releases for a common release segment." msgstr "" -#: ../source/specifications/version-specifiers.rst:766 -msgid "Olson database versioning" +#: ../source/specifications/version-specifiers.rst:275 +msgid "Post-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:768 +#: ../source/specifications/version-specifiers.rst:277 msgid "" -"The ``pytz`` project inherits its versioning scheme from the corresponding " -"Olson timezone database versioning scheme: the year followed by a lowercase " -"character indicating the version of the database within that year." +"Some projects use post-releases to address minor errors in a final release " +"that do not affect the distributed software (for example, correcting an " +"error in the release notes)." msgstr "" -#: ../source/specifications/version-specifiers.rst:772 +#: ../source/specifications/version-specifiers.rst:281 msgid "" -"This can be translated to a compliant public version identifier as ``." -"``, where the serial starts at zero or one (for the 'a' " -"release) and is incremented with each subsequent database update within the " -"year." +"If used as part of a project's development cycle, these post-releases are " +"indicated by including a post-release segment in the version identifier::" msgstr "" -#: ../source/specifications/version-specifiers.rst:777 +#: ../source/specifications/version-specifiers.rst:286 msgid "" -"As with other translated version identifiers, the corresponding Olson " -"database version could be recorded in the project metadata." +"A version identifier that includes a post-release segment without a " +"developmental release segment is termed a \"post-release\"." msgstr "" -#: ../source/specifications/version-specifiers.rst:784 +#: ../source/specifications/version-specifiers.rst:289 msgid "" -"A version specifier consists of a series of version clauses, separated by " -"commas. For example::" +"The post-release segment consists of the string ``.post``, followed by a non-" +"negative integer value. Post-releases are ordered by their numerical " +"component, immediately following the corresponding release, and ahead of any " +"subsequent release." msgstr "" -#: ../source/specifications/version-specifiers.rst:789 -msgid "The comparison operator determines the kind of version clause:" +#: ../source/specifications/version-specifiers.rst:296 +msgid "" +"The use of post-releases to publish maintenance releases containing actual " +"bug fixes is strongly discouraged. In general, it is better to use a longer " +"release number and increment the final component for each maintenance " +"release." msgstr "" -#: ../source/specifications/version-specifiers.rst:791 -msgid "``~=``: `Compatible release`_ clause" +#: ../source/specifications/version-specifiers.rst:301 +msgid "Post-releases are also permitted for pre-releases::" msgstr "" -#: ../source/specifications/version-specifiers.rst:792 -msgid "``==``: `Version matching`_ clause" +#: ../source/specifications/version-specifiers.rst:309 +msgid "" +"Creating post-releases of pre-releases is strongly discouraged, as it makes " +"the version identifier difficult to parse for human readers. In general, it " +"is substantially clearer to simply create a new pre-release by incrementing " +"the numeric component." msgstr "" -#: ../source/specifications/version-specifiers.rst:793 -msgid "``!=``: `Version exclusion`_ clause" +#: ../source/specifications/version-specifiers.rst:316 +msgid "Developmental releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:794 -msgid "``<=``, ``>=``: `Inclusive ordered comparison`_ clause" +#: ../source/specifications/version-specifiers.rst:318 +msgid "" +"Some projects make regular developmental releases, and system packagers " +"(especially for Linux distributions) may wish to create early releases " +"directly from source control which do not conflict with later project " +"releases." msgstr "" -#: ../source/specifications/version-specifiers.rst:795 -msgid "``<``, ``>``: `Exclusive ordered comparison`_ clause" +#: ../source/specifications/version-specifiers.rst:323 +msgid "" +"If used as part of a project's development cycle, these developmental " +"releases are indicated by including a developmental release segment in the " +"version identifier::" msgstr "" -#: ../source/specifications/version-specifiers.rst:796 -msgid "``===``: `Arbitrary equality`_ clause." +#: ../source/specifications/version-specifiers.rst:329 +msgid "" +"A version identifier that includes a developmental release segment is termed " +"a \"developmental release\"." msgstr "" -#: ../source/specifications/version-specifiers.rst:798 +#: ../source/specifications/version-specifiers.rst:332 msgid "" -"The comma (\",\") is equivalent to a logical **and** operator: a candidate " -"version must match all given version clauses in order to match the specifier " -"as a whole." +"The developmental release segment consists of the string ``.dev``, followed " +"by a non-negative integer value. Developmental releases are ordered by their " +"numerical component, immediately before the corresponding release (and " +"before any pre-releases with the same release segment), and following any " +"previous release (including any post-releases)." msgstr "" -#: ../source/specifications/version-specifiers.rst:802 +#: ../source/specifications/version-specifiers.rst:338 msgid "" -"Whitespace between a conditional operator and the following version " -"identifier is optional, as is the whitespace around the commas." +"Developmental releases are also permitted for pre-releases and post-" +"releases::" msgstr "" -#: ../source/specifications/version-specifiers.rst:805 +#: ../source/specifications/version-specifiers.rst:348 msgid "" -"When multiple candidate versions match a version specifier, the preferred " -"version SHOULD be the latest version as determined by the consistent " -"ordering defined by the standard `Version scheme`_. Whether or not pre-" -"releases are considered as candidate versions SHOULD be handled as described " -"in `Handling of pre-releases`_." +"While they may be useful for continuous integration purposes, publishing " +"developmental releases of pre-releases to general purpose public index " +"servers is strongly discouraged, as it makes the version identifier " +"difficult to parse for human readers. If such a release needs to be " +"published, it is substantially clearer to instead create a new pre-release " +"by incrementing the numeric component." msgstr "" -#: ../source/specifications/version-specifiers.rst:811 +#: ../source/specifications/version-specifiers.rst:355 msgid "" -"Except where specifically noted below, local version identifiers MUST NOT be " -"permitted in version specifiers, and local version labels MUST be ignored " -"entirely when checking if candidate versions match a given version specifier." +"Developmental releases of post-releases are also strongly discouraged, but " +"they may be appropriate for projects which use the post-release notation for " +"full maintenance releases which may include code changes." msgstr "" -#: ../source/specifications/version-specifiers.rst:820 -msgid "Compatible release" -msgstr "" +#: ../source/specifications/version-specifiers.rst:361 +#, fuzzy +msgid "Version epochs" +msgstr "Versión" -#: ../source/specifications/version-specifiers.rst:822 +#: ../source/specifications/version-specifiers.rst:363 msgid "" -"A compatible release clause consists of the compatible release operator " -"``~=`` and a version identifier. It matches any candidate version that is " -"expected to be compatible with the specified version." +"If included in a version identifier, the epoch appears before all other " +"components, separated from the release segment by an exclamation mark::" msgstr "" -#: ../source/specifications/version-specifiers.rst:826 -msgid "" -"The specified version identifier must be in the standard format described in " -"`Version scheme`_. Local version identifiers are NOT permitted in this " -"version specifier." +#: ../source/specifications/version-specifiers.rst:368 +msgid "If no explicit epoch is given, the implicit epoch is ``0``." msgstr "" -#: ../source/specifications/version-specifiers.rst:830 +#: ../source/specifications/version-specifiers.rst:370 msgid "" -"For a given release identifier ``V.N``, the compatible release clause is " -"approximately equivalent to the pair of comparison clauses::" +"Most version identifiers will not include an epoch, as an explicit epoch is " +"only needed if a project *changes* the way it handles version numbering in a " +"way that means the normal version ordering rules will give the wrong answer. " +"For example, if a project is using date based versions like ``2014.04`` and " +"would like to switch to semantic versions like ``1.0``, then the new " +"releases would be identified as *older* than the date based releases when " +"using the normal sorting scheme::" msgstr "" -#: ../source/specifications/version-specifiers.rst:835 +#: ../source/specifications/version-specifiers.rst:384 msgid "" -"This operator MUST NOT be used with a single segment version number such as " -"``~=1``." +"However, by specifying an explicit epoch, the sort order can be changed " +"appropriately, as all versions from a later epoch are sorted after versions " +"from an earlier epoch::" msgstr "" -#: ../source/specifications/version-specifiers.rst:838 -msgid "For example, the following groups of version clauses are equivalent::" -msgstr "" +#: ../source/specifications/version-specifiers.rst:398 +#, fuzzy +msgid "Normalization" +msgstr "Traducciones" -#: ../source/specifications/version-specifiers.rst:846 +#: ../source/specifications/version-specifiers.rst:400 msgid "" -"If a pre-release, post-release or developmental release is named in a " -"compatible release clause as ``V.N.suffix``, then the suffix is ignored when " -"determining the required prefix match::" +"In order to maintain better compatibility with existing versions there are a " +"number of \"alternative\" syntaxes that MUST be taken into account when " +"parsing versions. These syntaxes MUST be considered when parsing a version, " +"however they should be \"normalized\" to the standard syntax defined above." msgstr "" -#: ../source/specifications/version-specifiers.rst:856 +#: ../source/specifications/version-specifiers.rst:407 +msgid "Case sensitivity" +msgstr "" + +#: ../source/specifications/version-specifiers.rst:409 msgid "" -"The padding rules for release segment comparisons means that the assumed " -"degree of forward compatibility in a compatible release clause can be " -"controlled by appending additional zeros to the version specifier::" +"All ascii letters should be interpreted case insensitively within a version " +"and the normal form is lowercase. This allows versions such as ``1.1RC1`` " +"which would be normalized to ``1.1rc1``." msgstr "" -#: ../source/specifications/version-specifiers.rst:868 +#: ../source/specifications/version-specifiers.rst:415 #, fuzzy -msgid "Version matching" -msgstr "Versión" +msgid "Integer Normalization" +msgstr "Traducciones" -#: ../source/specifications/version-specifiers.rst:870 +#: ../source/specifications/version-specifiers.rst:417 msgid "" -"A version matching clause includes the version matching operator ``==`` and " -"a version identifier." +"All integers are interpreted via the ``int()`` built in and normalize to the " +"string form of the output. This means that an integer version of ``00`` " +"would normalize to ``0`` while ``09000`` would normalize to ``9000``. This " +"does not hold true for integers inside of an alphanumeric segment of a local " +"version such as ``1.0+foo0100`` which is already in its normalized form." msgstr "" -#: ../source/specifications/version-specifiers.rst:873 -msgid "" -"The specified version identifier must be in the standard format described in " -"`Version scheme`_, but a trailing ``.*`` is permitted on public version " -"identifiers as described below." +#: ../source/specifications/version-specifiers.rst:425 +msgid "Pre-release separators" msgstr "" -#: ../source/specifications/version-specifiers.rst:877 +#: ../source/specifications/version-specifiers.rst:427 msgid "" -"By default, the version matching operator is based on a strict equality " -"comparison: the specified version must be exactly the same as the requested " -"version. The *only* substitution performed is the zero padding of the " -"release segment to ensure the release segments are compared with the same " -"length." +"Pre-releases should allow a ``.``, ``-``, or ``_`` separator between the " +"release segment and the pre-release segment. The normal form for this is " +"without a separator. This allows versions such as ``1.1.a1`` or ``1.1-a1`` " +"which would be normalized to ``1.1a1``. It should also allow a separator to " +"be used between the pre-release signifier and the numeral. This allows " +"versions such as ``1.0a.1`` which would be normalized to ``1.0a1``." msgstr "" -#: ../source/specifications/version-specifiers.rst:883 +#: ../source/specifications/version-specifiers.rst:436 +msgid "Pre-release spelling" +msgstr "" + +#: ../source/specifications/version-specifiers.rst:438 msgid "" -"Whether or not strict version matching is appropriate depends on the " -"specific use case for the version specifier. Automated tools SHOULD at least " -"issue warnings and MAY reject them entirely when strict version matches are " -"used inappropriately." +"Pre-releases allow the additional spellings of ``alpha``, ``beta``, ``c``, " +"``pre``, and ``preview`` for ``a``, ``b``, ``rc``, ``rc``, and ``rc`` " +"respectively. This allows versions such as ``1.1alpha1``, ``1.1beta2``, or " +"``1.1c3`` which normalize to ``1.1a1``, ``1.1b2``, and ``1.1rc3``. In every " +"case the additional spelling should be considered equivalent to their normal " +"forms." msgstr "" -#: ../source/specifications/version-specifiers.rst:888 +#: ../source/specifications/version-specifiers.rst:447 +msgid "Implicit pre-release number" +msgstr "" + +#: ../source/specifications/version-specifiers.rst:449 msgid "" -"Prefix matching may be requested instead of strict comparison, by appending " -"a trailing ``.*`` to the version identifier in the version matching clause. " -"This means that additional trailing segments will be ignored when " -"determining whether or not a version identifier matches the clause. If the " -"specified version includes only a release segment, then trailing components " -"(or the lack thereof) in the release segment are also ignored." +"Pre releases allow omitting the numeral in which case it is implicitly " +"assumed to be ``0``. The normal form for this is to include the ``0`` " +"explicitly. This allows versions such as ``1.2a`` which is normalized to " +"``1.2a0``." msgstr "" -#: ../source/specifications/version-specifiers.rst:895 -#: ../source/specifications/version-specifiers.rst:956 -msgid "" -"For example, given the version ``1.1.post1``, the following clauses would " -"match or not as shown::" +#: ../source/specifications/version-specifiers.rst:455 +msgid "Post release separators" msgstr "" -#: ../source/specifications/version-specifiers.rst:902 +#: ../source/specifications/version-specifiers.rst:457 msgid "" -"For purposes of prefix matching, the pre-release segment is considered to " -"have an implied preceding ``.``, so given the version ``1.1a1``, the " -"following clauses would match or not as shown::" +"Post releases allow a ``.``, ``-``, or ``_`` separator as well as omitting " +"the separator all together. The normal form of this is with the ``.`` " +"separator. This allows versions such as ``1.2-post2`` or ``1.2post2`` which " +"normalize to ``1.2.post2``. Like the pre-release separator this also allows " +"an optional separator between the post release signifier and the numeral. " +"This allows versions like ``1.2.post-2`` which would normalize to ``1.2." +"post2``." msgstr "" -#: ../source/specifications/version-specifiers.rst:910 -msgid "" -"An exact match is also considered a prefix match (this interpretation is " -"implied by the usual zero padding rules for the release segment of version " -"identifiers). Given the version ``1.1``, the following clauses would match " -"or not as shown::" +#: ../source/specifications/version-specifiers.rst:466 +msgid "Post release spelling" msgstr "" -#: ../source/specifications/version-specifiers.rst:922 +#: ../source/specifications/version-specifiers.rst:468 msgid "" -"It is invalid to have a prefix match containing a development or local " -"release such as ``1.0.dev1.*`` or ``1.0+foo1.*``. If present, the " -"development release segment is always the final segment in the public " -"version, and the local version is ignored for comparison purposes, so using " -"either in a prefix match wouldn't make any sense." +"Post-releases allow the additional spellings of ``rev`` and ``r``. This " +"allows versions such as ``1.0-r4`` which normalizes to ``1.0.post4``. As " +"with the pre-releases the additional spellings should be considered " +"equivalent to their normal forms." msgstr "" -#: ../source/specifications/version-specifiers.rst:928 -msgid "" -"The use of ``==`` (without at least the wildcard suffix) when defining " -"dependencies for published distributions is strongly discouraged as it " -"greatly complicates the deployment of security fixes. The strict version " -"comparison operator is intended primarily for use when defining dependencies " -"for repeatable *deployments of applications* while using a shared " -"distribution index." +#: ../source/specifications/version-specifiers.rst:475 +msgid "Implicit post release number" msgstr "" -#: ../source/specifications/version-specifiers.rst:935 +#: ../source/specifications/version-specifiers.rst:477 msgid "" -"If the specified version identifier is a public version identifier (no local " -"version label), then the local version label of any candidate versions MUST " -"be ignored when matching versions." +"Post releases allow omitting the numeral in which case it is implicitly " +"assumed to be ``0``. The normal form for this is to include the ``0`` " +"explicitly. This allows versions such as ``1.2.post`` which is normalized to " +"``1.2.post0``." msgstr "" -#: ../source/specifications/version-specifiers.rst:939 +#: ../source/specifications/version-specifiers.rst:483 +msgid "Implicit post releases" +msgstr "" + +#: ../source/specifications/version-specifiers.rst:485 msgid "" -"If the specified version identifier is a local version identifier, then the " -"local version labels of candidate versions MUST be considered when matching " -"versions, with the public version identifier being matched as described " -"above, and the local version label being checked for equivalence using a " -"strict string equality comparison." +"Post releases allow omitting the ``post`` signifier all together. When using " +"this form the separator MUST be ``-`` and no other form is allowed. This " +"allows versions such as ``1.0-1`` to be normalized to ``1.0.post1``. This " +"particular normalization MUST NOT be used in conjunction with the implicit " +"post release number rule. In other words, ``1.0-`` is *not* a valid version " +"and it does *not* normalize to ``1.0.post0``." msgstr "" -#: ../source/specifications/version-specifiers.rst:947 -#, fuzzy -msgid "Version exclusion" -msgstr "Versión" +#: ../source/specifications/version-specifiers.rst:494 +msgid "Development release separators" +msgstr "" -#: ../source/specifications/version-specifiers.rst:949 +#: ../source/specifications/version-specifiers.rst:496 msgid "" -"A version exclusion clause includes the version exclusion operator ``!=`` " -"and a version identifier." +"Development releases allow a ``.``, ``-``, or a ``_`` separator as well as " +"omitting the separator all together. The normal form of this is with the ``." +"`` separator. This allows versions such as ``1.2-dev2`` or ``1.2dev2`` which " +"normalize to ``1.2.dev2``." msgstr "" -#: ../source/specifications/version-specifiers.rst:952 +#: ../source/specifications/version-specifiers.rst:503 +msgid "Implicit development release number" +msgstr "" + +#: ../source/specifications/version-specifiers.rst:505 msgid "" -"The allowed version identifiers and comparison semantics are the same as " -"those of the `Version matching`_ operator, except that the sense of any " -"match is inverted." +"Development releases allow omitting the numeral in which case it is " +"implicitly assumed to be ``0``. The normal form for this is to include the " +"``0`` explicitly. This allows versions such as ``1.2.dev`` which is " +"normalized to ``1.2.dev0``." msgstr "" -#: ../source/specifications/version-specifiers.rst:965 -msgid "Inclusive ordered comparison" +#: ../source/specifications/version-specifiers.rst:512 +msgid "Local version segments" msgstr "" -#: ../source/specifications/version-specifiers.rst:967 +#: ../source/specifications/version-specifiers.rst:514 msgid "" -"An inclusive ordered comparison clause includes a comparison operator and a " -"version identifier, and will match any version where the comparison is " -"correct based on the relative position of the candidate version and the " -"specified version given the consistent ordering defined by the standard " -"`Version scheme`_." +"With a local version, in addition to the use of ``.`` as a separator of " +"segments, the use of ``-`` and ``_`` is also acceptable. The normal form is " +"using the ``.`` character. This allows versions such as ``1.0+ubuntu-1`` to " +"be normalized to ``1.0+ubuntu.1``." msgstr "" -#: ../source/specifications/version-specifiers.rst:973 -msgid "The inclusive ordered comparison operators are ``<=`` and ``>=``." +#: ../source/specifications/version-specifiers.rst:521 +msgid "Preceding v character" msgstr "" -#: ../source/specifications/version-specifiers.rst:975 -#: ../source/specifications/version-specifiers.rst:1005 +#: ../source/specifications/version-specifiers.rst:523 msgid "" -"As with version matching, the release segment is zero padded as necessary to " -"ensure the release segments are compared with the same length." +"In order to support the common version notation of ``v1.0`` versions may be " +"preceded by a single literal ``v`` character. This character MUST be ignored " +"for all purposes and should be omitted from all normalized forms of the " +"version. The same version with and without the ``v`` is considered " +"equivalent." msgstr "" -#: ../source/specifications/version-specifiers.rst:978 -#: ../source/specifications/version-specifiers.rst:1008 -msgid "Local version identifiers are NOT permitted in this version specifier." +#: ../source/specifications/version-specifiers.rst:530 +msgid "Leading and Trailing Whitespace" msgstr "" -#: ../source/specifications/version-specifiers.rst:982 -msgid "Exclusive ordered comparison" +#: ../source/specifications/version-specifiers.rst:532 +msgid "" +"Leading and trailing whitespace must be silently ignored and removed from " +"all normalized forms of a version. This includes ``\" \"``, ``\\t``, " +"``\\n``, ``\\r``, ``\\f``, and ``\\v``. This allows accidental whitespace to " +"be handled sensibly, such as a version like ``1.0\\n`` which normalizes to " +"``1.0``." msgstr "" -#: ../source/specifications/version-specifiers.rst:984 -msgid "" -"The exclusive ordered comparisons ``>`` and ``<`` are similar to the " -"inclusive ordered comparisons in that they rely on the relative position of " -"the candidate version and the specified version given the consistent " -"ordering defined by the standard `Version scheme`_. However, they " -"specifically exclude pre-releases, post-releases, and local versions of the " -"specified version." +#: ../source/specifications/version-specifiers.rst:539 +msgid "Examples of compliant version schemes" msgstr "" -#: ../source/specifications/version-specifiers.rst:990 +#: ../source/specifications/version-specifiers.rst:541 msgid "" -"The exclusive ordered comparison ``>V`` **MUST NOT** allow a post-release of " -"the given version unless ``V`` itself is a post release. You may mandate " -"that releases are later than a particular post release, including additional " -"post releases, by using ``>V.postN``. For example, ``>1.7`` will allow " -"``1.7.1`` but not ``1.7.0.post1`` and ``>1.7.post2`` will allow ``1.7.1`` " -"and ``1.7.0.post3`` but not ``1.7.0``." +"The standard version scheme is designed to encompass a wide range of " +"identification practices across public and private Python projects. In " +"practice, a single project attempting to use the full flexibility offered by " +"the scheme would create a situation where human users had difficulty " +"figuring out the relative order of versions, even though the rules above " +"ensure all compliant tools will order them consistently." msgstr "" -#: ../source/specifications/version-specifiers.rst:997 +#: ../source/specifications/version-specifiers.rst:548 msgid "" -"The exclusive ordered comparison ``>V`` **MUST NOT** match a local version " -"of the specified version." +"The following examples illustrate a small selection of the different " +"approaches projects may choose to identify their releases, while still " +"ensuring that the \"latest release\" and the \"latest stable release\" can " +"be easily determined, both by human users and automated tools." msgstr "" -#: ../source/specifications/version-specifiers.rst:1000 -msgid "" -"The exclusive ordered comparison ``=`` entry as part " -"of the URL fragment." +#: ../source/specifications/version-specifiers.rst:766 +msgid "Olson database versioning" msgstr "" -#: ../source/specifications/version-specifiers.rst:1129 +#: ../source/specifications/version-specifiers.rst:768 msgid "" -"For version control references, the ``VCS+protocol`` scheme SHOULD be used " -"to identify both the version control system and the secure transport, and a " -"version control system with hash based commit identifiers SHOULD be used. " -"Automated tools MAY omit warnings about missing hashes for version control " -"systems that do not provide hash based commit identifiers." +"The ``pytz`` project inherits its versioning scheme from the corresponding " +"Olson timezone database versioning scheme: the year followed by a lowercase " +"character indicating the version of the database within that year." msgstr "" -#: ../source/specifications/version-specifiers.rst:1135 +#: ../source/specifications/version-specifiers.rst:772 msgid "" -"To handle version control systems that do not support including commit or " -"tag references directly in the URL, that information may be appended to the " -"end of the URL using the ``@`` or the ``@#`` " -"notation." +"This can be translated to a compliant public version identifier as ``." +"``, where the serial starts at zero or one (for the 'a' " +"release) and is incremented with each subsequent database update within the " +"year." msgstr "" -#: ../source/specifications/version-specifiers.rst:1142 +#: ../source/specifications/version-specifiers.rst:777 msgid "" -"This isn't *quite* the same as the existing VCS reference notation supported " -"by pip. Firstly, the distribution name is moved in front rather than " -"embedded as part of the URL. Secondly, the commit hash is included even when " -"retrieving based on a tag, in order to meet the requirement above that " -"*every* link should include a hash to make things harder to forge (creating " -"a malicious repo with a particular tag is easy, creating one with a specific " -"*hash*, less so)." +"As with other translated version identifiers, the corresponding Olson " +"database version could be recorded in the project metadata." msgstr "" -#: ../source/specifications/version-specifiers.rst:1150 -#, fuzzy -msgid "Remote URL examples::" -msgstr "Por ejemplo::" +#: ../source/specifications/version-specifiers.rst:784 +msgid "" +"A version specifier consists of a series of version clauses, separated by " +"commas. For example::" +msgstr "" -#: ../source/specifications/version-specifiers.rst:1158 -msgid "File URLs" +#: ../source/specifications/version-specifiers.rst:789 +msgid "The comparison operator determines the kind of version clause:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1160 -msgid "" -"File URLs take the form of ``file:///``. If the ```` is " -"omitted it is assumed to be ``localhost`` and even if the ```` is " -"omitted the third slash MUST still exist. The ```` defines what the " -"file path on the filesystem that is to be accessed." +#: ../source/specifications/version-specifiers.rst:791 +msgid "``~=``: `Compatible release`_ clause" msgstr "" -#: ../source/specifications/version-specifiers.rst:1165 -msgid "" -"On the various \\*nix operating systems the only allowed values for " -"```` is for it to be omitted, ``localhost``, or another FQDN that the " -"current machine believes matches its own host. In other words, on \\*nix the " -"``file://`` scheme can only be used to access paths on the local machine." +#: ../source/specifications/version-specifiers.rst:792 +msgid "``==``: `Version matching`_ clause" msgstr "" -#: ../source/specifications/version-specifiers.rst:1170 -msgid "" -"On Windows the file format should include the drive letter if applicable as " -"part of the ```` (e.g. ``file:///c:/path/to/a/file``). Unlike \\*nix " -"on Windows the ```` parameter may be used to specify a file residing " -"on a network share. In other words, in order to translate ``\\" -"\\machine\\volume\\file`` to a ``file://`` url, it would end up as ``file://" -"machine/volume/file``. For more information on ``file://`` URLs on Windows " -"see `MSDN `_." +#: ../source/specifications/version-specifiers.rst:793 +msgid "``!=``: `Version exclusion`_ clause" +msgstr "" + +#: ../source/specifications/version-specifiers.rst:794 +msgid "``<=``, ``>=``: `Inclusive ordered comparison`_ clause" msgstr "" -#: ../source/specifications/version-specifiers.rst:1181 -msgid "Summary of differences from pkg_resources.parse_version" +#: ../source/specifications/version-specifiers.rst:795 +msgid "``<``, ``>``: `Exclusive ordered comparison`_ clause" msgstr "" -#: ../source/specifications/version-specifiers.rst:1183 -msgid "" -"Note: this comparison is to ``pkg_resources.parse_version`` as it existed at " -"the time :pep:`440` was written. After the PEP was accepted, setuptools 6.0 " -"and later versions adopted the behaviour described here." +#: ../source/specifications/version-specifiers.rst:796 +msgid "``===``: `Arbitrary equality`_ clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1187 +#: ../source/specifications/version-specifiers.rst:798 msgid "" -"Local versions sort differently, this specification requires that they sort " -"as greater than the same version without a local version, whereas " -"``pkg_resources.parse_version`` considers it a pre-release marker." +"The comma (\",\") is equivalent to a logical **and** operator: a candidate " +"version must match all given version clauses in order to match the specifier " +"as a whole." msgstr "" -#: ../source/specifications/version-specifiers.rst:1191 +#: ../source/specifications/version-specifiers.rst:802 msgid "" -"This specification purposely restricts the syntax which constitutes a valid " -"version while ``pkg_resources.parse_version`` attempts to provide some " -"meaning from *any* arbitrary string." +"Whitespace between a conditional operator and the following version " +"identifier is optional, as is the whitespace around the commas." msgstr "" -#: ../source/specifications/version-specifiers.rst:1195 +#: ../source/specifications/version-specifiers.rst:805 msgid "" -"``pkg_resources.parse_version`` allows arbitrarily deeply nested version " -"signifiers like ``1.0.dev1.post1.dev5``. This specification however allows " -"only a single use of each type and they must exist in a certain order." +"When multiple candidate versions match a version specifier, the preferred " +"version SHOULD be the latest version as determined by the consistent " +"ordering defined by the standard `Version scheme`_. Whether or not pre-" +"releases are considered as candidate versions SHOULD be handled as described " +"in `Handling of pre-releases`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1204 -msgid "Appendix: Parsing version strings with regular expressions" +#: ../source/specifications/version-specifiers.rst:811 +msgid "" +"Except where specifically noted below, local version identifiers MUST NOT be " +"permitted in version specifiers, and local version labels MUST be ignored " +"entirely when checking if candidate versions match a given version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1206 -msgid "" -"As noted earlier in the :ref:`public-version-identifiers` section, published " -"version identifiers SHOULD use the canonical format. This section provides " -"regular expressions that can be used to test whether a version is already in " -"that form, and if it's not, extract the various components for subsequent " -"normalization." +#: ../source/specifications/version-specifiers.rst:820 +msgid "Compatible release" msgstr "" -#: ../source/specifications/version-specifiers.rst:1212 +#: ../source/specifications/version-specifiers.rst:822 msgid "" -"To test whether a version identifier is in the canonical format, you can use " -"the following function:" +"A compatible release clause consists of the compatible release operator " +"``~=`` and a version identifier. It matches any candidate version that is " +"expected to be compatible with the specified version." msgstr "" -#: ../source/specifications/version-specifiers.rst:1221 +#: ../source/specifications/version-specifiers.rst:826 msgid "" -"To extract the components of a version identifier, use the following regular " -"expression (as defined by the `packaging `_ project):" +"The specified version identifier must be in the standard format described in " +"`Version scheme`_. Local version identifiers are NOT permitted in this " +"version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1268 -msgid "August 2014: This specification was approved through :pep:`440`." +#: ../source/specifications/version-specifiers.rst:830 +msgid "" +"For a given release identifier ``V.N``, the compatible release clause is " +"approximately equivalent to the pair of comparison clauses::" msgstr "" -#: ../source/specifications/virtual-environments.rst:6 -#, fuzzy -msgid "Python Virtual Environments" -msgstr "Entorno virtual" - -#: ../source/specifications/virtual-environments.rst:8 +#: ../source/specifications/version-specifiers.rst:835 msgid "" -"For Python 3.3 and later versions, :pep:`405` introduced interpreter level " -"support for the concept of \"Python Virtual Environments\". Each virtual " -"environment has its own Python binary (allowing creation of environments " -"with various Python versions) and can have its own independent set of " -"installed Python packages in its site directories, but shares the standard " -"library with the base installed Python. While the concept of virtual " -"environments existed prior to this update, there was no previously " -"standardised mechanism for declaring or discovering them." +"This operator MUST NOT be used with a single segment version number such as " +"``~=1``." msgstr "" -#: ../source/specifications/virtual-environments.rst:18 -#, fuzzy -msgid "Runtime detection of virtual environments" -msgstr "Facultativamente, cree un entorno virtual" +#: ../source/specifications/version-specifiers.rst:838 +msgid "For example, the following groups of version clauses are equivalent::" +msgstr "" -#: ../source/specifications/virtual-environments.rst:20 +#: ../source/specifications/version-specifiers.rst:846 msgid "" -"At runtime, virtual environments can be identified by virtue of :py:data:" -"`sys.prefix` (the filesystem location of the running interpreter) having a " -"different value from :py:data:`sys.base_prefix` (the default filesystem " -"location of the standard library directories)." +"If a pre-release, post-release or developmental release is named in a " +"compatible release clause as ``V.N.suffix``, then the suffix is ignored when " +"determining the required prefix match::" msgstr "" -#: ../source/specifications/virtual-environments.rst:25 +#: ../source/specifications/version-specifiers.rst:856 msgid "" -":ref:`venv-explanation` in the Python standard library documentation for " -"the :py:mod:`venv` module covers this along with the concept of " -"\"activating\" a virtual environment in an interactive operating system " -"shell (this activation step is optional and hence the changes it makes can't " -"be reliably used to detect whether a Python program is running in a virtual " -"environment or not)." +"The padding rules for release segment comparisons means that the assumed " +"degree of forward compatibility in a compatible release clause can be " +"controlled by appending additional zeros to the version specifier::" msgstr "" -#: ../source/specifications/virtual-environments.rst:33 -msgid "Declaring installation environments as Python virtual environments" -msgstr "" +#: ../source/specifications/version-specifiers.rst:868 +#, fuzzy +msgid "Version matching" +msgstr "Versión" -#: ../source/specifications/virtual-environments.rst:35 +#: ../source/specifications/version-specifiers.rst:870 msgid "" -"As described in :pep:`405`, a Python virtual environment in its simplest " -"form consists of nothing more than a copy or symlink of the Python binary " -"accompanied by a ``site-packages`` directory and a ``pyvenv.cfg`` file with " -"a ``home`` key that indicates where to find the Python standard library " -"modules." +"A version matching clause includes the version matching operator ``==`` and " +"a version identifier." msgstr "" -#: ../source/specifications/virtual-environments.rst:40 +#: ../source/specifications/version-specifiers.rst:873 msgid "" -"While designed to meet the needs of the standard :py:mod:`venv` module, this " -"split installation and ``pyvenv.cfg`` file approach can be used by *any* " -"Python installation provider that desires Python-specific tools to be aware " -"that they are already operating in a virtual environment and no further " -"environment nesting is required or desired." +"The specified version identifier must be in the standard format described in " +"`Version scheme`_, but a trailing ``.*`` is permitted on public version " +"identifiers as described below." msgstr "" -#: ../source/specifications/virtual-environments.rst:46 +#: ../source/specifications/version-specifiers.rst:877 msgid "" -"Even in the absence of a ``pyvenv.cfg`` file, any approach (e.g. " -"``sitecustomize.py``, patching the installed Python runtime) that results " -"in :py:data:`sys.prefix` and :py:data:`sys.base_prefix` having different " -"values, while still providing a matching default package installation scheme " -"in :py:mod:`sysconfig`, will be detected and behave as a Python virtual " -"environment." -msgstr "" - -#: ../source/specifications/virtual-environments.rst:56 -msgid "May 2012: This specification was approved through :pep:`405`." +"By default, the version matching operator is based on a strict equality " +"comparison: the specified version must be exactly the same as the requested " +"version. The *only* substitution performed is the zero padding of the " +"release segment to ensure the release segments are compared with the same " +"length." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:5 -#, fuzzy -msgid "Well-known Project URLs in Metadata" -msgstr "Nombre de proyecto" - -#: ../source/specifications/well-known-project-urls.rst:9 +#: ../source/specifications/version-specifiers.rst:883 msgid "" -"This document is primarily of interest to metadata *consumers*, who should " -"use the normalization rules and well-known list below to make their " -"presentation of project URLs consistent across the Python ecosystem." +"Whether or not strict version matching is appropriate depends on the " +"specific use case for the version specifier. Automated tools SHOULD at least " +"issue warnings and MAY reject them entirely when strict version matches are " +"used inappropriately." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:14 +#: ../source/specifications/version-specifiers.rst:888 msgid "" -"Metadata *producers* (such as build tools and individual package " -"maintainers) may continue to use any labels they please, within the overall " -"``Project-URL`` length restrictions. However, when possible, users are " -"*encouraged* to pick meaningful labels that normalize to well-known labels." +"Prefix matching may be requested instead of strict comparison, by appending " +"a trailing ``.*`` to the version identifier in the version matching clause. " +"This means that additional trailing segments will be ignored when " +"determining whether or not a version identifier matches the clause. If the " +"specified version includes only a release segment, then trailing components " +"(or the lack thereof) in the release segment are also ignored." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:22 +#: ../source/specifications/version-specifiers.rst:895 +#: ../source/specifications/version-specifiers.rst:956 msgid "" -"See :ref:`Writing your pyproject.toml - urls ` " -"for user-oriented guidance on choosing project URL labels in your package's " -"metadata." +"For example, given the version ``1.1.post1``, the following clauses would " +"match or not as shown::" msgstr "" -#: ../source/specifications/well-known-project-urls.rst:26 -msgid "This specification was originally defined in :pep:`753`." +#: ../source/specifications/version-specifiers.rst:902 +msgid "" +"For purposes of prefix matching, the pre-release segment is considered to " +"have an implied preceding ``.``, so given the version ``1.1a1``, the " +"following clauses would match or not as shown::" msgstr "" -#: ../source/specifications/well-known-project-urls.rst:28 +#: ../source/specifications/version-specifiers.rst:910 msgid "" -":pep:`753` deprecates the :ref:`core-metadata-home-page` and :ref:`core-" -"metadata-download-url` metadata fields in favor of :ref:`core-metadata-" -"project-url`, and defines a normalization and lookup procedure for " -"determining whether a ``Project-URL`` is \"well-known,\" i.e. has the " -"semantics assigned to ``Home-page``, ``Download-URL``, or other common " -"project URLs." +"An exact match is also considered a prefix match (this interpretation is " +"implied by the usual zero padding rules for the release segment of version " +"identifiers). Given the version ``1.1``, the following clauses would match " +"or not as shown::" msgstr "" -#: ../source/specifications/well-known-project-urls.rst:35 +#: ../source/specifications/version-specifiers.rst:922 msgid "" -"This allows indices (such as the Python Package Index) and other downstream " -"metadata consumers to present project URLs in a consistent manner." +"It is invalid to have a prefix match containing a development or local " +"release such as ``1.0.dev1.*`` or ``1.0+foo1.*``. If present, the " +"development release segment is always the final segment in the public " +"version, and the local version is ignored for comparison purposes, so using " +"either in a prefix match wouldn't make any sense." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:42 -#, fuzzy -msgid "Label normalization" -msgstr "Traducciones" - -#: ../source/specifications/well-known-project-urls.rst:46 +#: ../source/specifications/version-specifiers.rst:928 msgid "" -"Label normalization is performed by metadata *consumers*, not metadata " -"producers." +"The use of ``==`` (without at least the wildcard suffix) when defining " +"dependencies for published distributions is strongly discouraged as it " +"greatly complicates the deployment of security fixes. The strict version " +"comparison operator is intended primarily for use when defining dependencies " +"for repeatable *deployments of applications* while using a shared " +"distribution index." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:49 +#: ../source/specifications/version-specifiers.rst:935 msgid "" -"To determine whether a ``Project-URL`` label is \"well-known,\" metadata " -"consumers should normalize the label before comparing it to the :ref:`list " -"of well-known labels `." +"If the specified version identifier is a public version identifier (no local " +"version label), then the local version label of any candidate versions MUST " +"be ignored when matching versions." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:53 +#: ../source/specifications/version-specifiers.rst:939 msgid "" -"The normalization procedure for ``Project-URL`` labels is defined by the " -"following Python function:" +"If the specified version identifier is a local version identifier, then the " +"local version labels of candidate versions MUST be considered when matching " +"versions, with the public version identifier being matched as described " +"above, and the local version label being checked for equivalence using a " +"strict string equality comparison." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:65 +#: ../source/specifications/version-specifiers.rst:947 +#, fuzzy +msgid "Version exclusion" +msgstr "Versión" + +#: ../source/specifications/version-specifiers.rst:949 msgid "" -"In plain language: a label is *normalized* by deleting all ASCII punctuation " -"and whitespace, and then converting the result to lowercase." +"A version exclusion clause includes the version exclusion operator ``!=`` " +"and a version identifier." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:68 +#: ../source/specifications/version-specifiers.rst:952 msgid "" -"The following table shows examples of labels before (raw) and after " -"normalization:" +"The allowed version identifiers and comparison semantics are the same as " +"those of the `Version matching`_ operator, except that the sense of any " +"match is inverted." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:74 -msgid "Raw" +#: ../source/specifications/version-specifiers.rst:965 +msgid "Inclusive ordered comparison" msgstr "" -#: ../source/specifications/well-known-project-urls.rst:75 -#, fuzzy -msgid "Normalized" -msgstr "Traducciones" - -#: ../source/specifications/well-known-project-urls.rst:76 -msgid "``Homepage``" +#: ../source/specifications/version-specifiers.rst:967 +msgid "" +"An inclusive ordered comparison clause includes a comparison operator and a " +"version identifier, and will match any version where the comparison is " +"correct based on the relative position of the candidate version and the " +"specified version given the consistent ordering defined by the standard " +"`Version scheme`_." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:77 -#: ../source/specifications/well-known-project-urls.rst:79 -#: ../source/specifications/well-known-project-urls.rst:81 -msgid "``homepage``" +#: ../source/specifications/version-specifiers.rst:973 +msgid "The inclusive ordered comparison operators are ``<=`` and ``>=``." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:78 -msgid "``Home-page``" +#: ../source/specifications/version-specifiers.rst:975 +#: ../source/specifications/version-specifiers.rst:1005 +msgid "" +"As with version matching, the release segment is zero padded as necessary to " +"ensure the release segments are compared with the same length." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:80 -msgid "``Home page``" +#: ../source/specifications/version-specifiers.rst:978 +#: ../source/specifications/version-specifiers.rst:1008 +msgid "Local version identifiers are NOT permitted in this version specifier." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:82 -msgid "``Change_Log``" +#: ../source/specifications/version-specifiers.rst:982 +msgid "Exclusive ordered comparison" msgstr "" -#: ../source/specifications/well-known-project-urls.rst:83 -msgid "``changelog``" +#: ../source/specifications/version-specifiers.rst:984 +msgid "" +"The exclusive ordered comparisons ``>`` and ``<`` are similar to the " +"inclusive ordered comparisons in that they rely on the relative position of " +"the candidate version and the specified version given the consistent " +"ordering defined by the standard `Version scheme`_. However, they " +"specifically exclude pre-releases, post-releases, and local versions of the " +"specified version." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:84 -msgid "``What's New?``" +#: ../source/specifications/version-specifiers.rst:990 +msgid "" +"The exclusive ordered comparison ``>V`` **MUST NOT** allow a post-release of " +"the given version unless ``V`` itself is a post release. You may mandate " +"that releases are later than a particular post release, including additional " +"post releases, by using ``>V.postN``. For example, ``>1.7`` will allow " +"``1.7.1`` but not ``1.7.0.post1`` and ``>1.7.post2`` will allow ``1.7.1`` " +"and ``1.7.0.post3`` but not ``1.7.0``." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:85 -msgid "``whatsnew``" +#: ../source/specifications/version-specifiers.rst:997 +msgid "" +"The exclusive ordered comparison ``>V`` **MUST NOT** match a local version " +"of the specified version." msgstr "" -#: ../source/specifications/well-known-project-urls.rst:86 -#: ../source/specifications/well-known-project-urls.rst:87 -msgid "``github``" +#: ../source/specifications/version-specifiers.rst:1000 +msgid "" +"The exclusive ordered comparison ``=`` entry as part " +"of the URL fragment." msgstr "" -#: ../source/support.rst:3 -msgid "How to Get Support" -msgstr "Cómo obtener asistencia" +#: ../source/specifications/version-specifiers.rst:1129 +msgid "" +"For version control references, the ``VCS+protocol`` scheme SHOULD be used " +"to identify both the version control system and the secure transport, and a " +"version control system with hash based commit identifiers SHOULD be used. " +"Automated tools MAY omit warnings about missing hashes for version control " +"systems that do not provide hash based commit identifiers." +msgstr "" -#: ../source/support.rst:5 +#: ../source/specifications/version-specifiers.rst:1135 msgid "" -"For support related to a specific project, see the links on the :doc:" -"`Projects ` page." +"To handle version control systems that do not support including commit or " +"tag references directly in the URL, that information may be appended to the " +"end of the URL using the ``@`` or the ``@#`` " +"notation." msgstr "" -#: ../source/support.rst:8 +#: ../source/specifications/version-specifiers.rst:1142 msgid "" -"For something more general, or when you're just not sure, please `open an " -"issue `_ on the `packaging-problems `_ repository on GitHub." +"This isn't *quite* the same as the existing VCS reference notation supported " +"by pip. Firstly, the distribution name is moved in front rather than " +"embedded as part of the URL. Secondly, the commit hash is included even when " +"retrieving based on a tag, in order to meet the requirement above that " +"*every* link should include a hash to make things harder to forge (creating " +"a malicious repo with a particular tag is easy, creating one with a specific " +"*hash*, less so)." msgstr "" -#: ../source/tutorials/creating-documentation.rst:4 +#: ../source/specifications/version-specifiers.rst:1150 #, fuzzy -msgid "Creating documentation" -msgstr "Creación de documentación" +msgid "Remote URL examples::" +msgstr "Por ejemplo::" -#: ../source/tutorials/creating-documentation.rst:6 -msgid "" -"This tutorial has been removed since it is not related to packaging and was " -"unmaintained. Please see the `Sphinx tutorial `_ instead." +#: ../source/specifications/version-specifiers.rst:1158 +msgid "File URLs" msgstr "" -#: ../source/tutorials/index.rst:4 +#: ../source/specifications/version-specifiers.rst:1160 msgid "" -"**Tutorials** are opinionated step-by-step guides to help you get familiar " -"with packaging concepts. For more detailed information on specific packaging " -"topics, see :doc:`/guides/index`." +"File URLs take the form of ``file:///``. If the ```` is " +"omitted it is assumed to be ``localhost`` and even if the ```` is " +"omitted the third slash MUST still exist. The ```` defines what the " +"file path on the filesystem that is to be accessed." msgstr "" -#: ../source/tutorials/installing-packages.rst:5 -msgid "Installing Packages" -msgstr "Instalación de paquetes" - -#: ../source/tutorials/installing-packages.rst:7 +#: ../source/specifications/version-specifiers.rst:1165 msgid "" -"This section covers the basics of how to install Python :term:`packages " -"`." +"On the various \\*nix operating systems the only allowed values for " +"```` is for it to be omitted, ``localhost``, or another FQDN that the " +"current machine believes matches its own host. In other words, on \\*nix the " +"``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/tutorials/installing-packages.rst:10 +#: ../source/specifications/version-specifiers.rst:1170 msgid "" -"It's important to note that the term \"package\" in this context is being " -"used to describe a bundle of software to be installed (i.e. as a synonym for " -"a :term:`distribution `). It does not refer to the " -"kind of :term:`package ` that you import in your Python " -"source code (i.e. a container of modules). It is common in the Python " -"community to refer to a :term:`distribution ` using " -"the term \"package\". Using the term \"distribution\" is often not " -"preferred, because it can easily be confused with a Linux distribution, or " -"another larger software distribution like Python itself." +"On Windows the file format should include the drive letter if applicable as " +"part of the ```` (e.g. ``file:///c:/path/to/a/file``). Unlike \\*nix " +"on Windows the ```` parameter may be used to specify a file residing " +"on a network share. In other words, in order to translate ``\\" +"\\machine\\volume\\file`` to a ``file://`` url, it would end up as ``file://" +"machine/volume/file``. For more information on ``file://`` URLs on Windows " +"see `MSDN `_." msgstr "" -#: ../source/tutorials/installing-packages.rst:24 -msgid "Requirements for Installing Packages" -msgstr "Requisitos para instalar paquetes" +#: ../source/specifications/version-specifiers.rst:1181 +msgid "Summary of differences from pkg_resources.parse_version" +msgstr "" -#: ../source/tutorials/installing-packages.rst:26 +#: ../source/specifications/version-specifiers.rst:1183 msgid "" -"This section describes the steps to follow before installing other Python " -"packages." +"Note: this comparison is to ``pkg_resources.parse_version`` as it existed at " +"the time :pep:`440` was written. After the PEP was accepted, setuptools 6.0 " +"and later versions adopted the behaviour described here." msgstr "" -"Esta sección describe los pasos que hay que seguir antes de instalar otros " -"paquetes de Python." -#: ../source/tutorials/installing-packages.rst:31 -msgid "Ensure you can run Python from the command line" -msgstr "Cerciórese de que pueda ejecutar Python desde la línea de órdenes" +#: ../source/specifications/version-specifiers.rst:1187 +msgid "" +"Local versions sort differently, this specification requires that they sort " +"as greater than the same version without a local version, whereas " +"``pkg_resources.parse_version`` considers it a pre-release marker." +msgstr "" -#: ../source/tutorials/installing-packages.rst:33 +#: ../source/specifications/version-specifiers.rst:1191 msgid "" -"Before you go any further, make sure you have Python and that the expected " -"version is available from your command line. You can check this by running:" +"This specification purposely restricts the syntax which constitutes a valid " +"version while ``pkg_resources.parse_version`` attempts to provide some " +"meaning from *any* arbitrary string." msgstr "" -#: ../source/tutorials/installing-packages.rst:49 +#: ../source/specifications/version-specifiers.rst:1195 msgid "" -"You should get some output like ``Python 3.6.3``. If you do not have Python, " -"please install the latest 3.x version from `python.org`_ or refer to the :" -"ref:`Installing Python ` section of the " -"Hitchhiker's Guide to Python." +"``pkg_resources.parse_version`` allows arbitrarily deeply nested version " +"signifiers like ``1.0.dev1.post1.dev5``. This specification however allows " +"only a single use of each type and they must exist in a certain order." msgstr "" -#: ../source/tutorials/installing-packages.rst:53 -msgid "If you're a newcomer and you get an error like this:" +#: ../source/specifications/version-specifiers.rst:1204 +msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/tutorials/installing-packages.rst:62 +#: ../source/specifications/version-specifiers.rst:1206 msgid "" -"It's because this command and other suggested commands in this tutorial are " -"intended to be run in a *shell* (also called a *terminal* or *console*). See " -"the Python for Beginners `getting started tutorial`_ for an introduction to " -"using your operating system's shell and interacting with Python." +"As noted earlier in the :ref:`public-version-identifiers` section, published " +"version identifiers SHOULD use the canonical format. This section provides " +"regular expressions that can be used to test whether a version is already in " +"that form, and if it's not, extract the various components for subsequent " +"normalization." msgstr "" -#: ../source/tutorials/installing-packages.rst:68 +#: ../source/specifications/version-specifiers.rst:1212 msgid "" -"If you're using an enhanced shell like IPython or the Jupyter notebook, you " -"can run system commands like those in this tutorial by prefacing them with a " -"``!`` character:" +"To test whether a version identifier is in the canonical format, you can use " +"the following function:" msgstr "" -#: ../source/tutorials/installing-packages.rst:78 +#: ../source/specifications/version-specifiers.rst:1221 msgid "" -"It's recommended to write ``{sys.executable}`` rather than plain ``python`` " -"in order to ensure that commands are run in the Python installation matching " -"the currently running notebook (which may not be the same Python " -"installation that the ``python`` command refers to)." +"To extract the components of a version identifier, use the following regular " +"expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/tutorials/installing-packages.rst:83 -msgid "" -"Due to the way most Linux distributions are handling the Python 3 migration, " -"Linux users using the system Python without creating a virtual environment " -"first should replace the ``python`` command in this tutorial with " -"``python3`` and the ``python -m pip`` command with ``python3 -m pip --" -"user``. Do *not* run any of the commands in this tutorial with ``sudo``: if " -"you get a permissions error, come back to the section on creating virtual " -"environments, set one up, and then continue with the tutorial as written." +#: ../source/specifications/version-specifiers.rst:1268 +msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/tutorials/installing-packages.rst:95 -msgid "Ensure you can run pip from the command line" -msgstr "Cerciórese de que pueda ejecutar pip desde la línea de órdenes" +#: ../source/specifications/virtual-environments.rst:6 +#, fuzzy +msgid "Python Virtual Environments" +msgstr "Entorno virtual" -#: ../source/tutorials/installing-packages.rst:97 +#: ../source/specifications/virtual-environments.rst:8 msgid "" -"Additionally, you'll need to make sure you have :ref:`pip` available. You " -"can check this by running:" +"For Python 3.3 and later versions, :pep:`405` introduced interpreter level " +"support for the concept of \"Python Virtual Environments\". Each virtual " +"environment has its own Python binary (allowing creation of environments " +"with various Python versions) and can have its own independent set of " +"installed Python packages in its site directories, but shares the standard " +"library with the base installed Python. While the concept of virtual " +"environments existed prior to this update, there was no previously " +"standardised mechanism for declaring or discovering them." msgstr "" -#: ../source/tutorials/installing-packages.rst:112 +#: ../source/specifications/virtual-environments.rst:18 +#, fuzzy +msgid "Runtime detection of virtual environments" +msgstr "Facultativamente, cree un entorno virtual" + +#: ../source/specifications/virtual-environments.rst:20 msgid "" -"If you installed Python from source, with an installer from `python.org`_, " -"or via `Homebrew`_ you should already have pip. If you're on Linux and " -"installed using your OS package manager, you may have to install pip " -"separately, see :doc:`/guides/installing-using-linux-tools`." +"At runtime, virtual environments can be identified by virtue of :py:data:" +"`sys.prefix` (the filesystem location of the running interpreter) having a " +"different value from :py:data:`sys.base_prefix` (the default filesystem " +"location of the standard library directories)." msgstr "" -#: ../source/tutorials/installing-packages.rst:119 +#: ../source/specifications/virtual-environments.rst:25 msgid "" -"If ``pip`` isn't already installed, then first try to bootstrap it from the " -"standard library:" +":ref:`venv-explanation` in the Python standard library documentation for " +"the :py:mod:`venv` module covers this along with the concept of " +"\"activating\" a virtual environment in an interactive operating system " +"shell (this activation step is optional and hence the changes it makes can't " +"be reliably used to detect whether a Python program is running in a virtual " +"environment or not)." msgstr "" -#: ../source/tutorials/installing-packages.rst:134 -msgid "If that still doesn't allow you to run ``python -m pip``:" +#: ../source/specifications/virtual-environments.rst:33 +msgid "Declaring installation environments as Python virtual environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:136 +#: ../source/specifications/virtual-environments.rst:35 msgid "" -"Securely Download `get-pip.py `_ [1]_" +"As described in :pep:`405`, a Python virtual environment in its simplest " +"form consists of nothing more than a copy or symlink of the Python binary " +"accompanied by a ``site-packages`` directory and a ``pyvenv.cfg`` file with " +"a ``home`` key that indicates where to find the Python standard library " +"modules." msgstr "" -#: ../source/tutorials/installing-packages.rst:139 +#: ../source/specifications/virtual-environments.rst:40 msgid "" -"Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " -"not installed already." +"While designed to meet the needs of the standard :py:mod:`venv` module, this " +"split installation and ``pyvenv.cfg`` file approach can be used by *any* " +"Python installation provider that desires Python-specific tools to be aware " +"that they are already operating in a virtual environment and no further " +"environment nesting is required or desired." msgstr "" -#: ../source/tutorials/installing-packages.rst:145 +#: ../source/specifications/virtual-environments.rst:46 msgid "" -"Be cautious if you're using a Python install that's managed by your " -"operating system or another package manager. get-pip.py does not coordinate " -"with those tools, and may leave your system in an inconsistent state. You " -"can use ``python get-pip.py --prefix=/usr/local/`` to install in ``/usr/" -"local`` which is designed for locally-installed software." +"Even in the absence of a ``pyvenv.cfg`` file, any approach (e.g. " +"``sitecustomize.py``, patching the installed Python runtime) that results " +"in :py:data:`sys.prefix` and :py:data:`sys.base_prefix` having different " +"values, while still providing a matching default package installation scheme " +"in :py:mod:`sysconfig`, will be detected and behave as a Python virtual " +"environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +#: ../source/specifications/virtual-environments.rst:56 +msgid "May 2012: This specification was approved through :pep:`405`." msgstr "" -#: ../source/tutorials/installing-packages.rst:156 +#: ../source/specifications/well-known-project-urls.rst:5 +#, fuzzy +msgid "Well-known Project URLs in Metadata" +msgstr "Nombre de proyecto" + +#: ../source/specifications/well-known-project-urls.rst:9 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"This document is primarily of interest to metadata *consumers*, who should " +"use the normalization rules and well-known list below to make their " +"presentation of project URLs consistent across the Python ecosystem." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 -msgid "Optionally, create a virtual environment" -msgstr "Facultativamente, cree un entorno virtual" - -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/specifications/well-known-project-urls.rst:14 msgid "" -"See :ref:`section below ` for " -"details, but here's the basic :doc:`venv ` [3]_ command " -"to use on a typical Linux system:" +"Metadata *producers* (such as build tools and individual package " +"maintainers) may continue to use any labels they please, within the overall " +"``Project-URL`` length restrictions. However, when possible, users are " +"*encouraged* to pick meaningful labels that normalize to well-known labels." msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/specifications/well-known-project-urls.rst:22 msgid "" -"This will create a new virtual environment in the ``tutorial_env`` " -"subdirectory, and configure the current shell to use it as the default " -"``python`` environment." +"See :ref:`Writing your pyproject.toml - urls ` " +"for user-oriented guidance on choosing project URL labels in your package's " +"metadata." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 -msgid "Creating Virtual Environments" +#: ../source/specifications/well-known-project-urls.rst:26 +msgid "This specification was originally defined in :pep:`753`." msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/specifications/well-known-project-urls.rst:28 msgid "" -"Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " -"application, rather than being installed globally. If you are looking to " -"safely install global command line tools, see :doc:`/guides/installing-stand-" -"alone-command-line-tools`." +":pep:`753` deprecates the :ref:`core-metadata-home-page` and :ref:`core-" +"metadata-download-url` metadata fields in favor of :ref:`core-metadata-" +"project-url`, and defines a normalization and lookup procedure for " +"determining whether a ``Project-URL`` is \"well-known,\" i.e. has the " +"semantics assigned to ``Home-page``, ``Download-URL``, or other common " +"project URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/specifications/well-known-project-urls.rst:35 msgid "" -"Imagine you have an application that needs version 1 of LibFoo, but another " -"application requires version 2. How can you use both these applications? If " -"you install everything into /usr/lib/python3.6/site-packages (or whatever " -"your platform’s standard location is), it’s easy to end up in a situation " -"where you unintentionally upgrade an application that shouldn’t be upgraded." +"This allows indices (such as the Python Package Index) and other downstream " +"metadata consumers to present project URLs in a consistent manner." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/specifications/well-known-project-urls.rst:42 +#, fuzzy +msgid "Label normalization" +msgstr "Traducciones" + +#: ../source/specifications/well-known-project-urls.rst:46 msgid "" -"Or more generally, what if you want to install an application and leave it " -"be? If an application works, any change in its libraries or the versions of " -"those libraries can break the application." +"Label normalization is performed by metadata *consumers*, not metadata " +"producers." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/specifications/well-known-project-urls.rst:49 msgid "" -"Also, what if you can’t install :term:`packages ` into " -"the global site-packages directory? For instance, on a shared host." +"To determine whether a ``Project-URL`` label is \"well-known,\" metadata " +"consumers should normalize the label before comparing it to the :ref:`list " +"of well-known labels `." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/specifications/well-known-project-urls.rst:53 msgid "" -"In all these cases, virtual environments can help you. They have their own " -"installation directories and they don’t share libraries with other virtual " -"environments." +"The normalization procedure for ``Project-URL`` labels is defined by the " +"following Python function:" msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/specifications/well-known-project-urls.rst:65 msgid "" -"Currently, there are two common tools for creating Python virtual " -"environments:" +"In plain language: a label is *normalized* by deleting all ASCII punctuation " +"and whitespace, and then converting the result to lowercase." msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/specifications/well-known-project-urls.rst:68 msgid "" -":doc:`venv ` is available by default in Python 3.3 and " -"later, and installs :ref:`pip` into created virtual environments in Python " -"3.4 and later (Python versions prior to 3.12 also installed :ref:" -"`setuptools`)." +"The following table shows examples of labels before (raw) and after " +"normalization:" msgstr "" -#: ../source/tutorials/installing-packages.rst:229 -msgid "" -":ref:`virtualenv` needs to be installed separately, but supports Python 2.7+ " -"and Python 3.3+, and :ref:`pip`, :ref:`setuptools` and :ref:`wheel` are " -"always installed into created virtual environments by default (regardless of " -"Python version)." +#: ../source/specifications/well-known-project-urls.rst:74 +msgid "Raw" msgstr "" -#: ../source/tutorials/installing-packages.rst:234 -msgid "The basic usage is like so:" +#: ../source/specifications/well-known-project-urls.rst:75 +#, fuzzy +msgid "Normalized" +msgstr "Traducciones" + +#: ../source/specifications/well-known-project-urls.rst:76 +msgid "``Homepage``" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 -msgid "Using :doc:`venv `:" +#: ../source/specifications/well-known-project-urls.rst:77 +#: ../source/specifications/well-known-project-urls.rst:79 +#: ../source/specifications/well-known-project-urls.rst:81 +msgid "``homepage``" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 -msgid "Using :ref:`virtualenv`:" +#: ../source/specifications/well-known-project-urls.rst:78 +msgid "``Home-page``" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 -msgid "" -"For more information, see the :doc:`venv ` docs or the :" -"doc:`virtualenv ` docs." +#: ../source/specifications/well-known-project-urls.rst:80 +msgid "``Home page``" msgstr "" -#: ../source/tutorials/installing-packages.rst:271 -msgid "" -"The use of :command:`source` under Unix shells ensures that the virtual " -"environment's variables are set within the current shell, and not in a " -"subprocess (which then disappears, having no useful effect)." +#: ../source/specifications/well-known-project-urls.rst:82 +msgid "``Change_Log``" msgstr "" -#: ../source/tutorials/installing-packages.rst:276 -msgid "" -"In both of the above cases, Windows users should *not* use the :command:" -"`source` command, but should rather run the :command:`activate` script " -"directly from the command shell like so:" +#: ../source/specifications/well-known-project-urls.rst:83 +msgid "``changelog``" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 -msgid "" -"Managing multiple virtual environments directly can become tedious, so the :" -"ref:`dependency management tutorial ` introduces a " -"higher level tool, :ref:`Pipenv`, that automatically manages a separate " -"virtual environment for each project and application that you work on." +#: ../source/specifications/well-known-project-urls.rst:84 +msgid "``What's New?``" msgstr "" -#: ../source/tutorials/installing-packages.rst:293 -msgid "Use pip for Installing" +#: ../source/specifications/well-known-project-urls.rst:85 +msgid "``whatsnew``" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 -msgid "" -":ref:`pip` is the recommended installer. Below, we'll cover the most common " -"usage scenarios. For more detail, see the :doc:`pip docs `, which " -"includes a complete :doc:`Reference Guide `." +#: ../source/specifications/well-known-project-urls.rst:86 +#: ../source/specifications/well-known-project-urls.rst:87 +msgid "``github``" msgstr "" -#: ../source/tutorials/installing-packages.rst:301 -msgid "Installing from PyPI" -msgstr "Instalación a partir de PyPI" +#: ../source/specifications/well-known-project-urls.rst:92 +msgid "Well-known labels" +msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/specifications/well-known-project-urls.rst:96 msgid "" -"The most common usage of :ref:`pip` is to install from the :term:`Python " -"Package Index ` using a :term:`requirement " -"specifier `. Generally speaking, a requirement " -"specifier is composed of a project name followed by an optional :term:" -"`version specifier `. A full description of the " -"supported specifiers can be found in the :ref:`Version specifier " -"specification `. Below are some examples." +"The list of well-known labels is a living standard, maintained as part of " +"this document." +msgstr "" + +#: ../source/specifications/well-known-project-urls.rst:99 +msgid "" +"The following table lists labels that are well-known for the purpose of " +"specializing the presentation of ``Project-URL`` metadata:" +msgstr "" + +#: ../source/specifications/well-known-project-urls.rst:105 +msgid "Label (Human-readable equivalent)" msgstr "" -#: ../source/tutorials/installing-packages.rst:311 -msgid "To install the latest version of \"SomeProject\":" +#: ../source/specifications/well-known-project-urls.rst:107 +msgid "Aliases" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 -msgid "To install a specific version:" -msgstr "Para instalar una versión específica:" +#: ../source/specifications/well-known-project-urls.rst:108 +msgid "``homepage`` (Homepage)" +msgstr "" -#: ../source/tutorials/installing-packages.rst:339 -msgid "To install greater than or equal to one version and less than another:" +#: ../source/specifications/well-known-project-urls.rst:109 +msgid "The project's home page" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 -msgid "" -"To install a version that's :ref:`compatible ` with a certain version: [4]_" +#: ../source/specifications/well-known-project-urls.rst:110 +#: ../source/specifications/well-known-project-urls.rst:116 +#: ../source/specifications/well-known-project-urls.rst:122 +msgid "*(none)*" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 -msgid "" -"In this case, this means to install any version \"==1.4.*\" version that's " -"also \">=1.4.2\"." +#: ../source/specifications/well-known-project-urls.rst:111 +msgid "``source`` (Source Code)" msgstr "" -#: ../source/tutorials/installing-packages.rst:374 -msgid "Source Distributions vs Wheels" +#: ../source/specifications/well-known-project-urls.rst:112 +msgid "The project's hosted source code or repository" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 -msgid "" -":ref:`pip` can install from either :term:`Source Distributions (sdist) " -"` or :term:`Wheels `, but if both " -"are present on PyPI, pip will prefer a compatible :term:`wheel `. You " -"can override pip`s default behavior by e.g. using its :ref:`--no-binary ` option." +#: ../source/specifications/well-known-project-urls.rst:113 +msgid "``repository``, ``sourcecode``, ``github``" msgstr "" -#: ../source/tutorials/installing-packages.rst:382 -msgid "" -":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " -"Distributions (sdist) `, especially when " -"a project contains compiled extensions." +#: ../source/specifications/well-known-project-urls.rst:114 +msgid "``download`` (Download)" msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/specifications/well-known-project-urls.rst:115 msgid "" -"If :ref:`pip` does not find a wheel to install, it will locally build a " -"wheel and cache it for future installs, instead of rebuilding the source " -"distribution in the future." +"A download URL for the current distribution, equivalent to ``Download-URL``" msgstr "" -#: ../source/tutorials/installing-packages.rst:395 -msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." +#: ../source/specifications/well-known-project-urls.rst:117 +msgid "``changelog`` (Changelog)" msgstr "" -#: ../source/tutorials/installing-packages.rst:412 -msgid "Installing to the User Site" +#: ../source/specifications/well-known-project-urls.rst:118 +msgid "The project's comprehensive changelog" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 -msgid "" -"To install :term:`packages ` that are isolated to the " -"current user, use the ``--user`` flag:" +#: ../source/specifications/well-known-project-urls.rst:119 +msgid "``changes``, ``whatsnew``, ``history``" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 -msgid "" -"For more information see the `User Installs `_ section from the pip docs." +#: ../source/specifications/well-known-project-urls.rst:120 +msgid "``releasenotes`` (Release Notes)" msgstr "" -#: ../source/tutorials/installing-packages.rst:433 -msgid "" -"Note that the ``--user`` flag has no effect when inside a virtual " -"environment - all installation commands will affect the virtual environment." +#: ../source/specifications/well-known-project-urls.rst:121 +msgid "The project's curated release notes" msgstr "" -#: ../source/tutorials/installing-packages.rst:436 -msgid "" -"If ``SomeProject`` defines any command-line scripts or console entry points, " -"``--user`` will cause them to be installed inside the `user base`_'s binary " -"directory, which may or may not already be present in your shell's :envvar:" -"`PATH`. (Starting in version 10, pip displays a warning when installing any " -"scripts to a directory outside :envvar:`PATH`.) If the scripts are not " -"available in your shell after installation, you'll need to add the directory " -"to your :envvar:`PATH`:" +#: ../source/specifications/well-known-project-urls.rst:123 +#, fuzzy +msgid "``documentation`` (Documentation)" +msgstr "Creación de documentación" + +#: ../source/specifications/well-known-project-urls.rst:124 +#, fuzzy +msgid "The project's online documentation" +msgstr "Creación de documentación" + +#: ../source/specifications/well-known-project-urls.rst:125 +#, fuzzy +msgid "``docs``" +msgstr "``upload_docs``" + +#: ../source/specifications/well-known-project-urls.rst:126 +msgid "``issues`` (Issue Tracker)" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 -msgid "" -"On Linux and macOS you can find the user base binary directory by running " -"``python -m site --user-base`` and adding ``bin`` to the end. For example, " -"this will typically print ``~/.local`` (with ``~`` expanded to the absolute " -"path to your home directory) so you'll need to add ``~/.local/bin`` to your " -"``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." +#: ../source/specifications/well-known-project-urls.rst:127 +msgid "The project's bug tracker" msgstr "" -#: ../source/tutorials/installing-packages.rst:450 -msgid "" -"On Windows you can find the user base binary directory by running ``py -m " -"site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " -"example, this could return ``C:" -"\\Users\\Username\\AppData\\Roaming\\Python36\\site-packages`` so you would " -"need to set your ``PATH`` to include ``C:" -"\\Users\\Username\\AppData\\Roaming\\Python36\\Scripts``. You can set your " -"user ``PATH`` permanently in the `Control Panel`_. You may need to log out " -"for the ``PATH`` changes to take effect." +#: ../source/specifications/well-known-project-urls.rst:128 +msgid "``bugs``, ``issue``, ``tracker``, ``issuetracker``, ``bugtracker``" msgstr "" -#: ../source/tutorials/installing-packages.rst:466 -msgid "" -"Install a list of requirements specified in a :ref:`Requirements File `." +#: ../source/specifications/well-known-project-urls.rst:129 +msgid "``funding`` (Funding)" msgstr "" -#: ../source/tutorials/installing-packages.rst:482 -msgid "Installing from VCS" -msgstr "Instalación a partir de un sistema de control de versiones" +#: ../source/specifications/well-known-project-urls.rst:130 +#, fuzzy +msgid "Funding Information" +msgstr "Configuraciones habituales" -#: ../source/tutorials/installing-packages.rst:484 -msgid "" -"Install a project from VCS in \"editable\" mode. For a full breakdown of " -"the syntax, see pip's section on :ref:`VCS Support `." +#: ../source/specifications/well-known-project-urls.rst:131 +msgid "``sponsor``, ``donate``, ``donation``" msgstr "" -#: ../source/tutorials/installing-packages.rst:506 -msgid "Installing from other Indexes" -msgstr "Instalación a partir de otros índices" +#: ../source/specifications/well-known-project-urls.rst:133 +msgid "" +"Package metadata consumers may choose to render aliased labels the same as " +"their \"parent\" well known label, or further specialize them." +msgstr "" -#: ../source/tutorials/installing-packages.rst:508 -msgid "Install from an alternate index" -msgstr "Instalación a partir de un índice alternativo" +#: ../source/specifications/well-known-project-urls.rst:137 +#, fuzzy +msgid "Example behavior" +msgstr "Ejemplos" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/specifications/well-known-project-urls.rst:139 msgid "" -"Search an additional index during install, in addition to :term:`PyPI " -"`" +"The following shows the flow of project URL metadata from ``pyproject.toml`` " +"to core metadata to a potential index presentation:" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 -msgid "Installing from a local src tree" +#: ../source/specifications/well-known-project-urls.rst:142 +msgid "Example project URLs in standard configuration" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 -msgid "" -"Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " -"installed, but yet is still editable from the src tree." +#: ../source/specifications/well-known-project-urls.rst:151 +msgid "Core metadata representation" msgstr "" -#: ../source/tutorials/installing-packages.rst:558 -msgid "You can also install normally from src" +#: ../source/specifications/well-known-project-urls.rst:159 +msgid "Potential rendering" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 -msgid "Installing from local archives" +#: ../source/specifications/well-known-project-urls.rst:167 +msgid "" +"Observe that the core metadata appears in the form provided by the user " +"(since metadata *producers* do not perform normalization), but the metadata " +"*consumer* normalizes and identifies appropriate human-readable equivalents " +"based on the normalized form:" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 -msgid "Install a particular source archive file." +#: ../source/specifications/well-known-project-urls.rst:172 +msgid "``Home page`` becomes ``homepage``, which is rendered as ``Homepage``" msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/specifications/well-known-project-urls.rst:173 msgid "" -"Install from a local directory containing archives (and don't check :term:" -"`PyPI `)" +"``DOCUMENTATION`` becomes ``documentation``, which is rendered as " +"``Documentation``" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 -msgid "Installing from other sources" -msgstr "Instalación a partir de otras fuentes" +#: ../source/specifications/well-known-project-urls.rst:174 +msgid "" +"``Repository`` becomes ``repository``, which is rendered as ``Source Code``" +msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/specifications/well-known-project-urls.rst:175 msgid "" -"To install from other data sources (for example Amazon S3 storage) you can " -"create a helper application that presents the data in a format compliant " -"with the :ref:`simple repository API `:, and use the " -"``--extra-index-url`` flag to direct pip to use that index." +"``GitHub`` becomes ``github``, which is rendered as ``Source Code (GitHub)`` " +"(as a specialization of ``Source Code``)" msgstr "" -#: ../source/tutorials/installing-packages.rst:623 -msgid "Installing Prereleases" +#: ../source/support.rst:3 +msgid "How to Get Support" +msgstr "Cómo obtener asistencia" + +#: ../source/support.rst:5 +msgid "" +"For support related to a specific project, see the links on the :doc:" +"`Projects ` page." msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/support.rst:8 msgid "" -"Find pre-release and development versions, in addition to stable versions. " -"By default, pip only finds stable versions." +"For something more general, or when you're just not sure, please `open an " +"issue `_ on the `packaging-problems `_ repository on GitHub." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 -msgid "Installing \"Extras\"" -msgstr "Instalando \"Extras\"" +#: ../source/tutorials/creating-documentation.rst:4 +#, fuzzy +msgid "Creating documentation" +msgstr "Creación de documentación" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/creating-documentation.rst:6 msgid "" -"Extras are optional \"variants\" of a package, which may include additional " -"dependencies, and thereby enable additional functionality from the package. " -"If you wish to install an extra for a package which you know publishes one, " -"you can include it in the pip installation command:" +"This tutorial has been removed since it is not related to packaging and was " +"unmaintained. Please see the `Sphinx tutorial `_ instead." msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/index.rst:4 msgid "" -"\"Secure\" in this context means using a modern browser or a tool like :" -"command:`curl` that verifies SSL certificates when downloading from https " -"URLs." +"**Tutorials** are opinionated step-by-step guides to help you get familiar " +"with packaging concepts. For more detailed information on specific packaging " +"topics, see :doc:`/guides/index`." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:5 +msgid "Installing Packages" +msgstr "Instalación de paquetes" + +#: ../source/tutorials/installing-packages.rst:7 msgid "" -"Beginning with Python 3.4, ``venv`` (a stdlib alternative to :ref:" -"`virtualenv`) will create virtualenv environments with ``pip`` pre-" -"installed, thereby making it an equal alternative to :ref:`virtualenv`." +"This section covers the basics of how to install Python :term:`packages " +"`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:10 msgid "" -"The compatible release specifier was accepted in :pep:`440` and support was " -"released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" +"It's important to note that the term \"package\" in this context is being " +"used to describe a bundle of software to be installed (i.e. as a synonym for " +"a :term:`distribution `). It does not refer to the " +"kind of :term:`package ` that you import in your Python " +"source code (i.e. a container of modules). It is common in the Python " +"community to refer to a :term:`distribution ` using " +"the term \"package\". Using the term \"distribution\" is often not " +"preferred, because it can easily be confused with a Linux distribution, or " +"another larger software distribution like Python itself." msgstr "" -#: ../source/tutorials/managing-dependencies.rst:4 -msgid "Managing Application Dependencies" -msgstr "Gestión de las dependencias de aplicación" +#: ../source/tutorials/installing-packages.rst:24 +msgid "Requirements for Installing Packages" +msgstr "Requisitos para instalar paquetes" -#: ../source/tutorials/managing-dependencies.rst:6 +#: ../source/tutorials/installing-packages.rst:26 msgid "" -"The :ref:`package installation tutorial ` covered the " -"basics of getting set up to install and update Python packages." +"This section describes the steps to follow before installing other Python " +"packages." msgstr "" +"Esta sección describe los pasos que hay que seguir antes de instalar otros " +"paquetes de Python." -#: ../source/tutorials/managing-dependencies.rst:9 +#: ../source/tutorials/installing-packages.rst:31 +msgid "Ensure you can run Python from the command line" +msgstr "Cerciórese de que pueda ejecutar Python desde la línea de órdenes" + +#: ../source/tutorials/installing-packages.rst:33 msgid "" -"However, running these commands interactively can get tedious even for your " -"own personal projects, and things get even more difficult when trying to set " -"up development environments automatically for projects with multiple " -"contributors." +"Before you go any further, make sure you have Python and that the expected " +"version is available from your command line. You can check this by running:" msgstr "" -#: ../source/tutorials/managing-dependencies.rst:13 +#: ../source/tutorials/installing-packages.rst:49 msgid "" -"This tutorial walks you through the use of :ref:`Pipenv` to manage " -"dependencies for an application. It will show you how to install and use the " -"necessary tools and make strong recommendations on best practices." +"You should get some output like ``Python 3.6.3``. If you do not have Python, " +"please install the latest 3.x version from `python.org`_ or refer to the :" +"ref:`Installing Python ` section of the " +"Hitchhiker's Guide to Python." msgstr "" -#: ../source/tutorials/managing-dependencies.rst:17 -msgid "" -"Keep in mind that Python is used for a great many different purposes, and " -"precisely how you want to manage your dependencies may change based on how " -"you decide to publish your software. The guidance presented here is most " -"directly applicable to the development and deployment of network services " -"(including web applications), but is also very well suited to managing " -"development and testing environments for any kind of project." +#: ../source/tutorials/installing-packages.rst:53 +msgid "If you're a newcomer and you get an error like this:" msgstr "" -#: ../source/tutorials/managing-dependencies.rst:24 +#: ../source/tutorials/installing-packages.rst:62 msgid "" -"For alternatives, see `Other Tools for Application Dependency Management`_." +"It's because this command and other suggested commands in this tutorial are " +"intended to be run in a *shell* (also called a *terminal* or *console*). See " +"the Python for Beginners `getting started tutorial`_ for an introduction to " +"using your operating system's shell and interacting with Python." msgstr "" -"Para alternativas, mira `Other Tools for Application Dependency Management`_." - -#: ../source/tutorials/managing-dependencies.rst:27 -msgid "Installing Pipenv" -msgstr "Instalación de Pipenv" -#: ../source/tutorials/managing-dependencies.rst:29 +#: ../source/tutorials/installing-packages.rst:68 msgid "" -":ref:`Pipenv` is a dependency manager for Python projects. If you're " -"familiar with Node.js' `npm`_ or Ruby's `bundler`_, it is similar in spirit " -"to those tools. While :ref:`pip` alone is often sufficient for personal use, " -"Pipenv is recommended for collaborative projects as it's a higher-level tool " -"that simplifies dependency management for common use cases." +"If you're using an enhanced shell like IPython or the Jupyter notebook, you " +"can run system commands like those in this tutorial by prefacing them with a " +"``!`` character:" msgstr "" -#: ../source/tutorials/managing-dependencies.rst:35 -msgid "Use ``pip`` to install Pipenv:" +#: ../source/tutorials/installing-packages.rst:78 +msgid "" +"It's recommended to write ``{sys.executable}`` rather than plain ``python`` " +"in order to ensure that commands are run in the Python installation matching " +"the currently running notebook (which may not be the same Python " +"installation that the ``python`` command refers to)." msgstr "" -#: ../source/tutorials/managing-dependencies.rst:51 +#: ../source/tutorials/installing-packages.rst:83 msgid "" -"This does a `user installation`_ to prevent breaking any system-wide " -"packages. If ``pipenv`` isn't available in your shell after installation, " -"you'll need to add the :py:data:`user base `'s binary " -"directory to your ``PATH``. See :ref:`Installing to the User Site` for more " -"information." +"Due to the way most Linux distributions are handling the Python 3 migration, " +"Linux users using the system Python without creating a virtual environment " +"first should replace the ``python`` command in this tutorial with " +"``python3`` and the ``python -m pip`` command with ``python3 -m pip --" +"user``. Do *not* run any of the commands in this tutorial with ``sudo``: if " +"you get a permissions error, come back to the section on creating virtual " +"environments, set one up, and then continue with the tutorial as written." msgstr "" -#: ../source/tutorials/managing-dependencies.rst:62 -msgid "Installing packages for your project" -msgstr "Instalación de paquetes para su proyecto" +#: ../source/tutorials/installing-packages.rst:95 +msgid "Ensure you can run pip from the command line" +msgstr "Cerciórese de que pueda ejecutar pip desde la línea de órdenes" -#: ../source/tutorials/managing-dependencies.rst:64 +#: ../source/tutorials/installing-packages.rst:97 msgid "" -"Pipenv manages dependencies on a per-project basis. To install packages, " -"change into your project's directory (or just an empty directory for this " -"tutorial) and run:" +"Additionally, you'll need to make sure you have :ref:`pip` available. You " +"can check this by running:" msgstr "" -#: ../source/tutorials/managing-dependencies.rst:73 +#: ../source/tutorials/installing-packages.rst:112 msgid "" -"Pipenv will install the `Requests`_ library and create a ``Pipfile`` for you " -"in your project's directory. The :ref:`Pipfile` is used to track which " -"dependencies your project needs in case you need to re-install them, such as " -"when you share your project with others. You should get output similar to " -"this (although the exact paths shown will vary):" +"If you installed Python from source, with an installer from `python.org`_, " +"or via `Homebrew`_ you should already have pip. If you're on Linux and " +"installed using your OS package manager, you may have to install pip " +"separately, see :doc:`/guides/installing-using-linux-tools`." msgstr "" -#: ../source/tutorials/managing-dependencies.rst:109 -msgid "Using installed packages" -msgstr "Utilización de paquetes instalados" - -#: ../source/tutorials/managing-dependencies.rst:111 +#: ../source/tutorials/installing-packages.rst:119 msgid "" -"Now that Requests is installed you can create a simple :file:`main.py` file " -"to use it:" +"If ``pip`` isn't already installed, then first try to bootstrap it from the " +"standard library:" msgstr "" -#: ../source/tutorials/managing-dependencies.rst:122 -msgid "Then you can run this script using ``pipenv run``:" +#: ../source/tutorials/installing-packages.rst:134 +msgid "If that still doesn't allow you to run ``python -m pip``:" msgstr "" -#: ../source/tutorials/managing-dependencies.rst:128 -msgid "You should get output similar to this:" +#: ../source/tutorials/installing-packages.rst:136 +msgid "" +"Securely Download `get-pip.py `_ [1]_" msgstr "" -#: ../source/tutorials/managing-dependencies.rst:134 +#: ../source/tutorials/installing-packages.rst:139 msgid "" -"Using ``pipenv run`` ensures that your installed packages are available to " -"your script. It's also possible to spawn a new shell that ensures all " -"commands have access to your installed packages with ``pipenv shell``." +"Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " +"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"not installed already." msgstr "" -#: ../source/tutorials/managing-dependencies.rst:140 -#: ../source/tutorials/packaging-projects.rst:505 -msgid "Next steps" -msgstr "Próximos pasos" - -#: ../source/tutorials/managing-dependencies.rst:142 +#: ../source/tutorials/installing-packages.rst:145 msgid "" -"Congratulations, you now know how to effectively manage dependencies and " -"development environments on a collaborative Python project! ✨ 🍰 ✨" +"Be cautious if you're using a Python install that's managed by your " +"operating system or another package manager. get-pip.py does not coordinate " +"with those tools, and may leave your system in an inconsistent state. You " +"can use ``python get-pip.py --prefix=/usr/local/`` to install in ``/usr/" +"local`` which is designed for locally-installed software." msgstr "" -#: ../source/tutorials/managing-dependencies.rst:145 -msgid "" -"If you're interested in creating and distributing your own Python packages, " -"see the :ref:`tutorial on packaging and distributing packages `." +#: ../source/tutorials/installing-packages.rst:154 +msgid "Ensure pip, setuptools, and wheel are up to date" msgstr "" -#: ../source/tutorials/managing-dependencies.rst:148 +#: ../source/tutorials/installing-packages.rst:156 msgid "" -"Note that when your application includes definitions of Python source " -"packages, they (and their dependencies) can be added to your ``pipenv`` " -"environment with ``pipenv install -e `` " -"(e.g. ``pipenv install -e .`` or ``pipenv install -e src``)." +"While ``pip`` alone is sufficient to install from pre-built binary archives, " +"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " +"ensure you can also install from source archives:" msgstr "" -#: ../source/tutorials/managing-dependencies.rst:157 -msgid "Other Tools for Application Dependency Management" -msgstr "Otras herramientas para la gestión de las dependencias de aplicación" +#: ../source/tutorials/installing-packages.rst:173 +msgid "Optionally, create a virtual environment" +msgstr "Facultativamente, cree un entorno virtual" -#: ../source/tutorials/managing-dependencies.rst:159 +#: ../source/tutorials/installing-packages.rst:175 msgid "" -"If you find this particular approach to managing application dependencies " -"isn't working well for you or your use case, you may want to explore these " -"other tools and techniques, listed in alphabetical order, to see if one of " -"them is a better fit:" +"See :ref:`section below ` for " +"details, but here's the basic :doc:`venv ` [3]_ command " +"to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/managing-dependencies.rst:163 +#: ../source/tutorials/installing-packages.rst:192 msgid "" -"`hatch `_ for opinionated coverage of even " -"more steps in the project management workflow, such as incrementing versions " -"and creating new skeleton projects from project templates." +"This will create a new virtual environment in the ``tutorial_env`` " +"subdirectory, and configure the current shell to use it as the default " +"``python`` environment." msgstr "" -#: ../source/tutorials/managing-dependencies.rst:166 -msgid "" -"`micropipenv `_ for a " -"lightweight wrapper around pip that supports ``requirements.txt``, Pipenv " -"and Poetry lock files, or converting them to pip-tools compatible output. " -"Designed for containerized Python applications, but not limited to them." +#: ../source/tutorials/installing-packages.rst:199 +msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/managing-dependencies.rst:170 +#: ../source/tutorials/installing-packages.rst:201 msgid "" -"`PDM `_ for a modern Python package " -"management relying on standards such as :pep:`517` and :pep:`621`." +"Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " +"application, rather than being installed globally. If you are looking to " +"safely install global command line tools, see :doc:`/guides/installing-stand-" +"alone-command-line-tools`." msgstr "" -#: ../source/tutorials/managing-dependencies.rst:172 +#: ../source/tutorials/installing-packages.rst:207 msgid "" -"`pip-tools `_ for creating a lock " -"file of all dependencies from a list of packages directly used in a project, " -"and ensuring that only those dependencies are installed." +"Imagine you have an application that needs version 1 of LibFoo, but another " +"application requires version 2. How can you use both these applications? If " +"you install everything into /usr/lib/python3.6/site-packages (or whatever " +"your platform’s standard location is), it’s easy to end up in a situation " +"where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/managing-dependencies.rst:175 +#: ../source/tutorials/installing-packages.rst:213 msgid "" -"`Poetry `__ for a tool comparable " -"in scope to Pipenv that focuses more directly on use cases where the project " -"being managed is structured as a distributable Python package with a valid " -"``pyproject.toml`` file. By contrast, Pipenv explicitly avoids making the " -"assumption that the application being worked on will support distribution as " -"a ``pip``-installable Python package." +"Or more generally, what if you want to install an application and leave it " +"be? If an application works, any change in its libraries or the versions of " +"those libraries can break the application." msgstr "" -#: ../source/tutorials/packaging-projects.rst:2 -msgid "Packaging Python Projects" -msgstr "Empaquetamiento de proyectos Python" - -#: ../source/tutorials/packaging-projects.rst:4 +#: ../source/tutorials/installing-packages.rst:217 msgid "" -"This tutorial walks you through how to package a simple Python project. It " -"will show you how to add the necessary files and structure to create the " -"package, how to build the package, and how to upload it to the Python " -"Package Index (PyPI)." +"Also, what if you can’t install :term:`packages ` into " +"the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/packaging-projects.rst:10 +#: ../source/tutorials/installing-packages.rst:220 msgid "" -"If you have trouble running the commands in this tutorial, please copy the " -"command and its output, then `open an issue`_ on the `packaging-problems`_ " -"repository on GitHub. We'll do our best to help you!" +"In all these cases, virtual environments can help you. They have their own " +"installation directories and they don’t share libraries with other virtual " +"environments." msgstr "" -#: ../source/tutorials/packaging-projects.rst:18 +#: ../source/tutorials/installing-packages.rst:224 msgid "" -"Some of the commands require a newer version of :ref:`pip`, so start by " -"making sure you have the latest version installed:" +"Currently, there are two common tools for creating Python virtual " +"environments:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:35 -msgid "A simple project" -msgstr "Un proyecto sencillo" +#: ../source/tutorials/installing-packages.rst:226 +msgid "" +":doc:`venv ` is available by default in Python 3.3 and " +"later, and installs :ref:`pip` into created virtual environments in Python " +"3.4 and later (Python versions prior to 3.12 also installed :ref:" +"`setuptools`)." +msgstr "" -#: ../source/tutorials/packaging-projects.rst:37 +#: ../source/tutorials/installing-packages.rst:229 msgid "" -"This tutorial uses a simple project named " -"``example_package_YOUR_USERNAME_HERE``. If your username is ``me``, then the " -"package would be ``example_package_me``; this ensures that you have a unique " -"package name that doesn't conflict with packages uploaded by other people " -"following this tutorial. We recommend following this tutorial as-is using " -"this project, before packaging your own project." +":ref:`virtualenv` needs to be installed separately, but supports Python 2.7+ " +"and Python 3.3+, and :ref:`pip`, :ref:`setuptools` and :ref:`wheel` are " +"always installed into created virtual environments by default (regardless of " +"Python version)." msgstr "" -#: ../source/tutorials/packaging-projects.rst:44 -msgid "Create the following file structure locally:" -msgstr "Cree la estructura siguiente de manera local:" +#: ../source/tutorials/installing-packages.rst:234 +msgid "The basic usage is like so:" +msgstr "" -#: ../source/tutorials/packaging-projects.rst:54 -msgid "" -"The directory containing the Python files should match the project name. " -"This simplifies the configuration and is more obvious to users who install " -"the package." +#: ../source/tutorials/installing-packages.rst:236 +msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:57 -msgid "" -"Creating the file :file:`__init__.py` is recommended because the existence " -"of an :file:`__init__.py` file allows users to import the directory as a " -"regular package, even if (as is the case in this tutorial) :file:`__init__." -"py` is empty. [#namespace-packages]_" +#: ../source/tutorials/installing-packages.rst:252 +msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:62 +#: ../source/tutorials/installing-packages.rst:268 msgid "" -":file:`example.py` is an example of a module within the package that could " -"contain the logic (functions, classes, constants, etc.) of your package. " -"Open that file and enter the following content:" +"For more information, see the :doc:`venv ` docs or the :" +"doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/packaging-projects.rst:71 +#: ../source/tutorials/installing-packages.rst:271 msgid "" -"If you are unfamiliar with Python's :term:`modules ` and :term:" -"`import packages `, take a few minutes to read over the " -"`Python documentation for packages and modules`_." +"The use of :command:`source` under Unix shells ensures that the virtual " +"environment's variables are set within the current shell, and not in a " +"subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/packaging-projects.rst:75 +#: ../source/tutorials/installing-packages.rst:276 msgid "" -"Once you create this structure, you'll want to run all of the commands in " -"this tutorial within the ``packaging_tutorial`` directory." +"In both of the above cases, Windows users should *not* use the :command:" +"`source` command, but should rather run the :command:`activate` script " +"directly from the command shell like so:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:83 -msgid "Creating the package files" -msgstr "Creación de los archivos del paquete" - -#: ../source/tutorials/packaging-projects.rst:85 +#: ../source/tutorials/installing-packages.rst:286 msgid "" -"You will now add files that are used to prepare the project for " -"distribution. When you're done, the project structure will look like this:" +"Managing multiple virtual environments directly can become tedious, so the :" +"ref:`dependency management tutorial ` introduces a " +"higher level tool, :ref:`Pipenv`, that automatically manages a separate " +"virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/packaging-projects.rst:103 -msgid "Creating a test directory" -msgstr "Creación de un directorio de pruebas" - -#: ../source/tutorials/packaging-projects.rst:105 -msgid ":file:`tests/` is a placeholder for test files. Leave it empty for now." +#: ../source/tutorials/installing-packages.rst:293 +msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/packaging-projects.rst:111 -msgid "Choosing a build backend" +#: ../source/tutorials/installing-packages.rst:295 +msgid "" +":ref:`pip` is the recommended installer. Below, we'll cover the most common " +"usage scenarios. For more detail, see the :doc:`pip docs `, which " +"includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/packaging-projects.rst:113 +#: ../source/tutorials/installing-packages.rst:301 +msgid "Installing from PyPI" +msgstr "Instalación a partir de PyPI" + +#: ../source/tutorials/installing-packages.rst:303 msgid "" -"Tools like :ref:`pip` and :ref:`build` do not actually convert your sources " -"into a :term:`distribution package ` (like a wheel); " -"that job is performed by a :term:`build backend `. The build " -"backend determines how your project will specify its configuration, " -"including metadata (information about the project, for example, the name and " -"tags that are displayed on PyPI) and input files. Build backends have " -"different levels of functionality, such as whether they support building :" -"term:`extension modules `, and you should choose one that " -"suits your needs and preferences." +"The most common usage of :ref:`pip` is to install from the :term:`Python " +"Package Index ` using a :term:`requirement " +"specifier `. Generally speaking, a requirement " +"specifier is composed of a project name followed by an optional :term:" +"`version specifier `. A full description of the " +"supported specifiers can be found in the :ref:`Version specifier " +"specification `. Below are some examples." msgstr "" -#: ../source/tutorials/packaging-projects.rst:122 -msgid "" -"You can choose from a number of backends; this tutorial uses :ref:`Hatchling " -"` by default, but it will work identically with :ref:`setuptools`, :" -"ref:`Flit `, :ref:`PDM `, and others that support the " -"``[project]`` table for :ref:`metadata `." +#: ../source/tutorials/installing-packages.rst:311 +msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/packaging-projects.rst:129 -msgid "" -"Some build backends are part of larger tools that provide a command-line " -"interface with additional features like project initialization and version " -"management, as well as building, uploading, and installing packages. This " -"tutorial uses single-purpose tools that work independently." +#: ../source/tutorials/installing-packages.rst:325 +msgid "To install a specific version:" +msgstr "Para instalar una versión específica:" + +#: ../source/tutorials/installing-packages.rst:339 +msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:134 +#: ../source/tutorials/installing-packages.rst:354 msgid "" -"The :file:`pyproject.toml` tells :term:`build frontend ` " -"tools like :ref:`pip` and :ref:`build` which backend to use for your " -"project. Below are some examples for common build backends, but check your " -"backend's own documentation for more details." +"To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/packaging-projects.rst:172 +#: ../source/tutorials/installing-packages.rst:369 msgid "" -"The ``requires`` key is a list of packages that are needed to build your " -"package. The :term:`frontend ` should install them " -"automatically when building your package. Frontends usually run builds in " -"isolated environments, so omitting dependencies here may cause build-time " -"errors. This should always include your backend's package, and might have " -"other build-time dependencies." +"In this case, this means to install any version \"==1.4.*\" version that's " +"also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/packaging-projects.rst:179 -msgid "" -"The ``build-backend`` key is the name of the Python object that frontends " -"will use to perform the build." +#: ../source/tutorials/installing-packages.rst:374 +msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/packaging-projects.rst:182 +#: ../source/tutorials/installing-packages.rst:376 msgid "" -"Both of these values will be provided by the documentation for your build " -"backend, or generated by its command line interface. There should be no need " -"for you to customize these settings." +":ref:`pip` can install from either :term:`Source Distributions (sdist) " +"` or :term:`Wheels `, but if both " +"are present on PyPI, pip will prefer a compatible :term:`wheel `. You " +"can override pip`s default behavior by e.g. using its :ref:`--no-binary ` option." msgstr "" -#: ../source/tutorials/packaging-projects.rst:186 +#: ../source/tutorials/installing-packages.rst:382 msgid "" -"Additional configuration of the build tool will either be in a ``tool`` " -"section of the ``pyproject.toml``, or in a special file defined by the build " -"tool. For example, when using ``setuptools`` as your build backend, " -"additional configuration may be added to a ``setup.py`` or ``setup.cfg`` " -"file, and specifying ``setuptools.build_meta`` in your build allows the " -"tools to locate and use these automatically." +":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " +"Distributions (sdist) `, especially when " +"a project contains compiled extensions." msgstr "" -#: ../source/tutorials/packaging-projects.rst:196 -msgid "Configuring metadata" -msgstr "Configuración de los metadatos" - -#: ../source/tutorials/packaging-projects.rst:198 +#: ../source/tutorials/installing-packages.rst:387 msgid "" -"Open :file:`pyproject.toml` and enter the following content. Change the " -"``name`` to include your username; this ensures that you have a unique " -"package name that doesn't conflict with packages uploaded by other people " -"following this tutorial." +"If :ref:`pip` does not find a wheel to install, it will locally build a " +"wheel and cache it for future installs, instead of rebuilding the source " +"distribution in the future." msgstr "" -#: ../source/tutorials/packaging-projects.rst:224 -msgid "" -"``name`` is the *distribution name* of your package. This can be any name as " -"long as it only contains letters, numbers, ``.``, ``_`` , and ``-``. It also " -"must not already be taken on PyPI. **Be sure to update this with your " -"username** for this tutorial, as this ensures you won't try to upload a " -"package with the same name as one which already exists." +#: ../source/tutorials/installing-packages.rst:395 +msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/packaging-projects.rst:229 -msgid "" -"``version`` is the package version. (Some build backends allow it to be " -"specified another way, such as from a file or Git tag.)" +#: ../source/tutorials/installing-packages.rst:412 +msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/packaging-projects.rst:231 +#: ../source/tutorials/installing-packages.rst:414 msgid "" -"``authors`` is used to identify the author of the package; you specify a " -"name and an email for each author. You can also list ``maintainers`` in the " -"same format." +"To install :term:`packages ` that are isolated to the " +"current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:234 -msgid "``description`` is a short, one-sentence summary of the package." +#: ../source/tutorials/installing-packages.rst:429 +msgid "" +"For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/packaging-projects.rst:235 -msgid "" -"``readme`` is a path to a file containing a detailed description of the " -"package. This is shown on the package detail page on PyPI. In this case, the " -"description is loaded from :file:`README.md` (which is a common pattern). " -"There also is a more advanced table form described in the :ref:`pyproject." -"toml guide `." +#: ../source/tutorials/installing-packages.rst:433 +msgid "" +"Note that the ``--user`` flag has no effect when inside a virtual " +"environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/packaging-projects.rst:240 +#: ../source/tutorials/installing-packages.rst:436 msgid "" -"``requires-python`` gives the versions of Python supported by your project. " -"An installer like :ref:`pip` will look back through older versions of " -"packages until it finds one that has a matching Python version." +"If ``SomeProject`` defines any command-line scripts or console entry points, " +"``--user`` will cause them to be installed inside the `user base`_'s binary " +"directory, which may or may not already be present in your shell's :envvar:" +"`PATH`. (Starting in version 10, pip displays a warning when installing any " +"scripts to a directory outside :envvar:`PATH`.) If the scripts are not " +"available in your shell after installation, you'll need to add the directory " +"to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:243 +#: ../source/tutorials/installing-packages.rst:444 msgid "" -"``classifiers`` gives the index and :ref:`pip` some additional metadata " -"about your package. In this case, the package is only compatible with Python " -"3, is licensed under the MIT license, and is OS-independent. You should " -"always include at least which version(s) of Python your package works on, " -"which license your package is available under, and which operating systems " -"your package will work on. For a complete list of classifiers, see https://" -"pypi.org/classifiers/." +"On Linux and macOS you can find the user base binary directory by running " +"``python -m site --user-base`` and adding ``bin`` to the end. For example, " +"this will typically print ``~/.local`` (with ``~`` expanded to the absolute " +"path to your home directory) so you'll need to add ``~/.local/bin`` to your " +"``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/packaging-projects.rst:250 +#: ../source/tutorials/installing-packages.rst:450 msgid "" -"``urls`` lets you list any number of extra links to show on PyPI. Generally " -"this could be to the source, documentation, issue trackers, etc." +"On Windows you can find the user base binary directory by running ``py -m " +"site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " +"example, this could return ``C:" +"\\Users\\Username\\AppData\\Roaming\\Python36\\site-packages`` so you would " +"need to set your ``PATH`` to include ``C:" +"\\Users\\Username\\AppData\\Roaming\\Python36\\Scripts``. You can set your " +"user ``PATH`` permanently in the `Control Panel`_. You may need to log out " +"for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/packaging-projects.rst:253 +#: ../source/tutorials/installing-packages.rst:466 msgid "" -"See the :ref:`pyproject.toml guide ` for details on " -"these and other fields that can be defined in the ``[project]`` table. Other " -"common fields are ``keywords`` to improve discoverability and the " -"``dependencies`` that are required to install your package." +"Install a list of requirements specified in a :ref:`Requirements File `." msgstr "" -#: ../source/tutorials/packaging-projects.rst:260 -msgid "Creating README.md" +#: ../source/tutorials/installing-packages.rst:482 +msgid "Installing from VCS" +msgstr "Instalación a partir de un sistema de control de versiones" + +#: ../source/tutorials/installing-packages.rst:484 +msgid "" +"Install a project from VCS in \"editable\" mode. For a full breakdown of " +"the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/packaging-projects.rst:262 +#: ../source/tutorials/installing-packages.rst:506 +msgid "Installing from other Indexes" +msgstr "Instalación a partir de otros índices" + +#: ../source/tutorials/installing-packages.rst:508 +msgid "Install from an alternate index" +msgstr "Instalación a partir de un índice alternativo" + +#: ../source/tutorials/installing-packages.rst:522 msgid "" -"Open :file:`README.md` and enter the following content. You can customize " -"this if you'd like." +"Search an additional index during install, in addition to :term:`PyPI " +"`" msgstr "" -#: ../source/tutorials/packaging-projects.rst:275 -msgid "Creating a LICENSE" +#: ../source/tutorials/installing-packages.rst:538 +msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/packaging-projects.rst:277 +#: ../source/tutorials/installing-packages.rst:541 msgid "" -"It's important for every package uploaded to the Python Package Index to " -"include a license. This tells users who install your package the terms under " -"which they can use your package. For help picking a license, see https://" -"choosealicense.com/. Once you have chosen a license, open :file:`LICENSE` " -"and enter the license text. For example, if you had chosen the MIT license:" +"Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " +"installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/packaging-projects.rst:306 -msgid "" -"Most build backends automatically include license files in packages. See " -"your backend's documentation for more details." +#: ../source/tutorials/installing-packages.rst:558 +msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/packaging-projects.rst:311 -msgid "Including other files" +#: ../source/tutorials/installing-packages.rst:573 +msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/packaging-projects.rst:313 -msgid "" -"The files listed above will be included automatically in your :term:`source " -"distribution `. If you want to include " -"additional files, see the documentation for your build backend." +#: ../source/tutorials/installing-packages.rst:575 +msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/packaging-projects.rst:320 -msgid "Generating distribution archives" +#: ../source/tutorials/installing-packages.rst:589 +msgid "" +"Install from a local directory containing archives (and don't check :term:" +"`PyPI `)" msgstr "" -#: ../source/tutorials/packaging-projects.rst:322 +#: ../source/tutorials/installing-packages.rst:609 +msgid "Installing from other sources" +msgstr "Instalación a partir de otras fuentes" + +#: ../source/tutorials/installing-packages.rst:611 msgid "" -"The next step is to generate :term:`distribution packages ` for the package. These are archives that are uploaded to the " -"Python Package Index and can be installed by :ref:`pip`." +"To install from other data sources (for example Amazon S3 storage) you can " +"create a helper application that presents the data in a format compliant " +"with the :ref:`simple repository API `:, and use the " +"``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/packaging-projects.rst:326 -msgid "Make sure you have the latest version of PyPA's :ref:`build` installed:" +#: ../source/tutorials/installing-packages.rst:623 +msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/packaging-projects.rst:340 +#: ../source/tutorials/installing-packages.rst:625 msgid "" -"If you have trouble installing these, see the :doc:`installing-packages` " -"tutorial." +"Find pre-release and development versions, in addition to stable versions. " +"By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/packaging-projects.rst:343 +#: ../source/tutorials/installing-packages.rst:641 +msgid "Installing \"Extras\"" +msgstr "Instalando \"Extras\"" + +#: ../source/tutorials/installing-packages.rst:643 msgid "" -"Now run this command from the same directory where :file:`pyproject.toml` is " -"located:" +"Extras are optional \"variants\" of a package, which may include additional " +"dependencies, and thereby enable additional functionality from the package. " +"If you wish to install an extra for a package which you know publishes one, " +"you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:357 +#: ../source/tutorials/installing-packages.rst:666 msgid "" -"This command should output a lot of text and once completed should generate " -"two files in the :file:`dist` directory:" +"\"Secure\" in this context means using a modern browser or a tool like :" +"command:`curl` that verifies SSL certificates when downloading from https " +"URLs." msgstr "" -#: ../source/tutorials/packaging-projects.rst:367 +#: ../source/tutorials/installing-packages.rst:675 msgid "" -"The ``tar.gz`` file is a :term:`source distribution ` whereas the ``.whl`` file is a :term:`built distribution `. Newer :ref:`pip` versions preferentially install built " -"distributions, but will fall back to source distributions if needed. You " -"should always upload a source distribution and provide built distributions " -"for the platforms your project is compatible with. In this case, our example " -"package is compatible with Python on any platform so only one built " -"distribution is needed." +"Beginning with Python 3.4, ``venv`` (a stdlib alternative to :ref:" +"`virtualenv`) will create virtualenv environments with ``pip`` pre-" +"installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/packaging-projects.rst:376 -msgid "Uploading the distribution archives" +#: ../source/tutorials/installing-packages.rst:680 +msgid "" +"The compatible release specifier was accepted in :pep:`440` and support was " +"released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" msgstr "" -#: ../source/tutorials/packaging-projects.rst:378 -msgid "Finally, it's time to upload your package to the Python Package Index!" -msgstr "" +#: ../source/tutorials/managing-dependencies.rst:4 +msgid "Managing Application Dependencies" +msgstr "Gestión de las dependencias de aplicación" -#: ../source/tutorials/packaging-projects.rst:380 +#: ../source/tutorials/managing-dependencies.rst:6 msgid "" -"The first thing you'll need to do is register an account on TestPyPI, which " -"is a separate instance of the package index intended for testing and " -"experimentation. It's great for things like this tutorial where we don't " -"necessarily want to upload to the real index. To register an account, go to " -"https://test.pypi.org/account/register/ and complete the steps on that page. " -"You will also need to verify your email address before you're able to upload " -"any packages. For more details, see :doc:`/guides/using-testpypi`." +"The :ref:`package installation tutorial ` covered the " +"basics of getting set up to install and update Python packages." msgstr "" -#: ../source/tutorials/packaging-projects.rst:388 +#: ../source/tutorials/managing-dependencies.rst:9 msgid "" -"To securely upload your project, you'll need a PyPI `API token`_. Create one " -"at https://test.pypi.org/manage/account/#api-tokens, setting the \"Scope\" " -"to \"Entire account\". **Don't close the page until you have copied and " -"saved the token — you won't see that token again.**" +"However, running these commands interactively can get tedious even for your " +"own personal projects, and things get even more difficult when trying to set " +"up development environments automatically for projects with multiple " +"contributors." msgstr "" -#: ../source/tutorials/packaging-projects.rst:395 +#: ../source/tutorials/managing-dependencies.rst:13 msgid "" -"Now that you are registered, you can use :ref:`twine` to upload the " -"distribution packages. You'll need to install Twine:" +"This tutorial walks you through the use of :ref:`Pipenv` to manage " +"dependencies for an application. It will show you how to install and use the " +"necessary tools and make strong recommendations on best practices." msgstr "" -#: ../source/tutorials/packaging-projects.rst:410 +#: ../source/tutorials/managing-dependencies.rst:17 msgid "" -"Once installed, run Twine to upload all of the archives under :file:`dist`:" +"Keep in mind that Python is used for a great many different purposes, and " +"precisely how you want to manage your dependencies may change based on how " +"you decide to publish your software. The guidance presented here is most " +"directly applicable to the development and deployment of network services " +"(including web applications), but is also very well suited to managing " +"development and testing environments for any kind of project." msgstr "" -#: ../source/tutorials/packaging-projects.rst:424 +#: ../source/tutorials/managing-dependencies.rst:24 msgid "" -"You will be prompted for an API token. Use the token value, including the " -"``pypi-`` prefix. Note that the input will be hidden, so be sure to paste " -"correctly." +"For alternatives, see `Other Tools for Application Dependency Management`_." msgstr "" -"Se le pedirá un token de API. Utilice el valor del token, incluido el " -"prefijo ``pypi-``. Ten en cuenta que la entrada estará oculta, así que " -"asegúrate de pegarla correctamente." +"Para alternativas, mira `Other Tools for Application Dependency Management`_." -#: ../source/tutorials/packaging-projects.rst:427 -msgid "After the command completes, you should see output similar to this:" -msgstr "Una vez completado el comando, debería ver una salida similar a ésta:" +#: ../source/tutorials/managing-dependencies.rst:27 +msgid "Installing Pipenv" +msgstr "Instalación de Pipenv" -#: ../source/tutorials/packaging-projects.rst:438 +#: ../source/tutorials/managing-dependencies.rst:29 msgid "" -"Once uploaded, your package should be viewable on TestPyPI; for example: " -"``https://test.pypi.org/project/example_package_YOUR_USERNAME_HERE``." +":ref:`Pipenv` is a dependency manager for Python projects. If you're " +"familiar with Node.js' `npm`_ or Ruby's `bundler`_, it is similar in spirit " +"to those tools. While :ref:`pip` alone is often sufficient for personal use, " +"Pipenv is recommended for collaborative projects as it's a higher-level tool " +"that simplifies dependency management for common use cases." msgstr "" -"Una vez subido, su paquete debería ser visible en TestPyPI; por ejemplo: " -"``https://test.pypi.org/project/example_package_YOUR_USERNAME_HERE``." -#: ../source/tutorials/packaging-projects.rst:443 -msgid "Installing your newly uploaded package" -msgstr "Instalación de su paquete recién cargado" +#: ../source/tutorials/managing-dependencies.rst:35 +msgid "Use ``pip`` to install Pipenv:" +msgstr "" -#: ../source/tutorials/packaging-projects.rst:445 +#: ../source/tutorials/managing-dependencies.rst:51 msgid "" -"You can use :ref:`pip` to install your package and verify that it works. " -"Create a :ref:`virtual environment ` and install your package from TestPyPI:" +"This does a `user installation`_ to prevent breaking any system-wide " +"packages. If ``pipenv`` isn't available in your shell after installation, " +"you'll need to add the :py:data:`user base `'s binary " +"directory to your ``PATH``. See :ref:`Installing to the User Site` for more " +"information." msgstr "" -#: ../source/tutorials/packaging-projects.rst:461 -msgid "Make sure to specify your username in the package name!" -msgstr "" +#: ../source/tutorials/managing-dependencies.rst:62 +msgid "Installing packages for your project" +msgstr "Instalación de paquetes para su proyecto" -#: ../source/tutorials/packaging-projects.rst:463 +#: ../source/tutorials/managing-dependencies.rst:64 msgid "" -"pip should install the package from TestPyPI and the output should look " -"something like this:" +"Pipenv manages dependencies on a per-project basis. To install packages, " +"change into your project's directory (or just an empty directory for this " +"tutorial) and run:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:473 +#: ../source/tutorials/managing-dependencies.rst:73 msgid "" -"This example uses ``--index-url`` flag to specify TestPyPI instead of live " -"PyPI. Additionally, it specifies ``--no-deps``. Since TestPyPI doesn't have " -"the same packages as the live PyPI, it's possible that attempting to install " -"dependencies may fail or install something unexpected. While our example " -"package doesn't have any dependencies, it's a good practice to avoid " -"installing dependencies when using TestPyPI." +"Pipenv will install the `Requests`_ library and create a ``Pipfile`` for you " +"in your project's directory. The :ref:`Pipfile` is used to track which " +"dependencies your project needs in case you need to re-install them, such as " +"when you share your project with others. You should get output similar to " +"this (although the exact paths shown will vary):" msgstr "" -#: ../source/tutorials/packaging-projects.rst:480 +#: ../source/tutorials/managing-dependencies.rst:109 +msgid "Using installed packages" +msgstr "Utilización de paquetes instalados" + +#: ../source/tutorials/managing-dependencies.rst:111 msgid "" -"You can test that it was installed correctly by importing the package. Make " -"sure you're still in your virtual environment, then run Python:" +"Now that Requests is installed you can create a simple :file:`main.py` file " +"to use it:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:495 -msgid "and import the package:" +#: ../source/tutorials/managing-dependencies.rst:122 +msgid "Then you can run this script using ``pipenv run``:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:507 -msgid "" -"**Congratulations, you've packaged and distributed a Python project!** ✨ 🍰 " -"✨" +#: ../source/tutorials/managing-dependencies.rst:128 +msgid "You should get output similar to this:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:510 +#: ../source/tutorials/managing-dependencies.rst:134 msgid "" -"Keep in mind that this tutorial showed you how to upload your package to " -"Test PyPI, which isn't a permanent storage. The Test system occasionally " -"deletes packages and accounts. It is best to use TestPyPI for testing and " -"experiments like this tutorial." +"Using ``pipenv run`` ensures that your installed packages are available to " +"your script. It's also possible to spawn a new shell that ensures all " +"commands have access to your installed packages with ``pipenv shell``." msgstr "" -#: ../source/tutorials/packaging-projects.rst:515 +#: ../source/tutorials/managing-dependencies.rst:140 +#: ../source/tutorials/packaging-projects.rst:505 +msgid "Next steps" +msgstr "Próximos pasos" + +#: ../source/tutorials/managing-dependencies.rst:142 msgid "" -"When you are ready to upload a real package to the Python Package Index you " -"can do much the same as you did in this tutorial, but with these important " -"differences:" +"Congratulations, you now know how to effectively manage dependencies and " +"development environments on a collaborative Python project! ✨ 🍰 ✨" msgstr "" -#: ../source/tutorials/packaging-projects.rst:519 +#: ../source/tutorials/managing-dependencies.rst:145 msgid "" -"Choose a memorable and unique name for your package. You don't have to " -"append your username as you did in the tutorial, but you can't use an " -"existing name." +"If you're interested in creating and distributing your own Python packages, " +"see the :ref:`tutorial on packaging and distributing packages `." msgstr "" -#: ../source/tutorials/packaging-projects.rst:521 +#: ../source/tutorials/managing-dependencies.rst:148 msgid "" -"Register an account on https://pypi.org - note that these are two separate " -"servers and the login details from the test server are not shared with the " -"main server." +"Note that when your application includes definitions of Python source " +"packages, they (and their dependencies) can be added to your ``pipenv`` " +"environment with ``pipenv install -e `` " +"(e.g. ``pipenv install -e .`` or ``pipenv install -e src``)." msgstr "" -#: ../source/tutorials/packaging-projects.rst:524 +#: ../source/tutorials/managing-dependencies.rst:157 +msgid "Other Tools for Application Dependency Management" +msgstr "Otras herramientas para la gestión de las dependencias de aplicación" + +#: ../source/tutorials/managing-dependencies.rst:159 msgid "" -"Use ``twine upload dist/*`` to upload your package and enter your " -"credentials for the account you registered on the real PyPI. Now that " -"you're uploading the package in production, you don't need to specify ``--" -"repository``; the package will upload to https://pypi.org/ by default." +"If you find this particular approach to managing application dependencies " +"isn't working well for you or your use case, you may want to explore these " +"other tools and techniques, listed in alphabetical order, to see if one of " +"them is a better fit:" msgstr "" -#: ../source/tutorials/packaging-projects.rst:528 +#: ../source/tutorials/managing-dependencies.rst:163 msgid "" -"Install your package from the real PyPI using ``python3 -m pip install [your-" -"package]``." +"`hatch `_ for opinionated coverage of even " +"more steps in the project management workflow, such as incrementing versions " +"and creating new skeleton projects from project templates." msgstr "" -#: ../source/tutorials/packaging-projects.rst:530 +#: ../source/tutorials/managing-dependencies.rst:166 msgid "" -"At this point if you want to read more on packaging Python libraries here " -"are some things you can do:" +"`micropipenv `_ for a " +"lightweight wrapper around pip that supports ``requirements.txt``, Pipenv " +"and Poetry lock files, or converting them to pip-tools compatible output. " +"Designed for containerized Python applications, but not limited to them." msgstr "" -#: ../source/tutorials/packaging-projects.rst:533 +#: ../source/tutorials/managing-dependencies.rst:170 msgid "" -"Read about advanced configuration for your chosen build backend: `Hatchling " -"`_, :doc:`setuptools `, :doc:`Flit `, `PDM `_." +"`PDM `_ for a modern Python package " +"management relying on standards such as :pep:`517` and :pep:`621`." msgstr "" -#: ../source/tutorials/packaging-projects.rst:537 +#: ../source/tutorials/managing-dependencies.rst:172 msgid "" -"Look at the :doc:`guides ` on this site for more advanced " -"practical information, or the :doc:`discussions ` for " -"explanations and background on specific topics." +"`pip-tools `_ for creating a lock " +"file of all dependencies from a list of packages directly used in a project, " +"and ensuring that only those dependencies are installed." msgstr "" -#: ../source/tutorials/packaging-projects.rst:540 +#: ../source/tutorials/managing-dependencies.rst:175 msgid "" -"Consider packaging tools that provide a single command-line interface for " -"project management and packaging, such as :ref:`hatch`, :ref:`flit`, :ref:" -"`pdm`, and :ref:`poetry`." +"`Poetry `__ for a tool comparable " +"in scope to Pipenv that focuses more directly on use cases where the project " +"being managed is structured as a distributable Python package with a valid " +"``pyproject.toml`` file. By contrast, Pipenv explicitly avoids making the " +"assumption that the application being worked on will support distribution as " +"a ``pip``-installable Python package." msgstr "" -#: ../source/tutorials/packaging-projects.rst:548 -msgid "Notes" -msgstr "" +#: ../source/tutorials/packaging-projects.rst:2 +msgid "Packaging Python Projects" +msgstr "Empaquetamiento de proyectos Python" -#: ../source/tutorials/packaging-projects.rst:550 +#: ../source/tutorials/packaging-projects.rst:4 msgid "" -"Technically, you can also create Python packages without an ``__init__.py`` " -"file, but those are called :doc:`namespace packages ` and considered an **advanced topic** (not covered in " -"this tutorial). If you are only getting started with Python packaging, it is " -"recommended to stick with *regular packages* and ``__init__.py`` (even if " -"the file is empty)." +"This tutorial walks you through how to package a simple Python project. It " +"will show you how to add the necessary files and structure to create the " +"package, how to build the package, and how to upload it to the Python " +"Package Index (PyPI)." msgstr "" -#: ../source/guides/installing-scientific-packages.rst:13 +#: ../source/tutorials/packaging-projects.rst:10 msgid "" -"In particular, `NumPy `__, which provides the basis for " -"most of the software in the `scientific Python stack `_ can be configured to interoperate with different FORTRAN " -"libraries, and can take advantage of different levels of vectorized " -"instructions available in modern CPUs." +"If you have trouble running the commands in this tutorial, please copy the " +"command and its output, then `open an issue`_ on the `packaging-problems`_ " +"repository on GitHub. We'll do our best to help you!" msgstr "" -#: ../source/guides/installing-scientific-packages.rst:19 +#: ../source/tutorials/packaging-projects.rst:18 msgid "" -"Starting with version 1.10.4 of NumPy and version 1.0.0 of SciPy, pre-built " -"32-bit and 64-bit binaries in the ``wheel`` format are available for all " -"major operating systems (Windows, macOS, and Linux) on PyPI. Note, however, " -"that on Windows, NumPy binaries are linked against the `ATLAS `__ BLAS/LAPACK library, restricted to SSE2 " -"instructions, so they may not provide optimal linear algebra performance." +"Some of the commands require a newer version of :ref:`pip`, so start by " +"making sure you have the latest version installed:" msgstr "" -#: ../source/guides/installing-scientific-packages.rst:121 -msgid "" -"``conda`` is an open source (BSD licensed) package management system and " -"environment management system that allows users to install multiple versions " -"of binary software packages and their dependencies, and easily switch " -"between them. It is a cross-platform tool working on Windows, MacOS, and " -"Linux. Conda can be used to package up and distribute all kinds of packages, " -"it is not limited to just Python packages. It has full support for native " -"virtual environments. Conda makes environments first-class citizens, making " -"it easy to create independent environments even for C libraries. It is " -"written in Python, but is Python-agnostic. Conda manages Python itself as a " -"package, so that :command:`conda update python` is possible, in contrast to " -"pip, which only manages Python packages." -msgstr "" +#: ../source/tutorials/packaging-projects.rst:35 +msgid "A simple project" +msgstr "Un proyecto sencillo" -#: ../source/guides/installing-scientific-packages.rst:133 +#: ../source/tutorials/packaging-projects.rst:37 msgid "" -"Anaconda `Anaconda `_ is a Python " -"distribution published by Anaconda, Inc. It is a stable collection of Open " -"Source packages for big data and scientific use, and a collection of " -"Graphical Interface utilities for managing conda environments." +"This tutorial uses a simple project named " +"``example_package_YOUR_USERNAME_HERE``. If your username is ``me``, then the " +"package would be ``example_package_me``; this ensures that you have a unique " +"package name that doesn't conflict with packages uploaded by other people " +"following this tutorial. We recommend following this tutorial as-is using " +"this project, before packaging your own project." msgstr "" -#: ../source/guides/installing-scientific-packages.rst:135 +#: ../source/tutorials/packaging-projects.rst:44 +msgid "Create the following file structure locally:" +msgstr "Cree la estructura siguiente de manera local:" + +#: ../source/tutorials/packaging-projects.rst:54 msgid "" -"In addition to the full distribution provided by Anaconda, the conda package " -"manager itself is available in `miniconda `_, `miniforge `_, and " -"`pixi `_." +"The directory containing the Python files should match the project name. " +"This simplifies the configuration and is more obvious to users who install " +"the package." msgstr "" -#: ../source/guides/installing-scientific-packages.rst:138 +#: ../source/tutorials/packaging-projects.rst:57 msgid "" -"Conda packages are available on multiple channels on Anaconda.org, including " -"the default channel supported by Anaconda, Inc, the community supported " -"conda-forge channel, which provides a wide variety of pre-built packages, " -"and some domain-specific package collections." +"Creating the file :file:`__init__.py` is recommended because the existence " +"of an :file:`__init__.py` file allows users to import the directory as a " +"regular package, even if (as is the case in this tutorial) :file:`__init__." +"py` is empty. [#namespace-packages]_" msgstr "" -#: ../source/key_projects.rst:407 +#: ../source/tutorials/packaging-projects.rst:62 msgid "" -"Conda is a package, dependency, and environment management system for any " -"language — Python, R, Ruby, C/C++, Fortran, and more. It is written in " -"Python and widely used in the Python scientific computing community, due to " -"its support for non-Python compiled libraries and extensions. It is used as " -"the basis of the `Anaconda `__ Python " -"distribution from Anaconda, Inc. It was originally aimed at the scientific " -"community, but can also be used on its own, or with the :doc:`miniconda " -"`, `miniforge `_ " -"or `pixi `_ systems. It is available for Windows, Mac and " -"Linux systems." +":file:`example.py` is an example of a module within the package that could " +"contain the logic (functions, classes, constants, etc.) of your package. " +"Open that file and enter the following content:" msgstr "" -#: ../source/key_projects.rst:416 +#: ../source/tutorials/packaging-projects.rst:71 msgid "" -"Conda is a completely separate tool from :ref:`pip`, virtualenv and wheel, " -"but provides many of their combined features, such as package management, " -"virtual environment management and deployment of binary extensions and other " -"binary code." +"If you are unfamiliar with Python's :term:`modules ` and :term:" +"`import packages `, take a few minutes to read over the " +"`Python documentation for packages and modules`_." msgstr "" -#: ../source/key_projects.rst:420 +#: ../source/tutorials/packaging-projects.rst:75 msgid "" -"Conda does not install packages from PyPI -- it can only manage packages " -"built specifically for conda, which can be made available on a \"conda " -"channel\", such as those hosted on `anaconda.org `__, " -"or a local (e.g. intranet) package server. In addition to the \"default\" " -"channels managed by `Anaconda, Inc. `__, there " -"are a wide variety of packages from the community supported `conda-forge " -"project `__" +"Once you create this structure, you'll want to run all of the commands in " +"this tutorial within the ``packaging_tutorial`` directory." msgstr "" -#: ../source/key_projects.rst:426 +#: ../source/tutorials/packaging-projects.rst:83 +msgid "Creating the package files" +msgstr "Creación de los archivos del paquete" + +#: ../source/tutorials/packaging-projects.rst:85 msgid "" -"Note that :ref:`pip` can be installed into, and work side-by-side with conda " -"for managing :term:`distributions ` from PyPI. It is " -"also possible to build conda packages from Python source packages using " -"tools such as `conda skeleton `__: a tool to " -"automatically make conda packages from Python packages available on PyPI." +"You will now add files that are used to prepare the project for " +"distribution. When you're done, the project structure will look like this:" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:6 -msgid "Index hosted attestations" +#: ../source/tutorials/packaging-projects.rst:103 +msgid "Creating a test directory" +msgstr "Creación de un directorio de pruebas" + +#: ../source/tutorials/packaging-projects.rst:105 +msgid ":file:`tests/` is a placeholder for test files. Leave it empty for now." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:8 -msgid "This specification was originally defined in :pep:`740`." +#: ../source/tutorials/packaging-projects.rst:111 +msgid "Choosing a build backend" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:12 +#: ../source/tutorials/packaging-projects.rst:113 msgid "" -":pep:`740` includes changes to the HTML and JSON index APIs. These changes " -"are documented in the :ref:`simple-repository-api` under :ref:`simple-" -"repository-api-base` and :ref:`json-serialization`." +"Tools like :ref:`pip` and :ref:`build` do not actually convert your sources " +"into a :term:`distribution package ` (like a wheel); " +"that job is performed by a :term:`build backend `. The build " +"backend determines how your project will specify its configuration, " +"including metadata (information about the project, for example, the name and " +"tags that are displayed on PyPI) and input files. Build backends have " +"different levels of functionality, such as whether they support building :" +"term:`extension modules `, and you should choose one that " +"suits your needs and preferences." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:22 -msgid "Upload endpoint changes" +#: ../source/tutorials/packaging-projects.rst:122 +msgid "" +"You can choose from a number of backends; this tutorial uses :ref:`Hatchling " +"` by default, but it will work identically with :ref:`setuptools`, :" +"ref:`Flit `, :ref:`PDM `, and others that support the " +"``[project]`` table for :ref:`metadata `." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:26 +#: ../source/tutorials/packaging-projects.rst:129 msgid "" -"The \"legacy\" upload API is not standardized. See `PyPI's Upload API " -"documentation `_ for how attestations are " -"uploaded." +"Some build backends are part of larger tools that provide a command-line " +"interface with additional features like project initialization and version " +"management, as well as building, uploading, and installing packages. This " +"tutorial uses single-purpose tools that work independently." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:33 -#, fuzzy -msgid "Attestation objects" -msgstr "Un proyecto sencillo" +#: ../source/tutorials/packaging-projects.rst:134 +msgid "" +"The :file:`pyproject.toml` tells :term:`build frontend ` " +"tools like :ref:`pip` and :ref:`build` which backend to use for your " +"project. Below are some examples for common build backends, but check your " +"backend's own documentation for more details." +msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:35 +#: ../source/tutorials/packaging-projects.rst:172 msgid "" -"An attestation object is a JSON object with several required keys; " -"applications or signers may include additional keys so long as all " -"explicitly listed keys are provided. The required layout of an attestation " -"object is provided as pseudocode below." +"The ``requires`` key is a list of packages that are needed to build your " +"package. The :term:`frontend ` should install them " +"automatically when building your package. Frontends usually run builds in " +"isolated environments, so omitting dependencies here may cause build-time " +"errors. This should always include your backend's package, and might have " +"other build-time dependencies." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:88 +#: ../source/tutorials/packaging-projects.rst:179 msgid "" -"A full data model for each object in ``transparency_entries`` is provided " -"in :ref:`appendix`. Attestation objects **SHOULD** include one or more " -"transparency log entries, and **MAY** include additional keys for other " -"sources of signed time (such as an :rfc:`3161` Time Stamping Authority or a " -"`Roughtime `__ server)." +"The ``build-backend`` key is the name of the Python object that frontends " +"will use to perform the build." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:94 +#: ../source/tutorials/packaging-projects.rst:182 msgid "" -"Attestation objects are versioned; this PEP specifies version 1. Each " -"version is tied to a single cryptographic suite to minimize unnecessary " -"cryptographic agility. In version 1, the suite is as follows:" +"Both of these values will be provided by the documentation for your build " +"backend, or generated by its command line interface. There should be no need " +"for you to customize these settings." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:98 +#: ../source/tutorials/packaging-projects.rst:186 msgid "" -"Certificates are specified as X.509 certificates, and comply with the " -"profile in :rfc:`5280`." +"Additional configuration of the build tool will either be in a ``tool`` " +"section of the ``pyproject.toml``, or in a special file defined by the build " +"tool. For example, when using ``setuptools`` as your build backend, " +"additional configuration may be added to a ``setup.py`` or ``setup.cfg`` " +"file, and specifying ``setuptools.build_meta`` in your build allows the " +"tools to locate and use these automatically." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:100 +#: ../source/tutorials/packaging-projects.rst:196 +msgid "Configuring metadata" +msgstr "Configuración de los metadatos" + +#: ../source/tutorials/packaging-projects.rst:198 msgid "" -"The message signature algorithm is ECDSA, with the P-256 curve for public " -"keys and SHA-256 as the cryptographic digest function." +"Open :file:`pyproject.toml` and enter the following content. Change the " +"``name`` to include your username; this ensures that you have a unique " +"package name that doesn't conflict with packages uploaded by other people " +"following this tutorial." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:103 +#: ../source/tutorials/packaging-projects.rst:224 msgid "" -"Future PEPs may change this suite (and the overall shape of the attestation " -"object) by selecting a new version number." +"``name`` is the *distribution name* of your package. This can be any name as " +"long as it only contains letters, numbers, ``.``, ``_`` , and ``-``. It also " +"must not already be taken on PyPI. **Be sure to update this with your " +"username** for this tutorial, as this ensures you won't try to upload a " +"package with the same name as one which already exists." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:109 -msgid "Attestation statement and signature generation" +#: ../source/tutorials/packaging-projects.rst:229 +msgid "" +"``version`` is the package version. (Some build backends allow it to be " +"specified another way, such as from a file or Git tag.)" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:111 +#: ../source/tutorials/packaging-projects.rst:231 msgid "" -"The *attestation statement* is the actual claim that is cryptographically " -"signed over within the attestation object (i.e., the ``envelope.statement``)." +"``authors`` is used to identify the author of the package; you specify a " +"name and an email for each author. You can also list ``maintainers`` in the " +"same format." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:114 +#: ../source/tutorials/packaging-projects.rst:234 +msgid "``description`` is a short, one-sentence summary of the package." +msgstr "" + +#: ../source/tutorials/packaging-projects.rst:235 msgid "" -"The attestation statement is encoded as a `v1 in-toto Statement object " -"`__, in JSON form. When serialized the statement is treated as an opaque " -"binary blob, avoiding the need for canonicalization." +"``readme`` is a path to a file containing a detailed description of the " +"package. This is shown on the package detail page on PyPI. In this case, the " +"description is loaded from :file:`README.md` (which is a common pattern). " +"There also is a more advanced table form described in the :ref:`pyproject." +"toml guide `." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:119 +#: ../source/tutorials/packaging-projects.rst:240 msgid "" -"In addition to being a v1 in-toto Statement, the attestation statement is " -"constrained in the following ways:" +"``requires-python`` gives the versions of Python supported by your project. " +"An installer like :ref:`pip` will look back through older versions of " +"packages until it finds one that has a matching Python version." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:122 -msgid "The in-toto ``subject`` **MUST** contain only a single subject." +#: ../source/tutorials/packaging-projects.rst:243 +msgid "" +"``classifiers`` gives the index and :ref:`pip` some additional metadata " +"about your package. In this case, the package is only compatible with Python " +"3, is licensed under the MIT license, and is OS-independent. You should " +"always include at least which version(s) of Python your package works on, " +"which license your package is available under, and which operating systems " +"your package will work on. For a complete list of classifiers, see https://" +"pypi.org/classifiers/." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:123 +#: ../source/tutorials/packaging-projects.rst:250 msgid "" -"``subject[0].name`` is the distribution's filename, which **MUST** be a " -"valid :ref:`source distribution ` or :ref:`wheel " -"distribution ` filename." +"``urls`` lets you list any number of extra links to show on PyPI. Generally " +"this could be to the source, documentation, issue trackers, etc." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:126 +#: ../source/tutorials/packaging-projects.rst:253 msgid "" -"``subject[0].digest`` **MUST** contain a SHA-256 digest. Other digests " -"**MAY** be present. The digests **MUST** be represented as hexadecimal " -"strings." +"See the :ref:`pyproject.toml guide ` for details on " +"these and other fields that can be defined in the ``[project]`` table. Other " +"common fields are ``keywords`` to improve discoverability and the " +"``dependencies`` that are required to install your package." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:128 -msgid "The following ``predicateType`` values are supported:" +#: ../source/tutorials/packaging-projects.rst:260 +msgid "Creating README.md" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:130 +#: ../source/tutorials/packaging-projects.rst:262 msgid "" -"`SLSA Provenance `__: ``https://slsa.dev/" -"provenance/v1``" +"Open :file:`README.md` and enter the following content. You can customize " +"this if you'd like." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:131 +#: ../source/tutorials/packaging-projects.rst:275 +msgid "Creating a LICENSE" +msgstr "" + +#: ../source/tutorials/packaging-projects.rst:277 msgid "" -"`PyPI Publish Attestation `__: ``https://docs.pypi.org/attestations/publish/v1``" +"It's important for every package uploaded to the Python Package Index to " +"include a license. This tells users who install your package the terms under " +"which they can use your package. For help picking a license, see https://" +"choosealicense.com/. Once you have chosen a license, open :file:`LICENSE` " +"and enter the license text. For example, if you had chosen the MIT license:" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:133 +#: ../source/tutorials/packaging-projects.rst:306 msgid "" -"The signature over this statement is constructed using the `v1 DSSE " -"signature protocol `__, with a ``PAYLOAD_TYPE`` of ``application/vnd.in-toto+json`` " -"and a ``PAYLOAD_BODY`` of the JSON-encoded statement above. No other " -"``PAYLOAD_TYPE`` is permitted." +"Most build backends automatically include license files in packages. See " +"your backend's documentation for more details." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:141 -msgid "Provenance objects" +#: ../source/tutorials/packaging-projects.rst:311 +msgid "Including other files" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:143 +#: ../source/tutorials/packaging-projects.rst:313 msgid "" -"The index will serve uploaded attestations along with metadata that can " -"assist in verifying them in the form of JSON serialized objects." +"The files listed above will be included automatically in your :term:`source " +"distribution `. If you want to include " +"additional files, see the documentation for your build backend." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:146 -msgid "" -"These *provenance objects* will be available via both the Simple Index and " -"JSON-based Simple API as described above, and will have the following layout:" +#: ../source/tutorials/packaging-projects.rst:320 +msgid "Generating distribution archives" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:169 -msgid "or, as pseudocode:" +#: ../source/tutorials/packaging-projects.rst:322 +msgid "" +"The next step is to generate :term:`distribution packages ` for the package. These are archives that are uploaded to the " +"Python Package Index and can be installed by :ref:`pip`." +msgstr "" + +#: ../source/tutorials/packaging-projects.rst:326 +msgid "Make sure you have the latest version of PyPA's :ref:`build` installed:" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:217 +#: ../source/tutorials/packaging-projects.rst:340 msgid "" -"``version`` is ``1``. Like attestation objects, provenance objects are " -"versioned, and this PEP only defines version ``1``." +"If you have trouble installing these, see the :doc:`installing-packages` " +"tutorial." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:219 +#: ../source/tutorials/packaging-projects.rst:343 msgid "" -"``attestation_bundles`` is a **required** JSON array, containing one or more " -"\"bundles\" of attestations. Each bundle corresponds to a signing identity " -"(such as a Trusted Publishing identity), and contains one or more " -"attestation objects." +"Now run this command from the same directory where :file:`pyproject.toml` is " +"located:" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:224 +#: ../source/tutorials/packaging-projects.rst:357 msgid "" -"As noted in the ``Publisher`` model, each ``AttestationBundle.publisher`` " -"object is specific to its Trusted Publisher but must include at minimum:" +"This command should output a lot of text and once completed should generate " +"two files in the :file:`dist` directory:" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:228 +#: ../source/tutorials/packaging-projects.rst:367 msgid "" -"A ``kind`` key, which **MUST** be a JSON string that uniquely identifies the " -"kind of Trusted Publisher." +"The ``tar.gz`` file is a :term:`source distribution ` whereas the ``.whl`` file is a :term:`built distribution `. Newer :ref:`pip` versions preferentially install built " +"distributions, but will fall back to source distributions if needed. You " +"should always upload a source distribution and provide built distributions " +"for the platforms your project is compatible with. In this case, our example " +"package is compatible with Python on any platform so only one built " +"distribution is needed." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:230 -msgid "" -"A ``claims`` key, which **MUST** be a JSON object containing any context-" -"specific claims retained by the index during Trusted Publisher " -"authentication." +#: ../source/tutorials/packaging-projects.rst:376 +msgid "Uploading the distribution archives" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:233 -msgid "All other keys in the publisher object are publisher-specific." +#: ../source/tutorials/packaging-projects.rst:378 +msgid "Finally, it's time to upload your package to the Python Package Index!" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:235 +#: ../source/tutorials/packaging-projects.rst:380 msgid "" -"Each array of attestation objects is a superset of the ``attestations`` " -"array supplied by the uploaded through the ``attestations`` field at upload " -"time, as described in :ref:`upload-endpoint` and :ref:`changes-to-provenance-" -"objects`." +"The first thing you'll need to do is register an account on TestPyPI, which " +"is a separate instance of the package index intended for testing and " +"experimentation. It's great for things like this tutorial where we don't " +"necessarily want to upload to the real index. To register an account, go to " +"https://test.pypi.org/account/register/ and complete the steps on that page. " +"You will also need to verify your email address before you're able to upload " +"any packages. For more details, see :doc:`/guides/using-testpypi`." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:243 -msgid "Changes to provenance objects" +#: ../source/tutorials/packaging-projects.rst:388 +msgid "" +"To securely upload your project, you'll need a PyPI `API token`_. Create one " +"at https://test.pypi.org/manage/account/#api-tokens, setting the \"Scope\" " +"to \"Entire account\". **Don't close the page until you have copied and " +"saved the token — you won't see that token again.**" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:245 +#: ../source/tutorials/packaging-projects.rst:395 msgid "" -"Provenance objects are *not* immutable, and may change over time. Reasons " -"for changes to the provenance object include but are not limited to:" +"Now that you are registered, you can use :ref:`twine` to upload the " +"distribution packages. You'll need to install Twine:" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:248 +#: ../source/tutorials/packaging-projects.rst:410 msgid "" -"Addition of new attestations for a pre-existing signing identity: the index " -"**MAY** choose to allow additional attestations by pre-existing signing " -"identities, such as newer attestation versions for already uploaded files." +"Once installed, run Twine to upload all of the archives under :file:`dist`:" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:253 +#: ../source/tutorials/packaging-projects.rst:424 msgid "" -"Addition of new signing identities and associated attestations: the index " -"**MAY** choose to support attestations from sources other than the file's " -"uploader, such as third-party auditors or the index itself. These " -"attestations may be performed asynchronously, requiring the index to insert " -"them into the provenance object *post facto*." +"You will be prompted for an API token. Use the token value, including the " +"``pypi-`` prefix. Note that the input will be hidden, so be sure to paste " +"correctly." msgstr "" +"Se le pedirá un token de API. Utilice el valor del token, incluido el " +"prefijo ``pypi-``. Ten en cuenta que la entrada estará oculta, así que " +"asegúrate de pegarla correctamente." -#: ../source/specifications/index-hosted-attestations.rst:262 -msgid "Attestation verification" +#: ../source/tutorials/packaging-projects.rst:427 +msgid "After the command completes, you should see output similar to this:" +msgstr "Una vez completado el comando, debería ver una salida similar a ésta:" + +#: ../source/tutorials/packaging-projects.rst:438 +msgid "" +"Once uploaded, your package should be viewable on TestPyPI; for example: " +"``https://test.pypi.org/project/example_package_YOUR_USERNAME_HERE``." msgstr "" +"Una vez subido, su paquete debería ser visible en TestPyPI; por ejemplo: " +"``https://test.pypi.org/project/example_package_YOUR_USERNAME_HERE``." -#: ../source/specifications/index-hosted-attestations.rst:264 +#: ../source/tutorials/packaging-projects.rst:443 +msgid "Installing your newly uploaded package" +msgstr "Instalación de su paquete recién cargado" + +#: ../source/tutorials/packaging-projects.rst:445 msgid "" -"Verifying an attestation object against a distribution file requires " -"verification of each of the following:" +"You can use :ref:`pip` to install your package and verify that it works. " +"Create a :ref:`virtual environment ` and install your package from TestPyPI:" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:267 -msgid "``version`` is ``1``. The verifier **MUST** reject any other version." +#: ../source/tutorials/packaging-projects.rst:461 +msgid "Make sure to specify your username in the package name!" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:268 +#: ../source/tutorials/packaging-projects.rst:463 msgid "" -"``verification_material.certificate`` is a valid signing certificate, as " -"issued by an *a priori* trusted authority (such as a root of trust already " -"present within the verifying client)." +"pip should install the package from TestPyPI and the output should look " +"something like this:" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:271 +#: ../source/tutorials/packaging-projects.rst:473 msgid "" -"``verification_material.certificate`` identifies an appropriate signing " -"subject, such as the machine identity of the Trusted Publisher that " -"published the package." +"This example uses ``--index-url`` flag to specify TestPyPI instead of live " +"PyPI. Additionally, it specifies ``--no-deps``. Since TestPyPI doesn't have " +"the same packages as the live PyPI, it's possible that attempting to install " +"dependencies may fail or install something unexpected. While our example " +"package doesn't have any dependencies, it's a good practice to avoid " +"installing dependencies when using TestPyPI." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:274 +#: ../source/tutorials/packaging-projects.rst:480 msgid "" -"``envelope.statement`` is a valid in-toto v1 Statement, with a subject and " -"digest that **MUST** match the distribution's filename and contents. For the " -"distribution's filename, matching **MUST** be performed by parsing using the " -"appropriate source distribution or wheel filename format, as the statement's " -"subject may be equivalent but normalized." +"You can test that it was installed correctly by importing the package. Make " +"sure you're still in your virtual environment, then run Python:" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:279 -msgid "" -"``envelope.signature`` is a valid signature for ``envelope.statement`` " -"corresponding to ``verification_material.certificate``, as reconstituted via " -"the `v1 DSSE signature protocol `__." +#: ../source/tutorials/packaging-projects.rst:495 +msgid "and import the package:" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:284 +#: ../source/tutorials/packaging-projects.rst:507 msgid "" -"In addition to the above required steps, a verifier **MAY** additionally " -"verify ``verification_material.transparency_entries`` on a policy basis, e." -"g. requiring at least one transparency log entry or a threshold of entries. " -"When verifying transparency entries, the verifier **MUST** confirm that the " -"inclusion time for each entry lies within the signing certificate's validity " -"period." +"**Congratulations, you've packaged and distributed a Python project!** ✨ 🍰 " +"✨" msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:293 -msgid "Appendix: Data models for Transparency Log Entries" +#: ../source/tutorials/packaging-projects.rst:510 +msgid "" +"Keep in mind that this tutorial showed you how to upload your package to " +"Test PyPI, which isn't a permanent storage. The Test system occasionally " +"deletes packages and accounts. It is best to use TestPyPI for testing and " +"experiments like this tutorial." msgstr "" -#: ../source/specifications/index-hosted-attestations.rst:295 +#: ../source/tutorials/packaging-projects.rst:515 msgid "" -"This appendix contains pseudocoded data models for transparency log entries " -"in attestation objects. Each transparency log entry serves as a source of " -"signed inclusion time, and can be verified either online or offline." +"When you are ready to upload a real package to the Python Package Index you " +"can do much the same as you did in this tutorial, but with these important " +"differences:" msgstr "" -#: ../source/specifications/simple-repository-api.rst:99 +#: ../source/tutorials/packaging-projects.rst:519 msgid "" -"A repository **MAY** include a ``data-provenance`` attribute on a file link. " -"The value of this attribute **MUST** be a fully qualified URL, signaling " -"that the file's provenance can be found at that URL. This URL **MUST** " -"represent a `secure origin `_." +"Choose a memorable and unique name for your package. You don't have to " +"append your username as you did in the tutorial, but you can't use an " +"existing name." msgstr "" -#: ../source/specifications/simple-repository-api.rst:106 +#: ../source/tutorials/packaging-projects.rst:521 msgid "" -"The format of the linked provenance is defined in :ref:`index-hosted-" -"attestations`." +"Register an account on https://pypi.org - note that these are two separate " +"servers and the login details from the test server are not shared with the " +"main server." msgstr "" -#: ../source/specifications/simple-repository-api.rst:507 +#: ../source/tutorials/packaging-projects.rst:524 msgid "" -"``provenance``: An **optional** key which, if present **MUST** be either a " -"JSON string or ``null``. If not ``null``, it **MUST** be a URL to the file's " -"associated provenance, with the same rules as ``data-provenance`` in the :" -"ref:`base HTML API specification `." +"Use ``twine upload dist/*`` to upload your package and enter your " +"credentials for the account you registered on the real PyPI. Now that " +"you're uploading the package in production, you don't need to specify ``--" +"repository``; the package will upload to https://pypi.org/ by default." msgstr "" -#: ../source/specifications/simple-repository-api.rst:1003 +#: ../source/tutorials/packaging-projects.rst:528 msgid "" -"November 2024: provenance metadata in the HTML and JSON formats, in :pep:" -"`740`" +"Install your package from the real PyPI using ``python3 -m pip install [your-" +"package]``." msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/tutorials/packaging-projects.rst:530 msgid "" -"For projects hosted on or published via supported CI/CD platforms, it is " -"recommended to use the :ref:`Trusted Publishing `, which " -"allows the package to be securely uploaded to PyPI from a CI/CD workflow " -"without a manually configured API token." +"At this point if you want to read more on packaging Python libraries here " +"are some things you can do:" msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/tutorials/packaging-projects.rst:533 msgid "" -"As of November 2024, PyPI supports the following platforms as Trusted " -"Publishing providers:" +"Read about advanced configuration for your chosen build backend: `Hatchling " +"`_, :doc:`setuptools `, :doc:`Flit `, `PDM `_." msgstr "" -#: ../source/guides/tool-recommendations.rst:150 -msgid "GitHub Actions (on ``https://github.com``)" +#: ../source/tutorials/packaging-projects.rst:537 +msgid "" +"Look at the :doc:`guides ` on this site for more advanced " +"practical information, or the :doc:`discussions ` for " +"explanations and background on specific topics." msgstr "" -#: ../source/guides/tool-recommendations.rst:151 -msgid "GitLab CI/CD (on ``https://gitlab.com``)" +#: ../source/tutorials/packaging-projects.rst:540 +msgid "" +"Consider packaging tools that provide a single command-line interface for " +"project management and packaging, such as :ref:`hatch`, :ref:`flit`, :ref:" +"`pdm`, and :ref:`poetry`." msgstr "" -#: ../source/guides/tool-recommendations.rst:152 -msgid "ActiveState" +#: ../source/tutorials/packaging-projects.rst:548 +msgid "Notes" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 -msgid "Google Cloud" +#: ../source/tutorials/packaging-projects.rst:550 +msgid "" +"Technically, you can also create Python packages without an ``__init__.py`` " +"file, but those are called :doc:`namespace packages ` and considered an **advanced topic** (not covered in " +"this tutorial). If you are only getting started with Python packaging, it is " +"recommended to stick with *regular packages* and ``__init__.py`` (even if " +"the file is empty)." msgstr "" #~ msgid "``install``" diff --git a/locales/fa/LC_MESSAGES/messages.po b/locales/fa/LC_MESSAGES/messages.po index 2b98bf522..6ad142e0e 100644 --- a/locales/fa/LC_MESSAGES/messages.po +++ b/locales/fa/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2023-02-15 07:52+0000\n" "Last-Translator: Arsalan Dehghani \n" "Language-Team: Persian `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3186,6 +3188,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5215,9 +5218,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11922,7 +11925,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12271,6 +12275,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12298,11 +12303,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13319,6 +13332,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13348,14 +13582,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15548,10 +15774,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/fil/LC_MESSAGES/messages.po b/locales/fil/LC_MESSAGES/messages.po index 1f5057f2c..da0c3c749 100644 --- a/locales/fil/LC_MESSAGES/messages.po +++ b/locales/fil/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2022-11-19 08:28+0000\n" "Last-Translator: RedFurrFox \n" "Language-Team: Filipino `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3181,6 +3183,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5203,9 +5206,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11902,7 +11905,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12251,6 +12255,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12278,11 +12283,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13299,6 +13312,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13328,14 +13562,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15527,10 +15753,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/fr/LC_MESSAGES/messages.po b/locales/fr/LC_MESSAGES/messages.po index f66db8351..a192b8d7c 100644 --- a/locales/fr/LC_MESSAGES/messages.po +++ b/locales/fr/LC_MESSAGES/messages.po @@ -6,13 +6,14 @@ # Matthieu Darbois , 2022. # Rafael Fontenelle , 2024. # Pierre PETAT , 2024. +# Laurent FAVOLE , 2024. msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" -"PO-Revision-Date: 2024-09-21 00:40+0000\n" -"Last-Translator: Pierre PETAT \n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" +"PO-Revision-Date: 2024-12-25 20:00+0000\n" +"Last-Translator: Laurent FAVOLE \n" "Language-Team: French \n" "Language: fr\n" @@ -20,7 +21,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.8-dev\n" +"X-Generator: Weblate 5.10-dev\n" #: ../source/contribute.rst:5 msgid "Contribute to this guide" @@ -79,7 +80,6 @@ msgid "Documentation types" msgstr "Types de documentation" #: ../source/contribute.rst:34 -#, fuzzy msgid "" "This project consists of four distinct documentation types with specific " "purposes. The project aspires to follow the `Diátaxis process`_ for creating " @@ -87,8 +87,9 @@ msgid "" "pick the appropriate documentation type." msgstr "" "Ce projet consiste en quatre types de documentation utilisés à des fins " -"spécifiques. Lorsque vous proposez des nouveaux ajouts au projet, veuillez " -"sélectionner le type de documentation approprié." +"spécifiques. Le projet aspire à suivre le `processus de Diátaxis`_ pour " +"créer une documentation de qualité. Lorsque vous proposez des nouveaux " +"ajouts au projet, veuillez sélectionner le type de documentation approprié." #: ../source/contribute.rst:42 ../source/index.rst:55 #: ../source/tutorials/index.rst:2 @@ -191,23 +192,27 @@ msgstr "" #: ../source/contribute.rst:105 msgid "**Do not translate the text in reference directly**" -msgstr "" +msgstr "**Ne traduisez pas le texte dans les références directement**" #: ../source/contribute.rst:107 msgid "" "When translating the text in reference, please do not translate them " "directly." msgstr "" +"Quand vous traduisez le texte dans une référence, veuillez ne pas le " +"traduire directement." #: ../source/contribute.rst:0 msgid "Wrong: Translate the following text directly:" -msgstr "" +msgstr "Mauvais : Traduire le texte suivant directement :" #: ../source/contribute.rst:0 msgid "" "Right: Translate the following text with your own language and add the " "original reference:" msgstr "" +"Bon : Traduire le texte suivant dans votre propre langue et ajouter la " +"référence originale :" #: ../source/contribute.rst:124 msgid "Building the guide locally" @@ -285,6 +290,9 @@ msgid "" "readthedocs.org/projects/python-packaging-user-guide/. It's served from a " "custom domain and fronted by Fast.ly." msgstr "" +"Ce guide est déployé à l'aide de ReadTheDocs et sa configuration est " +"disponible à https://readthedocs.org/projects/python-packaging-user-guide/. " +"Il est servi à partir d'un domaine personnalisé et présenté par Fast.ly." #: ../source/contribute.rst:171 msgid "Style guide" @@ -528,7 +536,7 @@ msgstr "Correct : Un·e mainteneur·euse met en ligne le fichier. Puis…" #: ../source/contribute.rst:0 msgid "Right: A maintainer uploads the file. Then the maintainer…" -msgstr "" +msgstr "Correct : Un mainteneur téléverse le fichier. Puis le mainteneur…" #: ../source/contribute.rst:288 msgid "**Headings**" @@ -613,7 +621,7 @@ msgstr "Dernière révision" #: ../source/discussions/deploying-python-applications.rst:7 msgid "2021-8-24" -msgstr "" +msgstr "24/08/2021" #: ../source/discussions/deploying-python-applications.rst:11 #: ../source/specifications/externally-managed-environments.rst:130 @@ -1492,7 +1500,7 @@ msgstr "" #: ../source/discussions/setup-py-deprecated.rst:33 #: ../source/guides/modernize-setup-py-project.rst:30 msgid "Deprecated" -msgstr "" +msgstr "Obsolète" #: ../source/discussions/setup-py-deprecated.rst:33 #: ../source/guides/modernize-setup-py-project.rst:30 @@ -1588,14 +1596,12 @@ msgid "A trusted replacement is :ref:`twine`:" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:103 -#, fuzzy msgid "``python -m twine check --strict dist/*``" -msgstr "Oui (``python -m pip uninstall``)" +msgstr "``python -m twine check --strict dist/*``" #: ../source/discussions/setup-py-deprecated.rst:104 -#, fuzzy msgid "``python -m twine register dist/*.whl`` [#not-pypi]_" -msgstr "Oui (``python -m pip uninstall``)" +msgstr "``python -m twine register dist/*.whl`` [#not-pypi]_" #: ../source/discussions/setup-py-deprecated.rst:105 #, fuzzy @@ -1815,7 +1821,9 @@ msgid "Where to read more about this?" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:213 -msgid "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" +msgid "" +"`Why you shouldn't invoke setup.py directly `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3055,7 +3063,7 @@ msgstr "" #: ../source/glossary.rst:291 msgid "Requirement" -msgstr "" +msgstr "Dépendance" #: ../source/glossary.rst:294 msgid "" @@ -3220,7 +3228,7 @@ msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:14 #: ../source/guides/supporting-windows-using-appveyor.rst:17 msgid "Background" -msgstr "" +msgstr "Contexte" #: ../source/guides/analyzing-pypi-package-downloads.rst:16 msgid "PyPI does not display download statistics for a number of reasons: [#]_" @@ -3347,6 +3355,7 @@ msgid "Description" msgstr "Description" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -3607,7 +3616,7 @@ msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:242 msgid "url" -msgstr "" +msgstr "url" #: ../source/guides/analyzing-pypi-package-downloads.rst:244 msgid "" @@ -3615,6 +3624,9 @@ msgid "" "eb/45/79be82bdeafcecb9dca474cad4003e32ef8e4a0dec6abbd4145ccb02abe1/" "sampleproject-1.2.0.tar.gz" msgstr "" +"https://files.pythonhosted.org/packages/" +"eb/45/79be82bdeafcecb9dca474cad4003e32ef8e4a0dec6abbd4145ccb02abe1/" +"sampleproject-1.2.0.tar.gz" #: ../source/guides/analyzing-pypi-package-downloads.rst:246 msgid "" @@ -3622,6 +3634,9 @@ msgid "" "packages/56/0a/178e8bbb585ec5b13af42dae48b1d7425d6575b3ff9b02e5ec475e38e1d6/" "sampleproject_nomura-1.2.0-py2.py3-none-any.whl" msgstr "" +"https://files.pythonhosted.org/" +"packages/56/0a/178e8bbb585ec5b13af42dae48b1d7425d6575b3ff9b02e5ec475e38e1d6/" +"sampleproject_nomura-1.2.0-py2.py3-none-any.whl" #: ../source/guides/analyzing-pypi-package-downloads.rst:248 msgid "" @@ -3629,6 +3644,9 @@ msgid "" "packages/63/88/3200eeaf22571f18d2c41e288862502e33365ccbdc12b892db23f51f8e70/" "sampleproject_nomura-1.2.0.tar.gz" msgstr "" +"https://files.pythonhosted.org/" +"packages/63/88/3200eeaf22571f18d2c41e288862502e33365ccbdc12b892db23f51f8e70/" +"sampleproject_nomura-1.2.0.tar.gz" #: ../source/guides/analyzing-pypi-package-downloads.rst:250 msgid "" @@ -3636,6 +3654,9 @@ msgid "" "e9/2743311822e71c0756394b6c5ab15cb64ca66c78c6c6a5cd872c9ed33154/" "sampleproject_doubleyoung18-1.3.0-py2.py3-none-any.whl" msgstr "" +"https://files.pythonhosted.org/packages/21/" +"e9/2743311822e71c0756394b6c5ab15cb64ca66c78c6c6a5cd872c9ed33154/" +"sampleproject_doubleyoung18-1.3.0-py2.py3-none-any.whl" #: ../source/guides/analyzing-pypi-package-downloads.rst:252 msgid "" @@ -3643,10 +3664,13 @@ msgid "" "packages/6f/5b/2f3fe94e1c02816fe23c7ceee5292fb186912929e1972eee7fb729fa27af/" "sampleproject-1.3.1.tar.gz" msgstr "" +"https://files.pythonhosted.org/" +"packages/6f/5b/2f3fe94e1c02816fe23c7ceee5292fb186912929e1972eee7fb729fa27af/" +"sampleproject-1.3.1.tar.gz" #: ../source/guides/analyzing-pypi-package-downloads.rst:257 msgid "Caveats" -msgstr "" +msgstr "Inconvénients" #: ../source/guides/analyzing-pypi-package-downloads.rst:259 msgid "" @@ -4266,7 +4290,7 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:153 msgid "setup() args" -msgstr "" +msgstr "arguments pour setup()" #: ../source/guides/distributing-packages-using-setuptools.rst:155 msgid "" @@ -4312,7 +4336,7 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:192 msgid "``py_modules``" -msgstr "" +msgstr "``py_modules``" #: ../source/guides/distributing-packages-using-setuptools.rst:198 msgid "" @@ -4340,7 +4364,7 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:221 msgid "``package_data``" -msgstr "" +msgstr "``package_data``" #: ../source/guides/distributing-packages-using-setuptools.rst:230 msgid "" @@ -4366,7 +4390,7 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:247 msgid "``data_files``" -msgstr "" +msgstr "``data_files``" #: ../source/guides/distributing-packages-using-setuptools.rst:253 msgid "" @@ -4517,7 +4541,7 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:380 msgid "Source distributions" -msgstr "" +msgstr "Distributions sources" #: ../source/guides/distributing-packages-using-setuptools.rst:382 msgid "" @@ -4536,7 +4560,7 @@ msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:406 msgid "Wheels" -msgstr "" +msgstr "Wheels" #: ../source/guides/distributing-packages-using-setuptools.rst:408 msgid "" @@ -4783,7 +4807,7 @@ msgstr "" #: ../source/guides/dropping-older-python-versions.rst:15 msgid "Requirements" -msgstr "" +msgstr "Dépendances" #: ../source/guides/dropping-older-python-versions.rst:17 msgid "" @@ -4968,7 +4992,7 @@ msgstr "" #: ../source/guides/hosting-your-own-index.rst:35 msgid "\"Manual\" repository" -msgstr "" +msgstr "Dépôt \"manuel\"" #: ../source/guides/hosting-your-own-index.rst:37 msgid "" @@ -5006,7 +5030,7 @@ msgstr "" #: ../source/guides/index-mirrors-and-caches.rst:56 #: ../source/guides/supporting-windows-using-appveyor.rst:146 msgid "Additional notes" -msgstr "" +msgstr "Notes supplémentaires" #: ../source/guides/hosting-your-own-index.rst:67 #: ../source/guides/index-mirrors-and-caches.rst:58 @@ -5328,7 +5352,7 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:54 msgid "Windows installers" -msgstr "" +msgstr "Installateurs Windows" #: ../source/guides/installing-scientific-packages.rst:56 msgid "" @@ -5380,13 +5404,13 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:89 msgid "SciPy distributions" -msgstr "" +msgstr "Distributions SciPy" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -5398,7 +5422,7 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:100 #: ../source/key_projects.rst:812 msgid "Spack" -msgstr "" +msgstr "Spack" #: ../source/guides/installing-scientific-packages.rst:101 msgid "" @@ -5553,7 +5577,7 @@ msgstr "" #: ../source/guides/installing-using-linux-tools.rst:8 msgid "2021-07-26" -msgstr "" +msgstr "26/07/2021" #: ../source/guides/installing-using-linux-tools.rst:10 msgid "" @@ -5589,7 +5613,7 @@ msgstr "" #: ../source/guides/installing-using-linux-tools.rst:31 msgid "Fedora" -msgstr "" +msgstr "Fedora" #: ../source/guides/installing-using-linux-tools.rst:37 msgid "" @@ -5599,7 +5623,7 @@ msgstr "" #: ../source/guides/installing-using-linux-tools.rst:45 msgid "CentOS/RHEL" -msgstr "" +msgstr "CentOS / RHEL" #: ../source/guides/installing-using-linux-tools.rst:47 msgid "" @@ -5676,7 +5700,7 @@ msgstr "" #: ../source/guides/installing-using-linux-tools.rst:108 msgid "openSUSE" -msgstr "" +msgstr "openSUSE" #: ../source/guides/installing-using-linux-tools.rst:118 msgid "Debian/Ubuntu and derivatives" @@ -5695,7 +5719,7 @@ msgstr "" #: ../source/guides/installing-using-linux-tools.rst:135 msgid "Arch Linux" -msgstr "" +msgstr "Arch Linux" #: ../source/guides/installing-using-linux-tools.rst:143 msgid "" @@ -6028,7 +6052,7 @@ msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:434 #: ../source/tutorials/installing-packages.rst:393 msgid "Upgrading packages" -msgstr "" +msgstr "Mise à jour des paquets" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:436 msgid "" @@ -6056,7 +6080,7 @@ msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:478 msgid "Freezing dependencies" -msgstr "" +msgstr "Gel des dépendances" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:480 msgid "" @@ -6130,7 +6154,7 @@ msgstr "" #: ../source/guides/making-a-pypi-friendly-readme.rst:16 msgid "plain text" -msgstr "" +msgstr "texte brut" #: ../source/guides/making-a-pypi-friendly-readme.rst:17 msgid "" @@ -6163,11 +6187,11 @@ msgstr "" #: ../source/guides/making-a-pypi-friendly-readme.rst:33 msgid ":ref:`description-optional`" -msgstr "" +msgstr ":ref:`description-optional`" #: ../source/guides/making-a-pypi-friendly-readme.rst:34 msgid ":ref:`description-content-type-optional`" -msgstr "" +msgstr ":ref:`description-content-type-optional`" #: ../source/guides/making-a-pypi-friendly-readme.rst:36 msgid "" @@ -6275,7 +6299,7 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:9 #: ../source/guides/supporting-windows-using-appveyor.rst:7 msgid "Obsolete" -msgstr "" +msgstr "Obsolète" #: ../source/guides/migrating-to-pypi-org.rst:10 msgid "" @@ -6286,8 +6310,9 @@ msgid "" msgstr "" #: ../source/guides/migrating-to-pypi-org.rst:16 +#, fuzzy msgid "Publishing releases" -msgstr "" +msgstr "Publication des versions" #: ../source/guides/migrating-to-pypi-org.rst:18 msgid "``pypi.org`` is the default upload platform as of September 2016." @@ -6390,7 +6415,7 @@ msgstr "" #: ../source/guides/migrating-to-pypi-org.rst:93 #: ../source/guides/using-testpypi.rst:5 msgid "Using TestPyPI" -msgstr "" +msgstr "Utilisation de TestPyPI" #: ../source/guides/migrating-to-pypi-org.rst:95 msgid "" @@ -6414,7 +6439,7 @@ msgstr "" #: ../source/guides/migrating-to-pypi-org.rst:125 msgid "Browsing packages" -msgstr "" +msgstr "Navigation dans les paquets" #: ../source/guides/migrating-to-pypi-org.rst:127 msgid "" @@ -6426,7 +6451,7 @@ msgstr "" #: ../source/guides/migrating-to-pypi-org.rst:134 msgid "Downloading packages" -msgstr "" +msgstr "Téléchargement de paquets" #: ../source/guides/migrating-to-pypi-org.rst:136 msgid "``pypi.org`` is the default host for downloading packages." @@ -6647,8 +6672,9 @@ msgid ":doc:`setuptools:build_meta`" msgstr "" #: ../source/guides/multi-version-installs.rst:6 +#, fuzzy msgid "Multi-version installs" -msgstr "" +msgstr "Installations multi-versions" #: ../source/guides/multi-version-installs.rst:11 msgid "" @@ -6704,7 +6730,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:8 msgid "2013-12-08" -msgstr "" +msgstr "08/12/2013" #: ../source/guides/packaging-binary-extensions.rst:10 msgid "" @@ -6720,8 +6746,9 @@ msgid "An overview of binary extensions" msgstr "" #: ../source/guides/packaging-binary-extensions.rst:21 +#, fuzzy msgid "Use cases" -msgstr "" +msgstr "Cas d'utilisation" #: ../source/guides/packaging-binary-extensions.rst:23 msgid "" @@ -6788,7 +6815,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:69 msgid "Disadvantages" -msgstr "" +msgstr "Désavantages" #: ../source/guides/packaging-binary-extensions.rst:71 msgid "" @@ -7208,7 +7235,7 @@ msgstr "" #: ../source/guides/packaging-binary-extensions.rst:379 msgid "Additional resources" -msgstr "" +msgstr "Ressources supplémentaires" #: ../source/guides/packaging-binary-extensions.rst:381 msgid "" @@ -7538,7 +7565,7 @@ msgstr "" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:25 msgid "Configuring trusted publishing" -msgstr "" +msgstr "Configuration de Trusted Publishing" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:27 msgid "" @@ -7802,7 +7829,7 @@ msgstr "" #: ../source/guides/section-hosting.rst:3 msgid "Hosting" -msgstr "" +msgstr "Hébergement" #: ../source/guides/section-install.rst:3 #, fuzzy @@ -7828,7 +7855,7 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:10 msgid "2014-12-24" -msgstr "" +msgstr "24/12/2014" #: ../source/guides/supporting-multiple-python-versions.rst:36 msgid "" @@ -7972,7 +7999,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:8 msgid "2015-12-03" -msgstr "" +msgstr "03/12/2015" #: ../source/guides/supporting-windows-using-appveyor.rst:10 msgid "" @@ -8010,7 +8037,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:37 msgid "Setting up" -msgstr "" +msgstr "Configuration" #: ../source/guides/supporting-windows-using-appveyor.rst:39 msgid "" @@ -8059,7 +8086,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:68 msgid "appveyor.yml" -msgstr "" +msgstr "appveyor.yml" #: ../source/guides/supporting-windows-using-appveyor.rst:74 msgid "" @@ -8134,7 +8161,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "Support script" -msgstr "" +msgstr "Script d'aide" #: ../source/guides/supporting-windows-using-appveyor.rst:120 msgid "" @@ -8213,19 +8240,19 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:169 msgid "``DISTUTILS_USE_SDK``" -msgstr "" +msgstr "``DISTUTILS_USE_SDK``" #: ../source/guides/supporting-windows-using-appveyor.rst:170 msgid "``MSSdk``" -msgstr "" +msgstr "``MSSdk``" #: ../source/guides/supporting-windows-using-appveyor.rst:171 msgid "``INCLUDE``" -msgstr "" +msgstr "``INCLUDE``" #: ../source/guides/supporting-windows-using-appveyor.rst:172 msgid "``LIB``" -msgstr "" +msgstr "``LIB``" #: ../source/guides/supporting-windows-using-appveyor.rst:174 msgid "" @@ -8292,7 +8319,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:215 msgid "External dependencies" -msgstr "" +msgstr "Dépendances externes" #: ../source/guides/supporting-windows-using-appveyor.rst:217 msgid "" @@ -8312,7 +8339,7 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:229 msgid "Support scripts" -msgstr "" +msgstr "Scripts d'aide" #: ../source/guides/supporting-windows-using-appveyor.rst:231 msgid "For reference, the SDK setup support script is listed here:" @@ -8320,11 +8347,11 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:233 msgid "``appveyor-sample/build.cmd``" -msgstr "" +msgstr "``appveyor-sample/build.cmd``" #: ../source/guides/tool-recommendations.rst:5 msgid "Tool recommendations" -msgstr "" +msgstr "Recommandations d'outils" #: ../source/guides/tool-recommendations.rst:7 msgid "" @@ -8565,6 +8592,8 @@ msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" +"Depuis novembre 2024, PyPI supporte les plateformes suivantes comme " +"fournisseurs Trusted Publishing :" #: ../source/guides/tool-recommendations.rst:150 msgid "GitHub Actions (on ``https://github.com``)" @@ -8572,7 +8601,7 @@ msgstr "" #: ../source/guides/tool-recommendations.rst:151 msgid "GitLab CI/CD (on ``https://gitlab.com``)" -msgstr "" +msgstr "GitLab CI/CD (sur ``https://gitlab.com``)" #: ../source/guides/tool-recommendations.rst:152 msgid "ActiveState" @@ -8838,7 +8867,7 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:142 #: ../source/specifications/pyproject-toml.rst:152 msgid "``name``" -msgstr "" +msgstr "``name``" #: ../source/guides/writing-pyproject-toml.rst:125 msgid "" @@ -8900,7 +8929,7 @@ msgstr "Fichiers requirements vs install_requires" #: ../source/guides/writing-pyproject-toml.rst:174 #: ../source/specifications/pyproject-toml.rst:356 msgid "``dependencies``/``optional-dependencies``" -msgstr "" +msgstr "``dependencies`` / ``optional-dependencies``" #: ../source/guides/writing-pyproject-toml.rst:176 msgid "If your project has dependencies, list them like this:" @@ -8930,7 +8959,7 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:227 msgid "``requires-python``" -msgstr "" +msgstr "``requires-python``" #: ../source/guides/writing-pyproject-toml.rst:215 msgid "" @@ -8983,7 +9012,7 @@ msgstr "Configurer votre projet" #: ../source/guides/writing-pyproject-toml.rst:263 #: ../source/specifications/pyproject-toml.rst:252 msgid "``authors``/``maintainers``" -msgstr "" +msgstr "``authors`` / ``maintainers``" #: ../source/guides/writing-pyproject-toml.rst:265 msgid "" @@ -8995,7 +9024,7 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:135 #: ../source/specifications/pyproject-toml.rst:177 msgid "``description``" -msgstr "" +msgstr "``description``" #: ../source/guides/writing-pyproject-toml.rst:287 msgid "" @@ -9008,7 +9037,7 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:144 #: ../source/specifications/pyproject-toml.rst:188 msgid "``readme``" -msgstr "" +msgstr "``readme``" #: ../source/guides/writing-pyproject-toml.rst:300 msgid "" @@ -9038,7 +9067,7 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:140 #: ../source/specifications/pyproject-toml.rst:237 msgid "``license``" -msgstr "" +msgstr "``license``" #: ../source/guides/writing-pyproject-toml.rst:327 msgid "" @@ -9063,7 +9092,7 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:139 #: ../source/specifications/pyproject-toml.rst:294 msgid "``keywords``" -msgstr "" +msgstr "``keywords``" #: ../source/guides/writing-pyproject-toml.rst:352 msgid "" @@ -9075,7 +9104,7 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:133 #: ../source/specifications/pyproject-toml.rst:304 msgid "``classifiers``" -msgstr "" +msgstr "``classifiers``" #: ../source/guides/writing-pyproject-toml.rst:366 #, fuzzy @@ -9106,7 +9135,7 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:314 msgid "``urls``" -msgstr "" +msgstr "``urls``" #: ../source/guides/writing-pyproject-toml.rst:407 msgid "" @@ -9288,7 +9317,7 @@ msgstr "Déployer des applications Python" #: ../source/index.rst:86 msgid ":doc:`discussions/pip-vs-easy-install`" -msgstr "" +msgstr ":doc:`discussions/pip-vs-easy-install`" #: ../source/index.rst:89 #, fuzzy @@ -9313,7 +9342,7 @@ msgstr "" #: ../source/key_projects.rst:6 msgid "Project Summaries" -msgstr "" +msgstr "Résumé des projets" #: ../source/key_projects.rst:8 msgid "" @@ -9323,11 +9352,11 @@ msgstr "" #: ../source/key_projects.rst:14 msgid "PyPA Projects" -msgstr "" +msgstr "Projets PyPA" #: ../source/key_projects.rst:19 msgid "bandersnatch" -msgstr "" +msgstr "bandersnatch" #: ../source/key_projects.rst:21 msgid "" @@ -9335,6 +9364,9 @@ msgid "" "pypa/bandersnatch/issues>`__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Documentation `__ | `Problèmes " +"`__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:26 msgid "" @@ -9347,7 +9379,7 @@ msgstr "" #: ../source/key_projects.rst:37 msgid "build" -msgstr "" +msgstr "build" #: ../source/key_projects.rst:39 msgid "" @@ -9355,6 +9387,9 @@ msgid "" "issues>`__ | `GitHub `__ | `PyPI `__" msgstr "" +":any:`Documentation ` | `Problèmes `__ | `GitHub `__ | `PyPI " +"`__" #: ../source/key_projects.rst:44 msgid "" @@ -9364,7 +9399,7 @@ msgstr "" #: ../source/key_projects.rst:51 msgid "cibuildwheel" -msgstr "" +msgstr "cibuildwheel" #: ../source/key_projects.rst:53 msgid "" @@ -9374,6 +9409,11 @@ msgid "" "`Discussions `__ | " "`Discord #cibuildwheel `__" msgstr "" +"`Documentation `__ | `Problèmes " +"`__ | `GitHub `__ | `PyPI `__ " +"| `Discussions `__ | " +"`Discord #cibuildwheel `__" #: ../source/key_projects.rst:60 msgid "" @@ -9384,7 +9424,7 @@ msgstr "" #: ../source/key_projects.rst:66 msgid "distlib" -msgstr "" +msgstr "distlib" #: ../source/key_projects.rst:68 msgid "" @@ -9392,6 +9432,9 @@ msgid "" "issues>`__ | `GitHub `__ | `PyPI `__" msgstr "" +":doc:`Documentation ` | `Problèmes `__ | `GitHub `__ | `PyPI " +"`__" #: ../source/key_projects.rst:73 msgid "" @@ -9416,7 +9459,7 @@ msgstr "" #: ../source/key_projects.rst:93 msgid "distutils" -msgstr "" +msgstr "distutils" #: ../source/key_projects.rst:95 msgid "" @@ -9445,13 +9488,16 @@ msgstr "" #: ../source/key_projects.rst:116 msgid "flit" -msgstr "" +msgstr "flit" #: ../source/key_projects.rst:118 msgid "" "`Docs `__ | `Issues `__ | `PyPI `__" msgstr "" +"`Documentation `__ | `Problèmes " +"`__ | `PyPI `__" #: ../source/key_projects.rst:122 msgid "" @@ -9480,13 +9526,15 @@ msgstr "" #: ../source/key_projects.rst:142 msgid "hatch" -msgstr "" +msgstr "hatch" #: ../source/key_projects.rst:144 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Documentation `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:148 msgid "" @@ -9499,7 +9547,7 @@ msgstr "" #: ../source/key_projects.rst:157 msgid "packaging" -msgstr "" +msgstr "paquetage" #: ../source/key_projects.rst:159 msgid "" @@ -9507,6 +9555,9 @@ msgid "" "issues>`__ | `GitHub `__ | `PyPI `__" msgstr "" +":doc:`Documentation ` | `Problèmes `__ | `GitHub `__ | " +"`PyPI `__" #: ../source/key_projects.rst:164 msgid "" @@ -9537,7 +9588,7 @@ msgstr "" #: ../source/key_projects.rst:186 #: ../source/specifications/platform-compatibility-tags.rst:142 msgid "pip" -msgstr "" +msgstr "pip" #: ../source/key_projects.rst:188 msgid "" @@ -9545,6 +9596,9 @@ msgid "" "issues>`__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Documentation `__ | `Problèmes `__ | `GitHub `__ | `PyPI " +"`__" #: ../source/key_projects.rst:193 msgid "" @@ -9562,7 +9616,7 @@ msgstr "" #: ../source/key_projects.rst:204 msgid "Pipenv" -msgstr "" +msgstr "Pipenv" #: ../source/key_projects.rst:206 msgid "" @@ -9570,6 +9624,9 @@ msgid "" "`Issues `__ | `PyPI `__" msgstr "" +":doc:`Documentation ` | `Code source `__ | `Problèmes `__ | `PyPI " +"`__" #: ../source/key_projects.rst:211 msgid "" @@ -9591,11 +9648,11 @@ msgstr "" #: ../source/key_projects.rst:225 msgid "Pipfile" -msgstr "" +msgstr "Pipfile" #: ../source/key_projects.rst:227 msgid "`Source `__" -msgstr "" +msgstr "`Code source `__" #: ../source/key_projects.rst:229 msgid "" @@ -9606,13 +9663,15 @@ msgstr "" #: ../source/key_projects.rst:236 msgid "pipx" -msgstr "" +msgstr "pipx" #: ../source/key_projects.rst:238 msgid "" "`Docs `__ | `GitHub `__ " "| `PyPI `__" msgstr "" +"`Documentation `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:242 msgid "" @@ -9625,20 +9684,25 @@ msgid "" ":doc:`Docs ` | `Issues `__ | `GitHub `__" msgstr "" +":doc:`Documentation ` | `Problèmes `__ | `GitHub `__" #: ../source/key_projects.rst:253 msgid "This guide!" -msgstr "" +msgstr "Ce guide !" #: ../source/key_projects.rst:258 msgid "readme_renderer" -msgstr "" +msgstr "readme_renderer" #: ../source/key_projects.rst:260 msgid "" "`GitHub and docs `__ | `PyPI " "`__" msgstr "" +"`GitHub et documentation `__ | " +"`PyPI `__" #: ../source/key_projects.rst:263 msgid "" @@ -9659,6 +9723,10 @@ msgid "" "github.com/pypa/setuptools/issues>`__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Documentation `__ | " +"`Problèmes `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:281 msgid "" @@ -9670,7 +9738,7 @@ msgstr "" #: ../source/key_projects.rst:289 msgid "trove-classifiers" -msgstr "" +msgstr "trove-classifiers" #: ../source/key_projects.rst:291 msgid "" @@ -9678,6 +9746,9 @@ msgid "" "`__ | `PyPI `__" msgstr "" +"`Problèmes `__ | `GitHub " +"`__ | `PyPI `__" #: ../source/key_projects.rst:295 msgid "" @@ -9702,7 +9773,7 @@ msgstr "" #: ../source/key_projects.rst:314 msgid "twine" -msgstr "" +msgstr "twine" #: ../source/key_projects.rst:316 msgid "" @@ -9710,6 +9781,9 @@ msgid "" "com/pypa/twine/issues>`__ | `GitHub `__ | " "`PyPI `__" msgstr "" +"`Documentation `__ | `Problèmes " +"`__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:321 msgid "" @@ -9722,7 +9796,7 @@ msgstr "" #: ../source/key_projects.rst:331 ../source/overview.rst:401 msgid "virtualenv" -msgstr "" +msgstr "virtualenv" #: ../source/key_projects.rst:333 msgid "" @@ -9730,6 +9804,10 @@ msgid "" "`__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Documentation `__ | " +"`Problèmes `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:338 msgid "" @@ -9744,13 +9822,16 @@ msgstr "" #: ../source/key_projects.rst:350 msgid "Warehouse" -msgstr "" +msgstr "Warehouse" #: ../source/key_projects.rst:352 msgid "" "`Docs `__ | `Issues `__ | `GitHub `__" msgstr "" +"`Documentation `__ | `Problèmes `__ | `GitHub `__" #: ../source/key_projects.rst:356 msgid "" @@ -9761,7 +9842,7 @@ msgstr "" #: ../source/key_projects.rst:364 msgid "wheel" -msgstr "" +msgstr "wheel" #: ../source/key_projects.rst:366 msgid "" @@ -9769,6 +9850,9 @@ msgid "" "com/pypa/wheel/issues>`__ | `GitHub `__ | " "`PyPI `__" msgstr "" +"`Documentation `__ | `Problèmes " +"`__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:371 msgid "" @@ -9788,11 +9872,11 @@ msgstr "" #: ../source/key_projects.rst:384 msgid "Non-PyPA Projects" -msgstr "" +msgstr "Projets non-PyPA" #: ../source/key_projects.rst:389 msgid "buildout" -msgstr "" +msgstr "buildout" #: ../source/key_projects.rst:391 msgid "" @@ -9800,6 +9884,9 @@ msgid "" "launchpad.net/zc.buildout>`__ | `PyPI `__ | `GitHub `__" msgstr "" +"`Documentation `__ | `Problèmes `__ | `PyPI `__ | `GitHub `__" #: ../source/key_projects.rst:396 msgid "" @@ -9811,7 +9898,7 @@ msgstr "" #: ../source/key_projects.rst:403 msgid "conda" -msgstr "" +msgstr "conda" #: ../source/key_projects.rst:405 msgid ":doc:`Docs `" @@ -9862,7 +9949,7 @@ msgstr "" #: ../source/key_projects.rst:435 msgid "devpi" -msgstr "" +msgstr "devpi" #: ../source/key_projects.rst:437 msgid "" @@ -9889,6 +9976,8 @@ msgid "" "`GitHub `__ | `PyPI `__" msgstr "" +"`GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:457 msgid "" @@ -9900,7 +9989,7 @@ msgstr "" #: ../source/key_projects.rst:464 msgid "enscons" -msgstr "" +msgstr "enscons" #: ../source/key_projects.rst:466 msgid "" @@ -9943,13 +10032,15 @@ msgstr "" #: ../source/key_projects.rst:499 msgid "Hashdist" -msgstr "" +msgstr "Hashdist" #: ../source/key_projects.rst:501 msgid "" "`Docs `__ | `GitHub `__" msgstr "" +"`Documentation `__ | `GitHub " +"`__" #: ../source/key_projects.rst:504 msgid "" @@ -9964,31 +10055,39 @@ msgstr "" #: ../source/key_projects.rst:516 msgid "Maturin" -msgstr "" +msgstr "Maturin" #: ../source/key_projects.rst:518 msgid "" "`Docs `__ | `GitHub `__" msgstr "" +"`Documentation `__ | `GitHub `__" #: ../source/key_projects.rst:521 +#, fuzzy msgid "" "Maturin is a build backend for Rust extension modules, also written in Rust. " "It supports building wheels for python 3.7+ on Windows, Linux, macOS and " "FreeBSD, can upload them to PyPI and has basic PyPy and GraalPy support." msgstr "" +"Maturin est un backend de build pour des modules d'extension Rust, et il est " +"aussi écrit en Rust. Il peut créer des wheels pour python 3.7+ sur Windows, " +"Linux, macOS et FreeBSD, peut les téléverser sur PyPI et a un support PyPy " +"et GraalPy basique." #: ../source/key_projects.rst:529 -#, fuzzy msgid "meson-python" -msgstr "python" +msgstr "meson-python" #: ../source/key_projects.rst:531 msgid "" "`Docs `__ | `GitHub `__" msgstr "" +"`Documentation `__ | `GitHub " +"`__" #: ../source/key_projects.rst:534 msgid "" @@ -10000,7 +10099,7 @@ msgstr "" #: ../source/key_projects.rst:544 msgid "multibuild" -msgstr "" +msgstr "multibuild" #: ../source/key_projects.rst:546 msgid "`GitHub `__" @@ -10029,13 +10128,15 @@ msgstr "" #: ../source/key_projects.rst:564 msgid "pdm" -msgstr "" +msgstr "pdm" #: ../source/key_projects.rst:566 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Documentation `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:570 msgid "" @@ -10048,6 +10149,8 @@ msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Documentation `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:582 msgid "" @@ -10063,7 +10166,7 @@ msgstr "" #: ../source/key_projects.rst:594 msgid "pip-tools" -msgstr "" +msgstr "pip-tools" #: ../source/key_projects.rst:596 msgid "" @@ -10071,6 +10174,9 @@ msgid "" "github.com/jazzband/pip-tools/>`__ | `PyPI `__" msgstr "" +"`Documentation `__ | `GitHub " +"`__ | `PyPI `__" #: ../source/key_projects.rst:600 msgid "" @@ -10100,13 +10206,15 @@ msgstr "" #: ../source/key_projects.rst:623 msgid "piwheels" -msgstr "" +msgstr "piwheels" #: ../source/key_projects.rst:625 msgid "" "`Website `__ | :doc:`Docs ` | " "`GitHub `__" msgstr "" +"`Site web `__ | :doc:`Documentation ` | `GitHub `__" #: ../source/key_projects.rst:629 msgid "" @@ -10118,13 +10226,15 @@ msgstr "" #: ../source/key_projects.rst:638 msgid "poetry" -msgstr "" +msgstr "poetry" #: ../source/key_projects.rst:640 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Documentation `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:644 msgid "" @@ -10205,13 +10315,15 @@ msgstr "" #: ../source/key_projects.rst:706 msgid "pypiserver" -msgstr "" +msgstr "pypiserver" #: ../source/key_projects.rst:708 msgid "" "`GitHub `__ | `PyPI `__" msgstr "" +"`GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:711 msgid "" @@ -10226,13 +10338,15 @@ msgstr "" #: ../source/key_projects.rst:722 msgid "PyScaffold" -msgstr "" +msgstr "PyScaffold" #: ../source/key_projects.rst:724 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Documentation `__ | `GitHub `__ | `PyPI `__" #: ../source/key_projects.rst:728 msgid "" @@ -10261,7 +10375,7 @@ msgstr "" #: ../source/key_projects.rst:752 msgid "scikit-build" -msgstr "" +msgstr "scikit-build" #: ../source/key_projects.rst:754 msgid "" @@ -10269,6 +10383,9 @@ msgid "" "github.com/scikit-build/scikit-build/>`__ | `PyPI `__" msgstr "" +"`Documentation `__ | `GitHub " +"`__ | `PyPI `__" #: ../source/key_projects.rst:758 msgid "" @@ -10283,7 +10400,7 @@ msgstr "" #: ../source/key_projects.rst:769 msgid "scikit-build-core" -msgstr "" +msgstr "scikit-build-core" #: ../source/key_projects.rst:771 msgid "" @@ -10291,6 +10408,9 @@ msgid "" "`__ | `PyPI `__" msgstr "" +"`Documentation `__ | " +"`GitHub `__ | `PyPI " +"`__" #: ../source/key_projects.rst:775 msgid "" @@ -10304,13 +10424,16 @@ msgstr "" #: ../source/key_projects.rst:785 msgid "shiv" -msgstr "" +msgstr "shiv" #: ../source/key_projects.rst:787 msgid "" "`Docs `__ | `GitHub `__ | `PyPI `__" msgstr "" +"`Documentation `__ | `GitHub " +"`__ | `PyPI `__" #: ../source/key_projects.rst:791 msgid "" @@ -10345,6 +10468,10 @@ msgid "" "sc/2015/2807623/12OmNBf94Xq>`__ | `Slides `__" msgstr "" +":doc:`Documentation ` | `GitHub `__ | `Document `__ | `Diapositives `__" #: ../source/key_projects.rst:819 msgid "" @@ -10365,7 +10492,7 @@ msgstr "" #: ../source/key_projects.rst:833 msgid "zest.releaser" -msgstr "" +msgstr "zest.releaser" #: ../source/key_projects.rst:835 msgid "" @@ -10373,6 +10500,9 @@ msgid "" "github.com/zestsoftware/zest.releaser/>`__ | `PyPI `__" msgstr "" +"`Documentation `__ | `GitHub " +"`__ | `PyPI `__" #: ../source/key_projects.rst:839 msgid "" @@ -10388,7 +10518,7 @@ msgstr "" #: ../source/key_projects.rst:851 msgid "ensurepip" -msgstr "" +msgstr "ensurepip" #: ../source/key_projects.rst:853 msgid "" @@ -10423,13 +10553,15 @@ msgstr "" #: ../source/key_projects.rst:876 msgid "venv" -msgstr "" +msgstr "venv" #: ../source/key_projects.rst:878 msgid "" "`Docs `__ | `Issues `__" msgstr "" +"`Documentation `__ | `Problèmes " +"`__" #: ../source/key_projects.rst:881 msgid "" @@ -10441,7 +10573,7 @@ msgstr "" #: ../source/news.rst:2 msgid "News" -msgstr "" +msgstr "Actualités" #: ../source/news.rst:4 msgid "" @@ -10451,7 +10583,7 @@ msgstr "" #: ../source/news.rst:9 msgid "September 2019" -msgstr "" +msgstr "Septembre 2019" #: ../source/news.rst:10 msgid "Added a guide about publishing dists via GitHub Actions. (:pr:`647`)" @@ -10459,7 +10591,7 @@ msgstr "" #: ../source/news.rst:13 msgid "August 2019" -msgstr "" +msgstr "Août 2019" #: ../source/news.rst:14 msgid "Updated to use :file:`python3 -m` when installing pipx. (:pr:`631`)" @@ -10467,7 +10599,7 @@ msgstr "" #: ../source/news.rst:17 msgid "July 2019" -msgstr "" +msgstr "Juillet 2019" #: ../source/news.rst:18 msgid "Marked all PEP numbers with the :pep: role. (:pr:`629`)" @@ -10476,6 +10608,8 @@ msgstr "" #: ../source/news.rst:19 msgid "Upgraded Sphinx version and removed pypa.io intersphinx. (:pr:`625`)" msgstr "" +"Mise à jour de la version de Sphinx et suppression de pypa.io intersphinx. (:" +"pr: `625`)" #: ../source/news.rst:20 msgid "Mentioned :file:`find_namespace_packages`. (:pr:`622`)" @@ -10491,7 +10625,7 @@ msgstr "" #: ../source/news.rst:25 msgid "June 2019" -msgstr "" +msgstr "Juin 2019" #: ../source/news.rst:26 msgid "Fixed some typos. (:pr:`620`)" @@ -10499,7 +10633,7 @@ msgstr "" #: ../source/news.rst:29 msgid "May 2019" -msgstr "" +msgstr "Mai 2019" #: ../source/news.rst:30 msgid "Added :file:`python_requires` usage to packaging tutorial. (:pr:`613`)" @@ -10511,7 +10645,7 @@ msgstr "" #: ../source/news.rst:34 msgid "April 2019" -msgstr "" +msgstr "Avril 2019" #: ../source/news.rst:35 msgid "" @@ -10524,7 +10658,7 @@ msgstr "" #: ../source/news.rst:39 msgid "March 2019" -msgstr "" +msgstr "Mars 2019" #: ../source/news.rst:40 msgid "Moved single-sourcing guide version option to Python 3. (:pr:`605`)" @@ -10536,7 +10670,7 @@ msgstr "" #: ../source/news.rst:44 msgid "February 2019" -msgstr "" +msgstr "Février 2019" #: ../source/news.rst:45 msgid "" @@ -10547,10 +10681,12 @@ msgstr "" #: ../source/news.rst:46 msgid "Added instructions to install Python CLI applications. (:pr:`594`)" msgstr "" +"Ajout des instructions pour installer des applications Python CLI. (:pr:" +"`594`)" #: ../source/news.rst:49 msgid "January 2019" -msgstr "" +msgstr "Janvier 2019" #: ../source/news.rst:50 msgid "Added :file:`--no-deps` to the packaging tutorial. (:pr:`593`)" @@ -10566,7 +10702,7 @@ msgstr "" #: ../source/news.rst:55 msgid "December 2018" -msgstr "" +msgstr "Décembre 2018" #: ../source/news.rst:56 msgid "No programmers in the office!" @@ -10574,7 +10710,7 @@ msgstr "" #: ../source/news.rst:59 msgid "November 2018" -msgstr "" +msgstr "Novembre 2018" #: ../source/news.rst:60 msgid "Removed landing page link to PyPI migration guide. (:pr:`575`)" @@ -10594,7 +10730,7 @@ msgstr "" #: ../source/news.rst:66 msgid "October 2018" -msgstr "" +msgstr "Octobre 2018" #: ../source/news.rst:67 msgid "Updated Nox package name. (:pr:`566`)" @@ -10606,11 +10742,11 @@ msgstr "" #: ../source/news.rst:71 msgid "September 2018" -msgstr "" +msgstr "Septembre 2018" #: ../source/news.rst:72 msgid "Added a section on checking RST markup. (:pr:`554`)" -msgstr "" +msgstr "Ajout d'une section sur la vérification du balisage RST. (:pr:`554`)" #: ../source/news.rst:73 msgid "Updated user installs page. (:pr:`558`)" @@ -10631,7 +10767,7 @@ msgstr "" #: ../source/news.rst:79 msgid "August 2018" -msgstr "" +msgstr "Août 2018" #: ../source/news.rst:80 msgid "Removed the recommendation to store passwords in cleartext. (:pr:`546`)" @@ -10652,7 +10788,7 @@ msgstr "" #: ../source/news.rst:86 msgid "July 2018" -msgstr "" +msgstr "Juillet 2018" #: ../source/news.rst:88 msgid "Improved binary extension docs. (:pr:`531`)" @@ -10664,11 +10800,11 @@ msgstr "" #: ../source/news.rst:92 msgid "June 2018" -msgstr "" +msgstr "Juin 2018" #: ../source/news.rst:94 msgid "Fixed categories of interop PEP for pypa.io. (:pr:`527`)" -msgstr "" +msgstr "Correction des catégories du PEP interop pour pypa.io. (:pr:`527`)" #: ../source/news.rst:95 msgid "Updated Markdown descriptions explanation. (:pr:`522`)" @@ -10676,7 +10812,7 @@ msgstr "" #: ../source/news.rst:98 msgid "May 2018" -msgstr "" +msgstr "Mai 2018" #: ../source/news.rst:100 msgid "Noted issues with Provides-Dist and Obsoletes-Dist. (:pr:`513`)" @@ -10696,8 +10832,11 @@ msgid "Updated Windows users instructions for clarity. (:pr:`493`)" msgstr "" #: ../source/news.rst:104 +#, fuzzy msgid "Updated the license section description for completeness. (:pr:`492`)" msgstr "" +"Mise à jour de la description de la section licence pour être complet. (:pr:" +"`492`)" #: ../source/news.rst:105 msgid "Added specification-style document to contributing section. (:pr:`489`)" @@ -10709,7 +10848,7 @@ msgstr "" #: ../source/news.rst:109 msgid "April 2018" -msgstr "" +msgstr "Avril 2018" #: ../source/news.rst:111 msgid "Added README guide. (:pr:`461`)" @@ -10718,6 +10857,8 @@ msgstr "" #: ../source/news.rst:112 msgid "Updated instructions and status for PyPI launch. (:pr:`475`)" msgstr "" +"Mise à jour des instructions et de l'état pour le lancement de PyPI. (:pr:" +"`475`)" #: ../source/news.rst:113 msgid "Added instructions for Warehouse. (:pr:`471`)" @@ -10741,7 +10882,7 @@ msgstr "" #: ../source/news.rst:120 msgid "March 2018" -msgstr "" +msgstr "Mars 2018" #: ../source/news.rst:122 msgid "Updated \"installing scientific packages\". (:pr:`455`)" @@ -10755,6 +10896,7 @@ msgstr "" #: ../source/news.rst:124 msgid "Clarified a long description classifier on pypi.org. (:pr:`456`)" msgstr "" +"Clarification d'un long classifier de version sur pypi.org. (:pr:`456`)" #: ../source/news.rst:125 msgid "Updated Core Metadata spec to follow PEP 556. (:pr:`412`)" @@ -10762,7 +10904,7 @@ msgstr "" #: ../source/news.rst:128 msgid "February 2018" -msgstr "" +msgstr "Février 2018" #: ../source/news.rst:130 msgid "" @@ -10789,7 +10931,7 @@ msgstr "" #: ../source/news.rst:137 msgid "January 2018" -msgstr "" +msgstr "Janvier 2018" #: ../source/news.rst:139 msgid "Added a link to PyPI's list of classifiers. (:pr:`425`)" @@ -10801,7 +10943,7 @@ msgstr "" #: ../source/news.rst:143 msgid "December 2017" -msgstr "" +msgstr "Décembre 2017" #: ../source/news.rst:145 msgid "" @@ -10822,7 +10964,7 @@ msgstr "" #: ../source/news.rst:151 msgid "November 2017" -msgstr "" +msgstr "Novembre 2017" #: ../source/news.rst:153 msgid "" @@ -10847,7 +10989,7 @@ msgstr "" #: ../source/news.rst:160 msgid "October 2017" -msgstr "" +msgstr "Octobre 2017" #: ../source/news.rst:162 msgid "" @@ -10866,7 +11008,7 @@ msgstr "" #: ../source/news.rst:167 msgid "September 2017" -msgstr "" +msgstr "Septembre 2017" #: ../source/news.rst:169 msgid "" @@ -10880,7 +11022,7 @@ msgstr "" #: ../source/news.rst:174 msgid "August 2017" -msgstr "" +msgstr "Août 2017" #: ../source/news.rst:176 msgid "" @@ -10898,7 +11040,7 @@ msgstr "" #: ../source/news.rst:181 msgid "July 2017" -msgstr "" +msgstr "Juillet 2017" #: ../source/news.rst:183 msgid "Added ``flit`` to the key projects list. (:pr:`358`)" @@ -10927,7 +11069,7 @@ msgstr "" #: ../source/news.rst:190 msgid "June 2017" -msgstr "" +msgstr "Juin 2017" #: ../source/news.rst:192 msgid "Added a document on migrating uploads to :file:`PyPI.org`. (:pr:`339`)" @@ -10974,7 +11116,7 @@ msgstr "" #: ../source/news.rst:204 msgid "May 2017" -msgstr "" +msgstr "Mai 2017" #: ../source/news.rst:206 msgid "" @@ -10993,7 +11135,7 @@ msgstr "" #: ../source/news.rst:211 msgid "April 2017" -msgstr "" +msgstr "Avril 2017" #: ../source/news.rst:213 msgid "Added travis configuration for testing pull requests. (:pr:`300`)" @@ -11051,7 +11193,7 @@ msgstr "" #: ../source/news.rst:227 msgid "March 2017" -msgstr "" +msgstr "Mars 2017" #: ../source/news.rst:229 msgid "Covered ``manylinux1`` in *Platform Wheels*. (:pr:`283`)" @@ -11059,7 +11201,7 @@ msgstr "" #: ../source/news.rst:232 msgid "February 2017" -msgstr "" +msgstr "Février 2017" #: ../source/news.rst:234 msgid "Added :pep:`518`. (:pr:`281`)" @@ -11151,7 +11293,7 @@ msgstr "" #: ../source/overview.rst:56 msgid "Python modules" -msgstr "" +msgstr "Modules Python" #: ../source/overview.rst:58 msgid "" @@ -11355,7 +11497,7 @@ msgstr "" #: ../source/overview.rst:196 msgid "Service platforms" -msgstr "" +msgstr "Plateformes de service" #: ../source/overview.rst:198 msgid "" @@ -11814,7 +11956,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:29 msgid "Unpack." -msgstr "" +msgstr "Dépaqueter." #: ../source/specifications/binary-distribution-format.rst:31 msgid "Parse ``distribution-1.0.dist-info/WHEEL``." @@ -11836,8 +11978,9 @@ msgid "Else unpack archive into platlib (site-packages)." msgstr "" #: ../source/specifications/binary-distribution-format.rst:38 +#, fuzzy msgid "Spread." -msgstr "" +msgstr "Répandre." #: ../source/specifications/binary-distribution-format.rst:40 msgid "" @@ -11939,7 +12082,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:96 msgid "distribution" -msgstr "" +msgstr "distribution" #: ../source/specifications/binary-distribution-format.rst:96 msgid "Distribution name, e.g. 'django', 'pyramid'." @@ -12120,7 +12263,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12309,31 +12453,34 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:307 msgid "See" -msgstr "" +msgstr "Voir" #: ../source/specifications/binary-distribution-format.rst:309 msgid "https://datatracker.ietf.org/doc/html/rfc7515" -msgstr "" +msgstr "https://datatracker.ietf.org/doc/html/rfc7515" #: ../source/specifications/binary-distribution-format.rst:310 msgid "" "https://datatracker.ietf.org/doc/html/draft-jones-json-web-signature-json-" "serialization-01" msgstr "" +"https://datatracker.ietf.org/doc/html/draft-jones-json-web-signature-json-" +"serialization-01" #: ../source/specifications/binary-distribution-format.rst:311 msgid "https://datatracker.ietf.org/doc/html/rfc7517" -msgstr "" +msgstr "https://datatracker.ietf.org/doc/html/rfc7517" #: ../source/specifications/binary-distribution-format.rst:312 msgid "" "https://datatracker.ietf.org/doc/html/draft-jones-jose-json-private-key-01" msgstr "" +"https://datatracker.ietf.org/doc/html/draft-jones-jose-json-private-key-01" #: ../source/specifications/binary-distribution-format.rst:316 #: ../source/specifications/platform-compatibility-tags.rst:268 msgid "FAQ" -msgstr "" +msgstr "Foire aux questions" #: ../source/specifications/binary-distribution-format.rst:320 msgid "Wheel defines a .data directory. Should I put all my data there?" @@ -12469,6 +12616,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12484,7 +12632,7 @@ msgstr "" #: ../source/specifications/version-specifiers.rst:1266 #: ../source/specifications/virtual-environments.rst:54 msgid "History" -msgstr "" +msgstr "Historique" #: ../source/specifications/binary-distribution-format.rst:423 msgid "February 2013: This specification was approved through :pep:`427`." @@ -12496,11 +12644,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 -msgid "Appendix" +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:433 +msgid "Appendix" +msgstr "Annexe" + +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -12520,7 +12676,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:13 msgid "``Name``" -msgstr "" +msgstr "``Name``" #: ../source/specifications/core-metadata.rst:14 msgid "``Version``" @@ -12568,7 +12724,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:46 msgid "Metadata-Version" -msgstr "" +msgstr "Metadata-Version" #: ../source/specifications/core-metadata.rst:50 msgid "" @@ -12613,7 +12769,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:814 #: ../source/specifications/core-metadata.rst:911 msgid "Example::" -msgstr "" +msgstr "Exemple ::" #: ../source/specifications/core-metadata.rst:72 msgid "Name" @@ -12721,7 +12877,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:865 #: ../source/specifications/core-metadata.rst:887 msgid "Examples::" -msgstr "" +msgstr "Exemples::" #: ../source/specifications/core-metadata.rst:155 msgid "Supported-Platform (multiple use)" @@ -12787,7 +12943,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:241 msgid "Description-Content-Type" -msgstr "" +msgstr "Description-Content-Type" #: ../source/specifications/core-metadata.rst:245 msgid "" @@ -12822,7 +12978,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:267 msgid "Format::" -msgstr "" +msgstr "Format ::" #: ../source/specifications/core-metadata.rst:271 msgid "The ``type/subtype`` part has only a few legal values:" @@ -12830,15 +12986,15 @@ msgstr "" #: ../source/specifications/core-metadata.rst:273 msgid "``text/plain``" -msgstr "" +msgstr "``text/plain``" #: ../source/specifications/core-metadata.rst:274 msgid "``text/x-rst``" -msgstr "" +msgstr "``text/x-rst``" #: ../source/specifications/core-metadata.rst:275 msgid "``text/markdown``" -msgstr "" +msgstr "``text/markdown``" #: ../source/specifications/core-metadata.rst:277 msgid "" @@ -12893,7 +13049,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:326 msgid "Keywords" -msgstr "" +msgstr "Mots-clés" #: ../source/specifications/core-metadata.rst:330 msgid "" @@ -12911,23 +13067,28 @@ msgstr "" #: ../source/specifications/core-metadata.rst:348 msgid "Author" -msgstr "" +msgstr "Author" #: ../source/specifications/core-metadata.rst:352 msgid "" "A string containing the author's name at a minimum; additional contact " "information may be provided." msgstr "" +"Une chaîne contenant le nom de l'auteur au minimum ; des informations de " +"contact supplémentaires peuvent être fournies." #: ../source/specifications/core-metadata.rst:365 msgid "Author-email" -msgstr "" +msgstr "Author-email" #: ../source/specifications/core-metadata.rst:369 msgid "" "A string containing the author's e-mail address. It can contain a name and " "e-mail address in the legal forms for a RFC-822 ``From:`` header." msgstr "" +"Une chaîne contenant l'adresse mail de l'auteur. Elle peut contenir un nom " +"et une adresse mail dans les formes légales pour un en-tête ``From:`` " +"RFC-822." #: ../source/specifications/core-metadata.rst:377 #: ../source/specifications/core-metadata.rst:424 @@ -12935,10 +13096,12 @@ msgid "" "Per RFC-822, this field may contain multiple comma-separated e-mail " "addresses::" msgstr "" +"Selon la RFC-822, ce champ peut contenir plusieurs adresses mails séparées " +"par une virgule ::" #: ../source/specifications/core-metadata.rst:387 msgid "Maintainer" -msgstr "" +msgstr "Maintainer" #: ../source/specifications/core-metadata.rst:391 msgid "" @@ -12955,7 +13118,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:408 msgid "Maintainer-email" -msgstr "" +msgstr "Maintainer-email" #: ../source/specifications/core-metadata.rst:412 msgid "" @@ -12972,7 +13135,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:434 msgid "License" -msgstr "" +msgstr "License" #: ../source/specifications/core-metadata.rst:437 msgid "in favour of ``License-Expression``." @@ -13341,7 +13504,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:804 msgid "Home-page" -msgstr "" +msgstr "Home-page" #: ../source/specifications/core-metadata.rst:810 #: ../source/specifications/core-metadata.rst:827 @@ -13354,7 +13517,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:821 msgid "Download-URL" -msgstr "" +msgstr "Download-URL" #: ../source/specifications/core-metadata.rst:829 msgid "" @@ -13366,7 +13529,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:835 msgid "Requires" -msgstr "" +msgstr "Requires" #: ../source/specifications/core-metadata.rst:838 msgid "in favour of ``Requires-Dist``" @@ -13416,7 +13579,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:875 msgid "Provides" -msgstr "" +msgstr "Provides" #: ../source/specifications/core-metadata.rst:878 msgid "in favour of ``Provides-Dist``" @@ -13433,7 +13596,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:897 msgid "Obsoletes" -msgstr "" +msgstr "Obsoletes" #: ../source/specifications/core-metadata.rst:900 msgid "in favour of ``Obsoletes-Dist``" @@ -13456,6 +13619,8 @@ msgstr "" #: ../source/specifications/core-metadata.rst:919 msgid "March 2001: Core metadata 1.0 was approved through :pep:`241`." msgstr "" +"Mars 2001 : Les métadonnées de base 1.0 ont été approuvées grâce au :pep:" +"`241`." #: ../source/specifications/core-metadata.rst:920 msgid "April 2003: Core metadata 1.1 was approved through :pep:`314`:" @@ -13495,7 +13660,7 @@ msgstr "" #: ../source/specifications/core-metadata.rst:934 msgid "Restricted extra names to be normalized." -msgstr "" +msgstr "Restreint les noms supplémentaires à être normalisés." #: ../source/specifications/core-metadata.rst:936 msgid "August 2024: Core metadata 2.4 was approved through :pep:`639`." @@ -13517,6 +13682,234 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "Spécification" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +#, fuzzy +msgid "Package Building" +msgstr "Version du paquet" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +#, fuzzy +msgid "Installing Dependency Groups & Extras" +msgstr "Format d'installation" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +#, fuzzy +msgid "Reference Implementation" +msgstr "Types de documentation" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +#, fuzzy +#| msgid "March 2001: Core metadata 1.0 was approved through :pep:`241`." +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" +"Mars 2001 : Les métadonnées de base 1.0 ont été approuvées grâce au :pep:" +"`241`." + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13546,14 +13939,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "Spécification" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -13564,7 +13949,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:40 msgid "Concepts" -msgstr "" +msgstr "Concepts" #: ../source/specifications/dependency-specifiers.rst:42 msgid "" @@ -13577,7 +13962,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:49 msgid "Grammar" -msgstr "" +msgstr "Grammaire" #: ../source/specifications/dependency-specifiers.rst:51 msgid "" @@ -13637,7 +14022,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:126 msgid "Whitespace" -msgstr "" +msgstr "Espace blanc" #: ../source/specifications/dependency-specifiers.rst:128 msgid "" @@ -13647,7 +14032,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:132 msgid "Names" -msgstr "" +msgstr "Noms" #: ../source/specifications/dependency-specifiers.rst:134 msgid "" @@ -13663,7 +14048,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:146 msgid "Extras" -msgstr "" +msgstr "Extras" #: ../source/specifications/dependency-specifiers.rst:148 msgid "" @@ -13688,9 +14073,8 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:163 #: ../source/specifications/simple-repository-api.rst:902 -#, fuzzy msgid "Versions" -msgstr "Traductions" +msgstr "Versions" #: ../source/specifications/dependency-specifiers.rst:165 msgid "" @@ -13787,7 +14171,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:233 msgid "Marker" -msgstr "" +msgstr "Marqueur" #: ../source/specifications/dependency-specifiers.rst:234 #, fuzzy @@ -13800,7 +14184,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:236 msgid "``os_name``" -msgstr "" +msgstr "``os_name``" #: ../source/specifications/dependency-specifiers.rst:237 msgid ":py:data:`os.name`" @@ -13812,7 +14196,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:239 msgid "``sys_platform``" -msgstr "" +msgstr "``sys_platform``" #: ../source/specifications/dependency-specifiers.rst:240 msgid ":py:data:`sys.platform`" @@ -13826,7 +14210,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:243 msgid "``platform_machine``" -msgstr "" +msgstr "``platform_machine``" #: ../source/specifications/dependency-specifiers.rst:244 msgid ":py:func:`platform.machine()`" @@ -13834,11 +14218,11 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:245 msgid "``x86_64``" -msgstr "" +msgstr "``x86_64``" #: ../source/specifications/dependency-specifiers.rst:246 msgid "``platform_python_implementation``" -msgstr "" +msgstr "``platform_python_implementation``" #: ../source/specifications/dependency-specifiers.rst:247 msgid ":py:func:`platform.python_implementation()`" @@ -13850,7 +14234,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:249 msgid "``platform_release``" -msgstr "" +msgstr "``platform_release``" #: ../source/specifications/dependency-specifiers.rst:250 msgid ":py:func:`platform.release()`" @@ -13862,7 +14246,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:252 msgid "``platform_system``" -msgstr "" +msgstr "``platform_system``" #: ../source/specifications/dependency-specifiers.rst:253 msgid ":py:func:`platform.system()`" @@ -13874,7 +14258,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:255 msgid "``platform_version``" -msgstr "" +msgstr "``platform_version``" #: ../source/specifications/dependency-specifiers.rst:256 msgid ":py:func:`platform.version()`" @@ -13888,22 +14272,20 @@ msgid "" msgstr "" #: ../source/specifications/dependency-specifiers.rst:260 -#, fuzzy msgid "``python_version``" -msgstr "Version de Python" +msgstr "``python_version``" #: ../source/specifications/dependency-specifiers.rst:261 msgid "``'.'.join(platform.python_version_tuple()[:2])``" -msgstr "" +msgstr "``'.'.join(platform.python_version_tuple()[:2])``" #: ../source/specifications/dependency-specifiers.rst:262 msgid "``3.4``, ``2.7``" msgstr "" #: ../source/specifications/dependency-specifiers.rst:263 -#, fuzzy msgid "``python_full_version``" -msgstr "Version de Python" +msgstr "``python_full_version``" #: ../source/specifications/dependency-specifiers.rst:264 msgid ":py:func:`platform.python_version()`" @@ -13916,20 +14298,19 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:266 msgid "``implementation_name``" -msgstr "" +msgstr "``implementation_name``" #: ../source/specifications/dependency-specifiers.rst:267 msgid ":py:data:`sys.implementation.name `" msgstr "" #: ../source/specifications/dependency-specifiers.rst:268 -#, fuzzy msgid "``cpython``" -msgstr "python" +msgstr "``cpython``" #: ../source/specifications/dependency-specifiers.rst:269 msgid "``implementation_version``" -msgstr "" +msgstr "``implementation_version``" #: ../source/specifications/dependency-specifiers.rst:270 msgid "see definition below" @@ -13937,7 +14318,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:272 msgid "``extra``" -msgstr "" +msgstr "``extra``" #: ../source/specifications/dependency-specifiers.rst:273 msgid "" @@ -13946,7 +14327,7 @@ msgstr "" #: ../source/specifications/dependency-specifiers.rst:275 msgid "``test``" -msgstr "" +msgstr "``test``" #: ../source/specifications/dependency-specifiers.rst:277 msgid "" @@ -14327,7 +14708,7 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:141 msgid "Git" -msgstr "" +msgstr "Git" #: ../source/specifications/direct-url-data-structure.rst:144 #: ../source/specifications/direct-url-data-structure.rst:171 @@ -14338,7 +14719,7 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:144 msgid "https://git-scm.com/" -msgstr "" +msgstr "https://git-scm.com/" #: ../source/specifications/direct-url-data-structure.rst:147 #: ../source/specifications/direct-url-data-structure.rst:174 @@ -14350,7 +14731,7 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:147 #: ../source/specifications/direct-url-data-structure.rst:150 msgid "git" -msgstr "" +msgstr "git" #: ../source/specifications/direct-url-data-structure.rst:150 #: ../source/specifications/direct-url-data-structure.rst:177 @@ -14393,16 +14774,16 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:168 msgid "Mercurial" -msgstr "" +msgstr "Mercurial" #: ../source/specifications/direct-url-data-structure.rst:171 msgid "https://www.mercurial-scm.org/" -msgstr "" +msgstr "https://www.mercurial-scm.org/" #: ../source/specifications/direct-url-data-structure.rst:174 #: ../source/specifications/direct-url-data-structure.rst:177 msgid "hg" -msgstr "" +msgstr "hg" #: ../source/specifications/direct-url-data-structure.rst:180 msgid "A tag name, branch name, changeset ID, shortened changeset ID." @@ -14414,16 +14795,16 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:186 msgid "Bazaar" -msgstr "" +msgstr "Bazaar" #: ../source/specifications/direct-url-data-structure.rst:189 msgid "https://www.breezy-vcs.org/" -msgstr "" +msgstr "https://www.breezy-vcs.org/" #: ../source/specifications/direct-url-data-structure.rst:192 #: ../source/specifications/direct-url-data-structure.rst:195 msgid "bzr" -msgstr "" +msgstr "bzr" #: ../source/specifications/direct-url-data-structure.rst:198 msgid "A tag name, branch name, revision id." @@ -14444,7 +14825,7 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:210 #: ../source/specifications/direct-url-data-structure.rst:213 msgid "svn" -msgstr "" +msgstr "svn" #: ../source/specifications/direct-url-data-structure.rst:216 msgid "" @@ -14460,7 +14841,7 @@ msgstr "" #: ../source/specifications/direct-url-data-structure.rst:225 msgid "JSON Schema" -msgstr "" +msgstr "Schéma JSON" #: ../source/specifications/direct-url-data-structure.rst:227 msgid "" @@ -15231,9 +15612,8 @@ msgid "" msgstr "" #: ../source/specifications/externally-managed-environments.rst:422 -#, fuzzy msgid "``pip install``" -msgstr "Oui (``python -m pip uninstall``)" +msgstr "``pip install``" #: ../source/specifications/externally-managed-environments.rst:420 msgid "" @@ -15297,7 +15677,7 @@ msgstr "" #: ../source/specifications/externally-managed-environments.rst:464 msgid "Copyright" -msgstr "" +msgstr "Copyright" #: ../source/specifications/externally-managed-environments.rst:466 msgid "" @@ -15326,8 +15706,9 @@ msgid "Index hosted attestations" msgstr "" #: ../source/specifications/index-hosted-attestations.rst:8 +#, fuzzy msgid "This specification was originally defined in :pep:`740`." -msgstr "" +msgstr "Cette spécification a été originellement définie dans la :pep: `740`." #: ../source/specifications/index-hosted-attestations.rst:12 msgid "" @@ -15462,7 +15843,7 @@ msgstr "" #: ../source/specifications/index-hosted-attestations.rst:141 msgid "Provenance objects" -msgstr "" +msgstr "Objets de provenance" #: ../source/specifications/index-hosted-attestations.rst:143 msgid "" @@ -15493,6 +15874,10 @@ msgid "" "(such as a Trusted Publishing identity), and contains one or more " "attestation objects." msgstr "" +"``attestation_bundles`` est un tableau JSON **obligatoire**, contenant un ou " +"plusieurs \"bundles\" d'attestations. Chaque bundle correspond à une " +"identité de signature (comme une identité Trusted Publishing) et contient un " +"ou plusieurs objets d'attestations." #: ../source/specifications/index-hosted-attestations.rst:224 msgid "" @@ -15526,8 +15911,9 @@ msgid "" msgstr "" #: ../source/specifications/index-hosted-attestations.rst:243 +#, fuzzy msgid "Changes to provenance objects" -msgstr "" +msgstr "Changements aux objets de provenance" #: ../source/specifications/index-hosted-attestations.rst:245 msgid "" @@ -15749,19 +16135,13 @@ msgid "" msgstr "" #: ../source/specifications/inline-script-metadata.rst:100 -#, fuzzy msgid "Example" -msgstr "Exemples" +msgstr "Exemple" #: ../source/specifications/inline-script-metadata.rst:102 msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -#, fuzzy -msgid "Reference Implementation" -msgstr "Types de documentation" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " @@ -15860,23 +16240,23 @@ msgstr "" #: ../source/specifications/name-normalization.rst:42 msgid "``Friendly-Bard``" -msgstr "" +msgstr "``Friendly-Bard``" #: ../source/specifications/name-normalization.rst:43 msgid "``FRIENDLY-BARD``" -msgstr "" +msgstr "``FRIENDLY-BARD``" #: ../source/specifications/name-normalization.rst:44 msgid "``friendly.bard``" -msgstr "" +msgstr "``friendly.bard``" #: ../source/specifications/name-normalization.rst:45 msgid "``friendly_bard``" -msgstr "" +msgstr "``friendly_bard``" #: ../source/specifications/name-normalization.rst:46 msgid "``friendly--bard``" -msgstr "" +msgstr "``friendly--bard``" #: ../source/specifications/name-normalization.rst:47 msgid "" @@ -16053,19 +16433,19 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:93 msgid "win32" -msgstr "" +msgstr "win32" #: ../source/specifications/platform-compatibility-tags.rst:94 msgid "linux_i386" -msgstr "" +msgstr "linux_i386" #: ../source/specifications/platform-compatibility-tags.rst:95 msgid "linux_x86_64" -msgstr "" +msgstr "linux_x86_64" #: ../source/specifications/platform-compatibility-tags.rst:101 msgid "``manylinux``" -msgstr "" +msgstr "``manylinux``" #: ../source/specifications/platform-compatibility-tags.rst:103 msgid "" @@ -16137,55 +16517,55 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:140 msgid "Tool" -msgstr "" +msgstr "Outil" #: ../source/specifications/platform-compatibility-tags.rst:140 msgid "``manylinux1``" -msgstr "" +msgstr "``manylinux1``" #: ../source/specifications/platform-compatibility-tags.rst:140 msgid "``manylinux2010``" -msgstr "" +msgstr "``manylinux2010``" #: ../source/specifications/platform-compatibility-tags.rst:140 msgid "``manylinux2014``" -msgstr "" +msgstr "``manylinux2014``" #: ../source/specifications/platform-compatibility-tags.rst:140 msgid "``manylinux_x_y``" -msgstr "" +msgstr "``manylinux_x_y``" #: ../source/specifications/platform-compatibility-tags.rst:142 msgid "``>=8.1.0``" -msgstr "" +msgstr "``>=8.1.0``" #: ../source/specifications/platform-compatibility-tags.rst:142 msgid "``>=19.0``" -msgstr "" +msgstr "``>=19.0``" #: ../source/specifications/platform-compatibility-tags.rst:142 msgid "``>=19.3``" -msgstr "" +msgstr "``>=19.3``" #: ../source/specifications/platform-compatibility-tags.rst:142 msgid "``>=20.3``" -msgstr "" +msgstr "``>=20.3``" #: ../source/specifications/platform-compatibility-tags.rst:143 msgid "auditwheel" -msgstr "" +msgstr "auditwheel" #: ../source/specifications/platform-compatibility-tags.rst:143 msgid "``>=1.0.0``" -msgstr "" +msgstr "``>=1.0.0``" #: ../source/specifications/platform-compatibility-tags.rst:143 msgid "``>=2.0.0``" -msgstr "" +msgstr "``>=2.0.0``" #: ../source/specifications/platform-compatibility-tags.rst:143 msgid "``>=3.0.0``" -msgstr "" +msgstr "``>=3.0.0``" #: ../source/specifications/platform-compatibility-tags.rst:143 msgid "``>=3.3.0`` [#]_" @@ -16264,59 +16644,59 @@ msgstr "" #: ../source/specifications/platform-compatibility-tags.rst:220 msgid "cp33-cp33m-linux_x86_64" -msgstr "" +msgstr "cp33-cp33m-linux_x86_64" #: ../source/specifications/platform-compatibility-tags.rst:221 msgid "cp33-abi3-linux_x86_64" -msgstr "" +msgstr "cp33-abi3-linux_x86_64" #: ../source/specifications/platform-compatibility-tags.rst:222 msgid "cp3-abi3-linux_x86_64" -msgstr "" +msgstr "cp3-abi3-linux_x86_64" #: ../source/specifications/platform-compatibility-tags.rst:223 msgid "cp33-none-linux_x86_64*" -msgstr "" +msgstr "cp33-none-linux_x86_64*" #: ../source/specifications/platform-compatibility-tags.rst:224 msgid "cp3-none-linux_x86_64*" -msgstr "" +msgstr "cp3-none-linux_x86_64*" #: ../source/specifications/platform-compatibility-tags.rst:225 msgid "py33-none-linux_x86_64*" -msgstr "" +msgstr "py33-none-linux_x86_64*" #: ../source/specifications/platform-compatibility-tags.rst:226 msgid "py3-none-linux_x86_64*" -msgstr "" +msgstr "py3-none-linux_x86_64*" #: ../source/specifications/platform-compatibility-tags.rst:227 msgid "cp33-none-any" -msgstr "" +msgstr "cp33-none-any" #: ../source/specifications/platform-compatibility-tags.rst:228 msgid "cp3-none-any" -msgstr "" +msgstr "cp3-none-any" #: ../source/specifications/platform-compatibility-tags.rst:229 msgid "py33-none-any" -msgstr "" +msgstr "py33-none-any" #: ../source/specifications/platform-compatibility-tags.rst:230 msgid "py3-none-any" -msgstr "" +msgstr "py3-none-any" #: ../source/specifications/platform-compatibility-tags.rst:231 msgid "py32-none-any" -msgstr "" +msgstr "py32-none-any" #: ../source/specifications/platform-compatibility-tags.rst:232 msgid "py31-none-any" -msgstr "" +msgstr "py31-none-any" #: ../source/specifications/platform-compatibility-tags.rst:233 msgid "py30-none-any" -msgstr "" +msgstr "py30-none-any" #: ../source/specifications/platform-compatibility-tags.rst:235 msgid "" @@ -16689,13 +17069,15 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:103 msgid "Declaring project metadata: the ``[project]`` table" -msgstr "" +msgstr "Déclarer les métadonnées d'un projet : la table ``[project]``" #: ../source/specifications/pyproject-toml.rst:105 msgid "" "The ``[project]`` table specifies the project's :ref:`core metadata `." msgstr "" +"La table ``[project]`` spécifie les :ref:`métadonnées de base ` du projet." #: ../source/specifications/pyproject-toml.rst:107 msgid "" @@ -16732,35 +17114,36 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:130 msgid "The complete list of keys allowed in the ``[project]`` table are:" msgstr "" +"La liste complète des clés autorisées dans la table ``[project]`` est :" #: ../source/specifications/pyproject-toml.rst:132 msgid "``authors``" -msgstr "" +msgstr "``authors``" #: ../source/specifications/pyproject-toml.rst:134 msgid "``dependencies``" -msgstr "" +msgstr "``dependencies``" #: ../source/specifications/pyproject-toml.rst:136 #: ../source/specifications/pyproject-toml.rst:386 msgid "``dynamic``" -msgstr "" +msgstr "``dynamic``" #: ../source/specifications/pyproject-toml.rst:137 msgid "``entry-points``" -msgstr "" +msgstr "``entry-points``" #: ../source/specifications/pyproject-toml.rst:138 msgid "``gui-scripts``" -msgstr "" +msgstr "``gui-scripts``" #: ../source/specifications/pyproject-toml.rst:141 msgid "``maintainers``" -msgstr "" +msgstr "``maintainers``" #: ../source/specifications/pyproject-toml.rst:143 msgid "``optional-dependencies``" -msgstr "" +msgstr "``optional-dependencies``" #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:166 @@ -17148,7 +17531,7 @@ msgstr "" #: ../source/specifications/pyproject-toml.rst:427 msgid "Arbitrary tool configuration: the ``[tool]`` table" -msgstr "" +msgstr "Configuration arbitraire d'outils : la table ``[tool]``" #: ../source/specifications/pyproject-toml.rst:429 msgid "" @@ -17850,7 +18233,7 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:214 msgid "This would end up looking like::" -msgstr "" +msgstr "Cela ressemblerait à ::" #: ../source/specifications/simple-repository-api.rst:218 msgid "When interpreting the repository version:" diff --git a/locales/frc/LC_MESSAGES/messages.po b/locales/frc/LC_MESSAGES/messages.po index a35d8dd28..93d4b2e84 100644 --- a/locales/frc/LC_MESSAGES/messages.po +++ b/locales/frc/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1663,7 +1663,9 @@ msgid "Where to read more about this?" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:213 -msgid "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" +msgid "" +"`Why you shouldn't invoke setup.py directly `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3175,6 +3177,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5197,9 +5200,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11896,7 +11899,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12245,6 +12249,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12272,11 +12277,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13293,6 +13306,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13322,14 +13556,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15521,10 +15747,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/gl/LC_MESSAGES/messages.po b/locales/gl/LC_MESSAGES/messages.po index eace23e41..9b8a3915e 100644 --- a/locales/gl/LC_MESSAGES/messages.po +++ b/locales/gl/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1663,7 +1663,9 @@ msgid "Where to read more about this?" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:213 -msgid "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" +msgid "" +"`Why you shouldn't invoke setup.py directly `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3175,6 +3177,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5197,9 +5200,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11896,7 +11899,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12245,6 +12249,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12272,11 +12277,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13293,6 +13306,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13322,14 +13556,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15521,10 +15747,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/gmh/LC_MESSAGES/messages.po b/locales/gmh/LC_MESSAGES/messages.po index e76739d59..891e05446 100644 --- a/locales/gmh/LC_MESSAGES/messages.po +++ b/locales/gmh/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1663,7 +1663,9 @@ msgid "Where to read more about this?" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:213 -msgid "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" +msgid "" +"`Why you shouldn't invoke setup.py directly `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3175,6 +3177,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5197,9 +5200,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11896,7 +11899,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12245,6 +12249,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12272,11 +12277,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13293,6 +13306,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13322,14 +13556,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15521,10 +15747,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/hi/LC_MESSAGES/messages.po b/locales/hi/LC_MESSAGES/messages.po index 1c440c337..70be7db5c 100644 --- a/locales/hi/LC_MESSAGES/messages.po +++ b/locales/hi/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-09-16 10:09+0000\n" "Last-Translator: kumar Shivam \n" "Language-Team: Hindi `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3199,6 +3201,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5231,9 +5234,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11950,7 +11953,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12299,6 +12303,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12326,11 +12331,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13347,6 +13360,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13376,14 +13610,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15580,10 +15806,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/id/LC_MESSAGES/messages.po b/locales/id/LC_MESSAGES/messages.po index 9346fa7cd..7232e7596 100644 --- a/locales/id/LC_MESSAGES/messages.po +++ b/locales/id/LC_MESSAGES/messages.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-10-17 21:16+0000\n" "Last-Translator: oon arfiandwi \n" "Language-Team: Indonesian `__ by Paul Ganssle" msgstr "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3220,6 +3224,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5249,9 +5254,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11956,7 +11961,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12305,6 +12311,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12332,11 +12339,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13353,6 +13368,229 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "Spesifikasi" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +#, fuzzy +#| msgid "Documentation types" +msgid "Reference Implementation" +msgstr "Jenis-jenis dokumentasi" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13382,14 +13620,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "Spesifikasi" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15584,12 +15814,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -#, fuzzy -#| msgid "Documentation types" -msgid "Reference Implementation" -msgstr "Jenis-jenis dokumentasi" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/ja/LC_MESSAGES/messages.po b/locales/ja/LC_MESSAGES/messages.po index 4b09c9ae1..89e192789 100644 --- a/locales/ja/LC_MESSAGES/messages.po +++ b/locales/ja/LC_MESSAGES/messages.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-06-19 16:34+0000\n" -"PO-Revision-Date: 2024-11-22 01:00+0000\n" +"PO-Revision-Date: 2024-12-25 20:00+0000\n" "Last-Translator: moto kawasaki \n" "Language-Team: Japanese \n" @@ -19,25 +19,25 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.9-dev\n" +"X-Generator: Weblate 5.10-dev\n" #: ../source/contribute.rst:5 msgid "Contribute to this guide" -msgstr "このガイドに貢献するには" +msgstr "このガイド文書に貢献する" #: ../source/contribute.rst:7 msgid "" "The |PyPUG| welcomes contributors! There are lots of ways to help out, " "including:" -msgstr "|PyPUG| は貢献者を歓迎します!さまざまな貢献方法があります。例えば:" +msgstr "|PyPUG| は貢献者を歓迎します!さまざまな貢献方法があります。例えば:" #: ../source/contribute.rst:10 msgid "Reading the guide and giving feedback" -msgstr "このガイドを読んでフィードバックを伝えること" +msgstr "このガイド文書を読んでフィードバックを伝えること" #: ../source/contribute.rst:11 msgid "Reviewing new contributions" -msgstr "新しい貢献文書を査読すること" +msgstr "新しい貢献内容を査読すること" #: ../source/contribute.rst:12 msgid "Revising existing content" @@ -49,7 +49,7 @@ msgstr "新しく文書を書くこと" #: ../source/contribute.rst:14 msgid "Translate the guide" -msgstr "このガイドを翻訳する" +msgstr "このガイド文書を翻訳する" #: ../source/contribute.rst:16 msgid "" @@ -3716,12 +3716,12 @@ msgid "" "that Python packaging currently supports. Support for this specification " "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -":term:`要求事項指定子 ` のバージョン部分。例え" -"ば、\"foo>=1.3\" の中の \">=1.3\" の部分。\n" -"Python のパッケージングで現在サポートされている識別子の完全な記述について" -"は、 :ref:`バージョン指定子の仕様 ` を読んでください。こ" -"の仕様のサポートは、 :ref:`setuptools` v8.0 と :ref:`pip` v6.0 で実装されまし" -"た。" +":term:`要求事項指定子 ` のバージョン部分。例えば、" +"\"foo>=1.3\" の中の \">=1.3\" の部分。Python " +"のパッケージングで現在サポートされている識別子の完全な記述については、 :ref:`" +"バージョン指定子の仕様 ` " +"を読んでください。この仕様のサポートは、 :ref:`setuptools` v8.0 と :ref:`pip`" +" v6.0 で実装されました。" #: ../source/glossary.rst:352 msgid "Virtual Environment" @@ -8633,7 +8633,7 @@ msgstr "バイナリ拡張をビルドする" #: ../source/guides/packaging-binary-extensions.rst:285 msgid "FIXME: Cover the build-backends available for building extensions." -msgstr "FIXME: Cover the build-backends available for building extensions." +msgstr "FIXME: 拡張をビルドする際に利用可能なビルドバックエンドをカバーせよ。" #: ../source/guides/packaging-binary-extensions.rst:288 msgid "Building extensions for multiple platforms" @@ -9444,9 +9444,15 @@ msgid "" "acquiring an OpenID Connect token that the ``pypi-publish`` actions needs to " "implement secretless trusted publishing to PyPI." msgstr "" -"さて、PyPI へ発行 される予定のジョブに初期設定を追加しましょう。そ" -"れは、後ほど定義するであろうコマンドを実行するプロセスになるでしょう。このガ" -"イド文書では、" +"さて、PyPI へ公開 する予定のジョブに初期設定を追加しましょう。それ" +"は、後ほど定義するであろうコマンドを実行するプロセスです。このガイド文書では" +"、GitHub Actions が提供している最新版の Ubuntu LTS " +"安定版バージョンです。これは、また、そのコンテキスト内でジョブが走る GitHub " +"環境 を定義するものでもあり、 GitHub の UI " +"の中に申し分なく表示される URL でもあります。さらに、それは、 ``pypi-" +"publish`` アクションがシークレットなしの PyPI " +"への信頼ある公開を実装するために必要となる OpenID Connect " +"のトークンを取得することを可能にするものでもあります。" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:144 msgid "" @@ -10593,7 +10599,7 @@ msgstr "" #: ../source/guides/tool-recommendations.rst:28 msgid "Installing packages" -msgstr "パッケージをインストールする" +msgstr "パッケージのインストール" #: ../source/guides/tool-recommendations.rst:30 msgid "" @@ -11752,7 +11758,8 @@ msgstr "" #: ../source/index.rst:85 msgid ":doc:`discussions/deploying-python-applications`" msgstr "" -":doc:`議論/Pythonアプリの設置 `" +":doc:`議論/Python アプリケーションを配置する `" #: ../source/index.rst:86 msgid ":doc:`discussions/pip-vs-easy-install`" @@ -15218,7 +15225,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:96 msgid "distribution" -msgstr "配布物" +msgstr "ディストリビューション" #: ../source/specifications/binary-distribution-format.rst:96 msgid "Distribution name, e.g. 'django', 'pyramid'." @@ -18839,7 +18846,15 @@ msgid "" "to this document) the Python interpreter itself, software written in Python, " "and software written in other languages. That is, this is the sense used in " "phrases such as \"Linux distro\" or \"Berkeley Software Distribution.\"" -msgstr "\"配布物 \" の短縮系で、" +msgstr "" +"短く言うと \"配布物 \" " +"で、適切に協働した動作をするように理想的に設計され、(この説明文書に適合する文" +"脈で) Python インタープリタそのものを含み、Python " +"で書かれたソフトウェアであり他の言語で書かれたソフトウェアでもある、さまざま" +"な種類のソフトウェアの集合体。すなわち、これが " +"\"Linux ディストロ \" や " +"\"バークレーソフトウェア配布物 \" " +"といったフレーズで使われる意味です。" #: ../source/specifications/externally-managed-environments.rst:46 msgid "" @@ -19037,13 +19052,15 @@ msgid "" "provides a means for the distributor to indicate how to use a virtual " "environment as an alternative." msgstr "" -"第一に、 ** Python インタープリタの配布を行う者が、そのインタープリタを\n" -"Python の外側にある手段によって管理されるパッケージを持ち、従って、 pip のよ" -"うな Python 特有のツール類が、特別にオーバーライドされない限りは、当該イン" -"タープリタのグローバルな ``sys.path`` に存在するインストール済みパッケージ" -"を、いかなる意味でも変更するべきではないもの、つまり追加、更新・ダウングレー" -"ド、あるいは削除を行うべきではないものとしてマークを付ける方法 ** を記述しま" -"す。また、代替手段としての仮想環境をどのように使うのかを配布者 " +"第一に、 ** Python インタープリタの配布を行う者が、" +"そのインタープリタをPython " +"の外側にある手段によって管理されるパッケージを持ち** 、従って、 pip のような " +"Python 特有のツール類が、特別にオーバーライドされない限りは、" +"当該インタープリタのグローバルな ``sys.path`` " +"に存在するインストール済みパッケージを、いかなる意味でも変更 " +"(追加、更新・ダウングレード、あるいは削除) " +"するべきではないという印を付ける方法を記述しています。また、" +"代替手段としての仮想環境をどのように使うのかを配布者 " "が指示する手段を提供します。" #: ../source/specifications/externally-managed-environments.rst:142 @@ -22177,11 +22194,12 @@ msgid "" "tool itself needs the information, or omitting the file entirely if the " "package contents are tracked and managed via other means)" msgstr "" -"他のツール類を経由した変更を抑止するために、``RECORD`` ファイルを別の名前にす" -"るか、削除するか (このファイル内の情報が必要なら、例えば標準的でない名前の " -"``RECORD.tool`` というファイルを作成するために拡張子を追加すること、あるい" -"は、パッケージの内容物を他の手段で追跡・管理しているのであればファイルを完全" -"に除外しておくこと) してください。" +"他のツール類を経由した変更を抑止するために、``RECORD`` " +"ファイルを別の名前にするか、削除するか (このファイル内の情報が必要なら、" +"例えば標準的でない名前の ``RECORD.tool`` " +"というファイルを作成するために拡張子を追加すること、あるいは、パッケージの内" +"容物を他の手段で追跡・管理しているのであればファイルを完全に除外しておくこと)" +" してください" #: ../source/specifications/recording-installed-packages.rst:237 msgid "" @@ -22710,7 +22728,11 @@ msgid "" msgstr "" "メジャーバージョンを増加することは考えられず、将来発生する API の進化は API " "の進化における異なったメカニズムを通じて実現されるであろうというのが、この仕" -"様の期待するところです。しかしながら、" +"様の期待するところです。しかしながら、メジャーバージョンは、" +"将来のバージョンとの違い (例えば、 /v2/ を使う仮説としてのシンプル API v2 、" +"しかしこれはリポジトリバージョンが version >= 2 " +"に設定されれば混乱を招くかもしれません) " +"を明らかにするためにここに含まれているのです。" #: ../source/specifications/simple-repository-api.rst:231 msgid "" @@ -25031,8 +25053,9 @@ msgid "" "``X.Y.0`` when comparing it to any release segment that includes three " "components." msgstr "" -"3個の構成部分を持つリリース番号\n" -"``X.Y`` と ``X.Y.0`` は、相異なるリリース番号とは見做されません。" +"リリース構成部分比較のルールでは、3個の構成部分を持つリリース番号と比較する" +"時には、構成部分が2個のものを ``X.Y.0`` へ暗黙裡に拡張するので、 ``X.Y`` と " +"``X.Y.0`` は、相異なるリリース番号とは見做されません。" #: ../source/specifications/version-specifiers.rst:229 msgid "" @@ -26089,7 +26112,8 @@ msgstr "バージョン番号の照合" msgid "" "A version matching clause includes the version matching operator ``==`` and " "a version identifier." -msgstr "" +msgstr "バージョン番号マッチング節には、バージョン番号マッチング演算子 ``==`` " +"とバージョン識別子を含みます。" #: ../source/specifications/version-specifiers.rst:871 msgid "" @@ -26097,6 +26121,10 @@ msgid "" "`Version scheme`_, but a trailing ``.*`` is permitted on public version " "identifiers as described below." msgstr "" +"指定されたバージョン識別子は、 `バージョン番号枠組み`_ " +"に記述された標準フォーマットでなければなりませんが、" +"公開のバージョン識別子における後続する ``.*`` " +"は以下に述べるように許されています。" #: ../source/specifications/version-specifiers.rst:875 msgid "" @@ -26106,6 +26134,10 @@ msgid "" "release segment to ensure the release segments are compared with the same " "length." msgstr "" +"デフォルトでは、バージョン番号マッチング演算子は、厳密な同一性の比較です: 指" +"定されたバージョンは、要求されたバージョンと正確に同一でなければなりません。 " +"*唯一の* 置換が行われるのは、リリース番号構成部分を同じ長さで行うことを保証す" +"るために、リリース番号構成部分にゼロをパディングする時だけです。" #: ../source/specifications/version-specifiers.rst:881 msgid "" @@ -26114,6 +26146,9 @@ msgid "" "issue warnings and MAY reject them entirely when strict version matches are " "used inappropriately." msgstr "" +"厳密なバージョンマッチングが適切であるか否かは、バージョン指定子のユースケー" +"スによって変わります。自動化されたツール群は、厳密なバージョンマッチングが使" +"用された時には、少なくとも警告を発するべきで、全てを拒絶しても構いません。" #: ../source/specifications/version-specifiers.rst:886 msgid "" @@ -26124,13 +26159,20 @@ msgid "" "specified version includes only a release segment, then trailing components " "(or the lack thereof) in the release segment are also ignored." msgstr "" +"バージョンマッチング節のバージョン識別子の末尾に ``.*`` を孵化することで、厳" +"密な比較の代わりに接頭辞マッチングが要求されることもあります。これによって、" +"あるバージョン識別子がその節に合致するか否かを決定する時に、追加の後続構成要" +"素を無視することになるでしょう。指定されたバージョン番号がリリース番号構成部" +"分だけを含んでいるなら、リリース番号構成部分の中の後続の構成部分 " +"(あるいは、その欠落) もまた、無視されます。" #: ../source/specifications/version-specifiers.rst:893 #: ../source/specifications/version-specifiers.rst:954 msgid "" "For example, given the version ``1.1.post1``, the following clauses would " "match or not as shown::" -msgstr "" +msgstr "例えば、あるバージョン番号 ``1.1.post1`` " +"が与えられたとして、以下に示すように合致したり合致しなかったりします::" #: ../source/specifications/version-specifiers.rst:900 msgid "" @@ -26138,6 +26180,9 @@ msgid "" "have an implied preceding ``.``, so given the version ``1.1a1``, the " "following clauses would match or not as shown::" msgstr "" +"接頭辞マッチングの目的のためには、プレリリース構成部分は、暗黙の裡に先行する " +"``.`` を持つものと見なされ、従って、バージョン番号 ``1.1a1`` " +"が与えられたとすれば、以下に示すように合致したり合致しなかったりします::" #: ../source/specifications/version-specifiers.rst:908 msgid "" @@ -26146,6 +26191,10 @@ msgid "" "identifiers). Given the version ``1.1``, the following clauses would match " "or not as shown::" msgstr "" +"正確な合致は、また、接頭辞の合致 (これの解釈は、リリース番号構成部分やバージ" +"ョン識別子に対する通常のゼロパディングを暗に意味します) " +"であるものと見做されます。バージョン番号 ``1.1`` " +"が与えられたなら、以下に示すように合致したり合致しなかったりします::" #: ../source/specifications/version-specifiers.rst:920 msgid "" @@ -26155,6 +26204,11 @@ msgid "" "version, and the local version is ignored for comparison purposes, so using " "either in a prefix match wouldn't make any sense." msgstr "" +"``1.0.dev1.`` や ``1.0foo1.*`` のような開発リリース番号やローカルリリース番号" +"を含む接頭辞マッチは正当なものではありません。もし存在すれば、開発リリース番" +"号構成部分は常に公開のバージョン番号の最終構成部分であり、ローカルバージョン" +"番号は比較の目的においては無視されるので、そのようなものが接頭辞マッチにあっ" +"たとしても意味を成しません。" #: ../source/specifications/version-specifiers.rst:926 msgid "" @@ -26165,6 +26219,12 @@ msgid "" "for repeatable *deployments of applications* while using a shared " "distribution index." msgstr "" +"公開された配布物に対する依存関係を定義する時、 " +"(少なくとも接尾辞にワイルドカードを含まないような) ``==`` の使用は強い非推奨" +"であり、それはセキュリティフィクスの展開を大きく複雑化させるからです。厳密な" +"バージョン比較演算子は、一義的に、" +"共有の配布物インデックスを使う上で繰り返し可能な *アプリケーションの展開* " +"のための依存関係を定義するために使われることを想定しています。" #: ../source/specifications/version-specifiers.rst:933 msgid "" @@ -26172,6 +26232,9 @@ msgid "" "version label), then the local version label of any candidate versions MUST " "be ignored when matching versions." msgstr "" +"指定されたバージョン識別子は (ローカルバージョン番号ラベルなしの) 公開バージ" +"ョン識別子であり、候補バージョンに付けられたローカルバージョン番号ラベルは、" +"バージョンマッチングの際には無視されなければなりません。" #: ../source/specifications/version-specifiers.rst:937 msgid "" @@ -26181,17 +26244,21 @@ msgid "" "above, and the local version label being checked for equivalence using a " "strict string equality comparison." msgstr "" +"指定されたバージョン識別子がローカルバージョン識別子であるなら、バージョン間" +"のマッチングでは、候補バージョンのローカルバージョンラベルは上記の通り公開バ" +"ージョン識別子と合致するか確かめられ、ローカルバージョンラベルは厳密な文字列" +"の同一性比較を使って同一であるかどうか確認されます。" #: ../source/specifications/version-specifiers.rst:945 -#, fuzzy msgid "Version exclusion" -msgstr "バージョン指定子" +msgstr "バージョンの除外 " #: ../source/specifications/version-specifiers.rst:947 msgid "" "A version exclusion clause includes the version exclusion operator ``!=`` " "and a version identifier." -msgstr "" +msgstr "バージョンの除外節は、バージョン除外演算子 ``!=`` " +"とバージョン識別子を含みます。" #: ../source/specifications/version-specifiers.rst:950 msgid "" @@ -26199,10 +26266,13 @@ msgid "" "those of the `Version matching`_ operator, except that the sense of any " "match is inverted." msgstr "" +"許されるバージョン識別子と比較のセマンティックスは、" +"マッチの意味が反転している点を除けば `バージョン番号のマッチング `_ 演算子のそれと同一です。" #: ../source/specifications/version-specifiers.rst:963 msgid "Inclusive ordered comparison" -msgstr "" +msgstr "境界を含む順序比較 " #: ../source/specifications/version-specifiers.rst:965 msgid "" @@ -26212,10 +26282,14 @@ msgid "" "specified version given the consistent ordering defined by the standard " "`Version scheme`_." msgstr "" +"境界を含む順序比較節は比較演算子とバージョン識別子を含み、" +"候補バージョンの相対的な位置と指定されたバージョンに対して与えられる標準の `" +"バージョン番号枠組み `_ によって定義される首尾一貫した順序付" +"けに基づいてその比較が正しいかどうかを任意のバージョン番号に対して行います。" #: ../source/specifications/version-specifiers.rst:971 msgid "The inclusive ordered comparison operators are ``<=`` and ``>=``." -msgstr "" +msgstr "境界を含む順序比較の演算子は ``<=`` と ``>=`` です。" #: ../source/specifications/version-specifiers.rst:973 #: ../source/specifications/version-specifiers.rst:1003 @@ -26223,15 +26297,18 @@ msgid "" "As with version matching, the release segment is zero padded as necessary to " "ensure the release segments are compared with the same length." msgstr "" +"バージョン番号のマッチングと同様に、リリース番号構成部分が同じ長さで比較され" +"ることを担保するために、リリース番号構成部分は必要に応じてゼロでパディングさ" +"れます。" #: ../source/specifications/version-specifiers.rst:976 #: ../source/specifications/version-specifiers.rst:1006 msgid "Local version identifiers are NOT permitted in this version specifier." -msgstr "" +msgstr "ローカルバージョン識別子は、このバージョン識別子の中では許されません。" #: ../source/specifications/version-specifiers.rst:980 msgid "Exclusive ordered comparison" -msgstr "" +msgstr "境界を含まない順序比較 " #: ../source/specifications/version-specifiers.rst:982 msgid "" @@ -26242,6 +26319,11 @@ msgid "" "specifically exclude pre-releases, post-releases, and local versions of the " "specified version." msgstr "" +"境界を含まない順序比較である ``>`` と ``<`` は、標準の `バージョン番号枠組み " +"`_ によって定義される首尾一貫した順序付けが与える候補バージョ" +"ンと指定されたバージョン番号の相対的な位置に依存する点で、境界を含む順序比較" +"と似ています。しかしながら、指定されたバージョン番号のプレリリース・ポストリ" +"リース・ローカルバージョンの部分を除外します。" #: ../source/specifications/version-specifiers.rst:988 msgid "" @@ -26252,12 +26334,20 @@ msgid "" "``1.7.1`` but not ``1.7.0.post1`` and ``>1.7.post2`` will allow ``1.7.1`` " "and ``1.7.0.post3`` but not ``1.7.0``." msgstr "" +"境界を含まない順序比較である ``>V`` は、``V`` " +"それ自身がポストリリース番号である場合を除いて、" +"与えられたバージョン番号のポストリリース部分を **許してはなりません** 。 ``>V" +".postN`` を使うことで、特定のポストリリースバージョンよりも新しいリリースを要" +"求しても構いません。例えば、 ``>1.7`` は ``1.7.1`` を許容しますが ``1.7.0." +"post1`` を許容せず、 ``>1.7.post2`` は ``1.7.1`` や ``1.7.0.post3`` " +"を許容しますが ``1.7.0`` を許容しません。" #: ../source/specifications/version-specifiers.rst:995 msgid "" "The exclusive ordered comparison ``>V`` **MUST NOT** match a local version " "of the specified version." -msgstr "" +msgstr "境界を含まない順序比較 ``>V`` は、" +"指定されたバージョン番号のローカルバージョン部分と **比較してはなりません**。" #: ../source/specifications/version-specifiers.rst:998 msgid "" @@ -26266,10 +26356,15 @@ msgid "" "Allowing pre-releases that are earlier than, but not equal to a specific pre-" "release may be accomplished by using ``" #: ../source/specifications/version-specifiers.rst:1012 msgid "" @@ -26278,6 +26373,10 @@ msgid "" "padding or local versions. This operator also does not support prefix " "matching as the ``==`` operator does." msgstr "" +"あらゆる意味での同一性比較は、ゼロパディングやローカルバージョンのような意味" +"論的な情報を全く考慮しない単純な文字列の同一性演算です。この演算子は、また、 " +"``==`` " +"演算子なら実行するようなプレフィクスのマッチングもサポートしていません。" #: ../source/specifications/version-specifiers.rst:1017 msgid "" @@ -26287,11 +26386,17 @@ msgid "" "tool which implements this specification to still install a legacy version " "which is otherwise incompatible with this specification." msgstr "" +"あらゆる意味での同一性比較の一義的なユースケースは、これを使わなければこの仕" +"様によって表現され得ないようなバージョン番号を指定することを許容するというこ" +"とです。この演算子は特別で、誰かがこの仕様を実装したツールを使って、さもなけ" +"ればこの仕様とは非互換になってしまうようなレガシーなバージョンを、それでもイ" +"ンストールすることができる脱出ハッチとして振舞います。" #: ../source/specifications/version-specifiers.rst:1023 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." -msgstr "" +msgstr "一つの例としては、``foobar`` というバージョン番号に合致するであろう " +"``==foobar`` ということになるでしょう。" #: ../source/specifications/version-specifiers.rst:1025 msgid "" @@ -26299,17 +26404,20 @@ msgid "" "a project such as ``===1.0`` which would not match for a version " "``1.0+downstream1``." msgstr "" +"この演算子は、また、 ``1.0+downstream1`` " +"のようなバージョンに合致しないであろうと思われる、 ``===1.0`` のようなプロジ" +"ェクトのパッチ適用のないバージョンを明示的に要求するためにも使われます。" #: ../source/specifications/version-specifiers.rst:1029 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." -msgstr "" +msgstr "この演算子の使用は強い非推奨の状態にあり、使用に際してはツール類は警告を表示" +"しても構いません。" #: ../source/specifications/version-specifiers.rst:1034 -#, fuzzy msgid "Handling of pre-releases" -msgstr "リリース前のバージョンをインストールする" +msgstr "プレリリースの取り扱い " #: ../source/specifications/version-specifiers.rst:1036 msgid "" @@ -26318,40 +26426,49 @@ msgid "" "the system, explicitly requested by the user, or if the only available " "version that satisfies the version specifier is a pre-release." msgstr "" +"すでにシステム上に存在しているか、ユーザによって明示的に要求されるか、または" +"、バージョン指定子を満足する唯一の利用可能なバージョンがプレリリースであるか" +"、の *いずれかでない限り* 、開発リリースを含むプレリリースは、どんな種類でも" +"、あらゆるバージョン指定子から暗黙裡に除外されます。" #: ../source/specifications/version-specifiers.rst:1041 msgid "By default, dependency resolution tools SHOULD:" -msgstr "" +msgstr "デフォルトでは、依存関係を解決しようとするツール類は以下のことを行うべきです:" #: ../source/specifications/version-specifiers.rst:1043 msgid "accept already installed pre-releases for all version specifiers" -msgstr "" +msgstr "全てのバージョン指定子向けにすでにインストールされているプレリリースを受け入" +"れる" #: ../source/specifications/version-specifiers.rst:1044 msgid "" "accept remotely available pre-releases for version specifiers where there is " "no final or post release that satisfies the version specifier" msgstr "" +"バージョン指定子を満足するような最終リリースやポストリリースが存在しないリモ" +"ートサイトにあって利用可能なプレリリースを、バージョン指定子として受け入れる" #: ../source/specifications/version-specifiers.rst:1046 msgid "exclude all other pre-releases from consideration" -msgstr "" +msgstr "他のすべてのプレリリースを考慮の対象から除外する" #: ../source/specifications/version-specifiers.rst:1048 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." -msgstr "" +msgstr "依存関係解決ツール群は、バージョン指定子を満足させるためにあるプレリリースが" +"必要である場合には、警告を発しても構いません。" #: ../source/specifications/version-specifiers.rst:1051 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" -msgstr "" +msgstr "依存関係解決ツール群は、また、以下のような代替的な振る舞いをユーザが要求する" +"ことを許容するべきです:" #: ../source/specifications/version-specifiers.rst:1054 msgid "accepting pre-releases for all version specifiers" -msgstr "" +msgstr "全てのバージョン指定子にプレリリースを受け入れること" #: ../source/specifications/version-specifiers.rst:1055 msgid "" @@ -26359,53 +26476,68 @@ msgid "" "warning if a pre-release is already installed locally, or if a pre-release " "is the only way to satisfy a particular specifier)" msgstr "" +"全てのバージョン指定子からプレリリースを除外すること (プレリリースがすでにロ" +"ーカルにインストールされている場合や特定の指定子を満たすためにはプレリリース" +"が唯一の選択肢である場合には、エラーないし警告を報告すること)" #: ../source/specifications/version-specifiers.rst:1059 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." -msgstr "" +msgstr "依存関係解決ツール群は、配布物の単位ごとに上記の振る舞いを許容しても構いませ" +"ん。" #: ../source/specifications/version-specifiers.rst:1062 msgid "" "Post-releases and final releases receive no special treatment in version " "specifiers - they are always included unless explicitly excluded." msgstr "" +"ポストリリースと最終リリースは、" +"バージョン識別子の中で何ら特別な取り扱いを受けません - " +"明示的に除外されていない限り、これらは常に受け入れられます。" #: ../source/specifications/version-specifiers.rst:1069 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." -msgstr "" +msgstr "``~=3.1``: バージョン 3.1 またはそれ以降、しかし、バージョン 4.0 " +"またはそれ以降ではない。" #: ../source/specifications/version-specifiers.rst:1070 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." -msgstr "" +msgstr "``~=3.1.2``: バージョン 3.1.2 またはそれ以降、しかし、バージョン 3.2.0 " +"またはそれ以降ではない。" #: ../source/specifications/version-specifiers.rst:1071 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." -msgstr "" +msgstr "``~=3.1a1``: バージョン 3.1a1 またはそれ以降、しかし、バージョン 4.0 " +"またはそれ以降ではない。" #: ../source/specifications/version-specifiers.rst:1072 msgid "" "``== 3.1``: specifically version 3.1 (or 3.1.0), excludes all pre-releases, " "post releases, developmental releases and any 3.1.x maintenance releases." msgstr "" +"``== 3.1``: 正確にバージョン 3.1 (または 3.1." +"0)、プレリリース・ポストリリース・開発リリースや 3.1.x " +"のメンテナンスリリースは全て除外する。" #: ../source/specifications/version-specifiers.rst:1074 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." -msgstr "" +msgstr "``== 3.1.*``: 3.1 で始まるすべてのバージョン。 ``~=3.1.0`` " +"互換リリース節に同じ。" #: ../source/specifications/version-specifiers.rst:1076 msgid "" "``~=3.1.0, != 3.1.3``: version 3.1.0 or later, but not version 3.1.3 and not " "version 3.2.0 or later." msgstr "" +"``~=3.1.0, != 3.1.3``: バージョン 3.1.0 またはそれ以降、しかし、バージョン " +"3.1.3 ではなく、バージョン 3.2.0 またはそれ以降でもない。" #: ../source/specifications/version-specifiers.rst:1081 -#, fuzzy msgid "Direct references" -msgstr "参考文献" +msgstr "直接参照" #: ../source/specifications/version-specifiers.rst:1083 msgid "" @@ -26413,6 +26545,9 @@ msgid "" "alternative to a normal version specifier. A direct reference consists of " "the specifier ``@`` and an explicit URL." msgstr "" +"自動化ツールの中には、通常のバージョン指定子の代替として直接参照の使用を許す" +"ものがあります。直接参照は、それを指定する ``@`` と明示された URL " +"から構成されます。" #: ../source/specifications/version-specifiers.rst:1087 msgid "" @@ -26421,6 +26556,9 @@ msgid "" "warnings and MAY reject them entirely when direct references are used " "inappropriately." msgstr "" +"直接参照が適切であるか否かは、バージョン指定子に対する特定のユースケースに依" +"存します。自動化ツール群は、少なくとも警告を発行するべきで、直接参照が不適切" +"に使われた場合には全体を拒否しても構いません。" #: ../source/specifications/version-specifiers.rst:1092 msgid "" @@ -26428,6 +26566,9 @@ msgid "" "uploaded distributions. Direct references are intended as a tool for " "software integrators rather than publishers." msgstr "" +"公開のインデックスサーバは、アップロードされた配布物中での直接参照の使用を許" +"すべきではありません。直接参照は、公開者 向けではなくてソフトウ" +"ェアインテグレータ向けのツールとして意図されたものです。" #: ../source/specifications/version-specifiers.rst:1096 msgid "" @@ -26435,14 +26576,17 @@ msgid "" "reference may be an sdist or a wheel binary archive. The exact URLs and " "targets supported will be tool dependent." msgstr "" +"ユースケースに依存しますが、 URL の直接参照の適切な使い所は sdist や wheel " +"のバイナリアーカイブでしょう。正確な URL " +"やターゲットのサポートがあるかどうかはツール次第です。" #: ../source/specifications/version-specifiers.rst:1100 msgid "For example, a local source archive may be referenced directly::" -msgstr "" +msgstr "例えば、ローカルのソースコードアーカイブが直接に参照されるかもしれません::" #: ../source/specifications/version-specifiers.rst:1104 msgid "Alternatively, a prebuilt archive may also be referenced::" -msgstr "" +msgstr "あるいは、ビルド済みのアーカイブが参照されるかもしれません::" #: ../source/specifications/version-specifiers.rst:1108 msgid "" @@ -26455,9 +26599,17 @@ msgid "" "and MAY refuse to rely on the URL. If such a direct reference also uses an " "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" +"ローカルにあるファイルを指す URL への参照ではない直接参照は、すべて、 " +"(``https`` のような) 安全な転送メカニズムを指定するべきであり、かつ、" +"検証の目的で URL の中に期待されるハッシュ値を含むべきです。直接参照でハッシュ" +"値の情報が含まれていなかったりツールが理解できないハッシュ値の情報が含まれて" +"いたり、採用されているハッシュアルゴリズムが信頼するには弱すぎるとツールが判" +"断したりした場合には、自動化ツールは少なくとも警告を発するべきであり、その " +"URL に依存することを拒否しても構いません。もしそのような直接参照が安全でない" +"転送手段を使っているなら、自動化ツールはその URL " +"に依存するべきではありません。" #: ../source/specifications/version-specifiers.rst:1117 -#, fuzzy msgid "" "It is RECOMMENDED that only hashes which are unconditionally provided by the " "latest version of the standard library's :py:mod:`hashlib` module be used " @@ -26465,11 +26617,10 @@ msgid "" "``'md5'``, ``'sha1'``, ``'sha224'``, ``'sha256'``, ``'sha384'``, and " "``'sha512'``." msgstr "" -"``hash`` キー (``string`` 型) は、 ``=`` とい" -"う値を伴ってソンゾンしているべきです。標準ライブラリの ``hash lib`` モジュー" -"ルの最新版が無条件に提供するハッシュだけをソースコードアーカイブのハッシュと" -"して使うことを推奨します。本文書の執筆時点では、 'md5' ・ 'sha1' ・ 'sha224' " -"・ 'sha256' ・ 'sha384' ・ 'sha512' が該当します。" +"ソースコードアーカイブのハッシュ値計算には、標準ライブラリの " +":py:mod:`hashlib` モジュールの最新版が無条件に提供するハッシュだけを用いるこ" +"とを推奨します。本文書の執筆時点では、 'md5' ・ 'sha1' ・ 'sha224' ・ " +"'sha256' ・ 'sha384' ・ 'sha512' が該当します。" #: ../source/specifications/version-specifiers.rst:1123 msgid "" @@ -26477,6 +26628,9 @@ msgid "" "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" +"ソースコードアーカイブと wheel を参照するためには、期待されるハッシュ値は " +"URL の一部として ``=`` " +"エントリに含まれる形で指定されるでしょう。" #: ../source/specifications/version-specifiers.rst:1127 msgid "" @@ -26486,6 +26640,12 @@ msgid "" "Automated tools MAY omit warnings about missing hashes for version control " "systems that do not provide hash based commit identifiers." msgstr "" +"バージョンコントロールの参照のためには、" +"バージョン管理システムと安全な転送手段の両方を特定するために " +"``VCS+プロトコル`` の書き方が使われるべきで、ハッシュ値で表現したコミット識別" +"子を伴ったバージョン管理システムが使われるべきです。自動化ツール群は、ハッシ" +"ュ値で表したコミット識別子を持たないバージョン管理システムではハッシュ値がな" +"くても警告を省略しても構いません。" #: ../source/specifications/version-specifiers.rst:1133 msgid "" @@ -26494,6 +26654,11 @@ msgid "" "end of the URL using the ``@`` or the ``@#`` " "notation." msgstr "" +"コミットやタグへの参照を URL " +"内に直接書くことをサポートしないバージョン管理システムを扱うためには、 " +"そのような情報は、 ``@<コミットのハッシュ値>`` や " +"``@<タグ>#<コミットのハッシュ値>`` という表記方法を用いて URL " +"の末尾に追加しても構いません。" #: ../source/specifications/version-specifiers.rst:1140 msgid "" @@ -26505,16 +26670,21 @@ msgid "" "a malicious repo with a particular tag is easy, creating one with a specific " "*hash*, less so)." msgstr "" +"これは、 pip がサポートするような既存の VCS 参照の表記方法とは *非常に* " +"異なります。第一に、配布物の名称が URL の一部として埋め込まれるのではなく、前" +"方に移動しています。第二に、タグに基づいて取得する場合であっても、 " +"(特定のタグを伴う悪意あるリポジトリを作成することは容易で、特定の " +"*ハッシュ値* を伴うものはより困難であることから) 偽造をより困難にするために " +"*あらゆる* リンクにハッシュ値が含まれているべきであるという要求に従うために、" +"コミットのハッシュ値が含まれています。" #: ../source/specifications/version-specifiers.rst:1148 -#, fuzzy msgid "Remote URL examples::" -msgstr "例えば::" +msgstr "リモート URL の例::" #: ../source/specifications/version-specifiers.rst:1156 -#, fuzzy msgid "File URLs" -msgstr "アーカイブ URL 群" +msgstr "ファイルを指す URL 群" #: ../source/specifications/version-specifiers.rst:1158 msgid "" @@ -26523,6 +26693,11 @@ msgid "" "omitted the third slash MUST still exist. The ```` defines what the " "file path on the filesystem that is to be accessed." msgstr "" +"ファイル URL は、 ``file:///`` の形を取ります。 ```` " +"が省略された場合は ``localhost`` であるものと想定され、 ```` が省略され" +"た場合であってさえも3個目のスラッシュが存在していなければなりません。 " +"```` " +"は、これからアクセスされるであろうファイルシステム上のファイルパスです。" #: ../source/specifications/version-specifiers.rst:1163 msgid "" @@ -26531,6 +26706,11 @@ msgid "" "current machine believes matches its own host. In other words, on \\*nix the " "``file://`` scheme can only be used to access paths on the local machine." msgstr "" +"さまざまな \\*nix オペレーティングシステムでは、 ```` " +"に許される唯一の値は、省略時の ``localhost`` か、" +"現在のマシーンが自分自身であると信じている別の FQDN です。換言すれば、 \\*" +"nix 上では、ローカルマシン上のパスにアクセスするための ``file://`` " +"スキームだけが使用可能であるということです。" #: ../source/specifications/version-specifiers.rst:1168 msgid "" @@ -26543,10 +26723,20 @@ msgid "" "see `MSDN `_." msgstr "" +"Windows では、ファイルフォーマットは、もし可能なら (例えば ``file:///c:/path/" +"to/a/file`` のように) ```` " +"の一部としてドライブレターを含んでいるべきです。 \\*nix とは異なり、 Windows " +"上では ```` パラメータは、ネットワーク共有上にあるファイルを指定するた" +"めに使われます。換言すれば、 ``\\\\machine\\volume\\file`` を ``file://`` " +"url に翻訳するために、最終的に ``file://machine/volume/file`` " +"の形になるでしょう。Windows における ``file://`` URL " +"についてもっと詳しい情報を知るためには、 `MSDN `_ を見てください。" #: ../source/specifications/version-specifiers.rst:1179 msgid "Summary of differences from pkg_resources.parse_version" -msgstr "" +msgstr "pkg_resources.parse_version からの相違点のまとめ" #: ../source/specifications/version-specifiers.rst:1181 msgid "" @@ -26561,6 +26751,11 @@ msgid "" "as greater than the same version without a local version, whereas " "``pkg_resources.parse_version`` considers it a pre-release marker." msgstr "" +"ローカルバージョンの順序付けは異なっていて、この仕様では、ローカルバージョン" +"なしの同バージョンのものよりも後に来るものとして順序付けを行うように要求して" +"いますが、他方で、 ``pkg_resources.parse_version`` はそれ " +"(訳註、ローカルバージョン) " +"をプレリリースのマーカーの一つであると見做しています。" #: ../source/specifications/version-specifiers.rst:1189 msgid "" @@ -26568,6 +26763,9 @@ msgid "" "version while ``pkg_resources.parse_version`` attempts to provide some " "meaning from *any* arbitrary string." msgstr "" +"この仕様では、正当なバージョン番号を構成する文法を意図的に制限していますが、" +"他方で ``pkg_resources.parse_version`` では *あらゆる* " +"任意の文字列から何らかの意味を汲み取るように試みます。" #: ../source/specifications/version-specifiers.rst:1193 msgid "" @@ -26575,10 +26773,14 @@ msgid "" "signifiers like ``1.0.dev1.post1.dev5``. This specification however allows " "only a single use of each type and they must exist in a certain order." msgstr "" +"``pkg_resources.parse_version`` では、 ``1.0.dev1.post1.dev5`` のように任意に" +"深く入れ子になったバージョン番号の記号表現を許容します。しかし、この仕様では" +"、それぞれのタイプが高々一度だけ使われることと、ある順番に従って存在している" +"ことを許容しているだけです。" #: ../source/specifications/version-specifiers.rst:1202 msgid "Appendix: Parsing version strings with regular expressions" -msgstr "" +msgstr "補遺: 正規表現を伴うバージョン文字列を解析する" #: ../source/specifications/version-specifiers.rst:1204 msgid "" @@ -26588,12 +26790,18 @@ msgid "" "that form, and if it's not, extract the various components for subsequent " "normalization." msgstr "" +":ref:`public-version-identifiers` 節で述べられているように、公開されたバージ" +"ョン識別子は、正統な書式を使用するべきです。この説では、あるバージョン番号が" +"既にその書式に従っているか否かをテストするために使うことができ、そして、もし" +"否であればその後の標準化のためにさまざまな構成要素を引き出すために使うことが" +"できる、そのような正規表現を提供します。" #: ../source/specifications/version-specifiers.rst:1210 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" -msgstr "" +msgstr "バージョン識別子が正統な書式であるか否かを確かめるためには、次の関数を使うこ" +"とができます:" #: ../source/specifications/version-specifiers.rst:1219 msgid "" @@ -26601,10 +26809,13 @@ msgid "" "expression (as defined by the `packaging `_ project):" msgstr "" +"バージョン識別子の構成部分を取り出すためには、以下の正規表現を使ってください " +"(`パッケージング `_ " +"プロジェクトによって定義されたもの):" #: ../source/specifications/version-specifiers.rst:1266 msgid "August 2014: This specification was approved through :pep:`440`." -msgstr "" +msgstr "2014年8月: :pep:`440` を通じてこの仕様が承認された。" #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" @@ -26636,16 +26847,17 @@ msgid "Runtime detection of virtual environments" msgstr "仮想環境のランタイムを識別する" #: ../source/specifications/virtual-environments.rst:20 -#, fuzzy msgid "" "At runtime, virtual environments can be identified by virtue of :py:data:" "`sys.prefix` (the filesystem location of the running interpreter) having a " "different value from :py:data:`sys.base_prefix` (the default filesystem " "location of the standard library directories)." msgstr "" -"ランタイムには、仮想環境は ``sys.prefix`` (動作中のインタープリタのファイルシ" -"ステム上の場所) が ``sys.base_prefix`` (標準ライブラリのディレクトリのデフォ" -"ルトでのファイルシステム上の場所) とは異なる値を持つおかげで識別可能です。" +"ランタイムには、仮想環境は :py:data:``sys.prefix`` " +"(動作中のインタープリタのファイルシステム上の場所) が :py:data:``sys." +"base_prefix`` " +"(標準ライブラリのディレクトリのデフォルトでのファイルシステム上の場所) " +"とは異なる値を持つおかげで識別可能です。" #: ../source/specifications/virtual-environments.rst:25 msgid "" @@ -26656,8 +26868,12 @@ msgid "" "be reliably used to detect whether a Python program is running in a virtual " "environment or not)." msgstr "" -"Python 標準ライブラリの :py:mod:`venv` モジュールに関する説明文書の :ref:" -"`venv-explanation` は、" +":py:mod:`venv` モジュールに関する Python 標準ライブラリの説明文書の :ref" +":`venv-explanation` は、オペレーティングシステムの対話型シェル内で仮想環境を " +"\"活性化 \" するという概念 " +"(この活性化のステップはオプションであり、それがもたらす変化を使っても Python " +"プログラムが仮想環境内で走っているのか否かを信頼できる形で判別することはでき" +"ません) とともに、これを説明しています。" #: ../source/specifications/virtual-environments.rst:33 msgid "Declaring installation environments as Python virtual environments" @@ -26692,7 +26908,6 @@ msgstr "" "供者なら *誰でも* 採用することができます。" #: ../source/specifications/virtual-environments.rst:46 -#, fuzzy msgid "" "Even in the absence of a ``pyvenv.cfg`` file, any approach (e.g. " "``sitecustomize.py``, patching the installed Python runtime) that results " @@ -26701,15 +26916,17 @@ msgid "" "in :py:mod:`sysconfig`, will be detected and behave as a Python virtual " "environment." msgstr "" -"``pyvenv.cfg`` ファイルがない場合であっても、 ``sys.prefix`` と ``sys." -"base_prefix`` が相異なる値を持つような結果となる一方で以前として対応するパッ" -"ケージ実装スキームを ``sysconfig`` 内で提供するアプローチ (例えば Python ラン" -"タイムにパッチを当てる ``sitecustomize.py``) であればどれでも、それと認識され" -"て Python 仮想環境として振る舞います。" +"``pyvenv.cfg`` ファイルがない場合であっても、 (例えばインストール済みの " +"Python ランタイムにパッチを当てる ``sitecustomize.py`` のような) " +"どんなアプローチでも、 :py:data:``sys.prefix`` と :py:data:``sys." +"base_prefix`` が相異なる値を持つような結果となる一方で、" +"依然として対応するパッケージをインストールする枠組みを :py:mod:``sysconfig`` " +"内で提供するアプローチであれば、それと認識されて Python " +"仮想環境として振る舞います。" #: ../source/specifications/virtual-environments.rst:56 msgid "May 2012: This specification was approved through :pep:`405`." -msgstr "" +msgstr "2012年5月: :pep:`405` を通じてこの仕様が承認されました。" #: ../source/support.rst:3 msgid "How to Get Support" @@ -26736,7 +26953,6 @@ msgstr "" "packaging-problems/issues/new?template=general_issue.yml>`_ 下さい。" #: ../source/tutorials/creating-documentation.rst:4 -#, fuzzy msgid "Creating documentation" msgstr "説明文書を作成する" @@ -26746,6 +26962,9 @@ msgid "" "unmaintained. Please see the `Sphinx tutorial `_ instead." msgstr "" +"パッケージングに関連していないことと、維持管理されていないことから、このチュ" +"ートリアルは取り除かれました。代わりに `Sphinx チュートリアル `_ を見てください。" #: ../source/tutorials/index.rst:4 msgid "" @@ -27189,13 +27408,12 @@ msgstr "" "トールするには:" #: ../source/tutorials/installing-packages.rst:354 -#, fuzzy msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -"あるバージョンと :pep:`\"互換性がある\" <440#compatible-release>` バージョン" -"をインストールするには: [4]_" +"あるバージョンと :ref:`\"互換性がある\" ` バージョンをインストールするには: [4]_" #: ../source/tutorials/installing-packages.rst:369 msgid "" @@ -27879,7 +28097,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:111 msgid "Choosing a build backend" -msgstr "" +msgstr "ビルドバックエンドを選択する" #: ../source/tutorials/packaging-projects.rst:113 msgid "" @@ -27903,21 +28121,17 @@ msgstr "" "要性や好みに適切なものを選択するべきです。" #: ../source/tutorials/packaging-projects.rst:122 -#, fuzzy msgid "" "You can choose from a number of backends; this tutorial uses :ref:`Hatchling " "` by default, but it will work identically with :ref:`setuptools`, :" "ref:`Flit `, :ref:`PDM `, and others that support the " "``[project]`` table for :ref:`metadata `." msgstr "" -":file:`pyproject.toml` は、 :ref:`pip` や :ref:`build` のような \"フロントエ" -"ンド\" のビルドツールに対して、どの \"backend\"を使ってそのプロジェクトの :" -"term:`配布パッケージ ` を作成するべきかを指定します。" -"バックエンドの選択肢は多数あります; このチュートリアルでは :ref:`Hatchling " -"` をデフォルトとして使っていますが、 :ref:`メタデータの設定 " -"` のための ``[project]`` テーブルをサポートしてさえいれ" -"ば :ref:`setuptools` ・ :ref:`Flit ` ・ :ref:`PDM ` やその他のツー" -"ルでも同じように動作することでしょう。" +"多くのバックエンド群から選択することができます; このチュートリアルでは :ref:`" +"Hatchling ` をデフォルトとして使いますが、 :ref:`setuptools` ・ :ref:`" +"Flit ` ・ :ref:`PDM ` や、 :ref:`メタデータ ` として ``[project]`` " +"テーブルをサポートする他のものでも同様に動作するでしょう。" #: ../source/tutorials/packaging-projects.rst:129 msgid "" @@ -27938,6 +28152,11 @@ msgid "" "project. Below are some examples for common build backends, but check your " "backend's own documentation for more details." msgstr "" +":file:`pyproject.toml` は、 :ref:`pip` や :ref:`build` のような :term:`" +"ビルドフロントエンド ` ツールに対して、そのプロジェクトにおい" +"てどのバックエンドを使うかを指示します。よくあるビルドバックエンドのいくつか" +"の例を下に挙げますが、もっと詳しいことについてはバックエンド自身の説明文書を" +"確認してください。" #: ../source/tutorials/packaging-projects.rst:172 msgid "" @@ -27948,15 +28167,22 @@ msgid "" "errors. This should always include your backend's package, and might have " "other build-time dependencies." msgstr "" +"``requires`` " +"は、そのパッケージをビルドするために必要とされるパッケージ群のリストです。 " +":term:`ビルドフロントエンド ` は、そのパッケージをビルドする" +"際にそれらをインストールするべきです。フロントエンドは、通常、隔離された環境" +"でビルドを実行しますので、ここに依存関係を書き忘れるとビルド時のエラーにつな" +"がります。バックエンドパッケージには常にこれを含めておくべきであり、他のビル" +"ド時の依存関係を持っているかもしれません。" #: ../source/tutorials/packaging-projects.rst:179 -#, fuzzy msgid "" "The ``build-backend`` key is the name of the Python object that frontends " "will use to perform the build." msgstr "" -"``build-backend`` は、そのフロントエンドがビルドを実行するにあたって使用する" -"であろう Python オブジェクトの名前です。" +"``build-backend`` キーは、" +"そのフロントエンドがビルドを実行するにあたって使用するであろう Python " +"オブジェクトの名前です。" #: ../source/tutorials/packaging-projects.rst:182 msgid "" @@ -27964,6 +28190,9 @@ msgid "" "backend, or generated by its command line interface. There should be no need " "for you to customize these settings." msgstr "" +"これらの両方の値は、ビルドバックエンドの説明文書によって提供されるか、そのコ" +"マンドラインインターフェースによって生成されるでしょう。これらの設定をカスタ" +"マイズする必要はないはずです。" #: ../source/tutorials/packaging-projects.rst:186 msgid "" @@ -27974,6 +28203,12 @@ msgid "" "file, and specifying ``setuptools.build_meta`` in your build allows the " "tools to locate and use these automatically." msgstr "" +"ビルドツールの追加の設定は、 ``pyproject.toml`` の ``tool`` セクションか、ビ" +"ルドツールによって定義された特別なファイルの中にあるでしょう。例えば、" +"ビルドバックエンドとして ``setuptools`` を使う時には、追加の設定を ``setup." +"py`` ないし ``setup.cfg`` ファイルに追加してもよく、ビルド中に ``setuptools." +"build_meta`` " +"を指定することでツールに対してこれらを自動的に探索して使うようにできます。" #: ../source/tutorials/packaging-projects.rst:196 msgid "Configuring metadata" @@ -28007,15 +28242,13 @@ msgstr "" "みることがないと保証できるからです。" #: ../source/tutorials/packaging-projects.rst:229 -#, fuzzy msgid "" "``version`` is the package version. (Some build backends allow it to be " "specified another way, such as from a file or Git tag.)" msgstr "" -"``version`` は、パッケージのバージョン番号です。バージョン番号についてもっと" -"詳細に知りたい場合は、 :ref:`バージョン指定子 ` を見てく" -"ださい。ビルドバックエンドの中には、ファイルから、もしくは、 git のタグからの" -"ように、別の方法で指定することを許容するものもあります。" +"``version`` は、パッケージのバージョン番号です。 " +"(ビルドバックエンドの中には、ファイルや Git " +"のタグからといった別の方法で指定することができるものもあります。)" #: ../source/tutorials/packaging-projects.rst:231 msgid "" @@ -28032,7 +28265,6 @@ msgid "``description`` is a short, one-sentence summary of the package." msgstr "``description`` は、1文で短くパッケージを説明するものです。" #: ../source/tutorials/packaging-projects.rst:235 -#, fuzzy msgid "" "``readme`` is a path to a file containing a detailed description of the " "package. This is shown on the package detail page on PyPI. In this case, the " @@ -28041,21 +28273,20 @@ msgid "" "toml guide `." msgstr "" "``readme`` は、パッケージに関する詳細な説明を含んだファイルへのパスです。 " -"PyPI 上のパッケージ詳細のページにこの内容が表示されます。この場合、説明の文言" -"は :file:`README.md` (これがよくあるパターンです) からロードされます。他に" -"も、 :ref:`プロジェクトのメタデータの仕様 ` に記" -"述されているもっと先進的なテーブル形式があります。" +"PyPI 上のパッケージ詳細のページにこの内容が表示されます。この場合、" +"説明の文言は :file:`README.md` (これがよくあるパターンです) " +"からロードされます。他にも、 :ref:`pyproject.toml ガイド文書 ` に記述されているもっと先進的なテーブル形式があります。" #: ../source/tutorials/packaging-projects.rst:240 -#, fuzzy msgid "" "``requires-python`` gives the versions of Python supported by your project. " "An installer like :ref:`pip` will look back through older versions of " "packages until it finds one that has a matching Python version." msgstr "" -"``requires-python`` は、そのプロジェクトがサポートしている Python のバージョ" -"ンを与えます。 :ref:`pip` のようなインストーラは、 Python バージョンが合致す" -"るものまでパッケージのバージョンを遡って探索します。" +"``requires-python`` は、そのプロジェクトがサポートしている Python " +"のバージョンを与えます。 :ref:`pip` のようなインストーラは、 Python バージョ" +"ンが合致するものを見つけるまでパッケージのバージョンを遡って探索します。" #: ../source/tutorials/packaging-projects.rst:243 msgid "" @@ -28085,7 +28316,6 @@ msgstr "" "げておけばよいでしょう。" #: ../source/tutorials/packaging-projects.rst:253 -#, fuzzy msgid "" "See the :ref:`pyproject.toml guide ` for details on " "these and other fields that can be defined in the ``[project]`` table. Other " @@ -28093,10 +28323,11 @@ msgid "" "``dependencies`` that are required to install your package." msgstr "" "``[project]`` テーブルに定義できるこれらのフィールドやその他のフィールドにつ" -"いての詳しい情報が必要であれば、 :ref:`プロジェクトにおけるメタデータの仕様 " -"` を見てください。他のよく使われるフィールドに" -"は、検索にかかりやすくするための ``keywords`` や、当該パッケージをインストー" -"ルするために必須のパッケージを示す ``dependencies`` があります。" +"いての詳しい情報が必要であれば、 :ref:`pyproject.toml ガイド文書 ` を見てください。他のよく使われるフィールドには、" +"検索にかかりやすくするための ``keywords`` や、" +"当該パッケージをインストールするために必須のパッケージを示す ``dependencies``" +" があります。" #: ../source/tutorials/packaging-projects.rst:260 msgid "Creating README.md" @@ -28270,9 +28501,8 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:410 msgid "" "Once installed, run Twine to upload all of the archives under :file:`dist`:" -msgstr "" -"インストールできたら、 :file:`dist` ディレクトリ内にあるアーカイブファイルを" -"すべてアップとーどしてください:" +msgstr "インストールできたら、 :file:`dist` " +"ディレクトリ内にあるアーカイブファイルをすべてアップロードしてください:" #: ../source/tutorials/packaging-projects.rst:424 msgid "" @@ -28438,6 +28668,9 @@ msgid "" "`_, :doc:`setuptools `, :doc:`Flit `, `PDM `_." msgstr "" +"選択したビルドバックエンドの先進的な設定については、`Hatchling `_ ・ :doc:`setuptools ` ・ " +":doc:`Flit ` ・ `PDM `_ を読んでください。" #: ../source/tutorials/packaging-projects.rst:538 msgid "" @@ -28445,6 +28678,9 @@ msgid "" "practical information, or the :doc:`discussions ` for " "explanations and background on specific topics." msgstr "" +"もっと先進的な実際上の情報についてはこのサイトの :doc:`説明文書群 ` を、あるいは、特定の話題の説明や背景については :doc:`議論 ` を見てください。" #: ../source/tutorials/packaging-projects.rst:541 msgid "" @@ -28458,7 +28694,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:549 msgid "Notes" -msgstr "" +msgstr "ノート" #: ../source/tutorials/packaging-projects.rst:551 msgid "" @@ -28469,6 +28705,13 @@ msgid "" "recommended to stick with *regular packages* and ``__init__.py`` (even if " "the file is empty)." msgstr "" +"``__init__.py`` ファイルなしの Python " +"パッケージを作ることも技術的には可能ですが、そのようなものは :doc:`" +"名前空間パッケージ ` と呼ばれるもので、" +" (このチュートリアルでは取り扱わない) **先進的な話題** であると見做されていま" +"す。Pythonのパッケージングについてやり始めたばかりなのであれば、 " +"*通常のパッケージ* と (空のファイルだとしても) ``__init__.py`` " +"から離れないことをお薦めします。" #: ../source/specifications/binary-distribution-format.rst:42 msgid "" diff --git a/locales/ko/LC_MESSAGES/messages.po b/locales/ko/LC_MESSAGES/messages.po index 77eb31dca..49f31209a 100644 --- a/locales/ko/LC_MESSAGES/messages.po +++ b/locales/ko/LC_MESSAGES/messages.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-11-03 06:00+0000\n" "Last-Translator: 황인아 \n" "Language-Team: Korean `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3250,6 +3252,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5284,9 +5287,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11992,7 +11995,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12341,6 +12345,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12368,11 +12373,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13389,6 +13402,230 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +#, fuzzy +msgid "Package Building" +msgstr "패키지 인덱스" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +#, fuzzy +#| msgid "Documentation types" +msgid "Reference Implementation" +msgstr "문서 유형" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13418,14 +13655,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15621,12 +15850,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -#, fuzzy -#| msgid "Documentation types" -msgid "Reference Implementation" -msgstr "문서 유형" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/lzh/LC_MESSAGES/messages.po b/locales/lzh/LC_MESSAGES/messages.po index ba05fcd0b..81cecaad3 100644 --- a/locales/lzh/LC_MESSAGES/messages.po +++ b/locales/lzh/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-01-31 06:01+0000\n" "Last-Translator: maker \n" "Language-Team: Chinese (Literary) `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3181,6 +3183,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5203,9 +5206,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11902,7 +11905,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12251,6 +12255,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12278,11 +12283,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13299,6 +13312,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13328,14 +13562,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15527,10 +15753,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/mk/LC_MESSAGES/messages.po b/locales/mk/LC_MESSAGES/messages.po index 7e4811db6..2213475fe 100644 --- a/locales/mk/LC_MESSAGES/messages.po +++ b/locales/mk/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2023-10-21 04:04+0000\n" "Last-Translator: \"Kristijan \\\"Fremen\\\" Velkovski\" \n" "Language-Team: Macedonian `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3183,6 +3185,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5205,9 +5208,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11906,7 +11909,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12255,6 +12259,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12282,11 +12287,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13303,6 +13316,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13332,14 +13566,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15531,10 +15757,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/pl/LC_MESSAGES/messages.po b/locales/pl/LC_MESSAGES/messages.po index 23b30a614..a84a5fe62 100644 --- a/locales/pl/LC_MESSAGES/messages.po +++ b/locales/pl/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1663,7 +1663,9 @@ msgid "Where to read more about this?" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:213 -msgid "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" +msgid "" +"`Why you shouldn't invoke setup.py directly `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3175,6 +3177,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5197,9 +5200,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11896,7 +11899,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12245,6 +12249,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12272,11 +12277,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13293,6 +13306,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13322,14 +13556,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15521,10 +15747,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/pt_BR/LC_MESSAGES/messages.po b/locales/pt_BR/LC_MESSAGES/messages.po index d3072dc16..351d2cfbb 100644 --- a/locales/pt_BR/LC_MESSAGES/messages.po +++ b/locales/pt_BR/LC_MESSAGES/messages.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-07-30 13:48+0000\n" "Last-Translator: Alefsander Ribeiro Nascimento \n" "Language-Team: Portuguese (Brazil) `__ by Paul Ganssle" msgstr "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -4166,6 +4170,7 @@ msgid "Description" msgstr "Descrição" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -6763,10 +6768,15 @@ msgid "SciPy distributions" msgstr "Distribuições SciPy" #: ../source/guides/installing-scientific-packages.rst:91 +#, fuzzy +#| msgid "" +#| "The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an " +#| "easy to use and update format." msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" "O site SciPy lista `várias distribuições `_ que fornecem a pilha SciPy completa para usuários finais " @@ -15780,10 +15790,16 @@ msgstr "" "``data``, ``scripts``, ``headers``, ``purelib``, ``platlib``)." #: ../source/specifications/binary-distribution-format.rst:189 +#, fuzzy +#| msgid "" +#| "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" +#| "python'`` in order to enjoy script wrapper generation and ``#!python`` " +#| "rewriting at install time. They may have any or no extension." msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" "Scripts Python devem aparecer em ``scripts`` e começar exatamente com ``b'#!" "python'`` para desfrutar da geração do wrapper de script e reescrever ``#!" @@ -16273,6 +16289,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -16304,11 +16321,19 @@ msgstr "" "para alinhá-las com o que as ferramentas populares realmente fazem " "(fevereiro de 2021)." -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "Apêndice" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "Exemplo de implementação de urlsafe-base64-nopad::" @@ -17647,6 +17672,243 @@ msgstr "Marcação reStructuredText: https://docutils.sourceforge.io/" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" +#: ../source/specifications/dependency-groups.rst:5 +#, fuzzy +#| msgid "Dependency Overrides" +msgid "Dependency Groups" +msgstr "Substitui dependências" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "Especificação" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +#, fuzzy +#| msgid "Dependency Overrides" +msgid "Dependency Group Include" +msgstr "Substitui dependências" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +#, fuzzy +#| msgid "Package upload" +msgid "Package Building" +msgstr "Envio de pacotes" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +#, fuzzy +#| msgid "Installing Setuptools \"Extras\"" +msgid "Installing Dependency Groups & Extras" +msgstr "Instalando Setuptools \"extras\"" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +#, fuzzy +msgid "Validation and Compatibility" +msgstr "Compatibilidade da ABI" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +#, fuzzy +msgid "Reference Implementation" +msgstr "Tipos de documentação" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +#, fuzzy +#| msgid "" +#| "This document describes the dependency specifiers format as originally " +#| "specified in :pep:`508`." +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" +"Este documento descreve o formato dos especificadores de dependência " +"conforme originalmente especificado na :pep:`508`." + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "Especificadores de dependência" @@ -17691,14 +17953,6 @@ msgstr "" "é realmente implementado em pip, mas como :pep:`440` é aceito, usamos esse " "formato em vez do formato nativo atual de pip." -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "Especificação" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -20313,11 +20567,6 @@ msgstr "Exemplo" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -#, fuzzy -msgid "Reference Implementation" -msgstr "Tipos de documentação" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " @@ -30607,9 +30856,6 @@ msgstr "" #~ "points-and-automatic-script-creation>`_ da `documentação do setuptools " #~ "`." -#~ msgid "Installing Setuptools \"Extras\"" -#~ msgstr "Instalando Setuptools \"extras\"" - #~ msgid "Install `setuptools extras`_." #~ msgstr "Instale `setuptools extras`_." diff --git a/locales/ro/LC_MESSAGES/messages.po b/locales/ro/LC_MESSAGES/messages.po index 16a13a4f2..01a7881d7 100644 --- a/locales/ro/LC_MESSAGES/messages.po +++ b/locales/ro/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2021-08-20 01:32+0000\n" "Last-Translator: GUILHERME FERNANDES NETO \n" "Language-Team: Romanian `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3181,6 +3183,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5203,9 +5206,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11904,7 +11907,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12253,6 +12257,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12280,11 +12285,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13301,6 +13314,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13330,14 +13564,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15529,10 +15755,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/ru/LC_MESSAGES/messages.po b/locales/ru/LC_MESSAGES/messages.po index 200a8b8d7..f80f2ce5e 100644 --- a/locales/ru/LC_MESSAGES/messages.po +++ b/locales/ru/LC_MESSAGES/messages.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-07-15 14:09+0000\n" "Last-Translator: gfbdrgng \n" "Language-Team: Russian `__ by Paul Ganssle" msgstr "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -4166,6 +4170,7 @@ msgid "Description" msgstr "Описание" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -6807,10 +6812,15 @@ msgid "SciPy distributions" msgstr "Дистрибутивы SciPy" #: ../source/guides/installing-scientific-packages.rst:91 +#, fuzzy +#| msgid "" +#| "The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an " +#| "easy to use and update format." msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" "На сайте SciPy перечислены `несколько дистрибутивов `_, которые предоставляют полный стек SciPy конечным " @@ -15877,10 +15887,16 @@ msgstr "" "``headers``, ``purelib``, ``platlib``)." #: ../source/specifications/binary-distribution-format.rst:189 +#, fuzzy +#| msgid "" +#| "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" +#| "python'`` in order to enjoy script wrapper generation and ``#!python`` " +#| "rewriting at install time. They may have any or no extension." msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" "Python-скрипты должны находиться в ``scripts` и начинаться с ``b'#!python``, " "чтобы во время установки можно было сгенерировать обертку скрипта и " @@ -16363,6 +16379,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -16393,11 +16410,19 @@ msgstr "" "пересмотрены, чтобы привести их в соответствие с тем, что на самом деле " "делают популярные инструменты." -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "Приложение" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "Пример реализации urlsafe-base64-nopad::" @@ -17733,6 +17758,239 @@ msgstr "Разметка reStructuredText: https://docutils.sourceforge.io/" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "Длинные поля заголовка RFC 822: :rfc:`822#section-3.1.1`" +#: ../source/specifications/dependency-groups.rst:5 +#, fuzzy +#| msgid "Dependency Overrides" +msgid "Dependency Groups" +msgstr "Переопределение зависимостей" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "Спецификация" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +#, fuzzy +#| msgid "Dependency Overrides" +msgid "Dependency Group Include" +msgstr "Переопределение зависимостей" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +#, fuzzy +#| msgid "Package upload" +msgid "Package Building" +msgstr "Загрузка пакетов" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +#, fuzzy +#| msgid "Installing \"Extras\"" +msgid "Installing Dependency Groups & Extras" +msgstr "Установка \"Дополнений\"" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +#, fuzzy +#| msgid "Backwards Compatibility" +msgid "Validation and Compatibility" +msgstr "Обратная совместимость" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "Справочное осуществление" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +#, fuzzy +#| msgid "November 2015: This specification was approved through :pep:`508`." +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "Ноябрь 2015 г: Эта спецификация была одобрена через :pep:`508`." + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "Спецификаторы зависимостей" @@ -17776,14 +18034,6 @@ msgstr "" "версий `, на самом деле не реализована в pip, но мы " "используем этот формат, а не текущий родной формат pip." -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "Спецификация" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "Все возможности языка отображаются с помощью поиска по названию::" @@ -20716,10 +20966,6 @@ msgstr "Пример" msgid "The following is an example of a script with embedded metadata:" msgstr "Ниже приведен пример сценария со встроенными метаданными:" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "Справочное осуществление" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/sai/LC_MESSAGES/messages.po b/locales/sai/LC_MESSAGES/messages.po index 1a323da04..d76183ac6 100644 --- a/locales/sai/LC_MESSAGES/messages.po +++ b/locales/sai/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1663,7 +1663,9 @@ msgid "Where to read more about this?" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:213 -msgid "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" +msgid "" +"`Why you shouldn't invoke setup.py directly `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3175,6 +3177,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5197,9 +5200,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11896,7 +11899,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12245,6 +12249,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12272,11 +12277,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13293,6 +13306,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13322,14 +13556,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15521,10 +15747,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/si/LC_MESSAGES/messages.po b/locales/si/LC_MESSAGES/messages.po index dfa958a2d..2b21d74a5 100644 --- a/locales/si/LC_MESSAGES/messages.po +++ b/locales/si/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2022-06-11 08:19+0000\n" "Last-Translator: Kushan Gunasekera \n" "Language-Team: Sinhala `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3179,6 +3181,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5201,9 +5204,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11900,7 +11903,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12249,6 +12253,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12276,11 +12281,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13297,6 +13310,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13326,14 +13560,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15525,10 +15751,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/sk/LC_MESSAGES/messages.po b/locales/sk/LC_MESSAGES/messages.po index 671b6dc49..88b83c954 100644 --- a/locales/sk/LC_MESSAGES/messages.po +++ b/locales/sk/LC_MESSAGES/messages.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-11-02 00:54+0000\n" "Last-Translator: Milan Šalka \n" "Language-Team: Slovak `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3299,6 +3301,7 @@ msgid "Description" msgstr "Poznámka" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5333,9 +5336,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -12056,7 +12059,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12405,6 +12409,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12432,11 +12437,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13453,6 +13466,229 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +#, fuzzy +#| msgid "Documentation types" +msgid "Reference Implementation" +msgstr "Typy dokumentov" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13482,14 +13718,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15685,12 +15913,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -#, fuzzy -#| msgid "Documentation types" -msgid "Reference Implementation" -msgstr "Typy dokumentov" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/ta/LC_MESSAGES/messages.po b/locales/ta/LC_MESSAGES/messages.po index bee49ee07..972c775db 100644 --- a/locales/ta/LC_MESSAGES/messages.po +++ b/locales/ta/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1663,7 +1663,9 @@ msgid "Where to read more about this?" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:213 -msgid "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" +msgid "" +"`Why you shouldn't invoke setup.py directly `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3175,6 +3177,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5197,9 +5200,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11896,7 +11899,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12245,6 +12249,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12272,11 +12277,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13293,6 +13306,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13322,14 +13556,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15521,10 +15747,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/tr/LC_MESSAGES/messages.po b/locales/tr/LC_MESSAGES/messages.po index fbb9f238d..794118fb4 100644 --- a/locales/tr/LC_MESSAGES/messages.po +++ b/locales/tr/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-10-16 20:19+0000\n" "Last-Translator: Emr \n" "Language-Team: Turkish `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3178,6 +3180,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5200,9 +5203,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11899,7 +11902,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12248,6 +12252,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12275,11 +12280,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13296,6 +13309,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13325,14 +13559,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15524,10 +15750,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/uk/LC_MESSAGES/messages.po b/locales/uk/LC_MESSAGES/messages.po index 5ee0f8a50..aad1c65b6 100644 --- a/locales/uk/LC_MESSAGES/messages.po +++ b/locales/uk/LC_MESSAGES/messages.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-03-01 20:00+0000\n" "Last-Translator: Sviatoslav Sydorenko \n" "Language-Team: Ukrainian `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3558,6 +3560,7 @@ msgid "Description" msgstr "Опис" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5634,9 +5637,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -12414,7 +12417,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12766,6 +12770,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12793,11 +12798,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "Додаток" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13816,6 +13829,236 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +#, fuzzy +#| msgid "Dependency Overrides" +msgid "Dependency Groups" +msgstr "Перевизначення залежностей" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "Специфікація" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +#, fuzzy +#| msgid "Dependency Overrides" +msgid "Dependency Group Include" +msgstr "Перевизначення залежностей" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +#, fuzzy +#| msgid "Package Index" +msgid "Package Building" +msgstr "Реєстр Пакунків" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +#, fuzzy +msgid "Installing Dependency Groups & Extras" +msgstr "Встановлення пакунків" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +#, fuzzy +#| msgid "Documentation types" +msgid "Reference Implementation" +msgstr "Типи документації" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13845,14 +14088,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "Специфікація" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -16079,12 +16314,6 @@ msgstr "Приклади" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -#, fuzzy -#| msgid "Documentation types" -msgid "Reference Implementation" -msgstr "Типи документації" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/vi/LC_MESSAGES/messages.po b/locales/vi/LC_MESSAGES/messages.po index 4e53ab48e..b4c3cb586 100644 --- a/locales/vi/LC_MESSAGES/messages.po +++ b/locales/vi/LC_MESSAGES/messages.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-07-25 13:10+0000\n" "Last-Translator: Lenny Tran \n" "Language-Team: Vietnamese `__ by Paul Ganssle" msgstr "" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3203,6 +3205,7 @@ msgid "Description" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5225,9 +5228,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11924,7 +11927,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12273,6 +12277,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12300,11 +12305,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13321,6 +13334,227 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +msgid "Package Building" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +msgid "Installing Dependency Groups & Extras" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +msgid "Reference Implementation" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13350,14 +13584,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15549,10 +15775,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -msgid "Reference Implementation" -msgstr "" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/zh_Hans/LC_MESSAGES/messages.po b/locales/zh_Hans/LC_MESSAGES/messages.po index 72855aa03..f435f6410 100644 --- a/locales/zh_Hans/LC_MESSAGES/messages.po +++ b/locales/zh_Hans/LC_MESSAGES/messages.po @@ -27,13 +27,14 @@ # 大王叫我来巡山 , 2024. # Peter Shen , 2024. # hello_wac , 2024. +# Xianpeng Shen , 2024. msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" -"PO-Revision-Date: 2024-11-12 08:00+0000\n" -"Last-Translator: hello_wac \n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" +"PO-Revision-Date: 2024-12-15 11:00+0000\n" +"Last-Translator: Xianpeng Shen \n" "Language-Team: Chinese (Simplified Han script) \n" "Language: zh_Hans\n" @@ -41,7 +42,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.8.2\n" +"X-Generator: Weblate 5.9-rc\n" #: ../source/contribute.rst:5 msgid "Contribute to this guide" @@ -2004,8 +2005,12 @@ msgid "Where to read more about this?" msgstr "从哪里可以了解更多相关信息?" #: ../source/discussions/setup-py-deprecated.rst:213 -msgid "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" -msgstr "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" +msgid "" +"`Why you shouldn't invoke setup.py directly `__ by Paul Ganssle" +msgstr "" +"`为什么你不应该再直接使用 setup.py `__ by Paul Ganssle" #: ../source/discussions/setup-py-deprecated.rst:215 msgid ":doc:`setuptools:deprecated/commands`" @@ -2612,7 +2617,7 @@ msgstr "" #: ../source/discussions/versioning.rst:177 msgid "Accessing version information at runtime" -msgstr "" +msgstr "在运行时访问版本信息" #: ../source/discussions/versioning.rst:179 msgid "" @@ -2621,12 +2626,17 @@ msgid "" "obtained at runtime using the standard library's :func:`importlib.metadata." "version` function::" msgstr "" +"可以在运行时使用标准库的 :func:`importlib.metadata.version` 函数 :: 获取当前" +"环境中本地可用的所有 :term:`distribution packages ` 的" +"版本信息:" #: ../source/discussions/versioning.rst:186 msgid "" "Many projects also choose to version their top level :term:`import packages " "` by providing a package level ``__version__`` attribute::" msgstr "" +"许多项目还选择通过提供包级别 ``__version__`` 属性来对其顶级 :term:`import " +"packages ` 进行版本控制::" #: ../source/discussions/versioning.rst:194 msgid "" @@ -2634,6 +2644,8 @@ msgid "" "to ensure that version query invocations (such as ``pip -V``) run as quickly " "as possible." msgstr "" +"对于希望确保版本查询调用(例如``pip -V``)尽快运行的 CLI 应用程序来说,此技术" +"特别有价值。" #: ../source/discussions/versioning.rst:198 msgid "" @@ -2641,6 +2653,8 @@ msgid "" "import package versions are consistent with each other can review the :ref:" "`single-source-version` discussion for potential approaches to doing so." msgstr "" +"希望确保其报告的分发包和导入包版本彼此一致的包发布者可以查看 :ref:`single-" +"source-version` 讨论,了解可能的实现方法。" #: ../source/discussions/versioning.rst:202 msgid "" @@ -3729,6 +3743,7 @@ msgid "Description" msgstr "描述" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5855,9 +5870,9 @@ msgstr "SciPy 发行版" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -12823,7 +12838,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -13175,6 +13191,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -13202,11 +13219,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -14224,6 +14249,236 @@ msgstr "reStructuredText 标记:https://docutils.sourceforge.io/" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +#, fuzzy +#| msgid "Dependency Overrides" +msgid "Dependency Groups" +msgstr "依赖性覆盖" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "技术参数" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +#, fuzzy +#| msgid "Dependency Overrides" +msgid "Dependency Group Include" +msgstr "依赖性覆盖" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +#, fuzzy +#| msgid "Package upload" +msgid "Package Building" +msgstr "上传软件包" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +#, fuzzy +#| msgid "Installing \"Extras\"" +msgid "Installing Dependency Groups & Extras" +msgstr "安装\"附加功能\"" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +#, fuzzy +msgid "Reference Implementation" +msgstr "文档类型" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -14253,14 +14508,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "技术参数" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -16464,11 +16711,6 @@ msgstr "例子" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -#, fuzzy -msgid "Reference Implementation" -msgstr "文档类型" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or " diff --git a/locales/zh_Hant/LC_MESSAGES/messages.po b/locales/zh_Hant/LC_MESSAGES/messages.po index d6b150a89..fda630066 100644 --- a/locales/zh_Hant/LC_MESSAGES/messages.po +++ b/locales/zh_Hant/LC_MESSAGES/messages.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 21:53+0000\n" +"POT-Creation-Date: 2025-01-07 04:23+0000\n" "PO-Revision-Date: 2024-07-03 11:26+0000\n" "Last-Translator: Ricky From Hong Kong \n" "Language-Team: Chinese (Traditional) `__ by Paul Ganssle" msgstr "https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html" #: ../source/discussions/setup-py-deprecated.rst:215 @@ -3227,6 +3231,7 @@ msgid "Description" msgstr "描述" #: ../source/guides/analyzing-pypi-package-downloads.rst:77 +#: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:347 #: ../source/specifications/version-specifiers.rst:1069 @@ -5276,9 +5281,9 @@ msgstr "" #: ../source/guides/installing-scientific-packages.rst:91 msgid "" -"The SciPy site lists `several distributions `_ that provide the full SciPy stack to end users in an easy " -"to use and update format." +"The SciPy site lists `several distributions `_ " +"that provide the full SciPy stack to end users in an easy to use and update " +"format." msgstr "" #: ../source/guides/installing-scientific-packages.rst:96 @@ -11995,7 +12000,8 @@ msgstr "" msgid "" "Python scripts must appear in ``scripts`` and begin with exactly ``b'#!" "python'`` in order to enjoy script wrapper generation and ``#!python`` " -"rewriting at install time. They may have any or no extension." +"rewriting at install time. They may have any or no extension. The " +"``scripts`` directory may only contain regular files." msgstr "" #: ../source/specifications/binary-distribution-format.rst:193 @@ -12346,6 +12352,7 @@ msgstr "" #: ../source/specifications/binary-distribution-format.rst:421 #: ../source/specifications/core-metadata.rst:917 +#: ../source/specifications/dependency-groups.rst:248 #: ../source/specifications/dependency-specifiers.rst:477 #: ../source/specifications/direct-url-data-structure.rst:397 #: ../source/specifications/direct-url.rst:67 @@ -12373,11 +12380,19 @@ msgid "" "bring them into line with what popular tools actually do." msgstr "" -#: ../source/specifications/binary-distribution-format.rst:429 +#: ../source/specifications/binary-distribution-format.rst:426 +msgid "" +"December 2024: Clarified that the ``scripts`` folder should only contain " +"regular files (the expected behaviour of consuming tools when encountering " +"symlinks or subdirectories in this folder is not formally defined, and hence " +"may vary between tools)." +msgstr "" + +#: ../source/specifications/binary-distribution-format.rst:433 msgid "Appendix" msgstr "附錄" -#: ../source/specifications/binary-distribution-format.rst:431 +#: ../source/specifications/binary-distribution-format.rst:435 msgid "Example urlsafe-base64-nopad implementation::" msgstr "" @@ -13394,6 +13409,232 @@ msgstr "" msgid "RFC 822 Long Header Fields: :rfc:`822#section-3.1.1`" msgstr "" +#: ../source/specifications/dependency-groups.rst:5 +msgid "Dependency Groups" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:7 +msgid "" +"This specification defines Dependency Groups, a mechanism for storing " +"package requirements in ``pyproject.toml`` files such that they are not " +"included in project metadata when it is built." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:11 +msgid "" +"Dependency Groups are suitable for internal development use-cases like " +"linting and testing, as well as for projects which are not built for " +"distribution, like collections of related scripts." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:15 +msgid "" +"Fundamentally, Dependency Groups should be thought of as being a " +"standardized subset of the capabilities of ``requirements.txt`` files (which " +"are ``pip``-specific)." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:20 +#: ../source/specifications/dependency-specifiers.rst:26 +#: ../source/specifications/direct-url-data-structure.rst:19 +#: ../source/specifications/direct-url.rst:15 +#: ../source/specifications/index-hosted-attestations.rst:17 +#: ../source/specifications/inline-script-metadata.rst:13 +msgid "Specification" +msgstr "規格" + +#: ../source/specifications/dependency-groups.rst:25 +msgid "This is a simple table which shows a ``test`` group::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:30 +msgid "and a similar table which defines ``test`` and ``coverage`` groups::" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:37 +msgid "The ``[dependency-groups]`` Table" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:39 +msgid "" +"Dependency Groups are defined as a table in ``pyproject.toml`` named " +"``dependency-groups``. The ``dependency-groups`` table contains an arbitrary " +"number of user-defined keys, each of which has, as its value, a list of " +"requirements." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:44 +msgid "" +"``[dependency-groups]`` keys, sometimes also called \"group names\", must " +"be :ref:`valid non-normalized names `. Tools which handle " +"Dependency Groups MUST :ref:`normalize ` these names " +"before comparisons." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:49 +msgid "" +"Tools SHOULD prefer to present the original, non-normalized name to users, " +"and if duplicate names are detected after normalization, tools SHOULD emit " +"an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:53 +msgid "" +"Requirement lists, the values in ``[dependency-groups]``, may contain " +"strings, tables (``dict`` in Python), or a mix of strings and tables. " +"Strings must be valid :ref:`dependency specifiers `, " +"and tables must be valid Dependency Group Includes." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:59 +msgid "Dependency Group Include" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:61 +msgid "" +"A Dependency Group Include includes another Dependency Group in the current " +"group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:64 +msgid "" +"An include is a table with exactly one key, ``\"include-group\"``, whose " +"value is a string, the name of another Dependency Group." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:67 +msgid "" +"Includes are defined to be exactly equivalent to the contents of the named " +"Dependency Group, inserted into the current group at the location of the " +"include. For example, if ``foo = [\"a\", \"b\"]`` is one group, and ``bar = " +"[\"c\", {include-group = \"foo\"}, \"d\"]`` is another, then ``bar`` should " +"evaluate to ``[\"c\", \"a\", \"b\", \"d\"]`` when Dependency Group Includes " +"are expanded." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:73 +msgid "" +"Dependency Group Includes may specify the same package multiple times. Tools " +"SHOULD NOT deduplicate or otherwise alter the list contents produced by the " +"include. For example, given the following table:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:90 +msgid "" +"The resolved value of ``all`` SHOULD be ``[\"foo\", \"foo\", \"foo>1.0\", " +"\"foo<1.0\"]``. Tools should handle such a list exactly as they would handle " +"any other case in which they are asked to process the same requirement " +"multiple times with different version constraints." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:95 +msgid "" +"Dependency Group Includes may include groups containing Dependency Group " +"Includes, in which case those includes should be expanded as well. " +"Dependency Group Includes MUST NOT include cycles, and tools SHOULD report " +"an error if they detect a cycle." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:100 +#, fuzzy +#| msgid "Package Index" +msgid "Package Building" +msgstr "套件索引" + +#: ../source/specifications/dependency-groups.rst:102 +msgid "" +"Build backends MUST NOT include Dependency Group data in built distributions " +"as package metadata. This means that sdist ``PKG-INFO`` and wheel " +"``METADATA`` files should not include referenceable fields containing " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:106 +msgid "" +"It is, however, valid to use Dependency Groups in the evaluation of dynamic " +"metadata, and ``pyproject.toml`` files included in sdists will still contain " +"``[dependency-groups]``. However, the table's contents are not part of a " +"built package's interfaces." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:112 +#, fuzzy +msgid "Installing Dependency Groups & Extras" +msgstr "安裝軟體套件" + +#: ../source/specifications/dependency-groups.rst:114 +msgid "" +"There is no syntax or specification-defined interface for installing or " +"referring to Dependency Groups. Tools are expected to provide dedicated " +"interfaces for this purpose." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:118 +msgid "" +"Tools MAY choose to provide the same or similar interfaces for interacting " +"with Dependency Groups as they do for managing extras. Tools authors are " +"advised that the specification does not forbid having an extra whose name " +"matches a Dependency Group. Separately, users are advised to avoid creating " +"Dependency Groups whose names match extras, and tools MAY treat such " +"matching as an error." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:126 +msgid "Validation and Compatibility" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:128 +msgid "" +"Tools supporting Dependency Groups may want to validate data before using " +"it. When implementing such validation, authors should be aware of the " +"possibility of future extensions to the specification, so that they do not " +"unnecessarily emit errors or warnings." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:133 +msgid "" +"Tools SHOULD error when evaluating or processing unrecognized data in " +"Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:136 +msgid "" +"Tools SHOULD NOT eagerly validate the contents of *all* Dependency Groups " +"unless they have a need to do so." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:139 +msgid "" +"This means that in the presence of the following data, most tools should " +"allow the ``foo`` group to be used and only error if the ``bar`` group is " +"used:" +msgstr "" + +#: ../source/specifications/dependency-groups.rst:150 +msgid "" +"There are several known cases of tools which have good cause to be stricter. " +"Linters and validators are an example, as their purpose is to validate the " +"contents of all Dependency Groups." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:155 +#: ../source/specifications/inline-script-metadata.rst:123 +#, fuzzy +#| msgid "Documentation types" +msgid "Reference Implementation" +msgstr "文件類型" + +#: ../source/specifications/dependency-groups.rst:157 +msgid "" +"The following Reference Implementation prints the contents of a Dependency " +"Group to stdout, newline delimited. The output is therefore valid " +"``requirements.txt`` data." +msgstr "" + +#: ../source/specifications/dependency-groups.rst:250 +msgid "October 2024: This specification was approved through :pep:`735`." +msgstr "" + #: ../source/specifications/dependency-specifiers.rst:7 msgid "Dependency specifiers" msgstr "" @@ -13423,14 +13664,6 @@ msgid "" "we use that format rather than pip's current native format." msgstr "" -#: ../source/specifications/dependency-specifiers.rst:26 -#: ../source/specifications/direct-url-data-structure.rst:19 -#: ../source/specifications/direct-url.rst:15 -#: ../source/specifications/index-hosted-attestations.rst:17 -#: ../source/specifications/inline-script-metadata.rst:13 -msgid "Specification" -msgstr "規格" - #: ../source/specifications/dependency-specifiers.rst:31 msgid "All features of the language shown with a name based lookup::" msgstr "" @@ -15627,12 +15860,6 @@ msgstr "" msgid "The following is an example of a script with embedded metadata:" msgstr "" -#: ../source/specifications/inline-script-metadata.rst:123 -#, fuzzy -#| msgid "Documentation types" -msgid "Reference Implementation" -msgstr "文件類型" - #: ../source/specifications/inline-script-metadata.rst:125 msgid "" "The following is an example of how to read the metadata on Python 3.11 or "