|
8 | 8 | msgstr "" |
9 | 9 | "Project-Id-Version: Python Packaging User Guide \n" |
10 | 10 | "Report-Msgid-Bugs-To: \n" |
11 | | -"POT-Creation-Date: 2025-11-24 00:10+0000\n" |
| 11 | +"POT-Creation-Date: 2025-11-25 23:26+0000\n" |
12 | 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
13 | 13 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
14 | 14 | "Language-Team: LANGUAGE < [email protected]>\n" |
@@ -2640,7 +2640,7 @@ msgstr "" |
2640 | 2640 | #: ../source/specifications/dependency-groups.rst:23 |
2641 | 2641 | #: ../source/specifications/dependency-specifiers.rst:29 |
2642 | 2642 | #: ../source/specifications/direct-url-data-structure.rst:242 |
2643 | | -#: ../source/specifications/version-specifiers.rst:1072 |
| 2643 | +#: ../source/specifications/version-specifiers.rst:1073 |
2644 | 2644 | msgid "Examples" |
2645 | 2645 | msgstr "" |
2646 | 2646 |
|
@@ -9219,7 +9219,7 @@ msgstr "" |
9219 | 9219 | #: ../source/specifications/recording-installed-packages.rst:278 |
9220 | 9220 | #: ../source/specifications/simple-repository-api.rst:972 |
9221 | 9221 | #: ../source/specifications/source-distribution-format.rst:153 |
9222 | | -#: ../source/specifications/version-specifiers.rst:1269 |
| 9222 | +#: ../source/specifications/version-specifiers.rst:1270 |
9223 | 9223 | #: ../source/specifications/virtual-environments.rst:54 |
9224 | 9224 | msgid "History" |
9225 | 9225 | msgstr "" |
@@ -16975,213 +16975,217 @@ msgid "Arbitrary equality" |
16975 | 16975 | msgstr "" |
16976 | 16976 |
|
16977 | 16977 | #: ../source/specifications/version-specifiers.rst:1017 |
16978 | | -msgid "Arbitrary equality comparisons are simple string equality operations which do not take into account any of the semantic information such as zero padding or local versions. This operator also does not support prefix matching as the ``==`` operator does." |
| 16978 | +msgid "Arbitrary equality comparisons are simple string equality operations which do not take into account any of the semantic information such as zero padding or local versions. The comparison MUST treat ASCII letters case-insensitively, e.g. by lowercasing, and is unspecified for non-ASCII text. This operator also does not support prefix matching as the ``==`` operator does." |
16979 | 16979 | msgstr "" |
16980 | 16980 |
|
16981 | | -#: ../source/specifications/version-specifiers.rst:1022 |
| 16981 | +#: ../source/specifications/version-specifiers.rst:1023 |
16982 | 16982 | msgid "The primary use case for arbitrary equality is to allow for specifying a version which cannot otherwise be represented by this specification. This operator is special and acts as an escape hatch to allow someone using a tool which implements this specification to still install a legacy version which is otherwise incompatible with this specification." |
16983 | 16983 | msgstr "" |
16984 | 16984 |
|
16985 | | -#: ../source/specifications/version-specifiers.rst:1028 |
| 16985 | +#: ../source/specifications/version-specifiers.rst:1029 |
16986 | 16986 | msgid "An example would be ``===foobar`` which would match a version of ``foobar``." |
16987 | 16987 | msgstr "" |
16988 | 16988 |
|
16989 | | -#: ../source/specifications/version-specifiers.rst:1030 |
| 16989 | +#: ../source/specifications/version-specifiers.rst:1031 |
16990 | 16990 | msgid "This operator may also be used to explicitly require an unpatched version of a project such as ``===1.0`` which would not match for a version ``1.0+downstream1``." |
16991 | 16991 | msgstr "" |
16992 | 16992 |
|
16993 | | -#: ../source/specifications/version-specifiers.rst:1034 |
| 16993 | +#: ../source/specifications/version-specifiers.rst:1035 |
16994 | 16994 | msgid "Use of this operator is heavily discouraged and tooling MAY display a warning when it is used." |
16995 | 16995 | msgstr "" |
16996 | 16996 |
|
16997 | | -#: ../source/specifications/version-specifiers.rst:1039 |
| 16997 | +#: ../source/specifications/version-specifiers.rst:1040 |
16998 | 16998 | msgid "Handling of pre-releases" |
16999 | 16999 | msgstr "" |
17000 | 17000 |
|
17001 | | -#: ../source/specifications/version-specifiers.rst:1041 |
| 17001 | +#: ../source/specifications/version-specifiers.rst:1042 |
17002 | 17002 | msgid "Pre-releases of any kind, including developmental releases, are implicitly excluded from all version specifiers, *unless* they are already present on the system, explicitly requested by the user, or if the only available version that satisfies the version specifier is a pre-release." |
17003 | 17003 | msgstr "" |
17004 | 17004 |
|
17005 | | -#: ../source/specifications/version-specifiers.rst:1046 |
| 17005 | +#: ../source/specifications/version-specifiers.rst:1047 |
17006 | 17006 | msgid "By default, dependency resolution tools SHOULD:" |
17007 | 17007 | msgstr "" |
17008 | 17008 |
|
17009 | | -#: ../source/specifications/version-specifiers.rst:1048 |
| 17009 | +#: ../source/specifications/version-specifiers.rst:1049 |
17010 | 17010 | msgid "accept already installed pre-releases for all version specifiers" |
17011 | 17011 | msgstr "" |
17012 | 17012 |
|
17013 | | -#: ../source/specifications/version-specifiers.rst:1049 |
| 17013 | +#: ../source/specifications/version-specifiers.rst:1050 |
17014 | 17014 | msgid "accept remotely available pre-releases for version specifiers where there is no final or post release that satisfies the version specifier" |
17015 | 17015 | msgstr "" |
17016 | 17016 |
|
17017 | | -#: ../source/specifications/version-specifiers.rst:1051 |
| 17017 | +#: ../source/specifications/version-specifiers.rst:1052 |
17018 | 17018 | msgid "exclude all other pre-releases from consideration" |
17019 | 17019 | msgstr "" |
17020 | 17020 |
|
17021 | | -#: ../source/specifications/version-specifiers.rst:1053 |
| 17021 | +#: ../source/specifications/version-specifiers.rst:1054 |
17022 | 17022 | msgid "Dependency resolution tools MAY issue a warning if a pre-release is needed to satisfy a version specifier." |
17023 | 17023 | msgstr "" |
17024 | 17024 |
|
17025 | | -#: ../source/specifications/version-specifiers.rst:1056 |
| 17025 | +#: ../source/specifications/version-specifiers.rst:1057 |
17026 | 17026 | msgid "Dependency resolution tools SHOULD also allow users to request the following alternative behaviours:" |
17027 | 17027 | msgstr "" |
17028 | 17028 |
|
17029 | | -#: ../source/specifications/version-specifiers.rst:1059 |
| 17029 | +#: ../source/specifications/version-specifiers.rst:1060 |
17030 | 17030 | msgid "accepting pre-releases for all version specifiers" |
17031 | 17031 | msgstr "" |
17032 | 17032 |
|
17033 | | -#: ../source/specifications/version-specifiers.rst:1060 |
| 17033 | +#: ../source/specifications/version-specifiers.rst:1061 |
17034 | 17034 | msgid "excluding pre-releases for all version specifiers (reporting an error or warning if a pre-release is already installed locally, or if a pre-release is the only way to satisfy a particular specifier)" |
17035 | 17035 | msgstr "" |
17036 | 17036 |
|
17037 | | -#: ../source/specifications/version-specifiers.rst:1064 |
| 17037 | +#: ../source/specifications/version-specifiers.rst:1065 |
17038 | 17038 | msgid "Dependency resolution tools MAY also allow the above behaviour to be controlled on a per-distribution basis." |
17039 | 17039 | msgstr "" |
17040 | 17040 |
|
17041 | | -#: ../source/specifications/version-specifiers.rst:1067 |
| 17041 | +#: ../source/specifications/version-specifiers.rst:1068 |
17042 | 17042 | msgid "Post-releases and final releases receive no special treatment in version specifiers - they are always included unless explicitly excluded." |
17043 | 17043 | msgstr "" |
17044 | 17044 |
|
17045 | | -#: ../source/specifications/version-specifiers.rst:1074 |
| 17045 | +#: ../source/specifications/version-specifiers.rst:1075 |
17046 | 17046 | msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." |
17047 | 17047 | msgstr "" |
17048 | 17048 |
|
17049 | | -#: ../source/specifications/version-specifiers.rst:1075 |
| 17049 | +#: ../source/specifications/version-specifiers.rst:1076 |
17050 | 17050 | msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." |
17051 | 17051 | msgstr "" |
17052 | 17052 |
|
17053 | | -#: ../source/specifications/version-specifiers.rst:1076 |
| 17053 | +#: ../source/specifications/version-specifiers.rst:1077 |
17054 | 17054 | msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." |
17055 | 17055 | msgstr "" |
17056 | 17056 |
|
17057 | | -#: ../source/specifications/version-specifiers.rst:1077 |
| 17057 | +#: ../source/specifications/version-specifiers.rst:1078 |
17058 | 17058 | 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." |
17059 | 17059 | msgstr "" |
17060 | 17060 |
|
17061 | | -#: ../source/specifications/version-specifiers.rst:1079 |
| 17061 | +#: ../source/specifications/version-specifiers.rst:1080 |
17062 | 17062 | msgid "``== 3.1.*``: any version that starts with 3.1. Equivalent to the ``~=3.1.0`` compatible release clause." |
17063 | 17063 | msgstr "" |
17064 | 17064 |
|
17065 | | -#: ../source/specifications/version-specifiers.rst:1081 |
| 17065 | +#: ../source/specifications/version-specifiers.rst:1082 |
17066 | 17066 | 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." |
17067 | 17067 | msgstr "" |
17068 | 17068 |
|
17069 | | -#: ../source/specifications/version-specifiers.rst:1086 |
| 17069 | +#: ../source/specifications/version-specifiers.rst:1087 |
17070 | 17070 | msgid "Direct references" |
17071 | 17071 | msgstr "" |
17072 | 17072 |
|
17073 | | -#: ../source/specifications/version-specifiers.rst:1088 |
| 17073 | +#: ../source/specifications/version-specifiers.rst:1089 |
17074 | 17074 | msgid "Some automated tools may permit the use of a direct reference as an alternative to a normal version specifier. A direct reference consists of the specifier ``@`` and an explicit URL." |
17075 | 17075 | msgstr "" |
17076 | 17076 |
|
17077 | | -#: ../source/specifications/version-specifiers.rst:1092 |
| 17077 | +#: ../source/specifications/version-specifiers.rst:1093 |
17078 | 17078 | msgid "Whether or not direct references are appropriate depends on the specific use case for the version specifier. Automated tools SHOULD at least issue warnings and MAY reject them entirely when direct references are used inappropriately." |
17079 | 17079 | msgstr "" |
17080 | 17080 |
|
17081 | | -#: ../source/specifications/version-specifiers.rst:1097 |
| 17081 | +#: ../source/specifications/version-specifiers.rst:1098 |
17082 | 17082 | msgid "Public index servers SHOULD NOT allow the use of direct references in uploaded distributions. Direct references are intended as a tool for software integrators rather than publishers." |
17083 | 17083 | msgstr "" |
17084 | 17084 |
|
17085 | | -#: ../source/specifications/version-specifiers.rst:1101 |
| 17085 | +#: ../source/specifications/version-specifiers.rst:1102 |
17086 | 17086 | msgid "Depending on the use case, some appropriate targets for a direct URL reference may be an sdist or a wheel binary archive. The exact URLs and targets supported will be tool dependent." |
17087 | 17087 | msgstr "" |
17088 | 17088 |
|
17089 | | -#: ../source/specifications/version-specifiers.rst:1105 |
| 17089 | +#: ../source/specifications/version-specifiers.rst:1106 |
17090 | 17090 | msgid "For example, a local source archive may be referenced directly::" |
17091 | 17091 | msgstr "" |
17092 | 17092 |
|
17093 | | -#: ../source/specifications/version-specifiers.rst:1109 |
| 17093 | +#: ../source/specifications/version-specifiers.rst:1110 |
17094 | 17094 | msgid "Alternatively, a prebuilt archive may also be referenced::" |
17095 | 17095 | msgstr "" |
17096 | 17096 |
|
17097 | | -#: ../source/specifications/version-specifiers.rst:1113 |
| 17097 | +#: ../source/specifications/version-specifiers.rst:1114 |
17098 | 17098 | msgid "All direct references that do not refer to a local file URL SHOULD specify a secure transport mechanism (such as ``https``) AND include an expected hash value in the URL for verification purposes. If a direct reference is specified without any hash information, with hash information that the tool doesn't understand, or with a selected hash algorithm that the tool considers too weak to trust, automated tools SHOULD at least emit a warning 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." |
17099 | 17099 | msgstr "" |
17100 | 17100 |
|
17101 | | -#: ../source/specifications/version-specifiers.rst:1122 |
| 17101 | +#: ../source/specifications/version-specifiers.rst:1123 |
17102 | 17102 | 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 for source archive hashes. At time of writing, that list consists of ``'md5'``, ``'sha1'``, ``'sha224'``, ``'sha256'``, ``'sha384'``, and ``'sha512'``." |
17103 | 17103 | msgstr "" |
17104 | 17104 |
|
17105 | | -#: ../source/specifications/version-specifiers.rst:1128 |
| 17105 | +#: ../source/specifications/version-specifiers.rst:1129 |
17106 | 17106 | msgid "For source archive and wheel references, an expected hash value may be specified by including a ``<hash-algorithm>=<expected-hash>`` entry as part of the URL fragment." |
17107 | 17107 | msgstr "" |
17108 | 17108 |
|
17109 | | -#: ../source/specifications/version-specifiers.rst:1132 |
| 17109 | +#: ../source/specifications/version-specifiers.rst:1133 |
17110 | 17110 | 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." |
17111 | 17111 | msgstr "" |
17112 | 17112 |
|
17113 | | -#: ../source/specifications/version-specifiers.rst:1138 |
| 17113 | +#: ../source/specifications/version-specifiers.rst:1139 |
17114 | 17114 | 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 ``@<commit-hash>`` or the ``@<tag>#<commit-hash>`` notation." |
17115 | 17115 | msgstr "" |
17116 | 17116 |
|
17117 | | -#: ../source/specifications/version-specifiers.rst:1145 |
| 17117 | +#: ../source/specifications/version-specifiers.rst:1146 |
17118 | 17118 | 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)." |
17119 | 17119 | msgstr "" |
17120 | 17120 |
|
17121 | | -#: ../source/specifications/version-specifiers.rst:1153 |
| 17121 | +#: ../source/specifications/version-specifiers.rst:1154 |
17122 | 17122 | msgid "Remote URL examples::" |
17123 | 17123 | msgstr "" |
17124 | 17124 |
|
17125 | | -#: ../source/specifications/version-specifiers.rst:1161 |
| 17125 | +#: ../source/specifications/version-specifiers.rst:1162 |
17126 | 17126 | msgid "File URLs" |
17127 | 17127 | msgstr "" |
17128 | 17128 |
|
17129 | | -#: ../source/specifications/version-specifiers.rst:1163 |
| 17129 | +#: ../source/specifications/version-specifiers.rst:1164 |
17130 | 17130 | msgid "File URLs take the form of ``file://<host>/<path>``. If the ``<host>`` is omitted it is assumed to be ``localhost`` and even if the ``<host>`` is omitted the third slash MUST still exist. The ``<path>`` defines what the file path on the filesystem that is to be accessed." |
17131 | 17131 | msgstr "" |
17132 | 17132 |
|
17133 | | -#: ../source/specifications/version-specifiers.rst:1168 |
| 17133 | +#: ../source/specifications/version-specifiers.rst:1169 |
17134 | 17134 | msgid "On the various \\*nix operating systems the only allowed values for ``<host>`` 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." |
17135 | 17135 | msgstr "" |
17136 | 17136 |
|
17137 | | -#: ../source/specifications/version-specifiers.rst:1173 |
| 17137 | +#: ../source/specifications/version-specifiers.rst:1174 |
17138 | 17138 | msgid "On Windows the file format should include the drive letter if applicable as part of the ``<path>`` (e.g. ``file:///c:/path/to/a/file``). Unlike \\*nix on Windows the ``<host>`` 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 <https://web.archive.org/web/20130321051043/http://blogs.msdn.com/b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." |
17139 | 17139 | msgstr "" |
17140 | 17140 |
|
17141 | | -#: ../source/specifications/version-specifiers.rst:1184 |
| 17141 | +#: ../source/specifications/version-specifiers.rst:1185 |
17142 | 17142 | msgid "Summary of differences from pkg_resources.parse_version" |
17143 | 17143 | msgstr "" |
17144 | 17144 |
|
17145 | | -#: ../source/specifications/version-specifiers.rst:1186 |
| 17145 | +#: ../source/specifications/version-specifiers.rst:1187 |
17146 | 17146 | 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." |
17147 | 17147 | msgstr "" |
17148 | 17148 |
|
17149 | | -#: ../source/specifications/version-specifiers.rst:1190 |
| 17149 | +#: ../source/specifications/version-specifiers.rst:1191 |
17150 | 17150 | 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." |
17151 | 17151 | msgstr "" |
17152 | 17152 |
|
17153 | | -#: ../source/specifications/version-specifiers.rst:1194 |
| 17153 | +#: ../source/specifications/version-specifiers.rst:1195 |
17154 | 17154 | 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." |
17155 | 17155 | msgstr "" |
17156 | 17156 |
|
17157 | | -#: ../source/specifications/version-specifiers.rst:1198 |
| 17157 | +#: ../source/specifications/version-specifiers.rst:1199 |
17158 | 17158 | 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." |
17159 | 17159 | msgstr "" |
17160 | 17160 |
|
17161 | | -#: ../source/specifications/version-specifiers.rst:1207 |
| 17161 | +#: ../source/specifications/version-specifiers.rst:1208 |
17162 | 17162 | msgid "Appendix: Parsing version strings with regular expressions" |
17163 | 17163 | msgstr "" |
17164 | 17164 |
|
17165 | | -#: ../source/specifications/version-specifiers.rst:1209 |
| 17165 | +#: ../source/specifications/version-specifiers.rst:1210 |
17166 | 17166 | 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." |
17167 | 17167 | msgstr "" |
17168 | 17168 |
|
17169 | | -#: ../source/specifications/version-specifiers.rst:1215 |
| 17169 | +#: ../source/specifications/version-specifiers.rst:1216 |
17170 | 17170 | msgid "To test whether a version identifier is in the canonical format, you can use the following function:" |
17171 | 17171 | msgstr "" |
17172 | 17172 |
|
17173 | | -#: ../source/specifications/version-specifiers.rst:1224 |
| 17173 | +#: ../source/specifications/version-specifiers.rst:1225 |
17174 | 17174 | msgid "To extract the components of a version identifier, use the following regular expression (as defined by the `packaging <https://github.com/pypa/packaging>`_ project):" |
17175 | 17175 | msgstr "" |
17176 | 17176 |
|
17177 | | -#: ../source/specifications/version-specifiers.rst:1271 |
| 17177 | +#: ../source/specifications/version-specifiers.rst:1272 |
17178 | 17178 | msgid "August 2014: This specification was approved through :pep:`440`." |
17179 | 17179 | msgstr "" |
17180 | 17180 |
|
17181 | | -#: ../source/specifications/version-specifiers.rst:1272 |
| 17181 | +#: ../source/specifications/version-specifiers.rst:1273 |
17182 | 17182 | msgid "May 2025: Clarify that development releases are a form of pre-release when they are handled." |
17183 | 17183 | msgstr "" |
17184 | 17184 |
|
| 17185 | +#: ../source/specifications/version-specifiers.rst:1275 |
| 17186 | +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." |
| 17187 | +msgstr "" |
| 17188 | + |
17185 | 17189 | #: ../source/specifications/virtual-environments.rst:6 |
17186 | 17190 | msgid "Python Virtual Environments" |
17187 | 17191 | msgstr "" |
|
0 commit comments