diff --git a/locales/ar/LC_MESSAGES/messages.po b/locales/ar/LC_MESSAGES/messages.po index a334f4dec..3673c5d43 100644 --- a/locales/ar/LC_MESSAGES/messages.po +++ b/locales/ar/LC_MESSAGES/messages.po @@ -4,13 +4,14 @@ # Monzer Ghannam , 2022. # Youcef Guenaoua , 2024. # Mohamed Brahimi , 2025. +# HAMDI KHALID , 2025. msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-24 00:10+0000\n" -"PO-Revision-Date: 2025-01-19 01:44+0000\n" -"Last-Translator: Mohamed Brahimi \n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" +"PO-Revision-Date: 2025-12-15 04:00+0000\n" +"Last-Translator: HAMDI KHALID \n" "Language-Team: Arabic \n" "Language: ar\n" @@ -19,7 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 5.10-dev\n" +"X-Generator: Weblate 5.15-dev\n" #: ../source/contribute.rst:5 msgid "Contribute to this guide" @@ -3411,9 +3412,9 @@ msgstr "" #: ../source/glossary.rst:161 msgid "" "A string with valid SPDX license expression syntax, including one or more " -"SPDX :term:`License Identifier`\\(s), which describes a :term:`Project`'s " -"license(s) and how they inter-relate. Examples: ``GPL-3.0-or-later``, ``MIT " -"AND (Apache-2.0 OR BSD-2-Clause)``" +"SPDX :term:`License Identifier`\\(s), which describes a :term:`Distribution " +"Archive`'s license(s) and how they inter-relate. Examples: ``GPL-3.0-or-" +"later``, ``MIT AND (Apache-2.0 OR BSD-2-Clause)``" msgstr "" #: ../source/glossary.rst:169 @@ -3586,54 +3587,54 @@ msgstr "" msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3641,11 +3642,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3654,11 +3655,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3666,26 +3667,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3697,38 +3698,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3737,21 +3738,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3760,11 +3761,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3772,15 +3773,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3788,21 +3789,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3955,7 +3956,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4311,7 +4312,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4633,7 +4634,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6692,11 +6693,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6732,7 +6734,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6745,29 +6748,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6779,65 +6782,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6846,18 +6849,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6866,11 +6869,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6880,7 +6883,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6889,11 +6892,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6905,24 +6908,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6930,17 +6933,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6951,11 +6954,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6963,14 +6966,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9362,40 +9365,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9403,25 +9410,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9429,45 +9436,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9478,31 +9485,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9906,7 +9913,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10011,90 +10018,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10103,26 +10110,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10130,28 +10137,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10159,33 +10166,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -10509,7 +10516,7 @@ msgstr "" #: ../source/key_projects.rst:157 msgid "packaging" -msgstr "" +msgstr "GitHub" #: ../source/key_projects.rst:159 msgid "" @@ -13577,7 +13584,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14371,11 +14378,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16207,17 +16214,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24852,11 +24865,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24865,29 +24880,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24895,101 +24910,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24997,29 +25012,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25031,7 +25046,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25040,14 +25055,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25056,7 +25071,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25064,7 +25079,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25075,15 +25090,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25091,7 +25106,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25099,7 +25114,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25111,43 +25126,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25156,29 +25171,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26544,7 +26563,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26583,11 +26602,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/ars/LC_MESSAGES/messages.po b/locales/ars/LC_MESSAGES/messages.po index 48a40afc7..530051d72 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -3405,9 +3405,9 @@ msgstr "" #: ../source/glossary.rst:161 msgid "" "A string with valid SPDX license expression syntax, including one or more " -"SPDX :term:`License Identifier`\\(s), which describes a :term:`Project`'s " -"license(s) and how they inter-relate. Examples: ``GPL-3.0-or-later``, ``MIT " -"AND (Apache-2.0 OR BSD-2-Clause)``" +"SPDX :term:`License Identifier`\\(s), which describes a :term:`Distribution " +"Archive`'s license(s) and how they inter-relate. Examples: ``GPL-3.0-or-" +"later``, ``MIT AND (Apache-2.0 OR BSD-2-Clause)``" msgstr "" #: ../source/glossary.rst:169 @@ -3580,54 +3580,54 @@ msgstr "" msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3635,11 +3635,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3648,11 +3648,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3660,26 +3660,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3691,38 +3691,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3731,21 +3731,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3754,11 +3754,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3766,15 +3766,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3782,21 +3782,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3949,7 +3949,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4305,7 +4305,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4627,7 +4627,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6686,11 +6686,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6726,7 +6727,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6739,29 +6741,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6773,65 +6775,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6840,18 +6842,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6860,11 +6862,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6874,7 +6876,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6883,11 +6885,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6899,24 +6901,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6924,17 +6926,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6945,11 +6947,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6957,14 +6959,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9356,40 +9358,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9397,25 +9403,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9423,45 +9429,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9472,31 +9478,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9900,7 +9906,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10005,90 +10011,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10097,26 +10103,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10124,28 +10130,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10153,33 +10159,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13571,7 +13577,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14365,11 +14371,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16201,17 +16207,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24846,11 +24858,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24859,29 +24873,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24889,101 +24903,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24991,29 +25005,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25025,7 +25039,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25034,14 +25048,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25050,7 +25064,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25058,7 +25072,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25069,15 +25083,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25085,7 +25099,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25093,7 +25107,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25105,43 +25119,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25150,29 +25164,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26538,7 +26556,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26577,11 +26595,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/cs/LC_MESSAGES/messages.po b/locales/cs/LC_MESSAGES/messages.po index 1928aedc0..425e7972c 100644 --- a/locales/cs/LC_MESSAGES/messages.po +++ b/locales/cs/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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-10-16 23:52+0000\n" "Last-Translator: Karolína Wallenfelsová \n" "Language-Team: Czech `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3646,11 +3646,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3659,11 +3659,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3671,26 +3671,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3702,38 +3702,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3742,21 +3742,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3765,11 +3765,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3777,15 +3777,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3793,21 +3793,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3960,7 +3960,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4316,7 +4316,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4638,7 +4638,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6697,11 +6697,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6737,7 +6738,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6750,29 +6752,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6784,65 +6786,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6851,18 +6853,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6871,11 +6873,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6885,7 +6887,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6894,11 +6896,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6910,24 +6912,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6935,17 +6937,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6956,11 +6958,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6968,14 +6970,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9367,40 +9369,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9408,25 +9414,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9434,45 +9440,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9483,31 +9489,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9911,7 +9917,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10016,90 +10022,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10108,26 +10114,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10135,28 +10141,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10164,33 +10170,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13582,7 +13588,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14376,11 +14382,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16212,17 +16218,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24857,11 +24869,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24870,29 +24884,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24900,101 +24914,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25002,29 +25016,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25036,7 +25050,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25045,14 +25059,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25061,7 +25075,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25069,7 +25083,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25080,15 +25094,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25096,7 +25110,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25104,7 +25118,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25116,43 +25130,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25161,29 +25175,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26549,7 +26567,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26588,11 +26606,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/da/LC_MESSAGES/messages.po b/locales/da/LC_MESSAGES/messages.po index 7f80227ad..4b64f76c6 100644 --- a/locales/da/LC_MESSAGES/messages.po +++ b/locales/da/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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-10-09 04:07+0000\n" "Last-Translator: Philip Mallegol-Hansen \n" "Language-Team: Danish `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3640,11 +3640,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3653,11 +3653,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3665,26 +3665,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3696,38 +3696,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3736,21 +3736,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3759,11 +3759,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3771,15 +3771,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3787,21 +3787,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3954,7 +3954,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4310,7 +4310,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4632,7 +4632,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6691,11 +6691,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6731,7 +6732,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6744,29 +6746,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6778,65 +6780,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6845,18 +6847,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6865,11 +6867,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6879,7 +6881,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6888,11 +6890,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6904,24 +6906,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6929,17 +6931,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6950,11 +6952,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6962,14 +6964,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9361,40 +9363,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9402,25 +9408,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9428,45 +9434,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9477,31 +9483,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9905,7 +9911,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10010,90 +10016,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10102,26 +10108,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10129,28 +10135,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10158,33 +10164,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13576,7 +13582,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14370,11 +14376,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16206,17 +16212,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24851,11 +24863,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24864,29 +24878,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24894,101 +24908,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24996,29 +25010,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25030,7 +25044,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25039,14 +25053,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25055,7 +25069,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25063,7 +25077,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25074,15 +25088,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25090,7 +25104,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25098,7 +25112,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25110,43 +25124,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25155,29 +25169,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26543,7 +26561,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26582,11 +26600,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/de/LC_MESSAGES/messages.po b/locales/de/LC_MESSAGES/messages.po index 419d6cc80..768defc03 100644 --- a/locales/de/LC_MESSAGES/messages.po +++ b/locales/de/LC_MESSAGES/messages.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-10-28 15:43+0000\n" "Last-Translator: Norah-14 \n" "Language-Team: German `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3932,11 +3932,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3945,11 +3945,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3957,26 +3957,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3988,38 +3988,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "Quellenarchiv" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -4028,21 +4028,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "Spezifikation der Version" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -4051,11 +4051,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -4063,16 +4063,16 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 #, fuzzy msgid "Wheel" msgstr "Wheel" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -4080,23 +4080,23 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 #, fuzzy #| msgid "Per Project Index" msgid "Wheel Project" msgstr "Pro Projekt Index" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -4249,7 +4249,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4605,7 +4605,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4929,7 +4929,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6993,11 +6993,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -7033,7 +7034,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -7046,29 +7048,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -7080,65 +7082,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -7147,18 +7149,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -7167,11 +7169,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -7181,7 +7183,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -7190,11 +7192,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -7206,24 +7208,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -7231,17 +7233,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -7252,11 +7254,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -7264,14 +7266,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9666,41 +9668,45 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 #, fuzzy msgid "Building distributions" msgstr "Distributionspaket" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9708,25 +9714,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9734,45 +9740,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9783,31 +9789,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -10211,7 +10217,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10316,90 +10322,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10408,26 +10414,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10435,28 +10441,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10464,33 +10470,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13882,7 +13888,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14680,11 +14686,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16522,17 +16528,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -25191,11 +25203,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -25204,29 +25218,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -25234,101 +25248,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25336,29 +25350,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25370,7 +25384,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25379,14 +25393,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25395,7 +25409,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25403,7 +25417,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25414,15 +25428,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25430,7 +25444,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25438,7 +25452,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25450,43 +25464,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25495,29 +25509,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26883,7 +26901,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26922,11 +26940,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/eo/LC_MESSAGES/messages.po b/locales/eo/LC_MESSAGES/messages.po index 78a847e9c..e256dc64f 100644 --- a/locales/eo/LC_MESSAGES/messages.po +++ b/locales/eo/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-06-29 12:03+0000\n" "Last-Translator: phlostically \n" "Language-Team: Esperanto `, priskribanta(j) " @@ -4645,13 +4651,22 @@ msgid "Python Packaging Authority (PyPA)" msgstr "Python-Pakada Aŭtoritato (PyPA)" #: ../source/glossary.rst:287 +#, fuzzy +#| msgid "" +#| "PyPA is a working group that maintains many of the relevant projects in " +#| "Python packaging. They maintain a site at :doc:`pypa.io `, " +#| "host projects on `GitHub `_ and `Bitbucket " +#| "`_, and discuss issues on the `distutils-sig " +#| "mailing list `_ and `the Python Discourse forum `__." msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ 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 " @@ -4660,11 +4675,11 @@ msgstr "" "mail.python.org/mailman3/lists/distutils-sig.python.org/>`_ kaj `la forumo " "Discourse por Python `__." -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "Python-Pakindekso (PyPI)" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " @@ -4674,11 +4689,11 @@ msgstr "" "por la Python-komunumo. Ĉiu Python-programisto povas uzi ĝin por uzi kaj " "distribui siajn distribuojn." -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "pypi.org" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " @@ -4688,22 +4703,22 @@ msgstr "" "Pakindekso (PyPI) `. Ĝi anstataŭis la malnovan " "retadreson, ``pypi.python.org``, en 2017. Ĝi funkciiĝas per :ref:`warehouse`." -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "pyproject.toml" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 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:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "Eldono" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." @@ -4711,7 +4726,7 @@ msgstr "" "Kopio de :term:`Projekto ` ĉe iu punkto en tempo, indikita de " "versia identigilo." -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -4723,11 +4738,11 @@ msgstr "" "projekto, oni povus disponigi ĝin kiel kaj fontan distribuon kaj Windows-" "instalilan dosierformon." -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "Postulo" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -4740,11 +4755,11 @@ msgstr "" "permesas diversajn formojn de «postuloj». Por pliaj detaloj, " "vidu :ref:`pip:pip install`." -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "Postulo-Specifilo" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -4757,11 +4772,11 @@ msgstr "" "estas la nomo de la projekto kaj ``>=1.3`` estas la :term:`versio-specifilo " "`" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "Postulo-Dosiero" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " @@ -4771,15 +4786,15 @@ msgstr "" "per :ref:`pip`. Por plian informoj, vidu la dokumentaron de :ref:`pip` " "pri :ref:`Postulo-Dosieroj `." -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "Radika Licenco-Dosierujo" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "Licenco-Dosierujo" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -4802,17 +4817,17 @@ msgstr "" "dosierlokoj en la :term:`Kerna Metadatena Kampo ` " "``License-File``." -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "setup.py" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "setup.cfg" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." @@ -4820,11 +4835,11 @@ msgstr "" "La projektaj specifaj dosieroj por :ref:`distutils` kaj :ref:`setuptools`. " "Vidu ankaŭ :term:`pyproject.toml`." -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "Fonta Arĥivo" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` " "aŭ :term:`Konstruita Distribuo `." -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "Fonta Distribuo (aŭ «sdist»)" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -4847,21 +4862,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "Sistema Pako" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "Pako en formo indiĝena al la mastruma sistemo, ekz. rpm aŭ dpkg." -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "Versio-Specifilo" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -4870,11 +4885,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "Virtuala Medio" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -4885,15 +4900,15 @@ msgstr "" "anstataŭ tutsistema instalado. Por pliaj informoj, vidu :ref:`Krei kaj uzi " "Virtualan Medion `." -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "Wheel-Formo" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "Wheel" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -4906,11 +4921,11 @@ msgstr "" "konfuzu ĝin kun ĝia referenca realigo, :term:`la Projekto Wheel `." -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "Wheel-Projekto" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." @@ -4918,11 +4933,11 @@ msgstr "" "La referenca realigo far PyPA de la :term:`Wheel-Formo `; " "vidu :ref:`wheel`." -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "Aro de Laboro" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -5118,7 +5133,7 @@ msgstr "Priskribo" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "Ekzemploj" @@ -5523,7 +5538,7 @@ msgstr "" "`Pandas`_." #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "Referencoj" @@ -5967,7 +5982,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" "Tamen, tiu sintakso estas praktike netaŭga: ĉar la nomo de la enirpunkto " "difinita ĉi-supre ne egalas la nomon de la pako, ni devas eksplici la " @@ -8587,12 +8602,20 @@ msgid "Licensing examples and user scenarios" msgstr "Ekzemploj de licencoj kaj uzkazoj" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 -msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +#, fuzzy +#| msgid "" +#| ":pep:`639` has specified the way to declare a project's license and paths " +#| "to license files and other legally required information. This document " +#| "aims to provide clear guidance how to migrate from the legacy to the " +#| "standardized way of declaring licenses. Make sure your preferred build " +#| "backend supports :pep:`639` before trying to apply the newer guidelines." +msgid "" +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" ":pep:`639` precizigis la manieron deklari la licencon de projekto kaj " "dosierlokojn de licencodosieroj kaj aliajn leĝe postulataj informoj. Ĉi tiu " @@ -8640,7 +8663,11 @@ msgstr "" "Aŭ, se la projekto uzis :file:`setup.cfg` en sia tabelo ``[metadata]``:" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +#, fuzzy +#| msgid "" +#| "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "La eligitaj Kernaj Metdatenoj por la distribuaj pakoj estos jenaj:" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -8659,11 +8686,11 @@ msgstr "" "arĥivo, kaj ``{VERSIO}`` la versio de la eldono de Setuptools laŭ Kernaj " "Metadatenoj." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "Altnivela ekzemplo" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " @@ -8673,11 +8700,13 @@ msgstr "" "la dosierujoj :file:`setuptools/_vendor/` kaj :file:`pkg_resources/_vendor/" "`; specife:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" -msgstr "Jen la licenco-esprimoj por tiuj projektoj:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +#, fuzzy +#| msgid "Examples of invalid license expressions:" +msgid "The appropriate license expressions are:" +msgstr "Ekzemploj de nevalidaj licenco-esprimoj:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " @@ -8687,7 +8716,7 @@ msgstr "" "dependaĵoj enhavus tiujn metadatenojn, kombinante ĉiujn licenco-esprimojn. " "Tia esprimo povas esti jena:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -8699,7 +8728,7 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " @@ -8709,11 +8738,11 @@ msgstr "" "projekta fontarbo (relative al la projekta radiko " "kaj :file:`pyproject.toml`):" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "Resume, la dosiero :file:`pyproject.toml` estos jena:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" @@ -8721,18 +8750,18 @@ msgstr "" "Alternative, la licenco-dosiero povas esti specifita eksplicite (dosierloko " "interpretiĝas kiel patroneo):" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "Se nia projekto uzus :file:`setup.cfg`, ni povus difini tion en:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" "Per ambaŭ metodoj, la eligitaj Kernaj Metadatenoj en la distribuo estos " "jenaj:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " @@ -8742,7 +8771,7 @@ msgstr "" "``{VERSION}`` la versio de la eldono de Setuptools specifita en la Kernaj " "Metadatenoj, la licenco-dosieroj troviĝus ĉe:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" @@ -8751,7 +8780,7 @@ msgstr "" "``{VERSION}`` sama kiel la ĉi-supra ekzemplo, la licenco-dosieroj troviĝus " "ĉe:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " @@ -8760,19 +8789,19 @@ msgstr "" "Fine, en la instalita projekto en :file:`site-packages/`, kun ``{VERSION}`` " "sama kiel la ĉi-supra ekzemplo, la licenco-dosieroj instaliĝus al:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "Ekzemploj de esprimoj" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "Kelkaj pliaj ekzemploj de validaj valoroj de ``License-Expression``:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "Uzkazoj" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -8781,11 +8810,11 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "Mi havas ne distribuotan privatan pakon" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " @@ -8795,7 +8824,7 @@ msgstr "" "familio), *ordinare* ne necesas inkluzivi formalan licencon, tiel ke vi ne " "devas fari ion ekstre." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -8804,11 +8833,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "Mi simple volas disdoni mian verkon sen jura restrikto" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -8824,7 +8853,7 @@ msgstr "" "kaj permesas al ĉiuj fari ion ajn deziratan pri via laboro (krom procesi " "kontraŭ vi, kion vi verŝajne ankaŭ ne deziras)." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -8838,11 +8867,11 @@ msgstr "" "``license = \"MIT\"`` sub ``[project]`` en :file:`pyproject.toml` se via " "pakilo subtenas ĝin, aŭ en ĝia agorda dosiero. Jen finite!" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "Mi volas distribui mian projekton sub specifa licenco" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -8862,7 +8891,7 @@ msgstr "" "troviĝas en retejoj kiel `ChooseALicense `__ aŭ `SPDX " "`__." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." @@ -8870,11 +8899,11 @@ msgstr "" "Multaj popularaj kodgastigejoj, projekto-ŝablonoj kaj pakiloj povas aldoni " "la licenco-dosieron por vi kaj povos subteni la esprimon." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "Mi mastrumas ekzistantan pakon sub licenco" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " @@ -8883,7 +8912,17 @@ msgstr "" "Se vi jam havas licencajn dosierojn kaj metadatenojn en via projekto, vi nur " "devas fari kelkajn ŝanĝetojn por uzi la novajn funkciojn." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 +#, fuzzy +#| msgid "" +#| "In your project config file, enter your license expression under " +#| "``license`` (``[project]`` table in :file:`pyproject.toml`), or the " +#| "equivalent for your packaging tool, and make sure to remove any legacy " +#| "``license`` table subkeys or ``License ::`` classifiers. Your existing " +#| "``license`` value may already be valid as one (e.g. ``MIT``, ``Apache-2.0 " +#| "OR BSD-2-Clause``, etc); otherwise, check the `SPDX license list " +#| "`__ for the identifier that matches the license used in your " +#| "project." msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -8891,7 +8930,7 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" "En via projekta agorda dosiero, tajpu vian licenco-esprimon sub ``license`` " "(tabelo ``[project]`` en :file:`pyproject.toml`), aŭ la ekvivalentaĵon de " @@ -8901,7 +8940,7 @@ msgstr "" "ktp); alie, vidu la `liston de SPDX-licencoj `__ por la " "identigilo por la licenco de via projekto." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " @@ -8910,7 +8949,7 @@ msgstr "" "Certe listigu viajn licenco-dosierojn sub ``license-files`` sub " "``[project]`` en :file:`pyproject.toml` aŭ en la agorda dosiero de via ilo." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -8921,11 +8960,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "Mia pako inkluzivas alian kodon sub malsamaj licencoj" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -8933,14 +8972,23 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 -msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 +#, fuzzy +#| msgid "" +#| "In short, ``License-1 AND License-2`` mean that *both* licenses apply to " +#| "your project, or parts of it (for example, you included a file under " +#| "another license), and ``License-1 OR License-2`` means that *either* of " +#| "the licenses can be used, at the user's option (for example, you want to " +#| "allow users a choice of multiple licenses). You can use parenthesis " +#| "(``()``) for grouping to form expressions that cover even the most " +#| "complex situations." +msgid "" +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" "Resume, ``Licenco-1 AND Licenco-2`` signifas, ke *ambaŭ* licencoj efektivas " "pri la projekto aŭ partoj de la projekto (ekzemple, la aŭtoro inkluzivis " @@ -12059,7 +12107,13 @@ msgstr "" "biblioteko en Python 3.12, kvankam ĝi estas ankoraŭ disponebla per " "setuptools." -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +#, fuzzy +#| msgid "Building binary extensions" +msgid "Build backends for extension modules" +msgstr "Konstrui duumajn etendaĵojn" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " @@ -12068,7 +12122,7 @@ msgstr "" "Por pako kun :term:`etendaĵa modulo `, oni uzu " "konstrusistemon subtenantan la lingvon de la etendaĵo. Ekzemple:" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," @@ -12076,7 +12130,7 @@ msgstr "" ":ref:`setuptools` -- indiĝene subtenas C kaj C++ (kun triapartiaj kromaĵoj " "por Go kaj Rust)," -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," @@ -12084,7 +12138,7 @@ msgstr "" ":ref:`meson-python` -- C, C++, Fortrano, Rust, kaj aliaj lingvoj subtenataj " "de Meson," -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," @@ -12092,15 +12146,15 @@ msgstr "" ":ref:`scikit-build-core` -- C, C++, Fortrano, kaj aliaj lingvoj subtenataj " "de CMake," -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr ":ref:`maturin` -- Rust, per Cargo." -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "Konstrui distribuojn" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -12112,7 +12166,7 @@ msgstr "" "estas :ref:`build`. Ĝi rulas la malfasadon :ref:`deklaritan ` en :file:`pyproject.toml`." -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " @@ -12122,7 +12176,7 @@ msgstr "" "tiu tasko. Ĉia rekta alvoko de :file:`setup.py` estas :ref:`evitinda `." -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " @@ -12132,11 +12186,11 @@ msgstr "" "wheel-ojn por pluraj platformoj, uzu :ref:`cibuildwheel` kiel parton de via " "kontinua integrado por konstrui distribueblajn wheel-ojn." -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "Alŝuti al PyPI" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -12144,7 +12198,7 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" @@ -12152,30 +12206,30 @@ msgstr "" "Je la Novembro de 2024, PyPI subtenas la jenajn platformojn kiel " "provizantojn de Fidata Eldonado:" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "GitHub Actions (ĉe ``https://github.com``)" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "GitLab CI/CD (ĉe ``https://gitlab.com``)" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "ActiveState" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "Google Cloud" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 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 +#: ../source/guides/tool-recommendations.rst:164 msgid "" "**Never** use ``python setup.py upload`` for this task. In addition to " "being :ref:`deprecated `, it is insecure." @@ -12183,11 +12237,11 @@ msgstr "" "**Neniam** uzu ``python setup.py upload`` por tiu tasko. Ĝi " "estas :ref:`evitinda ` kaj malseksura." -#: ../source/guides/tool-recommendations.rst:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "Laborfluiloj" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -12198,31 +12252,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr ":ref:`Flit`," -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr ":ref:`Hatch`," -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr ":doc:`nox `," -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr ":ref:`PDM`," -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr ":ref:`Pipenv`," -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr ":ref:`Poetry`," -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr ":doc:`tox `." @@ -12733,7 +12787,9 @@ msgid "``license`` and ``license-files``" msgstr "``license`` kaj ``license-files``" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +#, fuzzy +#| msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "Laŭ :pep:`639`, oni deklaru licencon per du kampoj:" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -12855,25 +12911,32 @@ msgstr "" "konfuziĝon, kaj ĉar kelkaj organizaĵoj evitas programon sen aprobita licenco." #: ../source/guides/writing-pyproject-toml.rst:353 -msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +#, fuzzy +#| msgid "" +#| "If your project is licensed with a license that doesn't have an existing " +#| "SPDX identifier, you can create a custom one in format ``LicenseRef-" +#| "[idstring]``. The custom identifiers must follow the SPDX specification, " +#| "`clause 10.1 `_ of the version 2.2 or any later " +#| "compatible one." +msgid "" +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" "Se via projekto havas licencon sen ekzistanta SPDX-identigilo, vi povas krei " "propran identigilo de la formo ``LicenseRef-[identigilo]``. La propra " "identigilo devas obei `paragrafon 10.1 `_ de la normo SPDX, " "versio 2.2 aŭ ajna pli nova kongrua versio." -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "``license-files``" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." @@ -12881,11 +12944,11 @@ msgstr "" "Tio estas listo de licenco-dosieroj kaj dosieroj enhavantaj aliajn jurajn " "informojn, kiujn vi volas distribui kun via pako." -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "La patroneo devas observi la specifon:" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." @@ -12893,17 +12956,17 @@ msgstr "" "Literoj, ciferoj, substrekoj (``_``), streketoj (``-``) kaj punktoj (``.``) " "prezentas sin laŭlitere." -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "La metasignoj ``*``, ``?``, ``**`` kaj signintervaloj [] eblas." -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "Dosierloko-apartigilo devas esti la suprenstreko (``/``)." -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." @@ -12911,15 +12974,15 @@ msgstr "" "Patroneo estas relativa al la dosierujo enhavanta :file:`pyproject.toml`, " "kaj tial ne povas komenciĝi per suprenstreko." -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "Indikilo de patra dosierujo (``..``) devas esti ne uzita." -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "Ĉiu patroneo devas kongrui kun almenaŭ unu dosiero." -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." @@ -12927,13 +12990,13 @@ msgstr "" "Eksplicita dosierloko estas valida patroneo. Ajna skribsigno aŭ signoĉeno ne " "diskutita de ĉi tiu specifo estas nevalida." -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "``keywords``" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." @@ -12941,13 +13004,13 @@ msgstr "" "Tio helpos la serĉilon de PyPI sugesti vian projekton, kiam oni serĉas tiujn " "ŝlosilvortojn." -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "``classifiers``" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." @@ -12955,7 +13018,7 @@ msgstr "" "Listo de PyPI-klasigiloj rilataj al via projekto. Jen la `plena listo de " "klasigiloj `_." -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -12964,7 +13027,7 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " @@ -12974,13 +13037,13 @@ msgstr "" "Do Not Upload``. PyPI ĉiam malakceptas pakon de klasigilo komenciĝanta per " "``Private ::``." -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "``urls``" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." @@ -12988,7 +13051,7 @@ 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:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -13000,7 +13063,7 @@ msgstr "" "`_ por PyPI-specifa " "pritraktado de retadresoj." -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" @@ -13010,7 +13073,7 @@ msgstr "" "``Website = \"https://example.com\"`` sed ``\"Official Website\" = \"https://" "example.com\"``." -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " @@ -13020,7 +13083,7 @@ msgstr "" "retadresoj taŭge, ĉar iloj pri metadatenoj (kiel pakindeksoj) povas pli bone " "montri tiujn." -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " @@ -13029,7 +13092,7 @@ 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:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -13041,11 +13104,11 @@ msgstr "" "prezenteblaj tiel (kiel la ĉefpaĝo kaj la elŝutejo de la projekto " "respektive)." -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "Altnivelaj kromprogramoj" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " @@ -13055,17 +13118,17 @@ msgstr "" "Pygments_. Por krei tian kromprogramon, oni devas deklari ĝin en subtabelo " "de ``[project.entry-points]`` jene:" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 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:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "Plena ekzemplo" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " @@ -13074,7 +13137,7 @@ msgstr "" "Estu singarda pri supraj limoj kiel ``requires-python = \"<= 3.10\"`` ĉi " "tie. `Jen artikolo `_ pri eblaj problemoj." -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -17335,7 +17398,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "Historio" @@ -18217,11 +18280,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -20462,7 +20525,13 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" @@ -20470,12 +20539,12 @@ msgstr "" "pip, la rekomendata instalilo por Python-pakoj (http://pip.readthedocs.org/" "en/stable/)" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 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:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -31251,11 +31320,13 @@ msgstr "Arbitra egaleco" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -31264,12 +31335,12 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "Ekzemplo estas ``===foobar``, kiu kongruas kun la versio ``foobar``." -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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 " @@ -31279,7 +31350,7 @@ msgstr "" "de projekto, kiel ``===1.0```, kiu ne kongruus kun versio " "``1.0+downstream1``." -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." @@ -31287,11 +31358,11 @@ msgstr "" "Uzado de tiu operatoro estas evitindega, kaj ilo POVAS averti, kiam ĝi estas " "uzita." -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "Pritraktado de antaŭeldonoj" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -31299,15 +31370,15 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "Implicite, dependecsolviloj FARU la jenon:" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "akcepti jam instalitajn antaŭeldonojn por ĉiuj versispecifiloj" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 msgid "" "accept remotely available pre-releases for version specifiers where there is " "no final or post release that satisfies the version specifier" @@ -31315,11 +31386,11 @@ msgstr "" "akcepti fore disponeblajn antaŭeldonojn por versispecifiloj, kiam mankas " "finan eldonon aŭ posteldonon plenumantan la versispecifilon" -#: ../source/specifications/version-specifiers.rst:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "malakcepti ĉiujn aliajn antaŭeldonojn" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." @@ -31327,7 +31398,7 @@ msgstr "" "Dependeco-solvilo POVAS averti, se antaŭeldono necesas por plenumi versio-" "specifilon." -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" @@ -31335,11 +31406,11 @@ msgstr "" "Dependeco-solviloj ankaŭ PERMESU uzantojn peti la jenajn alternativajn " "kondutojn:" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "akcepti antaŭeldonojn por ĉiuj versispecifiloj" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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 " @@ -31349,7 +31420,7 @@ msgstr "" "averton, se antaŭeldono jam estas instalita loke, aŭ se antaŭeldono estas la " "nura maniero plenumi iun specifilon)" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." @@ -31357,7 +31428,7 @@ msgstr "" "Dependeco-solvilo ankaŭ POVAS permesi regadon de la ĉi-supra konduto por " "specifaj distribuoj." -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 msgid "" "Post-releases and final releases receive no special treatment in version " "specifiers - they are always included unless explicitly excluded." @@ -31366,20 +31437,20 @@ msgstr "" "specifilo – ili estas ĉiam inkluzivitaj, se ili ne estas eksplicite " "ekskluzivitaj." -#: ../source/specifications/version-specifiers.rst:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "``~=3.1``: versio 3.1 aŭ pli nova, sed ne versio 4.0 nek pli nova." -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 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:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "``~=3.1a1``: versio 3.1a1 aŭ pli nova, sed ne versio 4.0 nek pli nova." -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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." @@ -31388,7 +31459,7 @@ msgstr "" "antaŭeldonojn, posteldonojn, evoluajn eldonojn kaj ajnajn riparajn eldonojn " "3.1.x." -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." @@ -31396,7 +31467,7 @@ 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:1081 +#: ../source/specifications/version-specifiers.rst:1082 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." @@ -31404,11 +31475,11 @@ 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:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "Rektaj referencoj" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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 " @@ -31418,7 +31489,7 @@ msgstr "" "specifilo. Rekta referenco konsistas el la specifilo ``@`` kaj eksplicita " "retadreso." -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -31429,7 +31500,7 @@ msgstr "" "specifilo. Aŭtomata ilo almenaŭ AVERTU pri tio kaj POVAS malakcepti tion, " "kiam rekta referenco estis uzita maltaŭge." -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 msgid "" "Public index servers SHOULD NOT allow the use of direct references in " "uploaded distributions. Direct references are intended as a tool for " @@ -31439,7 +31510,7 @@ msgstr "" "distribuo. Rekta referenco estas por integriloj de programoj, ne por " "eldonantoj." -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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 " @@ -31449,15 +31520,15 @@ msgstr "" "distribuon aŭ duuman arĥivon wheel. La permesataj formoj de subtenataj " "retadresoj kaj celoj dpeendas de la ilo." -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "Ekzemple, oni povas rekte referenci lokan fontan arĥivon::" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "Alternative, oni povas referenci antaŭkonstruitan arĥivon::" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -31476,7 +31547,7 @@ msgstr "" "minimume AVERTU kaj POVAS rifuzi dependi de la URL. Se rekta referenco ankaŭ " "uzas nesekuran transporton, aŭtomata ilo NE DEPENDU de la URL." -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -31489,7 +31560,7 @@ msgstr "" "norma biblioteko. Aktuale, tiaj haketaĵoj estas ``'md5'``, ``'sha1'``, " "``'sha224'``, ``'sha256'``, ``'sha384'`` kaj ``'sha512'``." -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " @@ -31499,7 +31570,7 @@ msgstr "" "haketaĵan valoron inkluzivante eron ``=`` kiel parton de la URL-fragmento." -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -31508,7 +31579,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -31520,7 +31591,7 @@ msgstr "" "fino de la retadreso laŭ la notacio ``@`` aŭ " "``@#``." -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -31537,15 +31608,15 @@ msgstr "" "inkluzivu haketaĵon por malhelpi falsadon (estas facile krei fideponejon kun " "iu deponejo; estas malpli facile krei fideponejon kun specifa *haketaĵo*)." -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "Ekzemploj de foraj retadresoj::" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "Dosieraj retadresoj" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -31557,7 +31628,7 @@ msgstr "" "```` mankas, la tria suprenstreko DEVAS tamen ekzisti. La " "```` difinas la dosierlokan vojon ĉe la dosiersistemo atingota." -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -31569,7 +31640,7 @@ msgstr "" "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:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -31589,11 +31660,11 @@ msgstr "" "web.archive.org/web/20130321051043/http://blogs.msdn.com/b/ie/archive/" "2006/12/06/file-uris-in-windows.aspx>`_." -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "Resumo pri diferencoj de pkg_resources.parse_version" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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 " @@ -31603,7 +31674,7 @@ msgstr "" "estis verkita. Post la aprobo de la PEP, setuptools 6.0 kaj postaj versioj " "adoptis la konduton priskribitan ĉi tie." -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 msgid "" "Local versions sort differently, this specification requires that they sort " "as greater than the same version without a local version, whereas " @@ -31613,7 +31684,7 @@ msgstr "" "versio estu pli granda ol la sama versio sen loka versio, dum " "``pkg_resources.parse_version`` konsideras ĝin kiel markon de antaŭeldono." -#: ../source/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 msgid "" "This specification purposely restricts the syntax which constitutes a valid " "version while ``pkg_resources.parse_version`` attempts to provide some " @@ -31622,7 +31693,7 @@ msgstr "" "Ĉiu tiu specifo intence restriktas la sintakson de valida versio, dum " "``pkg_resources.parse_version`` provas analizi *iun ajn* signoĉenon." -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 msgid "" "``pkg_resources.parse_version`` allows arbitrarily deeply nested version " "signifiers like ``1.0.dev1.post1.dev5``. This specification however allows " @@ -31632,11 +31703,11 @@ msgstr "" "``1.0.dev1.post1.dev5``. Ĉi tiu specifo, tamen, nur permesas nur unu uzon de " "ĉiu tipo, en difinita ordo." -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "Apendico: Sintaksanalizi versian tekston per regulaj esprimoj" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -31645,7 +31716,7 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" @@ -31653,7 +31724,7 @@ msgstr "" "Por kontroli, ĉu versia identigilo estas en la kanona formo, oni povas uzi " "la jenan funkcion:" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_):" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "Aŭgusto 2014: Ĉi tiu specifo estis aprobita per :pep:`440`." -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "Virtualaj Python-Medioj" @@ -33418,9 +33493,13 @@ msgid "" msgstr "" #: ../source/tutorials/packaging-projects.rst:222 +#, fuzzy +#| msgid "" +#| "``license`` is the :term:`SPDX license expression ` " +#| "of your package." msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" "``license`` estas la :term:`SPDX-esprimo ` de via pako." @@ -33469,12 +33548,21 @@ msgid "Creating a LICENSE" msgstr "Krei la dosieron LICENSE" #: ../source/tutorials/packaging-projects.rst:253 -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:" +#, fuzzy +#| 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:" +msgid "" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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 "" "Gravas, ke ĉiu pako alŝutita al la Python-Pakindekso inkluzivu licencon. Tio " "sciigas al uzanto instalinta pakon la kondiĉojn, sub kiuj oni povas uzi la " @@ -33816,6 +33904,9 @@ msgstr "" "komencanto pri Python-pakado, recomendate estas nur uzi *ordinarajn pakojn* " "kaj ``__init__.py`` (eĉ se tiu dosiero estas malplena)." +#~ msgid "The license expressions for these projects are:" +#~ msgstr "Jen la licenco-esprimoj por tiuj projektoj:" + #~ msgid "TUF Support - PEP 458" #~ msgstr "Subteno de TUF – PEP 458" diff --git a/locales/es/LC_MESSAGES/messages.po b/locales/es/LC_MESSAGES/messages.po index 63da1b23f..db19f444f 100644 --- a/locales/es/LC_MESSAGES/messages.po +++ b/locales/es/LC_MESSAGES/messages.po @@ -17,8 +17,8 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-24 00:10+0000\n" -"PO-Revision-Date: 2025-05-01 09:08+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" +"PO-Revision-Date: 2025-12-12 01:00+0000\n" "Last-Translator: Joseph Hale \n" "Language-Team: Spanish \n" @@ -27,7 +27,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.12-dev\n" +"X-Generator: Weblate 5.15-dev\n" #: ../source/contribute.rst:5 msgid "Contribute to this guide" @@ -728,7 +728,6 @@ msgid "py2exe" msgstr "" #: ../source/discussions/deploying-python-applications.rst:91 -#, fuzzy msgid "" "`py2exe `__ is a distutils extension which " "allows to build standalone Windows executable programs (32-bit and 64-bit) " @@ -740,14 +739,13 @@ msgid "" "Mozilla Public License 2.0." msgstr "" "`py2exe `__ es una extensión de distutils " -"que permite construir programas ejecutables para Windows independientes (32-" -"bit y 64-bit) desde scripts de Python. Las versiones de Python incluidas en " -"el ciclo de desarrollo oficial son compatibles (se refiere a `Status of " -"Python branches`__). py2exe puede construir ejecutables de consolas y " -"ventanas ejecutables (GUI). Construir servicios de ventana así como " -"servidores DLL/EXE COM puede funcionar pero no tiene soporte activo. La " -"extensión de distutils es publicada bajo la MIT-license y la Mozilla Public " -"License 2.0." +"que permite convertir scripts de Python en programas ejecutables para " +"Windows (32-bit y 64-bit). Las versiones de Python incluidas en el ciclo de " +"desarrollo oficial son compatibles (se refiere a `Status of Python " +"branches`__). py2exe puede construir ejecutables de consolas y ventanas " +"ejecutables (GUI). Construir servicios de ventana así como servidores DLL/" +"EXE COM puede funcionar pero no tiene soporte activo. La extensión de " +"distutils es publicada bajo la MIT-license y la Mozilla Public License 2.0." #: ../source/discussions/deploying-python-applications.rst:103 #: ../source/specifications/platform-compatibility-tags.rst:200 @@ -3753,9 +3751,9 @@ msgstr "" #: ../source/glossary.rst:161 msgid "" "A string with valid SPDX license expression syntax, including one or more " -"SPDX :term:`License Identifier`\\(s), which describes a :term:`Project`'s " -"license(s) and how they inter-relate. Examples: ``GPL-3.0-or-later``, ``MIT " -"AND (Apache-2.0 OR BSD-2-Clause)``" +"SPDX :term:`License Identifier`\\(s), which describes a :term:`Distribution " +"Archive`'s license(s) and how they inter-relate. Examples: ``GPL-3.0-or-" +"later``, ``MIT AND (Apache-2.0 OR BSD-2-Clause)``" msgstr "" #: ../source/glossary.rst:169 @@ -3931,54 +3929,54 @@ msgstr "" msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3986,11 +3984,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3999,11 +3997,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -4011,27 +4009,27 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "Archivo de requisitos" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 #, fuzzy msgid "Root License Directory" msgstr "Nombre de proyecto" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -4043,38 +4041,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "Archivo Fuente" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -4083,11 +4081,11 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "Paquete de sistema" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." @@ -4095,11 +4093,11 @@ msgstr "" "Un paquete provisto en un formato nativo del sistema operativo, por ejemplo, " "un archivo de RPM o de APT." -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -4108,11 +4106,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "Entorno virtual" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -4120,16 +4118,16 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 #, fuzzy msgid "Wheel Format" msgstr "Formato de archivo" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -4137,22 +4135,22 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 #, fuzzy msgid "Wheel Project" msgstr "Proyecto" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -4307,7 +4305,7 @@ msgstr "Descripción" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "Ejemplos" @@ -4665,7 +4663,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4990,7 +4988,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -7084,11 +7082,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -7127,7 +7126,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -7140,30 +7140,30 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 #, fuzzy msgid "Advanced example" msgstr "Por ejemplo:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -7175,66 +7175,66 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 #, fuzzy msgid "Expression examples" msgstr "Por ejemplo:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -7243,18 +7243,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -7263,11 +7263,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -7277,7 +7277,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -7286,11 +7286,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -7302,24 +7302,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -7327,17 +7327,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -7348,11 +7348,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -7360,14 +7360,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9765,41 +9765,45 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 #, fuzzy msgid "Building distributions" msgstr "Distribución Construida" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9807,25 +9811,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9833,45 +9837,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9882,36 +9886,36 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 #, fuzzy msgid ":ref:`Flit`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 #, fuzzy msgid ":ref:`Hatch`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 #, fuzzy msgid ":ref:`PDM`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 #, fuzzy msgid ":ref:`Pipenv`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 #, fuzzy msgid ":ref:`Poetry`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -10320,7 +10324,7 @@ msgid "``license`` and ``license-files``" msgstr "Dependencias externas" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10427,91 +10431,91 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 #, fuzzy msgid "``license-files``" msgstr "Dependencias externas" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10520,26 +10524,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10547,28 +10551,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10576,33 +10580,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "Ejemplo completo" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -14011,7 +14015,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14825,11 +14829,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16674,17 +16678,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -25414,11 +25424,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -25427,29 +25439,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -25457,101 +25469,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25559,29 +25571,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25593,7 +25605,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25602,14 +25614,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25618,7 +25630,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25626,7 +25638,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25637,16 +25649,16 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 #, fuzzy msgid "Remote URL examples::" msgstr "Por ejemplo::" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25654,7 +25666,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25662,7 +25674,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25674,43 +25686,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25719,29 +25731,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 #, fuzzy msgid "Python Virtual Environments" @@ -27121,7 +27137,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -27160,11 +27176,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/fa/LC_MESSAGES/messages.po b/locales/fa/LC_MESSAGES/messages.po index dc5d2a00c..03af1dd5e 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2023-02-15 07:52+0000\n" "Last-Translator: Arsalan Dehghani \n" "Language-Team: Persian `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3648,11 +3648,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3661,11 +3661,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3673,26 +3673,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3704,38 +3704,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3744,21 +3744,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3767,11 +3767,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3779,15 +3779,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3795,21 +3795,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3962,7 +3962,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4318,7 +4318,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4644,7 +4644,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6708,11 +6708,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6748,7 +6749,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6761,29 +6763,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6795,65 +6797,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6862,18 +6864,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6882,11 +6884,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6896,7 +6898,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6905,11 +6907,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6921,24 +6923,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6946,17 +6948,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6967,11 +6969,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6979,14 +6981,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9382,42 +9384,46 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 #, fuzzy #| msgid "Reviewing new contributions" msgid "Building distributions" msgstr "بررسی مشارکت‌های جدید" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9425,25 +9431,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9451,45 +9457,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9500,31 +9506,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9928,7 +9934,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10033,90 +10039,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10125,26 +10131,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10152,28 +10158,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10181,33 +10187,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13599,7 +13605,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14400,11 +14406,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16237,17 +16243,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24907,11 +24919,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24920,29 +24934,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24950,101 +24964,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25052,29 +25066,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25086,7 +25100,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25095,14 +25109,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25111,7 +25125,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25119,7 +25133,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25130,15 +25144,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25146,7 +25160,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25154,7 +25168,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25166,43 +25180,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25211,29 +25225,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26601,7 +26619,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26640,11 +26658,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/fil/LC_MESSAGES/messages.po b/locales/fil/LC_MESSAGES/messages.po index 2ba90cead..dabed835f 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2022-11-19 08:28+0000\n" "Last-Translator: RedFurrFox \n" "Language-Team: Filipino `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3641,11 +3641,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3654,11 +3654,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3666,26 +3666,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3697,38 +3697,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3737,21 +3737,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3760,11 +3760,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3772,15 +3772,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3788,21 +3788,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3955,7 +3955,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4311,7 +4311,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4633,7 +4633,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6692,11 +6692,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6732,7 +6733,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6745,29 +6747,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6779,65 +6781,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6846,18 +6848,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6866,11 +6868,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6880,7 +6882,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6889,11 +6891,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6905,24 +6907,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6930,17 +6932,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6951,11 +6953,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6963,14 +6965,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9362,40 +9364,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9403,25 +9409,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9429,45 +9435,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9478,31 +9484,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9906,7 +9912,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10011,90 +10017,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10103,26 +10109,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10130,28 +10136,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10159,33 +10165,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13577,7 +13583,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14371,11 +14377,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16207,17 +16213,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24852,11 +24864,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24865,29 +24879,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24895,101 +24909,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24997,29 +25011,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25031,7 +25045,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25040,14 +25054,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25056,7 +25070,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25064,7 +25078,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25075,15 +25089,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25091,7 +25105,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25099,7 +25113,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25111,43 +25125,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25156,29 +25170,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26544,7 +26562,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26583,11 +26601,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/fr/LC_MESSAGES/messages.po b/locales/fr/LC_MESSAGES/messages.po index d10c537fb..8c4f180e5 100644 --- a/locales/fr/LC_MESSAGES/messages.po +++ b/locales/fr/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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-02-17 11:31+0000\n" "Last-Translator: Bruno Alla \n" "Language-Team: French `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "Index des Paquets Python (PyPI)" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " @@ -3778,31 +3778,31 @@ msgstr "" "par défaut pour la communauté Python. Il est ouvert à tous les développeurs " "Python pour qu'ils utilisent et distribuent leurs paquets." -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "pypi.org" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "pyproject.toml" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "Version" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." @@ -3810,7 +3810,7 @@ msgstr "" "Une image d'un :term:`Projet` à un certain moment dans le temps, défini par " "un numéro de version." -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3818,11 +3818,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "Dépendance" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3831,11 +3831,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3843,27 +3843,27 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 #, fuzzy msgid "Root License Directory" msgstr "Nom du projet" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3875,38 +3875,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "setup.py" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "setup.cfg" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3915,11 +3915,11 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "Paquet système" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." @@ -3927,11 +3927,11 @@ msgstr "" "Un paquet fourni dans un format natif au système d'exploitation, par ex. un " "fichier rpm ou dpkg." -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3940,11 +3940,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "Environnement virtuel" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3952,15 +3952,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "Wheel" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3968,22 +3968,22 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 #, fuzzy msgid "Wheel Project" msgstr "Projet" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -4136,7 +4136,7 @@ msgstr "Description" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "Exemples" @@ -4512,7 +4512,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "Références" @@ -4838,7 +4838,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6914,11 +6914,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6957,7 +6958,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6970,30 +6972,30 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 #, fuzzy msgid "Advanced example" msgstr "Exemples" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -7005,66 +7007,66 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 #, fuzzy msgid "Expression examples" msgstr "Exemples" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -7073,18 +7075,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -7093,11 +7095,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -7107,7 +7109,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -7116,11 +7118,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -7132,24 +7134,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -7157,17 +7159,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -7178,11 +7180,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -7190,14 +7192,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9605,41 +9607,45 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 #, fuzzy msgid "Building distributions" msgstr "Distribution compilée" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9647,25 +9653,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9673,7 +9679,7 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" @@ -9681,39 +9687,39 @@ msgstr "" "Depuis novembre 2024, PyPI supporte les plateformes suivantes comme " "fournisseurs Trusted Publishing :" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "GitLab CI/CD (sur ``https://gitlab.com``)" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9724,31 +9730,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -10158,7 +10164,7 @@ msgid "``license`` and ``license-files``" msgstr "``license``" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10271,14 +10277,14 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 #, fuzzy @@ -10286,71 +10292,71 @@ msgstr "" msgid "``license-files``" msgstr "``license``" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "``keywords``" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "``classifiers``" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 #, fuzzy msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " @@ -10359,7 +10365,7 @@ msgstr "" "Renseignez une liste de classifieurs qui catégorisent votre projet. Pour la " "liste complète, consultez https://pypi.org/classifiers/." -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10368,26 +10374,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "``urls``" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10395,28 +10401,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10424,34 +10430,34 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 #, fuzzy msgid "A full example" msgstr "Exemples" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13974,7 +13980,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "Historique" @@ -14812,11 +14818,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16680,17 +16686,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -25536,11 +25548,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -25549,29 +25563,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -25579,102 +25593,102 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 #, fuzzy msgid "Direct references" msgstr "Références" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25682,29 +25696,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25716,7 +25730,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25725,14 +25739,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25741,7 +25755,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25749,7 +25763,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25760,16 +25774,16 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 #, fuzzy msgid "Remote URL examples::" msgstr "Exemples" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25777,7 +25791,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25785,7 +25799,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25797,43 +25811,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25842,29 +25856,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 #, fuzzy msgid "Python Virtual Environments" @@ -27237,7 +27255,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -27276,11 +27294,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/frc/LC_MESSAGES/messages.po b/locales/frc/LC_MESSAGES/messages.po index c964edf0a..8cf57a40e 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -3405,9 +3405,9 @@ msgstr "" #: ../source/glossary.rst:161 msgid "" "A string with valid SPDX license expression syntax, including one or more " -"SPDX :term:`License Identifier`\\(s), which describes a :term:`Project`'s " -"license(s) and how they inter-relate. Examples: ``GPL-3.0-or-later``, ``MIT " -"AND (Apache-2.0 OR BSD-2-Clause)``" +"SPDX :term:`License Identifier`\\(s), which describes a :term:`Distribution " +"Archive`'s license(s) and how they inter-relate. Examples: ``GPL-3.0-or-" +"later``, ``MIT AND (Apache-2.0 OR BSD-2-Clause)``" msgstr "" #: ../source/glossary.rst:169 @@ -3580,54 +3580,54 @@ msgstr "" msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3635,11 +3635,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3648,11 +3648,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3660,26 +3660,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3691,38 +3691,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3731,21 +3731,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3754,11 +3754,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3766,15 +3766,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3782,21 +3782,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3949,7 +3949,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4305,7 +4305,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4627,7 +4627,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6686,11 +6686,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6726,7 +6727,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6739,29 +6741,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6773,65 +6775,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6840,18 +6842,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6860,11 +6862,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6874,7 +6876,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6883,11 +6885,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6899,24 +6901,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6924,17 +6926,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6945,11 +6947,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6957,14 +6959,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9356,40 +9358,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9397,25 +9403,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9423,45 +9429,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9472,31 +9478,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9900,7 +9906,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10005,90 +10011,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10097,26 +10103,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10124,28 +10130,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10153,33 +10159,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13571,7 +13577,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14365,11 +14371,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16201,17 +16207,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24846,11 +24858,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24859,29 +24873,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24889,101 +24903,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24991,29 +25005,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25025,7 +25039,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25034,14 +25048,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25050,7 +25064,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25058,7 +25072,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25069,15 +25083,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25085,7 +25099,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25093,7 +25107,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25105,43 +25119,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25150,29 +25164,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26538,7 +26556,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26577,11 +26595,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/gl/LC_MESSAGES/messages.po b/locales/gl/LC_MESSAGES/messages.po index 8baf0c4d1..1cd5d5521 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -3405,9 +3405,9 @@ msgstr "" #: ../source/glossary.rst:161 msgid "" "A string with valid SPDX license expression syntax, including one or more " -"SPDX :term:`License Identifier`\\(s), which describes a :term:`Project`'s " -"license(s) and how they inter-relate. Examples: ``GPL-3.0-or-later``, ``MIT " -"AND (Apache-2.0 OR BSD-2-Clause)``" +"SPDX :term:`License Identifier`\\(s), which describes a :term:`Distribution " +"Archive`'s license(s) and how they inter-relate. Examples: ``GPL-3.0-or-" +"later``, ``MIT AND (Apache-2.0 OR BSD-2-Clause)``" msgstr "" #: ../source/glossary.rst:169 @@ -3580,54 +3580,54 @@ msgstr "" msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3635,11 +3635,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3648,11 +3648,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3660,26 +3660,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3691,38 +3691,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3731,21 +3731,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3754,11 +3754,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3766,15 +3766,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3782,21 +3782,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3949,7 +3949,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4305,7 +4305,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4627,7 +4627,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6686,11 +6686,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6726,7 +6727,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6739,29 +6741,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6773,65 +6775,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6840,18 +6842,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6860,11 +6862,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6874,7 +6876,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6883,11 +6885,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6899,24 +6901,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6924,17 +6926,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6945,11 +6947,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6957,14 +6959,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9356,40 +9358,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9397,25 +9403,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9423,45 +9429,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9472,31 +9478,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9900,7 +9906,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10005,90 +10011,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10097,26 +10103,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10124,28 +10130,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10153,33 +10159,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13571,7 +13577,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14365,11 +14371,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16201,17 +16207,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24846,11 +24858,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24859,29 +24873,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24889,101 +24903,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24991,29 +25005,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25025,7 +25039,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25034,14 +25048,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25050,7 +25064,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25058,7 +25072,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25069,15 +25083,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25085,7 +25099,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25093,7 +25107,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25105,43 +25119,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25150,29 +25164,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26538,7 +26556,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26577,11 +26595,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/gmh/LC_MESSAGES/messages.po b/locales/gmh/LC_MESSAGES/messages.po index 2b3760480..a786704d6 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -3405,9 +3405,9 @@ msgstr "" #: ../source/glossary.rst:161 msgid "" "A string with valid SPDX license expression syntax, including one or more " -"SPDX :term:`License Identifier`\\(s), which describes a :term:`Project`'s " -"license(s) and how they inter-relate. Examples: ``GPL-3.0-or-later``, ``MIT " -"AND (Apache-2.0 OR BSD-2-Clause)``" +"SPDX :term:`License Identifier`\\(s), which describes a :term:`Distribution " +"Archive`'s license(s) and how they inter-relate. Examples: ``GPL-3.0-or-" +"later``, ``MIT AND (Apache-2.0 OR BSD-2-Clause)``" msgstr "" #: ../source/glossary.rst:169 @@ -3580,54 +3580,54 @@ msgstr "" msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3635,11 +3635,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3648,11 +3648,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3660,26 +3660,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3691,38 +3691,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3731,21 +3731,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3754,11 +3754,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3766,15 +3766,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3782,21 +3782,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3949,7 +3949,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4305,7 +4305,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4627,7 +4627,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6686,11 +6686,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6726,7 +6727,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6739,29 +6741,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6773,65 +6775,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6840,18 +6842,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6860,11 +6862,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6874,7 +6876,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6883,11 +6885,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6899,24 +6901,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6924,17 +6926,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6945,11 +6947,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6957,14 +6959,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9356,40 +9358,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9397,25 +9403,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9423,45 +9429,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9472,31 +9478,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9900,7 +9906,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10005,90 +10011,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10097,26 +10103,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10124,28 +10130,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10153,33 +10159,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13571,7 +13577,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14365,11 +14371,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16201,17 +16207,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24846,11 +24858,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24859,29 +24873,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24889,101 +24903,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24991,29 +25005,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25025,7 +25039,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25034,14 +25048,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25050,7 +25064,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25058,7 +25072,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25069,15 +25083,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25085,7 +25099,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25093,7 +25107,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25105,43 +25119,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25150,29 +25164,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26538,7 +26556,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26577,11 +26595,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/hi/LC_MESSAGES/messages.po b/locales/hi/LC_MESSAGES/messages.po index 9e274ef5f..3f6b21030 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2024-09-16 10:09+0000\n" "Last-Translator: kumar Shivam \n" "Language-Team: Hindi `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3661,11 +3661,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3674,11 +3674,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3686,28 +3686,28 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 #, fuzzy #| msgid "Project name" msgid "Root License Directory" msgstr "परियोजना" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3719,38 +3719,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3759,21 +3759,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3782,11 +3782,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3794,15 +3794,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3810,21 +3810,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3977,7 +3977,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4333,7 +4333,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4661,7 +4661,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6740,11 +6740,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6780,7 +6781,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6793,29 +6795,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6827,65 +6829,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6894,18 +6896,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6914,11 +6916,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6928,7 +6930,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6937,11 +6939,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6953,24 +6955,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6978,17 +6980,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6999,11 +7001,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -7011,14 +7013,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9414,40 +9416,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9455,25 +9461,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9481,45 +9487,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9530,31 +9536,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9958,7 +9964,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10063,90 +10069,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10155,26 +10161,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10182,28 +10188,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10211,33 +10217,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13631,7 +13637,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14427,11 +14433,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16268,17 +16274,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24935,11 +24947,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24948,29 +24962,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24978,101 +24992,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25080,29 +25094,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25114,7 +25128,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25123,14 +25137,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25139,7 +25153,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25147,7 +25161,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25158,15 +25172,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25174,7 +25188,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25182,7 +25196,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25194,43 +25208,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25239,29 +25253,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26629,7 +26647,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26668,11 +26686,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/id/LC_MESSAGES/messages.po b/locales/id/LC_MESSAGES/messages.po index 5e84b0eb4..3d85d41e7 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2024-10-17 21:16+0000\n" "Last-Translator: oon arfiandwi \n" "Language-Team: Indonesian `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3684,11 +3684,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3697,11 +3697,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3709,26 +3709,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3740,38 +3740,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3780,21 +3780,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3803,11 +3803,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3815,15 +3815,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3831,21 +3831,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3998,7 +3998,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4354,7 +4354,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4680,7 +4680,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6744,11 +6744,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6784,7 +6785,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6797,29 +6799,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6831,65 +6833,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6898,18 +6900,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6918,11 +6920,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6932,7 +6934,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6941,11 +6943,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6957,24 +6959,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6982,17 +6984,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -7003,11 +7005,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -7015,14 +7017,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9418,42 +9420,46 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 #, fuzzy #| msgid "Reviewing new contributions" msgid "Building distributions" msgstr "Tinjau kontribusi baru" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9461,25 +9467,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9487,45 +9493,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9536,31 +9542,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9964,7 +9970,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10069,90 +10075,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10161,26 +10167,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10188,28 +10194,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10217,33 +10223,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13635,7 +13641,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14434,11 +14440,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16273,17 +16279,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24947,11 +24959,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24960,29 +24974,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24990,101 +25004,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25092,29 +25106,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25126,7 +25140,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25135,14 +25149,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25151,7 +25165,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25159,7 +25173,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25170,15 +25184,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25186,7 +25200,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25194,7 +25208,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25206,43 +25220,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25251,29 +25265,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26641,7 +26659,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26680,11 +26698,12 @@ msgstr "Membuat sebuah LICENSE" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/ja/LC_MESSAGES/messages.po b/locales/ja/LC_MESSAGES/messages.po index bfb23950d..3213d82c9 100644 --- a/locales/ja/LC_MESSAGES/messages.po +++ b/locales/ja/LC_MESSAGES/messages.po @@ -12,17 +12,17 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-24 00:10+0000\n" -"PO-Revision-Date: 2025-11-25 09:00+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" +"PO-Revision-Date: 2025-12-24 01:00+0000\n" "Last-Translator: moto kawasaki \n" -"Language-Team: Japanese \n" +"Language-Team: Japanese \n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15-dev\n" +"X-Generator: Weblate 5.15.1\n" #: ../source/contribute.rst:5 msgid "Contribute to this guide" @@ -4674,15 +4674,15 @@ msgstr "SPDX 表現" #: ../source/glossary.rst:161 msgid "" "A string with valid SPDX license expression syntax, including one or more " -"SPDX :term:`License Identifier`\\(s), which describes a :term:`Project`'s " -"license(s) and how they inter-relate. Examples: ``GPL-3.0-or-later``, ``MIT " -"AND (Apache-2.0 OR BSD-2-Clause)``" +"SPDX :term:`License Identifier`\\(s), which describes a :term:`Distribution " +"Archive`'s license(s) and how they inter-relate. Examples: ``GPL-3.0-or-" +"later``, ``MIT AND (Apache-2.0 OR BSD-2-Clause)``" msgstr "" "ひとつかそれ以上の SPDX :term:`ライセンス識別子 ` (複数の" -"場合もあり) を含む、正当な SPDX ライセンス表現の文法を伴う文字列で、 :term:`" -"プロジェクト ` のライセンス(群) を記述し、どのように相互に関係するの" -"かを表現するもの。例: ``GPL-3.0-or-later`` ・ ``MIT AND (Apache-2.0 OR BSD-2-" -"Clause)``" +"場合もあり) を含む、正当な SPDX ライセンス表現のシンタックスを伴う文字列" +"で、 :term:`配布物アーカイブ ` のライセンス(群) を記述" +"し、どのように相互に関係するのかを表現するもの。例: ``GPL-3.0-or-later`` ・ " +"``MIT AND (Apache-2.0 OR BSD-2-Clause)``" #: ../source/glossary.rst:169 msgid "License Identifier" @@ -4913,24 +4913,23 @@ msgstr "Pythonパッケージングオーソリティ(PyPA)" msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" "PyPAは、Pythonのパッケージングに関係する多くのプロジェクトを維持管理する作業" "グループです。その活動の一環として :doc:`papa.io ` を維持管理して" -"おり、 `GitHub `_ と `Bitbucket `_ に関連プロジェクトを置くとともに、 `distutils-sig メー" -"リングリスト `_ と `Python談話フォーラム `__ で議論を進めています。" +"おり、 `GitHub `_ に関連プロジェクトを置くとともに" +"、 `distutils-sig メーリングリスト `_ と `Python談話フォーラム `__ で議論を進めています。" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "Pythonパッケージインデックス (PyPI)" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " @@ -4940,11 +4939,11 @@ msgstr "" "の :term:`Package Index`です。ここから配布物を取り出し、また、配布するために" "すべてのPython開発者に開かれています。" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "pypi.org" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " @@ -4954,22 +4953,22 @@ msgstr "" "(PyPI)` のためのドメイン名です。2017年にそれまでのドメイン名である " "``pypi.python.org`` を置き換えました。 :ref:`warehouse`を使っています。" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "pyproject.toml" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" "ツール不可知論者の :term:`プロジェクト ` 仕様を示すファイ" "ル。 :pep:`518` で定義。" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "リリース" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." @@ -4977,7 +4976,7 @@ msgstr "" "ある特定の時点における :term:`プロジェクト `のスナップショットで、" "バージョン識別子付きのもの。" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -4989,11 +4988,11 @@ msgstr "" "らば、ソースコード配布物とWindowsインストーラ付配布物の両方が利用可能となって" "いるという具合です。" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "要求事項" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -5007,11 +5006,11 @@ msgstr "" "を許容しています。詳細については、 :ref:`pip:pip install` の項を参照してくだ" "さい。" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "要求事項識別子" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -5024,11 +5023,11 @@ msgstr "" "\"foo>=1.3\" は要求事項識別子であり、 \"foo\" の部分がプロジェクトの名称で、 " "\">=1.3\" の部分は :term:`バージョン指定子 ` です" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "Requirementsファイル" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " @@ -5038,15 +5037,15 @@ msgstr "" "記したファイル。詳しい情報は、 :ref:`pip` のドキュメント" "の :ref:`pip:Requirementsファイル ` をみてください。" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "ライセンスディレクトリのルート" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "ライセンスディレクトリ" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -5060,17 +5059,17 @@ msgstr "" ":term:`プロジェクトソースツリー <その下にライセンスファイル群を保存するディレ" "クトリ" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "setup.py" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "setup.cfg" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." @@ -5078,11 +5077,11 @@ msgstr "" ":ref:`distutils`や :ref:`setuptools` で使われるプロジェクトの仕様を記したファ" "イル。 :term:`pyproject.toml`も見てください。" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "ソースコードアーカイブ" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` という用語を作る前には、:term:`リリース " "`向けに生のソースコードを収めたアーカイブのことをこう呼んでいた。" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" "`ソースコード配布物 (またはsdist) `" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -5111,11 +5110,11 @@ msgstr "" "``python -m build --sdist`` を使って生成されます) 。もっと情報が欲しけれ" "ば、 :ref:`パッケージフォーマット ` を見てください。" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "システムパッケージ" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." @@ -5123,11 +5122,11 @@ msgstr "" "rpmやdpkgのように、オペレーティングシステムに固有のフォーマットで提供される" "パッケージ。" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "バージョン指定子" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -5141,11 +5140,11 @@ msgstr "" "specifiers>` を読んでください。この仕様のサポートは、 :ref:`setuptools` v8.0 " "と :ref:`pip` v6.0 で実装されました。" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "仮想環境" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -5157,15 +5156,15 @@ msgstr "" "環境の生成と使用 ` を見てください。参照実装である :term:`Wheel プロ" "ジェクト ` と混同しないように。" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "Wheel プロジェクト" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." @@ -5190,11 +5189,11 @@ msgstr "" ":term:`Wheel フォーマット ` の PyPA による参照実" "装; :ref:`wheel` 参照。" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "動作可能セット" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -5392,7 +5391,7 @@ msgstr "説明" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "例" @@ -5795,7 +5794,7 @@ msgstr "" "できます。" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "参考文献" @@ -6250,12 +6249,12 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" "しかしながら、このシンタックスはちょっと実際的ではありません; 上で定義したエ" -"ントリポイントの名称がパッケージ名称と一致しないので、 (たとえひとつしか実行" -"スクリプトがないとしても) 明示的にどの実行スクリプトを走らせるのかを述べる必" -"要があります。" +"ントリポイントの名称がパッケージ名称と一致しないので、 (たとえたったひとつだ" +"けしか実行スクリプトがないとしても) 明示的にどの実行スクリプトを走らせるのか" +"を述べる必要があります。" #: ../source/guides/creating-command-line-tools.rst:159 msgid "" @@ -9006,18 +9005,19 @@ msgstr "ライセンシングの例とユーザシナリオ" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" -":pep:`639` では、プロジェクトの来船を宣言する方法やライセンスファイルへのパ" -"ス、そして、その他の法的に要求される情報を仕様化しています。この説明文書は、" -"レガシーなライセンス宣言から標準化されたそれへどのようにして移行するのかに関" -"する明確なガイダンスを提供することを目的としています。より新しいガイダンスを" -"適用しようと試みる前に、好みのビルドバックエンドが :pep:`639` をサポートして" -"いることを確認してください。" +":pep:`639` では、 :term:`配布物アーカイブ ` のライセン" +"スを宣言する方法やライセンスファイルへのパス、そして、その他の法的に要求され" +"る情報を仕様化しています。この説明文書は、レガシーなライセンス宣言から標準化" +"されたそれへどのようにして移行するのかに関する明確なガイダンスを提供すること" +"を目的としています。より新しいガイダンスを適用しようと試みる前に、好みのビル" +"ドバックエンドが :pep:`639` をサポートしていることを確認してください。" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 msgid "Licensing Examples" @@ -9062,9 +9062,11 @@ msgstr "" "``[metadata]`` テーブルで:" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" -"配布物パッケージのためのコアとなるメタデータの出力はこんなふうになるでしょう:" +":term:`配布パッケージ ` のためのコアとなるメタデータの" +"出力はこんなふうになるでしょう:" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 msgid "" @@ -9082,11 +9084,11 @@ msgstr "" "れのアーカイブのルートディレクトリであり、 ``{VERSION}`` はコアとなるメタデー" "タ内の Setuptools のリリースのバージョンです。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "先進的な例" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " @@ -9096,11 +9098,11 @@ msgstr "" "_vendor/` のディレクトリ内に第三者のプロジェクトのライセンスを包含していたと" "しましょう; 特にこの場合は:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" -msgstr "これらのプロジェクトに対するライセンス条項は:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" +msgstr "適切なライセンス表現は:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " @@ -9110,7 +9112,7 @@ msgstr "" "イセンス条項をすべてひとつにまとめて、これらのメタデータを包含することになる" "でしょう。そのような条項はこんなものになるでしょう:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -9130,7 +9132,7 @@ msgstr "" "ピーライト文言や `ライセンス選択通知 `__ があるものと思っ" "てください。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " @@ -9140,13 +9142,13 @@ msgstr "" "(プロジェクトルートと :file:`pyproject.toml` からの相対) パスに位置するものと" "仮定しています:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" "これらをすべて一緒にすると、 :file:`pyproject.toml` はこんなふうになるでしょ" "う:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" @@ -9154,20 +9156,20 @@ msgstr "" "あるいは、別の方法としては、ライセンスファイル群を明示的に示すこともできます " "(パスはglobパターンとして解釈されるでしょう):" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" ":file:`setup.cfg` をプロジェクトで使っているなら、こんなふうに定義することが" "できます:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" "どちらのアプローチでも、配布物内のコアとなるメタデータの出力はこんな風になる" "でしょう:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " @@ -9178,7 +9180,7 @@ msgstr "" "バージョン番号として、ライセンスファイル群が次のようなパスに配置されるでしょ" "う:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" @@ -9186,7 +9188,7 @@ msgstr "" "ビルド済みの wheel では、 :file:`/` をルートディレクトリとし、 ``{VERSION}`` " "を先述の通りとして、ライセンスファイル群は次の場所に保存されるでしょう:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " @@ -9196,19 +9198,19 @@ msgstr "" "ディレクトリとし、 ``{VERSION}`` を先述の通りとして、ライセンスファイル群は次" "の場所にインストールされるでしょう:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "表現 の例" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "いくつかの追加の ``License-Expression`` の正当な値の例:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "ユーザシナリオ" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -9222,11 +9224,11 @@ msgstr "" "て確信を持てないならば、それを法律上の管轄範囲とするライセンスを持った法律実" "務家に相談するべきす。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "配布するつもりのないプライベートなパッケージがあります" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " @@ -9236,7 +9238,7 @@ msgstr "" "ら、 *通常は* 厳格に公式のライセンス (ファイル) を含める必要があるわけではあ" "りませんし、だからここで何か追加の作業をする必要があるわけではないでしょう。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -9249,11 +9251,11 @@ msgstr "" "パッケージの設定の中にライセンス条項として ``LicenseRef-Proprietary`` や著作" "権情報やその他の法的通知を含めておくことは良い考えです。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "自分の作品を法的制限なしに共有したいだけです" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -9269,7 +9271,7 @@ msgstr "" "作品に対して誰でも (多分作者も望まないでしょうが、作者相手に訴訟を起こす以外" "の) どんなことでも許容するので、その代替として偉大な選択肢です。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -9284,11 +9286,11 @@ msgstr "" "``license = \"MIT\"`` を :file:`pyproject.toml` の中の ``[project]`` の下か、" "あるいは、設定ファイル・節の中に追加してください。これで出来上がりです!" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "プロジェクトを特定のライセンスの下で配布したい" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -9308,7 +9310,7 @@ msgstr "" "`__ や `SPDX `__ のようなサイトに行けば、 " "``LICENSE-ID`` とコピー可能なライセンス条項を見つけることができるでしょう。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." @@ -9317,11 +9319,11 @@ msgstr "" "ツールによってライセンスファイルを加えることができ、将来に渡って表現をサポー" "トするでしょう。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "既にライセンスが付与された既存パッケージを維持管理しています" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " @@ -9330,7 +9332,7 @@ msgstr "" "ライセンスファイルやプロジェクト内のメタデータが既に存在しているなら、新機能" "の利点を得るためには2,3の捻りを加えるだけで良いはずです。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -9338,18 +9340,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" "プロジェクト設定ファイルにおいて、ライセンス条項を ``license`` " "(:file:`pyproject.toml` の ``[project]`` テーブル) の下か、使っているパッケー" "ジングツールでの相当する場所に置き、古いやり方である ``license`` テーブルサブ" "キーや ``License::`` 分類子を取り除くのを忘れないでください。既存の " "``license`` 値は、そのままでも正当なもの (例えば ``MIT`` や ``Apache-2.0 OR " -"BSD-2-Clause`` 等) かもしれません; そうでなければ、そのプロジェクトで採用して" -"いるライセンスに合致する識別子を `SPDX ライセンスリスト `__ で確認" -"して下さい。" +"BSD-2-Clause`` 等) かもしれません; そうでなければ、採用しているライセンスに合" +"致する識別子を `SPDX ライセンスリスト `__ で確認して下さい。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " @@ -9359,7 +9360,7 @@ msgstr "" "しているツールの設定ファイルに、ライセンスファイル群を列挙しておくのを忘れな" "いでください。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -9378,11 +9379,11 @@ msgstr "" "いるかもしれませんので、さらなる情報を得るために使っているツールの説明文書を" "調べて下さい。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "私のパッケージには異なるライセンスの他のソースコードが含まれています" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -9394,22 +9395,21 @@ msgstr "" "含んでいるなら、関与するライセンスとそれらの間の関係を記述するために、ライセ" "ンス条項を構築することができます。" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 -msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." -msgstr "" -"端的に言えば、 ``License-1 AND License-2`` では、 *両方の* ライセンスか、また" -"は、その一部 (例えば、同梱されたあるファイルがもう一つの方のライセンスの下に" -"ある) がプロジェクトに適用され、 ``License-1 OR License-2`` では、ユーザの選" -"択によって、 *いずれか一方の* ライセンス (例えば、複数のライセンスから一つを" -"選ぶことをユーザに許したい) を適用しても構いません。もっとも込み入った状況で" -"さえもカバーできる表現を組み立てるためのグループ化のために括弧 (``()``) を使" -"うことができます。" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 +msgid "" +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." +msgstr "" +"端的に言えば、 ``License-1 AND License-2`` は *両方の* ライセンスが適用される" +"こと (例えば、同梱されたあるファイルがもう一つの方のライセンスの下にある) を" +"意味し、また、 ``License-1 OR License-2`` では、ユーザの選択によって、 *いず" +"れか一方の* ライセンスを使用することができます (例えば、複数のライセンスから" +"一つを選ぶことをユーザに許したい) 。もっと込み入った状況でさえもカバーできる" +"表現を組み立てるためのグループ化のために括弧 (``()``) を使うことができます。" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 msgid "" @@ -12749,7 +12749,11 @@ msgstr "" "ますし、まだ setuptools から利用可能ではありますが Python 3.12 で標準ライブラ" "リから取り除かれたものです。" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "拡張モジュール用のビルドバックエンド" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " @@ -12759,7 +12763,7 @@ msgstr "" "張が書かれた言語用の専用サポートのあるビルドシステムを使うのが最善です、例え" "ば:" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," @@ -12767,7 +12771,7 @@ msgstr "" ":ref:`setuptools` -- C 言語および C++ 言語をネイティブにサポート (サードパー" "ティのプラグインで Go 言語と Rust 言語も)、" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," @@ -12775,7 +12779,7 @@ msgstr "" ":ref:`meson-python` -- C 言語・ C++ 言語・ Fortran ・ Rust およびその他の言語" "が Meson によってサポートされています、" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," @@ -12783,15 +12787,15 @@ msgstr "" ":ref:`scikit-build-core` -- C 言語・ C++ 言語・ Fortran やその他の言語が " "CMake によってサポートされています、" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr ":ref:`maturin` -- Rust 、 Cargo を経由して。" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "配布物をビルドする" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -12804,7 +12808,7 @@ msgstr "" "guide-build-system-table>` ビルドバックエンドが何であれ、それを起動することに" "なります。" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " @@ -12814,7 +12818,7 @@ msgstr "" "bdist_wheel`` を *使わないで* ください。:file:`setup.py` を直接に起動すること" "は :ref:`非推奨 ` になっています。" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " @@ -12824,11 +12828,11 @@ msgstr "" "フォーム向けに wheel ファイルを配布したいと考えているなら、配布可能な wheel " "ファイルをビルドする CI 環境の一部として :ref:`cibuildwheel` を使いましょう。" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "PyPIにアップロードする" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -12841,7 +12845,7 @@ msgstr "" "る :ref:`Trusted Publishing ` を使うことが推奨されていま" "す。" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" @@ -12849,23 +12853,23 @@ msgstr "" "2024 年 11 月の時点では、 PyPI は以下のプラットフォームを 信頼ある公開 " " プロバイダとしてサポートしています:" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "(``https://github.com`` における) GitHub Actions" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "(``https://gitlab.com`` における) GitLab CI/CD" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "ActiveState" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "Google Cloud" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." @@ -12873,7 +12877,7 @@ msgstr "" "利用可能なもうひとつの方法は、 :ref:`twine` を用いて手動でパッケージをアップ" "ロードすることです。" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 msgid "" "**Never** use ``python setup.py upload`` for this task. In addition to " "being :ref:`deprecated `, it is insecure." @@ -12882,11 +12886,11 @@ msgstr "" "* ください。 :ref:`非推奨 ` であることに加えて、危険 " " です。" -#: ../source/guides/tool-recommendations.rst:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "ワークフローツール" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -12904,31 +12908,31 @@ msgstr "" "のロックファイルをサポートしています。これらは、往々にして、先述のツール群を" "内部的に呼び出しています。アルファベット順に:" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr ":ref:`Flit`," -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr ":ref:`Hatch`," -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr ":doc:`nox `," -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr ":ref:`PDM`," -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr ":ref:`Pipenv`," -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr ":ref:`Poetry`," -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr ":doc:`tox `." @@ -13458,7 +13462,7 @@ msgid "``license`` and ``license-files``" msgstr "``license`` と ``license-files``" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" ":pep:`639` によれば、ライセンスはふたつのフィールドで宣言されるべきです:" @@ -13584,24 +13588,25 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -"プロジェクトが使っているライセンスが既存の SPDX 識別子を持っていない時は、 " -"``LicenseRef-[idstring]`` の書式で作成することができます。カスタムの識別子" -"は、バージョン 2.2 かそれより新しい互換のバージョンの `clause 10.1 " -"`_ という SPDX 仕様に従わなければなりません。" +":term:`配布物アーカイブ ` が使っているライセンスが既存" +"の SPDX 識別子を持っていない時は、 ``LicenseRef-[idstring]`` の書式で作成する" +"ことができます。カスタム識別子は、バージョン 2.2 かそれより新しい互換のバー" +"ジョンの `clause 10.1 `_ という SPDX 仕様に従わなければなりま" +"せん。" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "``license-files``" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." @@ -13609,11 +13614,11 @@ msgstr "" "これは、そのパッケージとともに配布したいと望む、ライセンスファイルとその他の" "法律関係の情報を含むファイルのリストです。" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "glob パターンは、次の仕様に従わなければなりません:" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." @@ -13621,18 +13626,18 @@ msgstr "" "英数字・アンダースコア (``_``) ・ハイフン (``-``) ・ドット (``.``) が文字通り" "に合致するでしょう。" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" "特殊文字: ``*`` ・ ``?`` ・ ``**`` と文字の帯域: [] がサポートされています。" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "パスデリミタは、正スラッシュ (``/``) でなければなりません。" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." @@ -13640,15 +13645,15 @@ msgstr "" "パターンは、 :file:`pyproject.toml` を含むディレクトリに対する相対パスで、" "従ってスラッシュ文字で始まることはできません。" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "親ディレクトリ表示子 (``..``) を使用してはなりません。" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "各 glob は、少なくとも一つのファイルにマッチしなければなりません。" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." @@ -13656,13 +13661,13 @@ msgstr "" "字義通りのパスは、正当な glob です。この仕様でカバーされていない文字や文字の" "並びは、すべて、正当なものではありません。" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "``keywords``" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." @@ -13670,13 +13675,13 @@ msgstr "" "これは、 PyPI 上の検索でキーワードが与えられた時にこのプロジェクトをサジェス" "トするのを助けます。" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "``分類詞 ``" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." @@ -13684,7 +13689,7 @@ msgstr "" "プロジェクトに合致する PyPI 分類子 のリスト。 `可能な分類子のリ" "スト `_ を参照してください。" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -13699,7 +13704,7 @@ msgstr "" "トールされ得るのかを実際に制約するためには、 :ref:`requires-python` 引数を" "使ってください。" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " @@ -13709,13 +13714,13 @@ msgstr "" "Upload`` 分類子を使いましょう。``Private ::`` で始まる分類子を付けられたパッ" "ケージを PyPI は常に拒否します。" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "``urls``" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." @@ -13723,7 +13728,7 @@ msgstr "" "プロジェクトに関連のある URL のリストで、PyPI 上のプロジェクトページの左サイ" "ドバーに表示されるもの。" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -13735,7 +13740,7 @@ msgstr "" "て見たければ `PyPI のプロジェクトメタデータ説明文書 `_ を見て下さい。" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" @@ -13745,7 +13750,7 @@ msgstr "" "example.com\"`` ではなくて ``\"Official Website\" = \"https://" "example.com\"`` のように引用符で囲む必要があります。" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " @@ -13755,7 +13760,7 @@ msgstr "" "することができるように、ユーザにはそのプロジェクトの適切な URL のため" "に :ref:`well-known-labels` を使用することを推奨します。" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " @@ -13765,7 +13770,7 @@ msgstr "" "Link\"`` のいずれもよく知られたラベルではなく、従って、これらは文字通りに展開" "されます:" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -13777,11 +13782,11 @@ msgstr "" "れ得ることを心に留めておいて下さい (順にそれぞれプロジェクトのホームページ、" "および、その外部のダウンロードできる場所)。" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "先進的なプラグイン" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " @@ -13792,16 +13797,16 @@ msgstr "" "以下のように ``[project.entry-points]`` のサブテーブルで宣言する必要がありま" "す:" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" "詳しくは、 :ref:`プラグインガイド ` を見てください。" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "完全な例" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " @@ -13811,7 +13816,7 @@ msgstr "" "考えてください。起きる可能性のある問題に関するいくらかの情報が `このブログ記" "事 `_ にあります。" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -18295,7 +18300,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "歴史" @@ -19202,18 +19207,18 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" -"メタデータを処理する自動化ツールは、 ``metadata_version`` が自身のサポートす" -"る最大のものより大きい場合には警告を行うべきであり、かつ、 " -"``metadata_version`` が自身のサポートする最大のメジャーバージョンより大きいメ" -"ジャーバージョンを持つ場合には異常終了しなければなりません (:ref:`バージョン" -"指定子 ` に記述されている通り、メジャーバージョンとはバー" -"ジョンのうち最初のドットよりも前の部分です) 。" +"メタデータを処理する自動化ツールは、 ``metadata-version`` が自身のサポートす" +"る最大のものより大きい場合には警告を行うべきであり、かつ、 ``metadata-" +"version`` が自身のサポートする最大のメジャーバージョンより大きいメジャーバー" +"ジョンを持つ場合には異常終了しなければなりません (:ref:`バージョン指定子仕様 " +"` に記述されている通り、メジャーバージョンとはバージョン" +"のうち最初のドットよりも前の部分です) 。" #: ../source/specifications/core-metadata.rst:62 msgid "" @@ -21621,7 +21626,15 @@ msgstr "" "規表現が決定された (以前は ``\\Z`` の代わりに ``$`` で終端していたので、誤っ" "て後続する行末コード を許容していた)" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" +"2025年12月: あらゆる意味での同一性 の比較がパースされる" +"ことを許すために、 ``==`` より前に ``===`` を (評価することを) 確実に。" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" @@ -21629,11 +21642,11 @@ msgstr "" "Python のパッケージをインストールする際に推奨されるツールである pip (http://" "pip.readthedocs.org/en/stable/)" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "parsley PEG ライブラリ。 (https://pypi.python.org/pypi/parsley/)" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -29770,7 +29783,8 @@ msgstr "" msgid "" "The format of the linked provenance is defined in :ref:`index-hosted-" "attestations`." -msgstr "リンクされた起源のフォーマットは、 :ref:`index-hosted-attestations` で定義さ" +msgstr "" +"リンクされた起源のフォーマットは、 :ref:`index-hosted-attestations` で定義さ" "れています。" #: ../source/specifications/simple-repository-api.rst:274 @@ -29796,7 +29810,8 @@ msgstr "" msgid "" "The set of valid project status markers and their semantics is described " "in :ref:`project-status-markers`." -msgstr "正当なプロジェクト状態マーカとそのセマンティクスの組は、 :ref:`project-" +msgstr "" +"正当なプロジェクト状態マーカとそのセマンティクスの組は、 :ref:`project-" "status-markers` に記述されています。" #: ../source/specifications/simple-repository-api.rst:288 @@ -30169,7 +30184,8 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:480 msgid "" "This URL must respond with a JSON encoded dictionary that has four keys:" -msgstr "この URL は、4個のキーを持つJSON にコード化された辞書を返さなければなりませ" +msgstr "" +"この URL は、4個のキーを持つJSON にコード化された辞書を返さなければなりませ" "ん:" #: ../source/specifications/simple-repository-api.rst:482 @@ -30185,14 +30201,16 @@ msgstr "``files``: 辞書のリストで、各辞書が個別のファイルを msgid "" "In addition to the general response metadata, the project detail ``meta`` " "dictionary **MAY** also include the following:" -msgstr "一般的な応答メタデータに加えて、プロジェクト詳細の ``meta`` 辞書には、以下の" +msgstr "" +"一般的な応答メタデータに加えて、プロジェクト詳細の ``meta`` 辞書には、以下の" "ものを含めても **構いません** :" #: ../source/specifications/simple-repository-api.rst:489 msgid "" "``project-status``: If present, this **MUST** be a valid project status " "marker." -msgstr "``project-status``: もし存在すれば、これは、正当なプロジェクト状態マーカで **" +msgstr "" +"``project-status``: もし存在すれば、これは、正当なプロジェクト状態マーカで **" "なければなりません** 。" #: ../source/specifications/simple-repository-api.rst:498 @@ -30209,7 +30227,8 @@ msgstr "" #: ../source/specifications/simple-repository-api.rst:505 msgid "The ``project-status-reason`` key was added with API version 1.4." -msgstr "``project-status-reason`` キーは、 API バージョン 1.4 で追加されました。" +msgstr "" +"``project-status-reason`` キーは、 API バージョン 1.4 で追加されました。" #: ../source/specifications/simple-repository-api.rst:507 msgid "" @@ -30244,10 +30263,11 @@ msgid "" "servers **SHOULD** use normalized VSS versions where possible." msgstr "" ":ref:`バージョン指定子仕様 (VSS) ` の採用前からの \"レガ" -"シー\" データをサーバが保持しているかもしれないので、バージョン文字列について" -" VSS に則ったバージョンであることを要求することはできませんし、したがって、 " -"VSS のルールを使って並べることができると仮定することもできません。しかしなが" -"ら、サーバ側は、可能であれば正規化された VSS バージョンを **使うべきです** 。" +"シー\" データをサーバが保持しているかもしれないので、バージョン文字列につい" +"て VSS に則ったバージョンであることを要求することはできませんし、したがっ" +"て、 VSS のルールを使って並べることができると仮定することもできません。しかし" +"ながら、サーバ側は、可能であれば正規化された VSS バージョンを **使うべきです" +"** 。" #: ../source/specifications/simple-repository-api.rst:529 msgid "The ``versions`` key was added with API version 1.1." @@ -30377,7 +30397,8 @@ msgstr "" msgid "" "``dist-info-metadata``: An **optional**, deprecated alias for ``core-" "metadata``." -msgstr "``dist-info-metadata``: **オプション** で、 ``core-metadata`` の非推奨になっ" +msgstr "" +"``dist-info-metadata``: **オプション** で、 ``core-metadata`` の非推奨になっ" "た別名。" #: ../source/specifications/simple-repository-api.rst:579 @@ -30422,14 +30443,15 @@ msgstr "" "``yanked``: **オプション** のキーで、当該ファイルがヤンクされたものか否かを示" "すブーリアンか、または、ファイルがヤンクされるに至った特定の理由を示す任意の" "空ではない文字列か、のいずれかの値を持ちます。 ``yanked`` キーが存在して値が" -"真のようであれば、``url`` フィールドによって指し示されるファイルが \"ヤンク\"" -" されたことを示すものと **理解されるべきです** 。" +"真のようであれば、``url`` フィールドによって指し示されるファイルが \"ヤンク" +"\" されたことを示すものと **理解されるべきです** 。" #: ../source/specifications/simple-repository-api.rst:604 msgid "" "``size``: A **mandatory** key. It **MUST** contain an integer which is the " "file size in bytes." -msgstr "``size``: **必須の** キー。ファイルサイズをバイト単位で表した整数が **含まれ" +msgstr "" +"``size``: **必須の** キー。ファイルサイズをバイト単位で表した整数が **含まれ" "ていなければなりません** 。" #: ../source/specifications/simple-repository-api.rst:608 @@ -30449,16 +30471,6 @@ msgstr "" "せん** 。" #: ../source/specifications/simple-repository-api.rst:614 -#, fuzzy -#| 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." msgid "" "As indicated by the ``Z`` suffix, the upload time **MUST** use the UTC " "timezone. The fractional seconds part of the timestamp (the ``.ffffff`` " @@ -30466,18 +30478,15 @@ msgid "" "If a server does not record upload time information for a file, it **MAY** " "omit the ``upload-time`` key." msgstr "" -"``upload-time`` このフィールドはオプションです。もし存在するなら、正当な ISO " -"8601 形式の年月日・時刻が含まれていなければならず、そのフォーマットは ``yyyy-" -"mm-ddThh:mm:ss.ffffffZ`` で、当該ファイルがインデックスにアップロードされた時" -"点を表します。後置された ``Z`` が示すように、アップロード日時は必ず UTC タイ" -"ムゾーンを使わなければなりません。タイムスタンプの秒に満たない部分 " -"(``.ffffff`` の部分) はオプションで、もし存在するなら6桁までの精度を含めて構" -"いません。サーバ側がファイルのアップロード日時を記録していない場合は、 " -"``upload-time`` キーを省略しても構いません。" +"後置された ``Z`` が示すように、アップロード日時は必ず UTC タイムゾーンを **使" +"わなければなりません** 。タイムスタンプの秒に満たない部分 (``.ffffff`` の部" +"分) はオプションで、もし存在するなら6桁までの精度を含めて構いません。サーバ" +"側がファイルのアップロード日時を記録していない場合は、 ``upload-time`` キー" +"を **省略しても構いません** 。" #: ../source/specifications/simple-repository-api.rst:621 msgid "The ``upload-time`` key was added with API version 1.1." -msgstr "" +msgstr "``upload-time`` キーは、 API バージョン 1.1 で追加されました。" #: ../source/specifications/simple-repository-api.rst:623 msgid "" @@ -30486,10 +30495,15 @@ msgid "" "associated provenance, with the same rules as ``data-provenance`` in " "the :ref:`base HTML API specification `." msgstr "" +"``prevenance``: **オプションの** キーで、もし存在するなら JSON 文字列か、また" +"は、 ``null`` のいずれかで **なければなりません** 。もし ``null`` でないなら" +"ば、 :ref:`基本となる HTML API の仕様 ` 内の " +"``data-provenance`` と同様のルールで、ファイルに関連する起源への URL で **な" +"ければなりません** 。" #: ../source/specifications/simple-repository-api.rst:630 msgid "The ``provenance`` field was added with API version 1.3." -msgstr "" +msgstr "``provenance`` フィールドは、 API バージョン 1.3 で追加されました。" #: ../source/specifications/simple-repository-api.rst:668 msgid "" @@ -30706,14 +30720,6 @@ msgstr "" "Acceptable`` エラーと同じ扱いを受けるのが精々であろうと思われます。" #: ../source/specifications/simple-repository-api.rst:755 -#, fuzzy -#| 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. A ``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``)." 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 " @@ -30722,8 +30728,8 @@ msgid "" "should have a ``Content-Type`` of ``application/vnd.pypi.simple.v1+json``)." msgstr "" "この仕様では、メタバージョン ``latest`` が使われているのであれば、そのサーバ" -"は、実際のバージョンのための Content-Type をレスポンスの中に伴わなければなら" -"ないということを **要求しています** (すなわち、 ``Accept: application/" +"は、実際のバージョンのための Content-Type をレスポンスの中に **伴わなければな" +"らない** ということを **要求しています** (すなわち、 ``Accept: application/" "vnd.pypi.simple.latest+json`` を含んだリクエストが ``v1.x`` を返す時、レスポ" "ンスには ``application/vnd.pypi.simple.v1+json`` を値とする ``Content-Type`` " "が入っていなければならないということです) 。" @@ -30863,6 +30869,9 @@ msgid "" "named ``format`` to allow the clients to request a specific version of the " "URL." msgstr "" +"シンプル API を実装するサーバは、クライアントが URL の特定のバージョンを要求" +"することを許すために、 ``format`` という名称の URL パラメータをサポートするこ" +"とを選択しても構いません。" #: ../source/specifications/simple-repository-api.rst:870 msgid "" @@ -31151,55 +31160,43 @@ msgstr "" "供するフィールドを名称変更" #: ../source/specifications/simple-repository-api.rst:987 -#, fuzzy -#| msgid "" -#| "October 2022: project versions and file size and upload-time in the JSON " -#| "format, in :pep:`700`" msgid "" "November 2024: provenance metadata in the HTML and JSON formats, " "in :pep:`740`" msgstr "" -"2022年10月: :pep:`700` により、 JSON フォーマットにおけるプロジェクトバージョ" -"ン・ファイルサイズ・アップロード日時" +"2024年11月: :pep:`740` によって、 HTML フォーマットおよびJSON フォーマットに" +"おける起源 メタデータ" #: ../source/specifications/simple-repository-api.rst:988 -#, fuzzy -#| msgid "" -#| "October 2022: project versions and file size and upload-time in the JSON " -#| "format, in :pep:`700`" msgid "" "July 2025: project status markers in the HTML and JSON formats, in :pep:`792`" msgstr "" -"2022年10月: :pep:`700` により、 JSON フォーマットにおけるプロジェクトバージョ" -"ン・ファイルサイズ・アップロード日時" +"2025年7月: :pep:`792` によって、HTML フォーマットおよび JSON フォーマットにお" +"けるプロジェクトの状態マーカ" #: ../source/specifications/simple-repository-api.rst:989 msgid "" "July 2025: layout changes (dedicated page for file yanking, introduce " "concepts before API details)" msgstr "" +"2025年7月: レイアウトの変更 (ファイルのヤンクのための専用のページ、 API の詳" +"細の前に概念を紹介)" #: ../source/specifications/source-distribution-format.rst:6 msgid "Source distribution format" msgstr "ソースコード配布物のフォーマット" #: ../source/specifications/source-distribution-format.rst:8 -#, fuzzy -#| 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." msgid "" "The current standard 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 "" -"ソースコード配布物のフォーマットに関する現在の標準フォーマットは、配布物の" -"アーカイブに :file:`pyproject.toml` ファイルが存在することで識別されます。そ" -"のような配布物のレイアウトは元々は :pep:`517` で指定され、ここに公式にドキュ" -"メント化されています。" +"ソースコード配布物に関する現在の標準フォーマットは、配布物アーカイブ" +"に :file:`pyproject.toml` ファイルが存在することで識別されます。そのような配" +"布物のレイアウトは元々は :pep:`517` で指定され、ここに公式にドキュメント化さ" +"れています。" #: ../source/specifications/source-distribution-format.rst:13 msgid "" @@ -31228,15 +31225,6 @@ msgid "Source trees" msgstr "ソースコードツリー" #: ../source/specifications/source-distribution-format.rst:28 -#, fuzzy -#| 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." 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 " @@ -31245,13 +31233,12 @@ msgid "" "definition of what :file:`pyproject.toml` must contain for something to be " "deemed a source tree." msgstr "" -"*ソースツリー* は、 -- バージョン管理システムからのチェックアウトのような -- " -"ファイルとディレクトリの集合で、その中に書かれたファイルやディレクトリから" -"ソースコード配布物をビルドすることができるような :file:`pyproject.toml` ファ" -"イルを含んでいるものです。何かをソースコードツリーであると見做すため" -"に :file:`pyproject.toml` ファイルが含んでいなければならないものが何であるか" -"の定義に合致するために要求されることは何であるかについては :pep:`517` " -"と :pep:`518` が指定しています。" +"*ソースコードツリー* は、 -- バージョン管理システムのチェックアウトのような " +"-- ファイルとディレクトリの集合体で、含まれるファイルやディレクトリからソース" +"コード配布物を作るために使われた :file:`pyproject.toml` ファイルを含んでいる" +"ものです。 :pep:`517` と :pep:`518` は、何者かをソースコードツリーであると見" +"做すために :file:`pyproject.toml` が何を含んでいなければならないかの定義に合" +"致するために要求されるものを指定しています。" #: ../source/specifications/source-distribution-format.rst:38 msgid "Source distribution file name" @@ -31309,16 +31296,6 @@ msgid "Source distribution file format" msgstr "ソースコード配布物のファイルフォーマット" #: ../source/specifications/source-distribution-format.rst:61 -#, fuzzy -#| 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." msgid "" "A ``.tar.gz`` source distribution (sdist) contains a single top-level " "directory called ``{name}-{version}`` (e.g. ``foo-1.0``), containing the " @@ -31335,9 +31312,9 @@ msgstr "" "のメタデータと合致していなければなりません。このディレクトリ" "は、 :ref:`pyproject-toml-spec` で定義されたフォーマットで書かれ" "た :file:`pyproject.toml` ファイルや、 :ref:`core-metadata` 仕様内に記述され" -"たフォーマットで書かれたメタデータを含んだ ``PKG-INFO`` ファイルも含んでいな" -"ければなりません。このようなメタデータは、少なくともバージョン 2.2 のメタデー" -"タ仕様を満足するものでなければなりません。" +"たフォーマットで書かれたメタデータを含んだ :file:`PKG-INFO` ファイルも含んで" +"いなければなりません。このようなメタデータは、少なくともバージョン 2.2 のメタ" +"データ仕様を満足するものでなければなりません。" #: ../source/specifications/source-distribution-format.rst:69 msgid "" @@ -31347,6 +31324,11 @@ msgid "" "directory of the sdist (containing the :file:`pyproject.toml` and " "the :file:`PKG-INFO` metadata)." msgstr "" +"メタデータのバージョンが 2.4 またはそれ以降であれば、ソースコード配布物は、 " +"(:file:`pyproject.toml` と :file:`PKG-INFO` のメタデータを内包する) sdist の" +"ルートディレクトリに対する相対パスでそれぞれのパスを示す形で :file:`PKG-" +"INFO` の中の ``License-File`` フィールドによって指定されたライセンスファイル" +"を一つ以上含んでいなければなりません。" #: ../source/specifications/source-distribution-format.rst:74 msgid "" @@ -31569,15 +31551,12 @@ msgstr "" "標準化された。" #: ../source/specifications/source-distribution-format.rst:162 -#, fuzzy -#| msgid "" -#| "September 2022: The filename of a source distribution was standardized " -#| "through :pep:`625`." msgid "" "December 2024: License files inclusion into source distribution was " "standardized through :pep:`639`." msgstr "" -"2022年9月: :pep:`625` を通じて、ソースコード配布物のファイル名を標準化した。" +"2024年12月: :pep:`639` を通じて、ライセンスファイルのソースコード配布物への包" +"含が標準化されました。" #: ../source/specifications/version-specifiers.rst:7 #: ../source/specifications/version-specifiers.rst:785 @@ -32028,10 +32007,6 @@ msgstr "" "``X.Y.0`` は、相異なるリリース番号とは見做されません。" #: ../source/specifications/version-specifiers.rst:229 -#, fuzzy -#| msgid "" -#| "Date based release segments are also permitted. An example of a date " -#| "based release scheme using the year and month of the release::" msgid "" "Date-based release segments are also permitted. An example of a date-based " "release scheme using the year and month of the release::" @@ -32233,15 +32208,10 @@ msgstr "" "開発リリースは、また、プレリリースやポストリリースにおいても許されます::" #: ../source/specifications/version-specifiers.rst:346 -#, fuzzy -#| msgid "" -#| "Developmental releases are also permitted for pre-releases and post-" -#| "releases::" msgid "" "Do note that development releases are considered a type of pre-release when " "handling them." -msgstr "" -"開発リリースは、また、プレリリースやポストリリースにおいても許されます::" +msgstr "開発リリースは、それを取り扱う時にはプレリリースの一種と見做されます。" #: ../source/specifications/version-specifiers.rst:351 msgid "" @@ -33359,15 +33329,19 @@ msgstr "あらゆる意味での同一性 " 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." +"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." msgstr "" "あらゆる意味での同一性比較は、ゼロパディングやローカルバージョンのような意味" -"論的な情報を全く考慮しない単純な文字列の同一性演算です。この演算子は、また、 " -"``==`` 演算子なら実行するようなプレフィクスのマッチングもサポートしていませ" -"ん。" +"論的な情報を全く考慮しない単純な文字列の同一性演算です。この比較は、 例えば小" +"文字に揃えるなどして大文字小文字を区別しないASCII 文字として取り扱われなけれ" +"ばなりませんが、非 ASCII 文字については仕様化されていません。この演算子は、ま" +"た、 ``==`` 演算子なら実行するようなプレフィクスのマッチングもサポートしてい" +"ません。" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -33381,14 +33355,14 @@ msgstr "" "ればこの仕様とは非互換になってしまうようなレガシーなバージョンを、それでもイ" "ンストールすることができる脱出ハッチとして振舞います。" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" "一つの例としては、``foobar`` というバージョン番号に合致するであろう " "``==foobar`` ということになるでしょう。" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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 " @@ -33398,7 +33372,7 @@ msgstr "" "うと思われる、 ``===1.0`` のようなプロジェクトのパッチ適用のないバージョンを" "明示的に要求するためにも使われます。" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." @@ -33406,11 +33380,11 @@ msgstr "" "この演算子の使用は強い非推奨の状態にあり、使用に際してはツール類は警告を表示" "しても構いません。" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "プレリリースの取り扱い " -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -33422,18 +33396,18 @@ msgstr "" "か、の *いずれかでない限り* 、開発リリースを含むプレリリースは、どんな種類で" "も、あらゆるバージョン指定子から暗黙裡に除外されます。" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" "デフォルトでは、依存関係を解決しようとするツール類は以下のことを行うべきです:" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" "全てのバージョン指定子向けにすでにインストールされているプレリリースを受け入" "れる" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 msgid "" "accept remotely available pre-releases for version specifiers where there is " "no final or post release that satisfies the version specifier" @@ -33442,11 +33416,11 @@ msgstr "" "モートサイトにあって利用可能なプレリリースを、バージョン指定子として受け入れ" "る" -#: ../source/specifications/version-specifiers.rst:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "他のすべてのプレリリースを考慮の対象から除外する" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." @@ -33454,7 +33428,7 @@ msgstr "" "依存関係解決ツール群は、バージョン指定子を満足させるためにあるプレリリースが" "必要である場合には、警告を発しても構いません。" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" @@ -33462,11 +33436,11 @@ msgstr "" "依存関係解決ツール群は、また、以下のような代替的な振る舞いをユーザが要求する" "ことを許容するべきです:" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "全てのバージョン指定子にプレリリースを受け入れること" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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 " @@ -33476,7 +33450,7 @@ msgstr "" "ローカルにインストールされている場合や特定の指定子を満たすためにはプレリリー" "スが唯一の選択肢である場合には、エラーないし警告を報告すること)" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." @@ -33484,7 +33458,7 @@ msgstr "" "依存関係解決ツール群は、配布物の単位ごとに上記の振る舞いを許容しても構いませ" "ん。" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 msgid "" "Post-releases and final releases receive no special treatment in version " "specifiers - they are always included unless explicitly excluded." @@ -33492,25 +33466,25 @@ msgstr "" "ポストリリースと最終リリースは、バージョン識別子の中で何ら特別な取り扱いを受" "けません - 明示的に除外されていない限り、これらは常に受け入れられます。" -#: ../source/specifications/version-specifiers.rst:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" "``~=3.1``: バージョン 3.1 またはそれ以降、しかし、バージョン 4.0 またはそれ以" "降ではない。" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" "``~=3.1.2``: バージョン 3.1.2 またはそれ以降、しかし、バージョン 3.2.0 または" "それ以降ではない。" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" "``~=3.1a1``: バージョン 3.1a1 またはそれ以降、しかし、バージョン 4.0 またはそ" "れ以降ではない。" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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." @@ -33518,7 +33492,7 @@ msgstr "" "``== 3.1``: 正確にバージョン 3.1 (または 3.1.0)、プレリリース・ポストリリー" "ス・開発リリースや 3.1.x のメンテナンスリリースは全て除外する。" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." @@ -33526,7 +33500,7 @@ msgstr "" "``== 3.1.*``: 3.1 で始まるすべてのバージョン。 ``~=3.1.0`` 互換リリース節に同" "じ。" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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." @@ -33534,11 +33508,11 @@ msgstr "" "``~=3.1.0, != 3.1.3``: バージョン 3.1.0 またはそれ以降、しかし、バージョン " "3.1.3 ではなく、バージョン 3.2.0 またはそれ以降でもない。" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "直接参照" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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 " @@ -33548,7 +33522,7 @@ msgstr "" "ものがあります。直接参照は、それを指定する ``@`` と明示された URL から構成さ" "れます。" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -33559,7 +33533,7 @@ msgstr "" "存します。自動化ツール群は、少なくとも警告を発行するべきで、直接参照が不適切" "に使われた場合には全体を拒否しても構いません。" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 msgid "" "Public index servers SHOULD NOT allow the use of direct references in " "uploaded distributions. Direct references are intended as a tool for " @@ -33569,7 +33543,7 @@ msgstr "" "すべきではありません。直接参照は、公開者 向けではなくてソフト" "ウェアインテグレータ向けのツールとして意図されたものです。" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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 " @@ -33579,16 +33553,16 @@ msgstr "" "バイナリアーカイブでしょう。正確な URL やターゲットのサポートがあるかどうかは" "ツール次第です。" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" "例えば、ローカルのソースコードアーカイブが直接に参照されるかもしれません::" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "あるいは、ビルド済みのアーカイブが参照されるかもしれません::" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -33608,7 +33582,7 @@ msgstr "" "することを拒否しても構いません。もしそのような直接参照が安全でない転送手段を" "使っているなら、自動化ツールはその URL に依存するべきではありません。" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -33621,7 +33595,7 @@ msgstr "" "ことを推奨します。本文書の執筆時点では、 'md5' ・ 'sha1' ・ 'sha224' ・ " "'sha256' ・ 'sha384' ・ 'sha512' が該当します。" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " @@ -33631,7 +33605,7 @@ msgstr "" "URL の一部として ``=`` エントリに含まれる形で" "指定されるでしょう。" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -33645,7 +33619,7 @@ msgstr "" "す。自動化ツール群は、ハッシュ値で表したコミット識別子を持たないバージョン管" "理システムではハッシュ値がなくても警告を省略しても構いません。" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -33657,7 +33631,7 @@ msgstr "" "タグ>#<コミットのハッシュ値>`` という表記方法を用いて URL の末尾に追加しても" "構いません。" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -33675,15 +33649,15 @@ msgstr "" "シュ値が含まれているべきであるという要求に従うために、コミットのハッシュ値が" "含まれています。" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "リモート URL の例::" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "ファイルを指す URL 群" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -33695,7 +33669,7 @@ msgstr "" "であってさえも3個目のスラッシュが存在していなければなりません。 ```` " "は、これからアクセスされるであろうファイルシステム上のファイルパスです。" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -33707,7 +33681,7 @@ msgstr "" "の FQDN です。換言すれば、 \\*nix 上では、ローカルマシン上のパスにアクセスす" "るための ``file://`` スキームだけが使用可能であるということです。" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -33728,18 +33702,22 @@ msgstr "" "web.archive.org/web/20130321051043/http://blogs.msdn.com/b/ie/archive/" "2006/12/06/file-uris-in-windows.aspx>`_ を見てください。" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "pkg_resources.parse_version からの相違点のまとめ" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" +"ノート: この比較は、 :pep:`440` が書かれた時点で存在していたように、 " +"``pkg_resources.parse_version`` に向けたものです。 PEP が受け入れられた後、 " +"setuptools 6.0 およびそれ以降のバージョンは、ここで記述された動作を採用してい" +"ます。" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 msgid "" "Local versions sort differently, this specification requires that they sort " "as greater than the same version without a local version, whereas " @@ -33750,7 +33728,7 @@ msgstr "" "いますが、他方で、 ``pkg_resources.parse_version`` はそれ (訳註、ローカルバー" "ジョン) をプレリリースのマーカーの一つであると見做しています。" -#: ../source/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 msgid "" "This specification purposely restricts the syntax which constitutes a valid " "version while ``pkg_resources.parse_version`` attempts to provide some " @@ -33760,7 +33738,7 @@ msgstr "" "他方で ``pkg_resources.parse_version`` では *あらゆる* 任意の文字列から何らか" "の意味を汲み取るように試みます。" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 msgid "" "``pkg_resources.parse_version`` allows arbitrarily deeply nested version " "signifiers like ``1.0.dev1.post1.dev5``. This specification however allows " @@ -33771,11 +33749,11 @@ msgstr "" "は、それぞれのタイプが高々一度だけ使われることと、ある順番に従って存在してい" "ることを許容しているだけです。" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "補遺: 正規表現を伴うバージョン文字列を解析する" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -33789,7 +33767,7 @@ msgstr "" "し否であればその後の標準化のためにさまざまな構成要素を引き出すために使うこと" "ができる、そのような正規表現を提供します。" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" @@ -33797,7 +33775,7 @@ msgstr "" "バージョン識別子が正統な書式であるか否かを確かめるためには、次の関数を使うこ" "とができます:" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ プロジェクトによって定" "義されたもの):" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "2014年8月: :pep:`440` を通じてこの仕様が承認された。" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +"2025年5月: 開発リリースは、それが取り扱われるときにはプレリリースのひとつの形" +"態であることを明確にしました。" + +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" +"2025年11月: あらゆる意味での同一性 では大文字小文字を区" +"別しないことを明示しました。" #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" @@ -33927,10 +33913,8 @@ msgid "May 2012: This specification was approved through :pep:`405`." msgstr "2012年5月: :pep:`405` を通じてこの仕様が承認されました。" #: ../source/specifications/well-known-project-urls.rst:5 -#, fuzzy -#| msgid "Pyproject Metadata" msgid "Well-known Project URLs in Metadata" -msgstr "Pyproject のメタデータ" +msgstr "メタデータ内のよく知られたプロジェクト URL" #: ../source/specifications/well-known-project-urls.rst:9 msgid "" @@ -33938,6 +33922,10 @@ msgid "" "use the normalization rules and well-known list below to make their " "presentation of project URLs consistent across the Python ecosystem." msgstr "" +"この説明文書は、一義的にはメタデータの *コンシューマ* 、コンシューマはPython " +"エコシステムを通じて一貫性のある形でプロジェクト URL を提示させるために標準化" +"ルールや後述のよく知られたリストを使用するべきですが、そのコンシューマに着目" +"しています。" #: ../source/specifications/well-known-project-urls.rst:14 msgid "" @@ -33946,6 +33934,11 @@ msgid "" "``Project-URL`` length restrictions. However, when possible, users are " "*encouraged* to pick meaningful labels that normalize to well-known labels." msgstr "" +"(ビルドツール類や個々のパッケージ保守者のような) メタデータの *プロデューサ* " +"は、全体的な ``Project-URL`` の長さ制限の範囲内であれば、好きなラベルを使用し" +"続けても構いません。しかしながら、可能であるときには、ユーザは理解しやすいラ" +"ベルでよく知られたラベルに標準化されたものを選択することを *推奨されています" +"* 。" #: ../source/specifications/well-known-project-urls.rst:22 msgid "" @@ -33953,13 +33946,13 @@ msgid "" "for user-oriented guidance on choosing project URL labels in your package's " "metadata." msgstr "" +"パッケージのメタデータの中のプロジェクト URL ラベルを選択することについての" +"ユーザ指向のガイダンスについては、 :ref:`pyproject.toml を書く- urls " +"` を見てください。" #: ../source/specifications/well-known-project-urls.rst:26 -#, fuzzy -#| msgid "" -#| "This specification was originally defined in :pep:`518` and :pep:`621`." msgid "This specification was originally defined in :pep:`753`." -msgstr "この仕様は、元々は :pep:`518` 及び :pep:`621` で定義されました。" +msgstr "この仕様は、元々は :pep:`753` で定義されました。" #: ../source/specifications/well-known-project-urls.rst:28 msgid "" @@ -33970,24 +33963,33 @@ msgid "" "semantics assigned to ``Home-page``, ``Download-URL``, or other common " "project URLs." msgstr "" +":pep:`753` は、 :ref:`core-metadata-project-url` に従って :ref:`core-" +"metadata-home-page` と :ref:`core-metadata-download-url` のメタデータフィール" +"ドを非推奨とし、 ``Project-URL`` が \"よく知られた\" ものであるかどうか、つま" +"り、 ``Home-page`` ・ ``Download-URL`` やその他の一般的なプロジェクト URL に" +"指定されるセマンティクスを持っているかどうかを決定するための、正規化とルック" +"アップの手続きを定義しました。" #: ../source/specifications/well-known-project-urls.rst:35 msgid "" "This allows indices (such as the Python Package Index) and other downstream " "metadata consumers to present project URLs in a consistent manner." msgstr "" +"これによって、 (Python Package Index のような) インデックスや他のダウンスト" +"リーム側メタデータコンシューマが首尾一貫したやり方でプロジェクト URL を提示す" +"ることができます。" #: ../source/specifications/well-known-project-urls.rst:42 -#, fuzzy -#| msgid "Name normalization" msgid "Label normalization" -msgstr "名前の正規化" +msgstr "ラベルの正規化" #: ../source/specifications/well-known-project-urls.rst:46 msgid "" "Label normalization is performed by metadata *consumers*, not metadata " "producers." msgstr "" +"ラベル正規化は、メタデータの *コンシューマ* によって行われるのであって、メタ" +"データプロデューサによってではありません。" #: ../source/specifications/well-known-project-urls.rst:49 msgid "" @@ -33995,236 +33997,230 @@ msgid "" "consumers should normalize the label before comparing it to the :ref:`list " "of well-known labels `." msgstr "" +"``Project-URL`` ラベルが \"よく知られた\" ものであるかどうかを決定するために" +"は、メタデータのコンシューマは、そのラベルを :ref:`よく知られたラベルのリス" +"ト ` と比較する前に、そのラベルを正規化するべきです。" #: ../source/specifications/well-known-project-urls.rst:53 msgid "" "The normalization procedure for ``Project-URL`` labels is defined by the " "following Python function:" msgstr "" +"``Project-URL`` ラベルの正規化の手続きは、次に示す Python 関数で定義されてい" +"ます:" #: ../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 "" +"プレーンな言語では: ラベルは、 ASCII の句読点と空白文字をすべて取り除き、その" +"結果を小文字に変換することで *正規化* されます。" #: ../source/specifications/well-known-project-urls.rst:68 msgid "" "The following table shows examples of labels before (raw) and after " "normalization:" -msgstr "" +msgstr "次に示すテーブルでは、ラベルの正規化の前 (生) と後の例をお見せします:" #: ../source/specifications/well-known-project-urls.rst:74 msgid "Raw" -msgstr "" +msgstr "生" #: ../source/specifications/well-known-project-urls.rst:75 -#, fuzzy -#| msgid "Normalized Names" msgid "Normalized" -msgstr "正規化された名称" +msgstr "正規化後" #: ../source/specifications/well-known-project-urls.rst:76 -#, fuzzy -#| msgid "Home-page" msgid "``Homepage``" -msgstr "Home-page" +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 -#, fuzzy -#| msgid "Home-page" msgid "``homepage``" -msgstr "Home-page" +msgstr "``homepage``" #: ../source/specifications/well-known-project-urls.rst:78 -#, fuzzy -#| msgid "Home-page" msgid "``Home-page``" -msgstr "Home-page" +msgstr "``Home-page``" #: ../source/specifications/well-known-project-urls.rst:80 -#, fuzzy -#| msgid "Home page" 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 "よく知られたラベル" #: ../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 "" +"よく知られたラベルのリストは、成長し続ける標準で、この説明文書の一部として維" +"持管理されます。" #: ../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 "" +"以下のテーブルでは、 ``Project-URL`` メタデータの表示を特別なものにする目的の" +"ためによく知られたラベルを列挙します:" #: ../source/specifications/well-known-project-urls.rst:105 msgid "Label (Human-readable equivalent)" -msgstr "" +msgstr "ラベル (人間が読む時用の同等物)" #: ../source/specifications/well-known-project-urls.rst:107 msgid "Aliases" -msgstr "" +msgstr "別名" #: ../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 "プロジェクトのホームページ" #: ../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 "*(none)*" #: ../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 "プロジェクトのホストされたソースコードまたはリポジトリ" #: ../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 "最新の配布物のダウンロード URL で、 ``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 "プロジェクトの網羅的な変更履歴" #: ../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 "プロジェクトの精査されたリリースノート" #: ../source/specifications/well-known-project-urls.rst:123 -#, fuzzy -#| msgid "Creating documentation" msgid "``documentation`` (Documentation)" -msgstr "説明文書を作成する" +msgstr "``documentation`` (Documentation)" #: ../source/specifications/well-known-project-urls.rst:124 -#, fuzzy -#| msgid "Creating documentation" msgid "The project's online documentation" -msgstr "説明文書を作成する" +msgstr "プロジェクトのオンライン説明文書" #: ../source/specifications/well-known-project-urls.rst:125 -#, fuzzy -#| msgid "``upload_docs``" msgid "``docs``" -msgstr "``upload_docs``" +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 "プロジェクトのバグ追跡システム" #: ../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 -#, fuzzy -#| msgid "Basic information" msgid "Funding Information" -msgstr "基本的な情報" +msgstr "財政支援のための情報" #: ../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 "" "Package metadata consumers may choose to render aliased labels the same as " "their \"parent\" well known label, or further specialize them." msgstr "" +"パッケージメタデータのコンシューマは、別名で表現されたラベルをその \"親\" の" +"よく知られたラベルと同様に展開することや、または、それらをさらに詳しく指定す" +"ることを選択しても構いません。" #: ../source/specifications/well-known-project-urls.rst:137 -#, fuzzy -#| msgid "Example" msgid "Example behavior" -msgstr "例" +msgstr "振る舞いの例" #: ../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 "" +"以下では、 ``pyproject.toml`` からのプロジェクト URL メタデータを コアとなる" +"メタデータへ、さらに潜在的なインデックスへと表現する流れを示します:" #: ../source/specifications/well-known-project-urls.rst:142 msgid "Example project URLs in standard configuration" -msgstr "" +msgstr "標準設定でのプロジェクト URL の例" #: ../source/specifications/well-known-project-urls.rst:151 -#, fuzzy -#| msgid "Core metadata specifications" msgid "Core metadata representation" -msgstr "コアとなるメタデータの仕様" +msgstr "コアとなるメタデータの表現" #: ../source/specifications/well-known-project-urls.rst:159 msgid "Potential rendering" -msgstr "" +msgstr "潜在的な展開" #: ../source/specifications/well-known-project-urls.rst:167 msgid "" @@ -34233,27 +34229,36 @@ msgid "" "*consumer* normalizes and identifies appropriate human-readable equivalents " "based on the normalized form:" msgstr "" +"(メタデータの *プロデューサ* は正規化を実行しないので) コアとなるメタデータが" +"ユーザによって提供されたフォームの中に出現したことを観測し、しかし、メタデー" +"タの *コンシューマ* が正規化し、正規化すみフォームに基づいて適切な人間の読め" +"る形の同等物を特定する:" #: ../source/specifications/well-known-project-urls.rst:172 msgid "``Home page`` becomes ``homepage``, which is rendered as ``Homepage``" -msgstr "" +msgstr "``Home page`` は ``homepage`` となり、それは ``Homepage`` に展開される" #: ../source/specifications/well-known-project-urls.rst:173 msgid "" "``DOCUMENTATION`` becomes ``documentation``, which is rendered as " "``Documentation``" msgstr "" +"``DOCUMENTATION`` は ``documentation`` となり、それは ``Documentation`` に展" +"開される" #: ../source/specifications/well-known-project-urls.rst:174 msgid "" "``Repository`` becomes ``repository``, which is rendered as ``Source Code``" msgstr "" +"``Repository`` は ``repository`` となり、 ``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`` は ``github`` となり、 (``Source Code`` の特定の形として) " +"``Source Code (GitHub)`` に展開される" #: ../source/support.rst:3 msgid "How to Get Support" @@ -34622,12 +34627,6 @@ msgstr "" "ました) 。" #: ../source/tutorials/installing-packages.rst:229 -#, fuzzy -#| 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)." 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 " @@ -34636,9 +34635,10 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" ":ref:`virtualenv` は別途インストールする必要がありますが、 Python 2.7+ と " -"Python 3.3+ をサポートしており、 :ref:`pip` ・ :ref:`setuptools` " -"・ :ref:`wheel` を作成された仮想環境に常にデフォルト (Python のバージョンに関" -"係なく) でインストールします。" +"Python 3.3+ をサポートしており、デフォルトで :ref:`pip` ・ :ref:`setuptools` " +"・ :ref:`wheel` を作成した仮想環境にインストールします。 Python 3.12 以降は、" +"デフォルトでは ``setuptools`` が最早含まれていないこと (そして " +"``virtualenv`` はこの動作に追随しています) に注意してください。" #: ../source/tutorials/installing-packages.rst:234 msgid "The basic usage is like so:" @@ -35302,6 +35302,8 @@ msgid "" "project management workflow, including dependency management, packaging, and " "publishing." msgstr "" +"依存関係管理・パッケージング・公開を含む、プロジェクト管理全体のワークフロー" +"をカバーする単一のツールとしての `uv `__ 。" #: ../source/tutorials/packaging-projects.rst:2 msgid "Packaging Python Projects" @@ -35502,14 +35504,6 @@ msgstr "" "てください。" #: ../source/tutorials/packaging-projects.rst:141 -#, fuzzy -#| 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." msgid "" "The ``requires`` key is a list of packages that are needed to build your " "package. The :term:`frontend ` should install them " @@ -35520,12 +35514,15 @@ msgid "" "code block is the one that introduced support for :ref:`the new license " "metadata `." msgstr "" -"``requires`` は、そのパッケージをビルドするために必要とされるパッケージ群のリ" -"ストです。 :term:`ビルドフロントエンド ` は、そのパッケージを" -"ビルドする際にそれらをインストールするべきです。フロントエンドは、通常、隔離" -"された環境でビルドを実行しますので、ここに依存関係を書き忘れるとビルド時のエ" -"ラーにつながります。バックエンドパッケージには常にこれを含めておくべきであ" -"り、他のビルド時の依存関係を持っているかもしれません。" +"``requires`` キーは、そのパッケージをビルドするために必要とされるパッケージ群" +"のリストです。 :term:`ビルドフロントエンド ` は、そのパッケー" +"ジをビルドする際にそれらを自動的にインストールするべきです。フロントエンド" +"は、通常、隔離された環境でビルドを実行しますので、ここに依存関係を書き忘れる" +"とビルド時のエラーにつながかもしれません。バックエンドパッケージには常にこれ" +"を含めておくべきであり、他のビルド時の依存関係を持っているかもしれません。上" +"記のコードブロックの中で指定された最低限のバージョン番号は、 :ref:`新しいライ" +"センスメタデータ ` へのサポートを導入したバージョ" +"ンです。" #: ../source/tutorials/packaging-projects.rst:150 msgid "" @@ -35640,15 +35637,6 @@ msgstr "" "るものを見つけるまでパッケージのバージョンを遡って探索します。" #: ../source/tutorials/packaging-projects.rst:215 -#, fuzzy -#| 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/." msgid "" "``classifiers`` gives the index and :ref:`pip` some additional metadata " "about your package. In this case, the package is only compatible with Python " @@ -35658,30 +35646,27 @@ msgid "" "classifiers/." msgstr "" "``classifiers`` は、インデックスと :ref:`pip` に、そのパッケージに関する追加" -"的なメタデータをいくつか与えます。この場合には、当該パッケージは Python 3 で" -"のみ動作し、 MIT ライセンスの下に従うものであり、 OS には依らず独立のもので" -"す。どのバージョンの Python 上でそのパッケージが動作するのか、どのライセンス" -"に従うのか、どのオペレーティングシステムで動作するのかを示しておくことは、常" -"に最低限それだけはやるべきことです。 classifiers の完全なリストについては、 " -"https://pypi.org/classifiers/ を見てください。" +"的なメタデータをいくつか与えます。この場合には、当該パッケージは Python 3 だ" +"けと互換性があり OS には依存しないものです。少なくとも、どのバージョンの " +"Python 上でそのパッケージが動作するのか、どのオペレーティングシステムで動作す" +"るのか、については、常に含めておくべきです。分類子 の完全なリス" +"トについては、 https://pypi.org/classifiers/ を見てください。" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" +"``license`` は、 :term:`配布物アーカイブ ` " +"の :term:`SPDX ライセンス表現 ` です。" #: ../source/tutorials/packaging-projects.rst:224 -#, fuzzy -#| msgid "" -#| "Now run this command from the same directory where :file:`pyproject.toml` " -#| "is located:" msgid "" "``license-files`` is the list of glob paths to the license files, relative " "to the directory where :file:`pyproject.toml` is located." msgstr "" -"さて、 :file:`pyproject.toml` ファイルがあるのと同じディレクトリでこのコマン" -"ドを実行しましょう:" +"``license-files`` は、ライセンスファイル群への glob パスのリスト" +"で、 :file:`pyproject.toml` が位置する場所からの相対パスです。" #: ../source/tutorials/packaging-projects.rst:226 msgid "" @@ -35723,17 +35708,19 @@ msgstr "LICENSE ファイルを作成する" #: ../source/tutorials/packaging-projects.rst:253 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:" -msgstr "" -"Python パッケージインデックスにアップロードされた各々のパッケージにとって、ラ" -"イセンス条項を明示することは重要です。こうすることで、そのパッケージをインス" -"トールするユーザに対して、どのような条件のもとでそのパッケージを使うことがで" -"きるのかを伝えることができるからです。ライセンス選択の助けが必要ならば、 " -"https://choosealicense.com/ を見てください。どのライセンスにするか選択できた" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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 "" +"Python パッケージインデックスにアップロードされた各々の :term:`配布物アーカイ" +"ブ ` にライセンス条項を含めておくことは重要です。こうす" +"ることで、その :term:`配布物アーカイブ ` をインストール" +"するユーザに対して、どのような条件のもとでそれを使うことができるのかを伝える" +"ことができるからです。ライセンス選択の助けが必要ならば、 https://" +"choosealicense.com/ を見てください。どのライセンスにするかを選択できた" "ら、 :file:`LICENSE` ファイルを開いてそのライセンス条項を書き込んでください。" "例えば、 MIT ライセンスを選択したなら次のようにします:" @@ -35745,6 +35732,8 @@ msgid "" "build backend supports :pep:`639`, the file will be automatically included " "in the package." msgstr "" +"ほとんどのビルドバックエンドは、パッケージの中にライセンスファイルを自動的に" +"含めます。" #: ../source/tutorials/packaging-projects.rst:290 msgid "Including other files" @@ -35887,6 +35876,9 @@ msgid "" "``pypi-`` prefix. Note that the input will be hidden, so be sure to paste " "correctly." msgstr "" +"API トークンの入力を求められるでしょう。 ``pypi-`` プレフィックスを含めてトー" +"クンの値を使ってください。入力内容は隠されているので、正確にペーストすること" +"を確実にしてください。" #: ../source/tutorials/packaging-projects.rst:406 msgid "After the command completes, you should see output similar to this:" @@ -36087,6 +36079,9 @@ msgstr "" "りなのであれば、 *通常のパッケージ* と (空のファイルだとしても) " "``__init__.py`` から離れないことをお薦めします。" +#~ msgid "The license expressions for these projects are:" +#~ msgstr "これらのプロジェクトに対するライセンス条項は:" + #~ msgid "TUF Support - PEP 458" #~ msgstr "TUF サポート - PEP 458" diff --git a/locales/kab/LC_MESSAGES/messages.po b/locales/kab/LC_MESSAGES/messages.po index 0fe2fb249..2d709000a 100644 --- a/locales/kab/LC_MESSAGES/messages.po +++ b/locales/kab/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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-10-14 20:08+0000\n" "Last-Translator: ButterflyOfFire \n" "Language-Team: Kabyle `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "pypi.org" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "pyproject.toml" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3638,11 +3638,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3651,11 +3651,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3663,26 +3663,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3694,38 +3694,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "setup.py" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "setup.cfg" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3734,21 +3734,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "Akemmus n unagraw" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3757,11 +3757,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3769,15 +3769,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "Wheel" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3785,21 +3785,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3952,7 +3952,7 @@ msgstr "Aglam" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "Imedyaten" @@ -4323,7 +4323,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4645,7 +4645,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6704,11 +6704,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6744,7 +6745,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6757,29 +6759,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6791,65 +6793,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6858,18 +6860,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6878,11 +6880,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6892,7 +6894,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6901,11 +6903,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6917,24 +6919,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6942,17 +6944,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6963,11 +6965,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6975,14 +6977,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9374,40 +9376,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9415,25 +9421,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9441,45 +9447,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9490,31 +9496,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9918,7 +9924,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10023,90 +10029,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10115,26 +10121,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10142,28 +10148,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10171,33 +10177,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13589,7 +13595,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14383,11 +14389,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16219,17 +16225,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24872,11 +24884,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24885,29 +24899,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24915,101 +24929,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25017,29 +25031,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25051,7 +25065,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25060,14 +25074,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25076,7 +25090,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25084,7 +25098,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25095,15 +25109,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25111,7 +25125,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25119,7 +25133,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25131,43 +25145,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25176,29 +25190,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26564,7 +26582,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26603,11 +26621,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/ko/LC_MESSAGES/messages.po b/locales/ko/LC_MESSAGES/messages.po index a1afd4404..ed7a1db34 100644 --- a/locales/ko/LC_MESSAGES/messages.po +++ b/locales/ko/LC_MESSAGES/messages.po @@ -13,11 +13,11 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-11-25 00:51+0000\n" "Last-Translator: Changseop Yeom \n" -"Language-Team: Korean \n" +"Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -3499,9 +3499,9 @@ msgstr "" #: ../source/glossary.rst:161 msgid "" "A string with valid SPDX license expression syntax, including one or more " -"SPDX :term:`License Identifier`\\(s), which describes a :term:`Project`'s " -"license(s) and how they inter-relate. Examples: ``GPL-3.0-or-later``, ``MIT " -"AND (Apache-2.0 OR BSD-2-Clause)``" +"SPDX :term:`License Identifier`\\(s), which describes a :term:`Distribution " +"Archive`'s license(s) and how they inter-relate. Examples: ``GPL-3.0-or-" +"later``, ``MIT AND (Apache-2.0 OR BSD-2-Clause)``" msgstr "" #: ../source/glossary.rst:169 @@ -3682,54 +3682,54 @@ msgstr "" msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3737,11 +3737,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3750,12 +3750,12 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 #, fuzzy msgid "Requirement Specifier" msgstr "요구 사항 지정자" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3763,28 +3763,28 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 #, fuzzy #| msgid "Project name" msgid "Root License Directory" msgstr "프로젝트 이름" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3796,38 +3796,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3836,21 +3836,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "버전 명시자" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3859,11 +3859,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3871,15 +3871,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3887,23 +3887,23 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 #, fuzzy #| msgid "Project" msgid "Wheel Project" msgstr "프로젝트" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -4056,7 +4056,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4412,7 +4412,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4738,7 +4738,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6808,11 +6808,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6848,7 +6849,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6861,29 +6863,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6895,65 +6897,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6962,18 +6964,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6982,11 +6984,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6996,7 +6998,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -7005,11 +7007,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -7021,24 +7023,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -7046,17 +7048,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -7067,11 +7069,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -7079,14 +7081,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9482,42 +9484,46 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 #, fuzzy #| msgid "Reviewing new contributions" msgid "Building distributions" msgstr "새로운 기여를 검토" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9525,25 +9531,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9551,45 +9557,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9600,31 +9606,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -10028,7 +10034,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10133,90 +10139,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10225,26 +10231,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10252,28 +10258,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10281,33 +10287,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13701,7 +13707,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14504,11 +14510,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16344,17 +16350,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -25026,11 +25038,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -25039,29 +25053,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -25069,101 +25083,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25171,29 +25185,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25205,7 +25219,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25214,14 +25228,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25230,7 +25244,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25238,7 +25252,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25249,15 +25263,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25265,7 +25279,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25273,7 +25287,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25285,43 +25299,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25330,29 +25344,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26722,7 +26740,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26761,11 +26779,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/lzh/LC_MESSAGES/messages.po b/locales/lzh/LC_MESSAGES/messages.po index c85e84a76..4ad24a706 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2024-01-31 06:01+0000\n" "Last-Translator: maker \n" "Language-Team: Chinese (Literary) `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3641,11 +3641,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3654,11 +3654,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3666,26 +3666,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3697,38 +3697,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "源码" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3737,21 +3737,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "版本指定器" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3760,11 +3760,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3772,15 +3772,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3788,21 +3788,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3955,7 +3955,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4311,7 +4311,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4633,7 +4633,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6692,11 +6692,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6732,7 +6733,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6745,29 +6747,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6779,65 +6781,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6846,18 +6848,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6866,11 +6868,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6880,7 +6882,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6889,11 +6891,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6905,24 +6907,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6930,17 +6932,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6951,11 +6953,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6963,14 +6965,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9362,40 +9364,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9403,25 +9409,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9429,45 +9435,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9478,31 +9484,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9906,7 +9912,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10011,90 +10017,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10103,26 +10109,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10130,28 +10136,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10159,33 +10165,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13577,7 +13583,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14371,11 +14377,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16209,17 +16215,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24854,11 +24866,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24867,29 +24881,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24897,101 +24911,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24999,29 +25013,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25033,7 +25047,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25042,14 +25056,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25058,7 +25072,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25066,7 +25080,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25077,15 +25091,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25093,7 +25107,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25101,7 +25115,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25113,43 +25127,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25158,29 +25172,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26546,7 +26564,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26585,11 +26603,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/mk/LC_MESSAGES/messages.po b/locales/mk/LC_MESSAGES/messages.po index 7e8548424..7d968b918 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2023-10-21 04:04+0000\n" "Last-Translator: \"Kristijan \\\"Fremen\\\" Velkovski\" \n" "Language-Team: Macedonian `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3647,11 +3647,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3660,11 +3660,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3672,26 +3672,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3703,38 +3703,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3743,21 +3743,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3766,11 +3766,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3778,15 +3778,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3794,21 +3794,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3961,7 +3961,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4317,7 +4317,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4639,7 +4639,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6698,11 +6698,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6738,7 +6739,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6751,29 +6753,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6785,65 +6787,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6852,18 +6854,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6872,11 +6874,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6886,7 +6888,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6895,11 +6897,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6911,24 +6913,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6936,17 +6938,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6957,11 +6959,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6969,14 +6971,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9368,42 +9370,46 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 #, fuzzy #| msgid "Binary Distribution" msgid "Building distributions" msgstr "Бинарна Дистрибуција" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9411,25 +9417,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9437,45 +9443,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9486,31 +9492,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9914,7 +9920,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10019,90 +10025,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10111,26 +10117,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10138,28 +10144,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10167,33 +10173,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13585,7 +13591,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14379,11 +14385,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16215,17 +16221,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24860,11 +24872,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24873,29 +24887,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24903,101 +24917,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25005,29 +25019,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25039,7 +25053,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25048,14 +25062,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25064,7 +25078,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25072,7 +25086,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25083,15 +25097,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25099,7 +25113,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25107,7 +25121,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25119,43 +25133,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25164,29 +25178,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26552,7 +26570,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26591,11 +26609,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/mr/LC_MESSAGES/messages.po b/locales/mr/LC_MESSAGES/messages.po index 250a1409b..92ac9625f 100644 --- a/locales/mr/LC_MESSAGES/messages.po +++ b/locales/mr/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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-01-25 14:18+0000\n" "Last-Translator: Prachi Joshi \n" "Language-Team: Marathi `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3638,11 +3638,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3651,11 +3651,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3663,26 +3663,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3694,38 +3694,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3734,21 +3734,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3757,11 +3757,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3769,15 +3769,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3785,21 +3785,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3952,7 +3952,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4308,7 +4308,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4630,7 +4630,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6689,11 +6689,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6729,7 +6730,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6742,29 +6744,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6776,65 +6778,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6843,18 +6845,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6863,11 +6865,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6877,7 +6879,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6886,11 +6888,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6902,24 +6904,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6927,17 +6929,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6948,11 +6950,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6960,14 +6962,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9359,40 +9361,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9400,25 +9406,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9426,45 +9432,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9475,31 +9481,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9903,7 +9909,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10008,90 +10014,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10100,26 +10106,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10127,28 +10133,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10156,33 +10162,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13574,7 +13580,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14368,11 +14374,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16204,17 +16210,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24849,11 +24861,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24862,29 +24876,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24892,101 +24906,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24994,29 +25008,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25028,7 +25042,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25037,14 +25051,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25053,7 +25067,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25061,7 +25075,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25072,15 +25086,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25088,7 +25102,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25096,7 +25110,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25108,43 +25122,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25153,29 +25167,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26541,7 +26559,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26580,11 +26598,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/pl/LC_MESSAGES/messages.po b/locales/pl/LC_MESSAGES/messages.po index ef2f7e116..5ba08508b 100644 --- a/locales/pl/LC_MESSAGES/messages.po +++ b/locales/pl/LC_MESSAGES/messages.po @@ -3,13 +3,15 @@ # This file is distributed under the same license as the Python Packaging User Guide package. # Maciej Olko , 2024, 2025. # Stan Ulbrych , 2025. +# Michał p Biegluk python router , 2025. msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-24 00:10+0000\n" -"PO-Revision-Date: 2025-08-17 01:01+0000\n" -"Last-Translator: Maciej Olko \n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" +"PO-Revision-Date: 2025-12-12 01:00+0000\n" +"Last-Translator: Michał p Biegluk python router " +"\n" "Language-Team: Polish \n" "Language: pl\n" @@ -18,7 +20,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.13\n" +"X-Generator: Weblate 5.15-dev\n" #: ../source/contribute.rst:5 msgid "Contribute to this guide" @@ -57,12 +59,18 @@ msgid "" "`pull requests`__. If you're planning to write or edit the guide, please " "read the :ref:`style guide `." msgstr "" +"Większość pracy nad |pypug| odbywa się w `repozytorium projektu na " +"GitHubie`__. Aby zacząć, sprawdź listę `otwartych zgłoszeń`__ i `pull " +"requestów`__. Jeśli planujesz napisać lub edytować ten przewodnik, " +"przeczytaj :ref:`przewodnik po stylach `." #: ../source/contribute.rst:25 msgid "" "By contributing to the |PyPUG|, you're expected to follow the PSF's `Code of " "Conduct`__." msgstr "" +"Biorąc udział w projekcie |PyPUG|, zobowiązujesz się do przestrzegania " +"Kodeksu postępowania PSF__" #: ../source/contribute.rst:32 msgid "Documentation types" @@ -106,6 +114,12 @@ msgid "" "accomplishing the task. :doc:`example guide-style document `." msgstr "" +"Przewodniki koncentrują się na wykonaniu konkretnego zadania i mogą zakładać " +"pewien poziom wiedzy wstępnej. Są podobne do samouczków, ale mają wąski i " +"jasny zakres tematyczny oraz mogą zawierać wiele ostrzeżeń i dodatkowych " +"informacji w razie potrzeby. Mogą również omawiać różne podejścia do " +"wykonania zadania. :doc:`example guide-style document `." #: ../source/contribute.rst:60 ../source/discussions/index.rst:2 msgid "Discussions" @@ -3414,9 +3428,9 @@ msgstr "" #: ../source/glossary.rst:161 msgid "" "A string with valid SPDX license expression syntax, including one or more " -"SPDX :term:`License Identifier`\\(s), which describes a :term:`Project`'s " -"license(s) and how they inter-relate. Examples: ``GPL-3.0-or-later``, ``MIT " -"AND (Apache-2.0 OR BSD-2-Clause)``" +"SPDX :term:`License Identifier`\\(s), which describes a :term:`Distribution " +"Archive`'s license(s) and how they inter-relate. Examples: ``GPL-3.0-or-" +"later``, ``MIT AND (Apache-2.0 OR BSD-2-Clause)``" msgstr "" #: ../source/glossary.rst:169 @@ -3589,54 +3603,54 @@ msgstr "" msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3644,11 +3658,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3657,11 +3671,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3669,26 +3683,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3700,38 +3714,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3740,21 +3754,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3763,11 +3777,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3775,15 +3789,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3791,21 +3805,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3958,7 +3972,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4314,7 +4328,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4636,7 +4650,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6695,11 +6709,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6735,7 +6750,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6748,29 +6764,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6782,65 +6798,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6849,18 +6865,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6869,11 +6885,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6883,7 +6899,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6892,11 +6908,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6908,24 +6924,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6933,17 +6949,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6954,11 +6970,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6966,14 +6982,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9365,40 +9381,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9406,25 +9426,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9432,45 +9452,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9481,31 +9501,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9909,7 +9929,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10014,90 +10034,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10106,26 +10126,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10133,28 +10153,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10162,33 +10182,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13580,7 +13600,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14374,11 +14394,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16210,17 +16230,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24855,11 +24881,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24868,29 +24896,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24898,101 +24926,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25000,29 +25028,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25034,7 +25062,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25043,14 +25071,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25059,7 +25087,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25067,7 +25095,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25078,15 +25106,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25094,7 +25122,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25102,7 +25130,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25114,43 +25142,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25159,29 +25187,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26547,7 +26579,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26586,11 +26618,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/pt_BR/LC_MESSAGES/messages.po b/locales/pt_BR/LC_MESSAGES/messages.po index 6005d8adf..89fabd880 100644 --- a/locales/pt_BR/LC_MESSAGES/messages.po +++ b/locales/pt_BR/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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-08-07 00:01+0000\n" "Last-Translator: Rafael Fontenelle \n" "Language-Team: Portuguese (Brazil) `, " +#| "host projects on `GitHub `_ and `Bitbucket " +#| "`_, and discuss issues on the `distutils-sig " +#| "mailing list `_ and `the Python Discourse forum `__." msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" "PyPA é um grupo de trabalho que mantém muitos dos projetos relevantes em " "pacotes Python. Eles mantêm um site em :doc:`pypa.io `, hospedam " @@ -4790,11 +4799,11 @@ msgstr "" "sig `_ e " "`o fórum Discourse do Python `__." -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "Python Package Index (PyPI)" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " @@ -4804,11 +4813,11 @@ msgstr "" "comunidade Python. Está aberto a todos os desenvolvedores Python para " "consumir e distribuir suas distribuições." -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "pypi.org" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " @@ -4818,22 +4827,22 @@ msgstr "" "Index (PyPI)`. Ele substituiu o nome de domínio do índice legado, " "``pypi.python.org``, em 2017. Ele é tornado possível pelo :ref:`warehouse`." -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "pyproject.toml" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" "O arquivo de especificação agnóstica de ferramenta para :term:`Projetos " "`. Definido na :pep:`518`." -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "Lançamento" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." @@ -4841,7 +4850,7 @@ msgstr "" "Um snapshot de um :term:`Projeto` em um determinado ponto no tempo, denotado " "por um identificador de versão." -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -4854,11 +4863,11 @@ msgstr "" "formato de distribuição fonte e um formato de distribuição de instalador do " "Windows." -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "Requisito" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -4872,11 +4881,11 @@ msgstr "" "podem ser consideradas um \"requisito\". Para obter mais informações, " "consulte a referência de :ref:`pip:pip install`." -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "Especificador de Requisitos" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -4889,11 +4898,11 @@ msgstr "" "onde \"foo\" é o nome do projeto e a parte \">=1.3\" é " "o :term:`Especificador de Versão`" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "Arquivo de Requisitos" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " @@ -4903,18 +4912,18 @@ msgstr "" "ser instalados usando :ref:`pip`. Para mais informações, veja a " "documentação :ref:`pip` em :ref:`pip:Requirements Files`." -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 #, fuzzy msgid "Root License Directory" msgstr "Projetos em subdiretórios" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 #, fuzzy #| msgid "Local directory:" msgid "License Directory" msgstr "Diretório local:" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -4926,17 +4935,17 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "setup.py" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "setup.cfg" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." @@ -4944,11 +4953,11 @@ msgstr "" "Os arquivos de especificação do projeto para :ref:`distutils` " "e :ref:`setuptools`. Veja também :term:`pyproject.toml`." -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "Arquivo Fonte" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` ou :term:`Distribuição Construída `." -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "Distribuição Fonte (ou \"sdist\")" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 #, fuzzy msgid "" "A :term:`distribution ` format (usually generated " @@ -4978,11 +4987,11 @@ msgstr "" "ou para gerar uma :term:`Distribuição Construída `. " "Veja :ref:`package-formats` para mais informações." -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "Pacote de Sistemas" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." @@ -4990,11 +4999,11 @@ msgstr "" "Um pacote fornecido em um formato nativo para o sistema operacional, por " "exemplo, um arquivo rpm ou dpkg." -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "Especificador de Versão" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -5009,11 +5018,11 @@ msgstr "" "oferece suporte atualmente. O suporte para esta especificação foi " "implementado no :ref:`setuptools` v8.0 e no :ref:`pip` v6.0." -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "Ambiente Virtual" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -5025,16 +5034,16 @@ msgstr "" "sistema. Para obter mais informações, consulte a seção sobre :ref:`Creating " "and using Virtual Environments`." -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 #, fuzzy msgid "Wheel Format" msgstr "Formato de arquivos" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "Wheel" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -5042,22 +5051,22 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 #, fuzzy msgid "Wheel Project" msgstr "Projeto" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "Conjunto de Trabalho" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -5256,7 +5265,7 @@ msgstr "Descrição" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "Exemplos" @@ -5661,7 +5670,7 @@ msgstr "" "O projeto `pandas-gbq`_ permite acessar resultados de pesquisa com `Pandas`_." #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "Referências" @@ -6062,7 +6071,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -8836,11 +8845,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -8879,7 +8889,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -8892,32 +8903,32 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 #, fuzzy msgid "Advanced example" msgstr "Um exemplo completo" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 #, fuzzy -#| msgid "The minimum required versions of the respective tools are:" -msgid "The license expressions for these projects are:" -msgstr "As versões mínimas exigidas das respectivas ferramentas são:" +#| msgid "in favour of ``Requires-Dist``" +msgid "The appropriate license expressions are:" +msgstr "em favor de ``Requires-Dist``" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -8929,68 +8940,68 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 #, fuzzy msgid "Expression examples" msgstr "Um exemplo completo" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 #, fuzzy #| msgid "in favour of ``Requires-Dist``" msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "em favor de ``Requires-Dist``" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -8999,18 +9010,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -9019,11 +9030,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -9033,7 +9044,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -9042,11 +9053,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -9058,24 +9069,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -9083,17 +9094,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -9104,11 +9115,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -9116,14 +9127,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -12463,41 +12474,47 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +#, fuzzy +#| msgid "Building binary extensions" +msgid "Build backends for extension modules" +msgstr "Construindo extensões binárias" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 #, fuzzy msgid "Building distributions" msgstr "Distribuição Construída" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -12505,14 +12522,14 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 #, fuzzy msgid "" "If you have :term:`extension modules ` and want to " @@ -12523,12 +12540,12 @@ msgstr "" "plataformas, use :ref:`cibuildwheel` como parte de sua configuração de CI " "para construir wheels distribuíveis." -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 #, fuzzy msgid "Uploading to PyPI" msgstr "Enviando seu Projeto para PyPI" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -12536,45 +12553,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -12585,37 +12602,37 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 #, fuzzy msgid ":ref:`Flit`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 #, fuzzy msgid ":ref:`Hatch`," msgstr "pip, :ref:`bandersnatch`" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 #, fuzzy msgid ":doc:`nox `," msgstr ":doc:`Documentação `" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 #, fuzzy msgid ":ref:`PDM`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 #, fuzzy msgid ":ref:`Pipenv`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 #, fuzzy msgid ":ref:`Poetry`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 #, fuzzy msgid ":doc:`tox `." msgstr ":doc:`Documentação `" @@ -13172,7 +13189,7 @@ msgid "``license`` and ``license-files``" msgstr "``license``" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -13293,14 +13310,14 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 #, fuzzy @@ -13308,59 +13325,59 @@ msgstr "" msgid "``license-files``" msgstr "``license``" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "``keywords``" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." @@ -13368,13 +13385,13 @@ msgstr "" "Isso ajudará a caixa de pesquisa do PyPI a sugerir o seu projeto quando as " "pessoas procuram essas palavras-chave." -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "``classifiers``" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." @@ -13382,7 +13399,7 @@ msgstr "" "Uma lista de classificadores do PyPI que se aplicam ao seu projeto. " "Verifique a `lista completa de possibilidades `_." -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 #, fuzzy msgid "" "Although the list of classifiers is often used to declare what Python " @@ -13397,7 +13414,7 @@ msgstr "" "projetos. Para realmente restringir em quais versões do Python um projeto " "pode ser instalado, use o argumento :ref:`python_requires`." -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 #, fuzzy msgid "" "To prevent a package from being uploaded to PyPI, use the special " @@ -13408,13 +13425,13 @@ msgstr "" "especial ``'Private :: Do Not Upload'``. PyPI sempre rejeitará pacotes com " "classificadores começando com ``\"Private ::'``." -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "``urls``" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." @@ -13422,7 +13439,7 @@ msgstr "" "Uma lista de URLs associadas ao seu projeto, exibida na barra lateral " "esquerda da página do projeto PyPI." -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -13430,7 +13447,7 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 #, fuzzy #| msgid "" #| "Note that if the key contains spaces, it needs to be quoted, e.g., " @@ -13445,21 +13462,21 @@ msgstr "" "``Website = \"https://example.com\"``, mas ``\"Official Website\" = " "\"https://example.com\"``." -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -13467,11 +13484,11 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "Plugins avançados" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " @@ -13481,15 +13498,15 @@ msgstr "" "Pytest_ e Pygments_. Para criar tal plugin, você precisa declará-lo em uma " "subtabela de ``[project.entry-points]`` assim:" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "Veja o :ref:`guia Plugin ` para mais informações." -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "Um exemplo completo" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " @@ -13499,7 +13516,7 @@ msgstr "" "= \"<= 3.10\"`` aqui. `Este post de blog `_ " "contém algumas informações sobre possíveis problemas." -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -18018,7 +18035,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "Histórico" @@ -18902,12 +18919,20 @@ msgstr "" "\"2.1\", \"2.2\" e \"2.3\"." #: ../source/specifications/core-metadata.rst:55 -msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +#, fuzzy +#| msgid "" +#| "Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " +#| "greater than the highest version they support, and MUST fail if " +#| "``metadata_version`` has a greater major version than the highest version " +#| "they support (as described in the :ref:`Version specifier specification " +#| "`, the major version is the value before the first " +#| "dot)." +msgid "" +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" "Ferramentas automatizadas que consomem metadados DEVEM avisar se " "``metadata_version`` é maior que a versão mais alta à qual oferecem suporte, " @@ -21224,7 +21249,13 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" @@ -21232,12 +21263,12 @@ msgstr "" "pip, o instalador recomendado para pacotes Python (http://" "pip.readthedocs.org/en/stable/)" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" "A biblioteca de PEG do parsley. (https://pypi.python.org/pypi/parsley/)" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -30928,11 +30959,13 @@ msgstr "Igualdade arbitrária" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -30941,30 +30974,30 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 #, fuzzy msgid "Handling of pre-releases" msgstr "Instalando pré-lançamentos" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -30972,102 +31005,102 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "Por padrão, ferramentas de resolução de dependências DEVEM:" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "excluir todos os outros pré-lançamentos da consideração" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "aceitando pré-lançamentos para todos os especificadores de versão" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 #, fuzzy msgid "Direct references" msgstr "Referências" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -31075,29 +31108,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -31109,7 +31142,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 #, fuzzy msgid "" "It is RECOMMENDED that only hashes which are unconditionally provided by the " @@ -31125,14 +31158,14 @@ msgstr "" "da escrita, essa lista consistia em 'md5', 'sha1', 'sha224', 'sha256', " "'sha384' e 'sha512'." -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -31141,7 +31174,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -31149,7 +31182,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -31160,17 +31193,17 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 #, fuzzy msgid "Remote URL examples::" msgstr "Por exemplo::" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 #, fuzzy msgid "File URLs" msgstr "URLs de arquivos" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -31178,7 +31211,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -31186,7 +31219,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -31198,43 +31231,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "Resumo das diferenças em relação a pkg_resources.parse_version" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -31243,29 +31276,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 #, fuzzy msgid "Python Virtual Environments" @@ -33062,7 +33099,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -33117,12 +33154,21 @@ msgid "Creating a LICENSE" msgstr "Criando um LICENSE" #: ../source/tutorials/packaging-projects.rst:253 -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:" +#, fuzzy +#| 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:" +msgid "" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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 "" "É importante que cada pacote enviado para o Índice de Pacotes do Python " "inclua uma licença. Isso informa aos usuários que instalam seu pacote os " @@ -33462,6 +33508,11 @@ msgid "" "the file is empty)." msgstr "" +#, fuzzy +#~| msgid "The minimum required versions of the respective tools are:" +#~ msgid "The license expressions for these projects are:" +#~ msgstr "As versões mínimas exigidas das respectivas ferramentas são:" + #~ msgid "`Vagrant `_" #~ msgstr "`Vagrant `_" diff --git a/locales/ro/LC_MESSAGES/messages.po b/locales/ro/LC_MESSAGES/messages.po index 8b18f7e59..90b81c8f9 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2021-08-20 01:32+0000\n" "Last-Translator: GUILHERME FERNANDES NETO \n" "Language-Team: Romanian `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3639,11 +3639,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3652,11 +3652,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "Specificator Cerință" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3664,26 +3664,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3695,38 +3695,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3735,21 +3735,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3758,11 +3758,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3770,15 +3770,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3786,23 +3786,23 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 #, fuzzy #| msgid "Per Project Index" msgid "Wheel Project" msgstr "Pe Indexul Proiectului" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3955,7 +3955,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4311,7 +4311,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4633,7 +4633,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6694,11 +6694,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6734,7 +6735,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6747,29 +6749,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6781,65 +6783,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6848,18 +6850,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6868,11 +6870,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6882,7 +6884,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6891,11 +6893,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6907,24 +6909,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6932,17 +6934,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6953,11 +6955,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6965,14 +6967,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9364,40 +9366,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9405,25 +9411,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9431,45 +9437,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9480,31 +9486,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9908,7 +9914,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10013,90 +10019,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10105,26 +10111,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10132,28 +10138,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10161,33 +10167,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13579,7 +13585,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14373,11 +14379,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16209,17 +16215,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24854,11 +24866,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24867,29 +24881,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24897,101 +24911,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24999,29 +25013,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25033,7 +25047,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25042,14 +25056,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25058,7 +25072,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25066,7 +25080,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25077,15 +25091,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25093,7 +25107,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25101,7 +25115,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25113,43 +25127,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25158,29 +25172,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26546,7 +26564,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26585,11 +26603,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/ru/LC_MESSAGES/messages.po b/locales/ru/LC_MESSAGES/messages.po index 42dd75242..1989364a5 100644 --- a/locales/ru/LC_MESSAGES/messages.po +++ b/locales/ru/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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-06-07 08:01+0000\n" "Last-Translator: da070116 \n" "Language-Team: Russian `, " +#| "host projects on `GitHub `_ and `Bitbucket " +#| "`_, and discuss issues on the `distutils-sig " +#| "mailing list `_ and `the Python Discourse forum `__." msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" "PyPA - это рабочая группа, которая поддерживает множество соответствующих " "проектов по упаковке Python. Они поддерживают сайт по адресу :doc:`pypa.io " @@ -4640,11 +4655,11 @@ msgstr "" "distutils-sig.python.org/>`_ и на форуме Python Discourse `__." -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "Индекс пакетов Python (PyPI)" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " @@ -4654,11 +4669,11 @@ msgstr "" "сообщества Python. Он открыт для всех разработчиков Python для потребления и " "распространения их дистрибутивов." -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "pypi.org" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " @@ -4668,22 +4683,22 @@ msgstr "" "Index (PyPI)`. Он заменил устаревшее доменное имя индекса, " "``pypi.python.org``, в 2017 году. Он работает на базе :ref:`warehouse`." -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "pyproject.toml" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" "Инструмент-агностик:термин: файл спецификации \"Проект\". Определен " "в :pep:`518'." -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "Выпуск" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." @@ -4691,7 +4706,7 @@ msgstr "" "Снимок :term:`Project` в определенный момент времени, обозначаемый " "идентификатором версии." -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -4703,11 +4718,11 @@ msgstr "" "версия 1.0 проекта была выпущена, она может быть доступна как в формате " "распределения источника, так и в формате Windows." -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "Требование" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -4721,11 +4736,11 @@ msgstr "" "которые все могут считаться \"требованием\". Для получения дополнительной " "информации смотрите ссылку :ref:`pip:pip install`." -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "Спецификатор требований" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -4737,11 +4752,11 @@ msgstr "" "specifiers`. Например, \"foo>=1.3\" - это спецификатор требований, где " "\"foo\" - это имя проекта, а часть \">=1.3\" - это :term:`Version Specifier`" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "Требования к файлам" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " @@ -4751,15 +4766,15 @@ msgstr "" "быть установлен с помощью :ref:`pip'. Дополнительные сведения см. " "в :ref:`pip'''' docs on :ref:`pip:Requirements Files`." -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "Каталог корневых лицензий" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "Каталог лицензий" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -4779,17 +4794,17 @@ msgstr "" "директория, к которой относятся пути, записанные в ``License-" "File`` :term:`Core Metadata Field``." -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "setup.py" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "setup.cfg" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." @@ -4797,11 +4812,11 @@ msgstr "" "Файлы спецификаций проекта для:ref:`distutils' и :ref:`setuptools'. См. " "также :term:`pyproject.toml'." -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "Источник Архив" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` " "или :term:`Built Distribution`." -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "Распространение исходных текстов (или \"sdist\")" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -4830,11 +4845,11 @@ msgstr "" "дистрибутива``. Дополнительную информацию смотрите в : ссылка:`Форматы " "пакетов`." -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "Системный пакет" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." @@ -4842,11 +4857,11 @@ msgstr "" "Пакет, предоставляемый в формате, имеющем отношение к операционной системе, " "например, файл rpm или dpkg." -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "Спецификатор версии" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -4860,11 +4875,11 @@ msgstr "" "настоящее время поддерживаются. Поддержка этой спецификации была реализована " "в :ref:`setuptools` v8.0 и :ref:`pip` v6.0." -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "Виртуальная среда" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -4876,15 +4891,15 @@ msgstr "" "системы. Для получения дополнительной информации см. раздел :ref:`Создание и " "использование виртуальных сред`." -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "Формат колеса" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "Колесо" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -4896,11 +4911,11 @@ msgstr "" "distribution-format`. Дополнительную информацию см. в : ссылка:`пакетные " "форматы`. Не путать с его эталонной реализацией, : термин:``Колесо проекта``." -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "Проект Колесо" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." @@ -4908,11 +4923,11 @@ msgstr "" "Эталонная реализация PyPA формата : термин:`Формат колеса`; см. : " "ссылка:`колесо`." -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "Рабочая группа" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -5108,7 +5123,7 @@ msgstr "Описание" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "Примеры" @@ -5514,7 +5529,7 @@ msgstr "" "`Pandas`_." #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "Ссылка" @@ -5989,7 +6004,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" "Однако этот синтаксис немного непрактичен: поскольку имя точки входа, " "которую мы определили выше, не совпадает с именем пакета, нам нужно явно " @@ -8777,11 +8792,12 @@ msgstr "Примеры лицензирования и пользователь #| "pyproject_config>` and :ref:`flit ` don't " #| "support :pep:`639` yet." msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" "В :pep:`639` указан способ объявления лицензии проекта, пути к файлам " "лицензии и другая юридически необходимая информация. Этот документ призван " @@ -8836,7 +8852,11 @@ msgstr "" "Или, если проект использовал :file:`setup.cfg`, в его таблице ``[metadata]``:" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +#, fuzzy +#| msgid "" +#| "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" "Выходные метаданные Core Metadata для дистрибутивных пакетов будут такими:" @@ -8857,11 +8877,11 @@ msgstr "" "при установке; :file:`/` - корень соответствующего архива, а ``{VERSION}`` - " "версия релиза Setuptools в метаданных ядра." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "Расширенный пример" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " @@ -8871,11 +8891,14 @@ msgstr "" "которые хранятся в каталогах :file:`setuptools/_vendor/` " "и :file:`pkg_resources/_vendor/`; а именно:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" -msgstr "Лицензионные выражения для этих проектов следующие:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +#, fuzzy +#| msgid "Some additional examples of valid ``License-Expression`` values:" +msgid "The appropriate license expressions are:" +msgstr "" +"Некоторые дополнительные примеры допустимых значений ``License-Expression``:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " @@ -8885,7 +8908,7 @@ msgstr "" "так и его вендовые зависимости, будет содержать эти метаданные, объединяя " "все выражения лицензии в одно. Такое выражение может быть следующим:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -8905,7 +8928,7 @@ msgstr "" "заявление об авторских правах Packaging и уведомление о выборе лицензии " "`__." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " @@ -8915,12 +8938,12 @@ msgstr "" "путям в дереве исходных текстов проекта (относительно корня проекта " "и :file:`pyproject.toml`):" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" "Если собрать все это вместе, то наш :file:`pyproject.toml` будет иметь вид:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" @@ -8928,20 +8951,20 @@ msgstr "" "Или же файлы лицензии можно указать явно (пути будут интерпретированы как " "glob-шаблоны):" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" "Если бы наш проект использовал :file:`setup.cfg`, мы могли бы определить это " "в :" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" "При любом из этих подходов выходные метаданные Core Metadata в дистрибутиве " "будут такими:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " @@ -8951,7 +8974,7 @@ msgstr "" "версией выпуска Setuptools, указанной в Core Metadata, файлы лицензий будут " "расположены по путям:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" @@ -8959,7 +8982,7 @@ msgstr "" "В собранном колесе, где :file:`/` является корнем архива, а ``{VERSION}`` - " "предыдущей, файлы лицензии будут храниться по адресу:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " @@ -8969,20 +8992,20 @@ msgstr "" "сайта, а ``{VERSION}`` - предыдущей версией, файлы лицензии будут " "установлены в:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "Примеры выражений" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" "Некоторые дополнительные примеры допустимых значений ``License-Expression``:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "Пользовательские сценарии" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -8996,11 +9019,11 @@ msgstr "" "консультация, и читатели должны проконсультироваться с лицензированным " "юристом в своей юрисдикции, если они не уверены в специфике своей ситуации." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "У меня есть частный пакет, который не будет распространяться" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " @@ -9011,7 +9034,7 @@ msgstr "" "включать официальную лицензию, так что вам не придется делать здесь ничего " "лишнего." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -9025,11 +9048,11 @@ msgstr "" "каталога вашего проекта, который будет автоматически включен средствами " "упаковки." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "Я просто хочу поделиться своими работами без юридических ограничений" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -9046,7 +9069,7 @@ msgstr "" "широко используется и позволяет любому делать с вашей работой все, что он " "захочет (кроме как подать на вас в суд, чего вы, вероятно, тоже не хотите)." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -9060,11 +9083,11 @@ msgstr "" "``[project]`` в ваш :file:`pyproject.toml`, если ваш инструмент упаковки " "поддерживает это, или в его конфигурационный файл/раздел. Все готово!" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "Я хочу распространять свой проект под определенной лицензией" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -9084,7 +9107,7 @@ msgstr "" "ID`` и копируемый текст лицензии на сайтах вроде `ChooseALicense " "`__ или `SPDX `__." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." @@ -9093,11 +9116,11 @@ msgstr "" "добавить файл лицензии за вас, а в будущем, возможно, будут поддерживать и " "выражение." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "Я поддерживаю существующий пакет, который уже лицензирован" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " @@ -9107,7 +9130,17 @@ msgstr "" "будет внести всего пару изменений, чтобы воспользоваться новой " "функциональностью." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 +#, fuzzy +#| msgid "" +#| "In your project config file, enter your license expression under " +#| "``license`` (``[project]`` table in :file:`pyproject.toml`), or the " +#| "equivalent for your packaging tool, and make sure to remove any legacy " +#| "``license`` table subkeys or ``License ::`` classifiers. Your existing " +#| "``license`` value may already be valid as one (e.g. ``MIT``, ``Apache-2.0 " +#| "OR BSD-2-Clause``, etc); otherwise, check the `SPDX license list " +#| "`__ for the identifier that matches the license used in your " +#| "project." msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -9115,7 +9148,7 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" "В конфигурационном файле проекта введите выражение лицензии в ``license`` " "(таблица ``[project]`` в :file:`pyproject.toml`) или эквивалентное выражение " @@ -9126,7 +9159,7 @@ msgstr "" "проверьте список лицензий `__ для идентификатора, который " "соответствует лицензии, используемой в вашем проекте." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " @@ -9136,7 +9169,7 @@ msgstr "" "``[project]`` в :file:`pyproject.toml` или в другом файле конфигурации " "вашего инструмента." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -9155,11 +9188,11 @@ msgstr "" "получения дополнительной информации обратитесь к документации вашего " "средства." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "Мой пакет включает в себя другой код под разными лицензиями" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -9172,14 +9205,23 @@ msgstr "" "построить лицензионное выражение, чтобы описать соответствующие лицензии и " "отношения между ними." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 -msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 +#, fuzzy +#| msgid "" +#| "In short, ``License-1 AND License-2`` mean that *both* licenses apply to " +#| "your project, or parts of it (for example, you included a file under " +#| "another license), and ``License-1 OR License-2`` means that *either* of " +#| "the licenses can be used, at the user's option (for example, you want to " +#| "allow users a choice of multiple licenses). You can use parenthesis " +#| "(``()``) for grouping to form expressions that cover even the most " +#| "complex situations." +msgid "" +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" "Вкратце, ``Лицензия-1 И Лицензия-2`` означает, что *обе* лицензии применимы " "к вашему проекту или его части (например, вы включили файл под другой " @@ -12579,7 +12621,13 @@ msgstr "" "стандартной библиотеки в Python 3.12, хотя он по-прежнему доступен из " "setuptools." -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +#, fuzzy +#| msgid "Building binary extensions" +msgid "Build backends for extension modules" +msgstr "Создание бинарных расширений" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " @@ -12589,7 +12637,7 @@ msgstr "" "использовать систему сборки с поддержкой языка, на котором написано " "расширение, например:" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," @@ -12597,7 +12645,7 @@ msgstr "" ": ссылка:`setuptools` - изначально поддерживает C и C++ (со сторонними " "плагинами для Go и Rust)," -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," @@ -12605,7 +12653,7 @@ msgstr "" ": ссылка:`meson-python` -- C, C++, Fortran, Rust и другие языки, " "поддерживаемые Meson," -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," @@ -12613,15 +12661,15 @@ msgstr "" ": ссылка:`scikit-build-core` -- C, C++, Fortran и другие языки, " "поддерживаемые CMake," -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr ": ссылка:`maturin` - Rust, через Cargo." -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "Распределение зданий" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -12634,7 +12682,7 @@ msgstr "" "сборки, который вы : ссылка:`декларировали ` в :файл:`pyproject.toml`." -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " @@ -12644,7 +12692,7 @@ msgstr "" "bdist_wheel``. Все прямые вызовы : файл:`setup.py` " "являются :ссылка:`утратившими актуальность `." -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " @@ -12655,11 +12703,11 @@ msgstr "" "ссылка:`cibuildwheel` как часть вашей настройки CI для сборки " "распространяемых колес." -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "Загрузка на PyPI" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -12671,7 +12719,7 @@ msgstr "" "Publishing `, который позволяет безопасно загрузить " "пакет в PyPI из CI/CD рабочего процесса без ручной настройки API-токена." -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" @@ -12679,30 +12727,30 @@ msgstr "" "По состоянию на ноябрь 2024 года PyPI поддерживает следующие платформы в " "качестве доверенных поставщиков публикаций:" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "Действия на GitHub (на ``https://github.com``)" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "GitLab CI/CD (на ``https://gitlab.com``)" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "ActiveState" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "Google Cloud" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" "Другой доступный способ - загрузить пакет вручную с помощью : ссылка:`twine`." -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 msgid "" "**Never** use ``python setup.py upload`` for this task. In addition to " "being :ref:`deprecated `, it is insecure." @@ -12711,11 +12759,11 @@ msgstr "" "Помимо того, что он является : ссылка:`утратившим актуальность `, он еще и небезопасен." -#: ../source/guides/tool-recommendations.rst:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "Инструменты рабочего процесса" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -12734,31 +12782,31 @@ msgstr "" "для приложений. Часто они вызывают инструменты, упомянутые выше под капотом. " "В алфавитном порядке:" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr ":ссылка:`Flit`," -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr ":ссылка:`Hatch`," -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr ": документ:`nox `," -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr ":ссылка:`PDM`," -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr ":ссылка:`Pipenv`," -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr ":ссылка:`Поэзия`," -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr ": документ:`токсический <токсический:индекс>`." @@ -13290,7 +13338,7 @@ msgid "``license`` and ``license-files``" msgstr "``лицензионные файлы``" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -13431,12 +13479,19 @@ msgstr "" "избегают программ, лицензия которых не утверждена." #: ../source/guides/writing-pyproject-toml.rst:353 -msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +#, fuzzy +#| msgid "" +#| "If your project is licensed with a license that doesn't have an existing " +#| "SPDX identifier, you can create a custom one in format ``LicenseRef-" +#| "[idstring]``. The custom identifiers must follow the SPDX specification, " +#| "`clause 10.1 `_ of the version 2.2 or any later " +#| "compatible one." +msgid "" +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" "Если ваш проект лицензирован по лицензии, для которой не существует " "идентификатора SPDX, вы можете создать собственный идентификатор в формате " @@ -13444,13 +13499,13 @@ msgstr "" "соответствовать спецификации SPDX, `пункт 10.1 `_ версии 2.2 " "или любой более поздней совместимой." -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "``лицензионные файлы``" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." @@ -13458,11 +13513,11 @@ msgstr "" "Это список лицензионных файлов и файлов, содержащих другую юридическую " "информацию, которую вы хотите распространить вместе с пакетом." -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "Шаблоны glob должны соответствовать спецификации:" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." @@ -13470,7 +13525,7 @@ msgstr "" "Буквенно-цифровые символы, знаки подчеркивания (``_``), дефисы (``-``) и " "точки (``.``) будут соответствовать дословно." -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." @@ -13478,11 +13533,11 @@ msgstr "" "Специальные символы: ``*``, ``?``, ``**`` и диапазоны символов: [] " "поддерживаются." -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "Разделителями путей должны быть символы прямой косой черты (``/``)." -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." @@ -13491,15 +13546,15 @@ msgstr "" "содержащей :file:`pyproject.toml`, и поэтому не могут начинаться с символа " "слэша." -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "Индикаторы родительских каталогов (``..``) не должны использоваться." -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "Каждый glob должен соответствовать хотя бы одному файлу." -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." @@ -13508,13 +13563,13 @@ msgstr "" "последовательности символов, не предусмотренные данной спецификацией, " "являются недопустимыми." -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "``ключевые слова``" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." @@ -13522,13 +13577,13 @@ msgstr "" "Это поможет поисковой строке PyPI предлагать ваш проект при поиске по этим " "ключевым словам." -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "`` классификаторы ``" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." @@ -13536,7 +13591,7 @@ msgstr "" "Список классификаторов PyPI, которые применимы к вашему проекту. Проверьте " "`полный список возможностей `_." -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -13550,7 +13605,7 @@ msgstr "" "действительно ограничить, на каких версиях Python может быть установлен " "проект, используйте аргумент :ref:`requires-python`." -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " @@ -13560,13 +13615,13 @@ msgstr "" "классификатор ``Private :: Do Not Upload``. PyPI всегда будет отклонять " "пакеты с классификаторами, начинающимися с ``Private ::``." -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "``urls``" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." @@ -13574,7 +13629,7 @@ msgstr "" "Список URL-адресов, связанных с вашим проектом, отображаемый на левой " "боковой панели страницы проекта PyPI." -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -13586,7 +13641,7 @@ msgstr "" "docs.pypi.org/project_metadata/#project-urls>`_ для обработки URL, " "специфичных для PyPI." -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" @@ -13596,7 +13651,7 @@ msgstr "" "кавычки, например, ``Website = «https://example.com»``, но ``«Официальный " "сайт» = «https://example.com»``." -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " @@ -13606,7 +13661,7 @@ msgstr "" "адресов своих проектов, где это уместно, поскольку потребители метаданных " "(например, индексов пакетов) могут специализировать их представление." -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " @@ -13615,7 +13670,7 @@ msgstr "" "Например, в следующих метаданных ни ``MyHomepage``, ни ``«Download Link»`` " "не являются известными метками, поэтому они будут отображены дословно:" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -13627,11 +13682,11 @@ msgstr "" "представлены с учетом этой семантики (домашняя страница проекта и его " "внешнее место загрузки, соответственно)." -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "Расширенные плагины" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " @@ -13641,17 +13696,17 @@ msgstr "" "можно привести Pytest_ и Pygments_. Чтобы создать такой плагин, нужно " "объявить его в подтаблице ``[project.entry-points]`` следующим образом:" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" "Дополнительную информацию см. в :ref:`Руководство по плагинам `." -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "Полный пример" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " @@ -13661,7 +13716,7 @@ msgstr "" "``requires-python = \"<= 3.10\"``. ``Эта запись в блоге `` содержит некоторую информацию о возможных проблемах." -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -18163,7 +18218,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "История" @@ -19048,12 +19103,20 @@ msgstr "" "«2.2», «2.3» и «2.4»." #: ../source/specifications/core-metadata.rst:55 -msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +#, fuzzy +#| msgid "" +#| "Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " +#| "greater than the highest version they support, and MUST fail if " +#| "``metadata_version`` has a greater major version than the highest version " +#| "they support (as described in the :ref:`Version specifier specification " +#| "`, the major version is the value before the first " +#| "dot)." +msgid "" +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" "Автоматизированные инструменты, потребляющие метаданные, ДОЛЖНЫ " "предупреждать, если ``metadata_version`` больше, чем самая высокая " @@ -21499,7 +21562,13 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" @@ -21507,11 +21576,11 @@ msgstr "" "pip, рекомендуемая программа установки пакетов Python (http://" "pip.readthedocs.org/en/stable/)" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "Библиотека PEG Петрушка. (https://pypi.python.org/pypi/parsley/)" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -33216,18 +33285,26 @@ msgid "Arbitrary equality" msgstr "Произвольное равенство" #: ../source/specifications/version-specifiers.rst:1017 +#, fuzzy +#| 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." 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." +"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." msgstr "" "Произвольные сравнения равенства - это простые операции равенства строк, " "которые не учитывают никакой семантической информации, такой как нулевая " "подстановка или локальные версии. Этот оператор также не поддерживает " "сопоставление префиксов, как это делает оператор ``==``." -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -33241,14 +33318,14 @@ msgstr "" "человеку, использующему инструмент, реализующий эту спецификацию, установить " "устаревшую версию, которая иначе несовместима с этой спецификацией." -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" "Примером может служить ``===foobar``, который будет соответствовать версии " "``foobar``." -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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 " @@ -33258,7 +33335,7 @@ msgstr "" "непропатченной версии проекта, например, ``===1.0``, которая не будет " "соответствовать версии ``1.0+downstream1``." -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." @@ -33266,11 +33343,11 @@ msgstr "" "Использовать этот оператор крайне не рекомендуется, и оснастка ДОЛЖНА " "содержать предупреждение о его использовании." -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "Работа с предварительными выпусками" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -33283,17 +33360,17 @@ msgstr "" "версия, удовлетворяющая спецификатору версии, является предварительной " "версией." -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "По умолчанию инструменты разрешения зависимостей ДОЛЖНЫ:" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" "принимать уже установленные предварительные версии для всех спецификаторов " "версии" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 msgid "" "accept remotely available pre-releases for version specifiers where there is " "no final or post release that satisfies the version specifier" @@ -33302,11 +33379,11 @@ msgstr "" "версий, если не существует финального или пост-выпуска, удовлетворяющего " "спецификатору версии" -#: ../source/specifications/version-specifiers.rst:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "исключить из рассмотрения все прочие предварительные продажи" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." @@ -33314,7 +33391,7 @@ msgstr "" "Средства разрешения зависимостей МОГУТ выдавать предупреждение, если для " "удовлетворения спецификатора версии требуется предварительный выпуск." -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" @@ -33322,11 +33399,11 @@ msgstr "" "Средства разрешения зависимостей ДОЛЖНЫ также позволять пользователям " "запрашивать следующие альтернативные варианты поведения:" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "прием предварительных версий для всех спецификаторов версий" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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 " @@ -33337,7 +33414,7 @@ msgstr "" "локально, или если предварительная версия является единственным способом " "удовлетворить определенный спецификатор)" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." @@ -33345,7 +33422,7 @@ msgstr "" "Средства разрешения зависимостей MAY также позволяют управлять вышеуказанным " "поведением на основе каждого дистрибутива." -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 msgid "" "Post-releases and final releases receive no special treatment in version " "specifiers - they are always included unless explicitly excluded." @@ -33354,24 +33431,24 @@ msgstr "" "спецификаторах версий - они всегда включаются, если только не исключены " "явным образом." -#: ../source/specifications/version-specifiers.rst:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" "``~=3.1``: версия 3.1 или более поздняя, но не версия 4.0 или более поздняя." -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" "``~=3.1.2``: версия 3.1.2 или более поздняя, но не версия 3.2.0 или более " "поздняя." -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" "``~=3.1a1``: версия 3.1a1 или более поздняя, но не версия 4.0 или более " "поздняя." -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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." @@ -33379,7 +33456,7 @@ msgstr "" "``== 3.1``: конкретно версия 3.1 (или 3.1.0), исключает все пре-релизы, пост-" "релизы, релизы разработки и любые поддерживающие релизы 3.1.x." -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." @@ -33387,7 +33464,7 @@ msgstr "" "``== 3.1.*``: любая версия, начинающаяся с 3.1. Эквивалентно положению о " "совместимом выпуске ``~=3.1.0``." -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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." @@ -33395,11 +33472,11 @@ msgstr "" "``~=3.1.0, != 3.1.3``: версия 3.1.0 или более поздняя, но не версия 3.1.3 и " "не версия 3.2.0 или более поздняя." -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "Прямые ссылки" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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 " @@ -33409,7 +33486,7 @@ msgstr "" "прямой ссылки в качестве альтернативы обычному спецификатору версии. Прямая " "ссылка состоит из спецификатора ``@`` и явного URL." -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -33421,7 +33498,7 @@ msgstr "" "как минимум выдавать предупреждения, а могут и полностью отклонять их, если " "прямые ссылки используются неуместно." -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 msgid "" "Public index servers SHOULD NOT allow the use of direct references in " "uploaded distributions. Direct references are intended as a tool for " @@ -33431,7 +33508,7 @@ msgstr "" "в загружаемых дистрибутивах. Прямые ссылки предназначены для интеграторов " "программного обеспечения, а не для издателей." -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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 " @@ -33441,16 +33518,16 @@ msgstr "" "прямой URL-ссылки могут быть sdist или бинарный архив wheel. Точные URL-" "адреса и поддерживаемые цели зависят от инструмента." -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "Например, на локальный исходный архив можно ссылаться напрямую::" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" "В качестве альтернативы можно сослаться на предварительно собранный архив::" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -33471,7 +33548,7 @@ msgstr "" "Если такая прямая ссылка также использует небезопасный транспорт, " "автоматизированные инструменты НЕ ДОЛЖНЫ полагаться на URL." -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -33485,7 +33562,7 @@ msgstr "" "в этот список входят ``md5``, ``sha1``, ``sha224``, ``sha256``, ``sha384`` и " "``sha512``." -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " @@ -33495,7 +33572,7 @@ msgstr "" "указано путем включения записи ``=`` в " "качестве части фрагмента URL." -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -33510,7 +33587,7 @@ msgstr "" "МОГУТ не выдавать предупреждения об отсутствии хэшей для систем контроля " "версий, которые не предоставляют идентификаторы фиксации на основе хэшей." -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -33522,7 +33599,7 @@ msgstr "" "добавлена в конец URL с помощью нотации ``@`` или " "``@#``." -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -33539,15 +33616,15 @@ msgstr "" "хэш, чтобы затруднить подделку (создать вредоносное репо с определённым " "тегом легко, а создать репо с определённым *хэшем* - менее)." -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "Примеры удаленных URL::" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "URL-адреса файлов" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -33560,7 +33637,7 @@ msgstr "" "определяет путь к файлу в файловой системе, к которому необходимо получить " "доступ." -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -33573,7 +33650,7 @@ msgstr "" "в \\*nix схема ``file://`` может использоваться только для доступа к путям " "на локальной машине." -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -33593,11 +33670,11 @@ msgstr "" "в Windows можно найти в `MSDN `_." -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "Краткое описание отличий от pkg_resources.parse_version" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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 " @@ -33608,7 +33685,7 @@ msgstr "" "был принят, setuptools 6.0 и более поздние версии приняли описанное здесь " "поведение." -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 msgid "" "Local versions sort differently, this specification requires that they sort " "as greater than the same version without a local version, whereas " @@ -33618,7 +33695,7 @@ msgstr "" "сортировались как большие, чем та же версия без локальной версии, в то время " "как ``pkg_resources.parse_version`` считает это маркером предрелизности." -#: ../source/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 msgid "" "This specification purposely restricts the syntax which constitutes a valid " "version while ``pkg_resources.parse_version`` attempts to provide some " @@ -33628,7 +33705,7 @@ msgstr "" "собой правильную версию, в то время как ``pkg_resources.parse_version`` " "пытается получить некоторое значение из *любой* произвольной строки." -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 msgid "" "``pkg_resources.parse_version`` allows arbitrarily deeply nested version " "signifiers like ``1.0.dev1.post1.dev5``. This specification however allows " @@ -33639,11 +33716,11 @@ msgstr "" "допускает только одно использование каждого типа, и они должны существовать " "в определенном порядке." -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "Приложение: Разбор строк версий с помощью регулярных выражений" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -33657,7 +33734,7 @@ msgstr "" "использовать для проверки того, имеет ли версия уже такую форму, и, если " "нет, извлечь различные компоненты для последующей нормализации." -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" @@ -33665,7 +33742,7 @@ msgstr "" "Чтобы проверить, соответствует ли идентификатор версии каноническому " "формату, можно воспользоваться следующей функцией:" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_):" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "Август 2014 г: Эта спецификация была одобрена через :pep:`440`." -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "Виртуальные среды Python" @@ -35542,10 +35623,22 @@ msgstr "" "pypi.org/classifiers/." #: ../source/tutorials/packaging-projects.rst:222 +#, fuzzy +#| msgid "" +#| "This is a valid :term:`SPDX license expression ` " +#| "consisting of one or more :term:`license identifiers `. The full license list is available at the `SPDX license " +#| "list page `_. The supported list version is 3.17 or any " +#| "later compatible one." msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" +"Это действительное выражение лицензии :term:`SPDX `, " +"состоящее из одного или нескольких :term:`license identifiers `. Полный список лицензий доступен на странице `списка лицензий " +"SPDX `_. Поддерживаемая версия списка - 3.17 или любая " +"более поздняя совместимая." #: ../source/tutorials/packaging-projects.rst:224 #, fuzzy @@ -35597,12 +35690,21 @@ msgid "Creating a LICENSE" msgstr "Создание файла :file:`LICENSE`" #: ../source/tutorials/packaging-projects.rst:253 -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:" +#, fuzzy +#| 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:" +msgid "" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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 "" "Важно, чтобы каждый пакет, загруженный в Python Package Index, содержал " "лицензию. Это указывает пользователям, устанавливающим ваш пакет, на каких " @@ -35952,6 +36054,9 @@ msgstr "" "Если вы только начинаете с Python упаковки, рекомендуется придерживаться " "*регулярных пакетов* и ``__init__.py`` (даже если файл пуст)." +#~ msgid "The license expressions for these projects are:" +#~ msgstr "Лицензионные выражения для этих проектов следующие:" + #~ msgid "TUF Support - PEP 458" #~ msgstr "Поддержка TUF - PEP 458" diff --git a/locales/sai/LC_MESSAGES/messages.po b/locales/sai/LC_MESSAGES/messages.po index 0f4b4bc64..98c828ade 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -3405,9 +3405,9 @@ msgstr "" #: ../source/glossary.rst:161 msgid "" "A string with valid SPDX license expression syntax, including one or more " -"SPDX :term:`License Identifier`\\(s), which describes a :term:`Project`'s " -"license(s) and how they inter-relate. Examples: ``GPL-3.0-or-later``, ``MIT " -"AND (Apache-2.0 OR BSD-2-Clause)``" +"SPDX :term:`License Identifier`\\(s), which describes a :term:`Distribution " +"Archive`'s license(s) and how they inter-relate. Examples: ``GPL-3.0-or-" +"later``, ``MIT AND (Apache-2.0 OR BSD-2-Clause)``" msgstr "" #: ../source/glossary.rst:169 @@ -3580,54 +3580,54 @@ msgstr "" msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3635,11 +3635,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3648,11 +3648,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3660,26 +3660,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3691,38 +3691,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3731,21 +3731,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3754,11 +3754,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3766,15 +3766,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3782,21 +3782,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3949,7 +3949,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4305,7 +4305,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4627,7 +4627,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6686,11 +6686,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6726,7 +6727,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6739,29 +6741,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6773,65 +6775,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6840,18 +6842,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6860,11 +6862,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6874,7 +6876,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6883,11 +6885,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6899,24 +6901,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6924,17 +6926,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6945,11 +6947,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6957,14 +6959,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9356,40 +9358,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9397,25 +9403,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9423,45 +9429,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9472,31 +9478,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9900,7 +9906,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10005,90 +10011,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10097,26 +10103,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10124,28 +10130,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10153,33 +10159,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13571,7 +13577,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14365,11 +14371,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16201,17 +16207,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24846,11 +24858,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24859,29 +24873,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24889,101 +24903,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24991,29 +25005,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25025,7 +25039,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25034,14 +25048,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25050,7 +25064,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25058,7 +25072,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25069,15 +25083,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25085,7 +25099,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25093,7 +25107,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25105,43 +25119,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25150,29 +25164,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26538,7 +26556,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26577,11 +26595,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/si/LC_MESSAGES/messages.po b/locales/si/LC_MESSAGES/messages.po index fb51d249c..8742fc2be 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2022-06-11 08:19+0000\n" "Last-Translator: Kushan Gunasekera \n" "Language-Team: Sinhala `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3639,11 +3639,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3652,11 +3652,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3664,26 +3664,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3695,38 +3695,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3735,21 +3735,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3758,11 +3758,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3770,15 +3770,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3786,21 +3786,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3953,7 +3953,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4309,7 +4309,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4631,7 +4631,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6690,11 +6690,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6730,7 +6731,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6743,29 +6745,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6777,65 +6779,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6844,18 +6846,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6864,11 +6866,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6878,7 +6880,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6887,11 +6889,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6903,24 +6905,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6928,17 +6930,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6949,11 +6951,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6961,14 +6963,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9360,40 +9362,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9401,25 +9407,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9427,45 +9433,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9476,31 +9482,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9904,7 +9910,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10009,90 +10015,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10101,26 +10107,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10128,28 +10134,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10157,33 +10163,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13575,7 +13581,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14369,11 +14375,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16205,17 +16211,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24850,11 +24862,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24863,29 +24877,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24893,101 +24907,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24995,29 +25009,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25029,7 +25043,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25038,14 +25052,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25054,7 +25068,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25062,7 +25076,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25073,15 +25087,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25089,7 +25103,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25097,7 +25111,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25109,43 +25123,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25154,29 +25168,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26542,7 +26560,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26581,11 +26599,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/sk/LC_MESSAGES/messages.po b/locales/sk/LC_MESSAGES/messages.po index 5b36d8faa..bdaf17797 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2024-11-02 00:54+0000\n" "Last-Translator: Milan Šalka \n" "Language-Team: Slovak `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3761,11 +3761,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3774,11 +3774,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3786,28 +3786,28 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 #, fuzzy #| msgid "Project name" msgid "Root License Directory" msgstr "Meno projektu" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3819,38 +3819,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3859,21 +3859,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3882,11 +3882,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3894,15 +3894,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3910,23 +3910,23 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 #, fuzzy #| msgid "Project" msgid "Wheel Project" msgstr "Projekt" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -4079,7 +4079,7 @@ msgstr "Poznámka" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4435,7 +4435,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4763,7 +4763,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6844,11 +6844,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6884,7 +6885,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6897,29 +6899,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6931,65 +6933,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6998,18 +7000,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -7018,11 +7020,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -7032,7 +7034,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -7041,11 +7043,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -7057,24 +7059,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -7082,17 +7084,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -7103,11 +7105,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -7115,14 +7117,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9520,42 +9522,46 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 #, fuzzy #| msgid "Reviewing new contributions" msgid "Building distributions" msgstr "Preskúmanie nových príspevkov" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9563,25 +9569,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9589,45 +9595,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9638,31 +9644,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -10066,7 +10072,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10171,90 +10177,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10263,26 +10269,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10290,28 +10296,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10319,33 +10325,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13739,7 +13745,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14539,11 +14545,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16379,17 +16385,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -25060,11 +25072,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -25073,29 +25087,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -25103,101 +25117,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25205,29 +25219,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25239,7 +25253,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25248,14 +25262,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25264,7 +25278,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25272,7 +25286,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25283,15 +25297,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25299,7 +25313,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25307,7 +25321,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25319,43 +25333,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25364,29 +25378,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26754,7 +26772,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26793,11 +26811,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/ta/LC_MESSAGES/messages.po b/locales/ta/LC_MESSAGES/messages.po index ee1ab3131..4d7fda8be 100644 --- a/locales/ta/LC_MESSAGES/messages.po +++ b/locales/ta/LC_MESSAGES/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-07-19 06:36+0000\n" "Last-Translator: தமிழ்நேரம் \n" "Language-Team: Tamil `, " +#| "host projects on `GitHub `_ and `Bitbucket " +#| "`_, and discuss issues on the `distutils-sig " +#| "mailing list `_ and `the Python Discourse forum `__." msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" "பைபா என்பது பைதான் பேக்கேசிங்கில் தொடர்புடைய பல திட்டங்களை பராமரிக்கும் ஒரு பணிக்குழு " "ஆகும். அவர்கள் ஒரு தளத்தை பராமரிக்கின்றனர்: doc: `pypa.io `, `github " @@ -4478,11 +4493,11 @@ msgstr "" "`_, மற்றும்` டிச்டிடில்ச்-சிக் அஞ்சல் பட்டியலில் உள்ள சிக்கல்களைப் பற்றி விவாதிக்கவும் //" "discuss.python.org/c/packaging>`__." -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "பைதான் தொகுப்பு அட்டவணை (PYPI)" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " @@ -4492,11 +4507,11 @@ msgstr "" "குறியீடு`. அனைத்து பைதான் டெவலப்பர்களுக்கும் அவர்களின் விநியோகங்களை உட்கொள்வதற்கும் " "விநியோகிப்பதற்கும் இது திறந்திருக்கும்." -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "pypi.org" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " @@ -4506,22 +4521,22 @@ msgstr "" "(PYPI)`. இது 2017 ஆம் ஆண்டில் மரபு குறியீட்டு டொமைன் பெயரை மாற்றியது, `` " "pypi.python.org``. இது இயக்கப்படுகிறது: ref: `கிடங்கு`." -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "pyproject.toml" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" "கருவி-அம்போச்டிக்: கால: `திட்டம்` விவரக்குறிப்பு கோப்பு. வரையறுக்கப்பட்டுள்ளது: PEP: " "`518`." -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "வெளியீடு" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." @@ -4529,7 +4544,7 @@ msgstr "" "A இன் ச்னாப்சாட்: கால: `திட்டம்` ஒரு குறிப்பிட்ட கட்டத்தில், பதிப்பு அடையாளங்காட்டியால் " "குறிக்கப்படுகிறது." -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -4540,11 +4555,11 @@ msgstr "" "கொண்டிருக்கலாம். எடுத்துக்காட்டாக, ஒரு திட்டத்தின் பதிப்பு 1.0 வெளியிடப்பட்டால், அது ஒரு " "மூல விநியோக வடிவம் மற்றும் சாளரங்கள் நிறுவி விநியோக வடிவத்தில் கிடைக்கக்கூடும்." -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "தேவை" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -4555,11 +4570,11 @@ msgstr "" "ஒரு விவரக்குறிப்பு ஒரு: கால: `தொகுப்பு <விநியோக தொகுப்பு>` நிறுவப்பட வேண்டும். . " "மேலும் தகவலுக்கு, பார்க்க: ref: `PIP: PIP INSTALL` குறிப்பு." -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "தேவை விவரக்குறிப்பு" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -4572,11 +4587,11 @@ msgstr "" "விவரக்குறிப்பாகும், அங்கு \"FOO\" என்பது திட்ட பெயர், மற்றும் \"> = 1.3\" பகுதி: கால: " "`பதிப்பு விவரக்குறிப்பு`" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "தேவைகள் கோப்பு" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " @@ -4586,15 +4601,15 @@ msgstr "" "குறிப்பு: `பிப்`. மேலும் தகவலுக்கு, பார்க்க: ref: `பிப்` டாக்ச் ஆன்: குறிப்பு:` பிப்: " "தேவைகள் கோப்புகள்`." -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "ரூட் உரிம அடைவு" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "உரிம அடைவு" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -4613,17 +4628,17 @@ msgstr "" "`` உரிம-கோப்பு``: கால: `கோர் மேனிலை தரவு புலம்` இல் பதிவு செய்யப்பட்ட பாதைகள் " "தொடர்புடையவை." -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "setup.py" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "setup.cfg" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." @@ -4631,11 +4646,11 @@ msgstr "" "இதற்கான திட்ட விவரக்குறிப்பு கோப்புகள்: ref: `distutils` மற்றும்: ref:` setuptools`. " "மேலும் காண்க: கால: `pyproject.toml`." -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "மூல காப்பகம்" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution `அல்லது: " "கால:` கட்டப்பட்ட விநியோகம்`." -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "மூல வழங்கல் (அல்லது \"SDIST\")" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -4663,11 +4678,11 @@ msgstr "" "உருவாக்க ஒரு: கால: `கட்டப்பட்ட விநியோகம்`. காண்க: குறிப்பு: மேலும் தகவலுக்கு `தொகுப்பு " "வடிவங்கள்." -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "கணினி தொகுப்பு" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." @@ -4675,11 +4690,11 @@ msgstr "" "இயக்க முறைமைக்கு சொந்தமான வடிவத்தில் வழங்கப்பட்ட ஒரு தொகுப்பு, எ.கா. ஒரு RPM அல்லது " "DPKG கோப்பு." -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "பதிப்பு விவரக்குறிப்பு" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -4693,11 +4708,11 @@ msgstr "" "முழு விளக்கத்திற்கு. இந்த விவரக்குறிப்பிற்கான உதவி இதில் செயல்படுத்தப்பட்டது: குறிப்பு: " "`setuptools` v8.0 மற்றும்: Ref:` Pip` v6.0." -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "மெய்நிகர் சூழல்" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -4708,15 +4723,15 @@ msgstr "" "நிறுவ அனுமதிக்கும் ஒரு தனிமைப்படுத்தப்பட்ட பைதான் சூழல். மேலும் தகவலுக்கு, பகுதியைப் " "பார்க்கவும்: ref: `மெய்நிகர் சூழல்களை உருவாக்குதல் மற்றும் பயன்படுத்துதல்`." -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "சக்கர வடிவம்" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "சக்கரம்" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -4728,22 +4743,22 @@ msgstr "" "காண்க: குறிப்பு: மேலும் தகவலுக்கு `தொகுப்பு வடிவங்கள். அதன் குறிப்பு செயல்படுத்தலுடன் " "குழப்பமடையக்கூடாது, தி: கால: `சக்கர திட்டம்`." -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "சக்கர திட்டம்" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" "பைபா குறிப்பு செயல்படுத்தல்: கால: `சக்கர வடிவமைப்பு`; காண்க: குறிப்பு: `சக்கரம்`." -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "வேலை தொகுப்பு" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -4938,7 +4953,7 @@ msgstr "விவரம்" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "எடுத்துக்காட்டுகள்" @@ -5344,7 +5359,7 @@ msgstr "" "`பாண்டாச்-GBQ`_ திட்டம்` பாண்டாச்`_ வழியாக வினவல் முடிவுகளை அணுக அனுமதிக்கிறது." #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "குறிப்புகள்" @@ -5802,7 +5817,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" "இருப்பினும், இந்த தொடரியல் சற்று நடைமுறைக்கு மாறானது; நாங்கள் மேலே வரையறுத்த நுழைவு " "புள்ளியின் பெயர் தொகுப்பு பெயருடன் பொருந்தவில்லை என்பதால், எந்த இயங்கக்கூடிய ச்கிரிப்டை " @@ -8492,11 +8507,12 @@ msgstr "உரிமம் அளிக்கும் எடுத்துக #| "aims to provide clear guidance how to migrate from the legacy to the " #| "standardized way of declaring licenses." msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" ". இந்த ஆவணம் உரிமைகளை அறிவிக்கும் தரப்படுத்தப்பட்ட வழிக்கு மரபுரிமையிலிருந்து எவ்வாறு " "குடிபெயர்வது என்பதை தெளிவான வழிகாட்டுதலை வழங்குவதை நோக்கமாகக் கொண்டுள்ளது." @@ -8543,7 +8559,11 @@ msgstr "" "அல்லது, திட்டம் பயன்படுத்தப்பட்டால்: கோப்பு: `setup.cfg`, அதன்` `[மெட்டாடேட்டா]` `அட்டவணை:" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +#, fuzzy +#| msgid "" +#| "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "விநியோக தொகுப்புகளுக்கான வெளியீட்டு கோர் மேனிலை தரவு பின்னர்:" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -8560,11 +8580,11 @@ msgstr "" "உரிமம்` இல் சக்கரம், மற்றும் அங்கிருந்து தள கோப்பகத்தில் (எ.கா.: கோப்பு: `தள-பேக்கேச்கள்/`) " "நிறுவலில் திறக்கப்படவில்லை; ." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "மேம்பட்ட எடுத்துக்காட்டு" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " @@ -8574,11 +8594,14 @@ msgstr "" "கோப்பு: `setuptools/_vendor/` மற்றும்: கோப்பு: `pkg_resources/_vendor/` " "கோப்பகங்கள்; குறிப்பாக:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" -msgstr "இந்த திட்டங்களுக்கான உரிம வெளிப்பாடுகள்:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +#, fuzzy +#| msgid "Some additional examples of valid ``License-Expression`` values:" +msgid "The appropriate license expressions are:" +msgstr "" +"செல்லுபடியாகும் `` உரிம-வெளிப்பாடு`` மதிப்புகளின் சில கூடுதல் எடுத்துக்காட்டுகள்:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " @@ -8588,7 +8611,7 @@ msgstr "" "சார்புநிலைகள் இந்த மெட்டாடேட்டாவைக் கொண்டிருக்கும், இது அனைத்து உரிம வெளிப்பாடுகளையும் " "ஒன்றாக இணைக்கிறது. அத்தகைய வெளிப்பாடு இருக்கலாம்:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -8606,7 +8629,7 @@ msgstr "" "கோப்பகத்தில் அப்பாச்சி 2.0 மற்றும் 2-உட்பிரிவு பி.எச்.டி உரிம உரை உள்ளது, மற்றும் " "பேக்கேசிங் பதிப்புரிமை அறிக்கை மற்றும் `உரிமம் தேர்வு அறிவிப்பு <பேக்கேசிங் லிசன்ச்_>` __." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " @@ -8615,11 +8638,11 @@ msgstr "" "குறிப்பாக, உரிமக் கோப்புகள் திட்ட மூல மரத்தில் பின்வரும் பாதைகளில் அமைந்துள்ளன என்று " "கருதுகிறோம் (திட்ட மூலத்துடன் தொடர்புடையது: கோப்பு: `pyproject.toml`):" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "அனைத்தையும் ஒன்றாக இணைத்து, எங்கள்: கோப்பு: `pyproject.toml` இருக்கும்:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" @@ -8627,16 +8650,16 @@ msgstr "" "அல்லது மாற்றாக, உரிமக் கோப்புகளை வெளிப்படையாக குறிப்பிடலாம் (பாதைகள் குளோப் வடிவங்கள் " "என விளக்கப்படும்):" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "எங்கள் திட்டம் பயன்படுத்தப்பட்டால்: கோப்பு: `setup.cfg`, இதை நாங்கள் வரையறுக்கலாம்:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "எந்தவொரு அணுகுமுறையிலும், விநியோகத்தில் வெளியீட்டு கோர் மெட்டாடேட்டா:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " @@ -8646,7 +8669,7 @@ msgstr "" "`கோர் மெட்டாடேட்டாவில் குறிப்பிடப்பட்டுள்ள செடிப்டூல்ச் வெளியீட்டின் பதிப்பாகவும், உரிமக் " "கோப்புகள் பாதைகளில் அமைந்திருக்கும்:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" @@ -8654,7 +8677,7 @@ msgstr "" "கட்டப்பட்ட சக்கரத்தில், உடன்: கோப்பு: `/` காப்பகத்தின் வேர் மற்றும் `` {VERSION} `` " "முந்தையதைப் போல, உரிமக் கோப்புகள் சேமிக்கப்படும்:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " @@ -8663,20 +8686,20 @@ msgstr "" "இறுதியாக, நிறுவப்பட்ட திட்டத்தில், உடன்: கோப்பு: `தள-பேக்கேச்கள்/` தள அடைவு மற்றும் `` " "{VERSION} `` முந்தையதைப் போல, உரிமக் கோப்புகள் நிறுவப்படும்:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "வெளிப்பாடு எடுத்துக்காட்டுகள்" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" "செல்லுபடியாகும் `` உரிம-வெளிப்பாடு`` மதிப்புகளின் சில கூடுதல் எடுத்துக்காட்டுகள்:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "பயனர் காட்சிகள்" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -8690,11 +8713,11 @@ msgstr "" "உறுதியாக தெரியாவிட்டால், உரிமம் பெற்ற சட்ட பயிற்சியாளரை தங்கள் அதிகார வரம்பில் அணுக " "வேண்டும்." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "என்னிடம் ஒரு தனியார் தொகுப்பு உள்ளது, அது விநியோகிக்கப்படாது" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " @@ -8704,7 +8727,7 @@ msgstr "" "வீட்டுக்கு வெளியே, இது * வழக்கமாக * முறையான உரிமத்தை சேர்க்க கண்டிப்பாக அவசியமில்லை, " "எனவே நீங்கள் இங்கே கூடுதல் எதையும் செய்ய வேண்டிய அவசியமில்லை." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -8716,12 +8739,12 @@ msgstr "" "தனியுரிமைக்குறி`, மற்றும்/அல்லது பதிப்புரிமை அறிக்கை மற்றும் ஒரு சட்ட அறிவிப்புகளை " "ஒரு: கோப்பு: `உரிமம். உங்கள் திட்ட அடைவு, இது தானாக பேக்கேசிங் கருவிகளால் சேர்க்கப்படும்." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" "நான் எனது சொந்த வேலையை சட்டரீதியான கட்டுப்பாடுகள் இல்லாமல் பகிர்ந்து கொள்ள விரும்புகிறேன்" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -8738,7 +8761,7 @@ msgstr "" "வேலையுடன் யாரையும் அவர்கள் விரும்பியதைச் செய்ய அனுமதிக்கிறது (நீங்கள் வழக்குத் தொடுப்பதைத் " "தவிர, நீங்கள் விரும்பாதது)." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -8751,11 +8774,11 @@ msgstr "" "pyproject.toml` இன் கீழ் `` உரிமம் = \"எம்ஐடி\" சேர்க்கவும் அல்லது அதன் கட்டமைப்பு கோப்பு/" "பிரிவில் இருந்தால். நீங்கள் முடித்துவிட்டீர்கள்!" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "எனது திட்டத்தை ஒரு குறிப்பிட்ட உரிமத்தின் கீழ் விநியோகிக்க விரும்புகிறேன்" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -8773,7 +8796,7 @@ msgstr "" "`Choosealicense __ __ அல்லது` spdx __ __ " "போன்ற தளங்களில் காணலாம்." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." @@ -8781,11 +8804,11 @@ msgstr "" "பல பிரபலமான குறியீடு ஓச்ட்கள், திட்ட வார்ப்புருக்கள் மற்றும் பேக்கேசிங் கருவிகள் உங்களுக்காக " "உரிமக் கோப்பைச் சேர்க்கலாம், மேலும் எதிர்காலத்திலும் வெளிப்பாட்டை ஆதரிக்கலாம்." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "ஏற்கனவே உரிமம் பெற்ற ஒரு தொகுப்பை நான் பராமரிக்கிறேன்" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " @@ -8794,7 +8817,17 @@ msgstr "" "உங்கள் திட்டத்தில் ஏற்கனவே உரிமக் கோப்புகள் மற்றும் மேனிலை தரவு இருந்தால், புதிய " "செயல்பாட்டைப் பயன்படுத்த நீங்கள் இரண்டு மாற்றங்களை மட்டுமே செய்ய வேண்டும்." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 +#, fuzzy +#| msgid "" +#| "In your project config file, enter your license expression under " +#| "``license`` (``[project]`` table in :file:`pyproject.toml`), or the " +#| "equivalent for your packaging tool, and make sure to remove any legacy " +#| "``license`` table subkeys or ``License ::`` classifiers. Your existing " +#| "``license`` value may already be valid as one (e.g. ``MIT``, ``Apache-2.0 " +#| "OR BSD-2-Clause``, etc); otherwise, check the `SPDX license list " +#| "`__ for the identifier that matches the license used in your " +#| "project." msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -8802,7 +8835,7 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" "உங்கள் திட்ட கட்டமைப்பு கோப்பில், உங்கள் உரிம வெளிப்பாட்டை `` உரிமம்`` (`` [திட்டம்] `` " "அட்டவணை: கோப்பு: `pyproject.toml`), அல்லது உங்கள் பேக்கேசிங் கருவிக்கு சமமானதாக " @@ -8812,7 +8845,7 @@ msgstr "" "பொருந்தக்கூடிய அடையாளங்காட்டிக்கு `SPDX உரிம பட்டியல் ` __ __ ஐ " "சரிபார்க்கவும்." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " @@ -8821,7 +8854,7 @@ msgstr "" "உங்கள் உரிமக் கோப்புகளை `` [திட்டம்] `` `இன் கீழ்` `உரிமக் கோப்புகள்` இன் கீழ் பட்டியலிடுவதை " "உறுதிசெய்க: கோப்பு:` pyproject.toml` அல்லது உங்கள் கருவியின் உள்ளமைவு கோப்பில்." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -8839,11 +8872,11 @@ msgstr "" "உரிமம் பெறும் மெட்டாடேட்டாவை தானாக மாற்றுவதை ஆதரிக்கக்கூடும்; மேலும் தகவலுக்கு உங்கள் " "கருவியின் ஆவணங்களை சரிபார்க்கவும்." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "எனது தொகுப்பில் வெவ்வேறு உரிமங்களின் கீழ் பிற குறியீடு அடங்கும்" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -8855,14 +8888,23 @@ msgstr "" "இருந்தால், சம்பந்தப்பட்ட உரிமங்களையும் அவற்றுக்கிடையேயான உறவை விவரிக்க உரிம வெளிப்பாட்டை " "உருவாக்கலாம்." -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 -msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 +#, fuzzy +#| msgid "" +#| "In short, ``License-1 AND License-2`` mean that *both* licenses apply to " +#| "your project, or parts of it (for example, you included a file under " +#| "another license), and ``License-1 OR License-2`` means that *either* of " +#| "the licenses can be used, at the user's option (for example, you want to " +#| "allow users a choice of multiple licenses). You can use parenthesis " +#| "(``()``) for grouping to form expressions that cover even the most " +#| "complex situations." +msgid "" +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" "சுருக்கமாக, `` உரிமம் -1 மற்றும் உரிமம் -2`` என்பது உங்கள் திட்டத்திற்கு அல்லது அதன் " "பகுதிகளுக்கு * இரண்டு * உரிமங்களும் பொருந்தும் என்று பொருள் (எடுத்துக்காட்டாக, நீங்கள் " @@ -12128,7 +12170,13 @@ msgstr "" "பைத்தான் 3.12 இல் உள்ள நிலையான நூலகத்திலிருந்து அகற்றப்பட்டது, இருப்பினும் இது இன்னும் " "செட்டுப்டூல்களிலிருந்து கிடைக்கிறது." -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +#, fuzzy +#| msgid "Building binary extensions" +msgid "Build backends for extension modules" +msgstr "பைனரி நீட்டிப்புகளை உருவாக்குதல்" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " @@ -12138,7 +12186,7 @@ msgstr "" "எழுதப்பட்ட மொழிக்கு பிரத்யேக ஆதரவுடன் ஒரு உருவாக்க முறையைப் பயன்படுத்துவது நல்லது, " "எடுத்துக்காட்டாக:" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," @@ -12146,7 +12194,7 @@ msgstr "" ":ref:`setuptools` -- natively supports C and C++ (with third-party " "செருகுநிரல்கள் க்கு Go and Rust)," -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," @@ -12154,7 +12202,7 @@ msgstr "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and மற்றொன்று மொழிகள் supported " "by Meson," -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," @@ -12162,15 +12210,15 @@ msgstr "" ":ref:`scikit-build-core` -- C, C++, Fortran, and மற்றொன்று மொழிகள் supported by " "CMake," -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr ": ref: `` Maturin` - ரச்ட், சரக்கு வழியாக." -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "கட்டிட வழங்கல்" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -12182,7 +12230,7 @@ msgstr "" "இது உங்களை பின்தளத்தில் கட்டியெழுப்புவதைத் தூண்டும்: குறிப்பு: `அறிவிக்கப்பட்ட ` இல்: கோப்பு: `pyproject.toml`." -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " @@ -12191,7 +12239,7 @@ msgstr "" "** செய்ய வேண்டாம் ** இந்த பணிக்கு `` பைதான் அமைவு. அனைத்து நேரடி அழைப்புகளும்: கோப்பு: " "`setup.py`: ref:` நீக்கப்பட்ட `." -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " @@ -12201,11 +12249,11 @@ msgstr "" "தளங்களுக்கான சக்கரங்களை விநியோகிக்க விரும்பினால், பயன்படுத்தவும்: ref: `cibuildwheel` " "உங்கள் தொஒ அமைப்பின் ஒரு பகுதியாக விநியோகிக்கக்கூடிய சக்கரங்களை உருவாக்க." -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "PYPI இல் பதிவேற்றுகிறது" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -12217,7 +12265,7 @@ msgstr "" "வெளியீட்டு>`, இது ஒரு சிஐ/சிடி பணிப்பாய்வுகளிலிருந்து பைபிக்கு பாதுகாப்பாக பதிவேற்ற " "அனுமதிக்கிறது கைமுறையாக கட்டமைக்கப்பட்ட பநிஇ கிள்ளாக்கு." -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" @@ -12225,29 +12273,29 @@ msgstr "" "நவம்பர் 2024 நிலவரப்படி, நம்பகமான வெளியீட்டு வழங்குநர்களாக பின்வரும் தளங்களை PYPI " "ஆதரிக்கிறது:" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "Github செயல்கள் (`` https: // github.com`` இல்)" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "Gitlab ci/cd (`https: // gitlab.com` இல்)" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "செயல்பாட்டு" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "கூகிள் முகில்" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "கிடைக்கக்கூடிய மற்ற முறை, தொகுப்பை கைமுறையாகப் பயன்படுத்துவதே: ref: `கயிறு`." -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 msgid "" "**Never** use ``python setup.py upload`` for this task. In addition to " "being :ref:`deprecated `, it is insecure." @@ -12255,11 +12303,11 @@ msgstr "" "** ஒருபோதும் ** இந்த பணிக்கு `` பைதான் அமைவு. இருப்பதற்கு கூடுதலாக: ref: `நீக்கப்பட்ட " "`, இது பாதுகாப்பற்றது." -#: ../source/guides/tool-recommendations.rst:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "பணிப்பாய்வு கருவிகள்" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -12277,31 +12325,31 @@ msgstr "" "பூட்டு கோப்புகள் . அவர்கள் பெரும்பாலும் மேலே குறிப்பிட்ட கருவிகளை பேட்டை கீழ் " "அழைக்கிறார்கள். அகர வரிசைப்படி:" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr ": Ref: `Flit`," -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr ": ref: `அட்ச்`," -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr ": DOC: `Nox `," -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr ": Ref: `PDM`," -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr ": ref: `பைபென்வ்`," -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr ": ref: `கவிதை`," -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr ": டாக்: `டாக்ச் <டோக்ச்: குறியீட்டு>`." @@ -12821,7 +12869,7 @@ msgid "``license`` and ``license-files``" msgstr "`` உரிம-கோப்புகள்``" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -12960,25 +13008,32 @@ msgstr "" "மென்பொருளைத் தவிர்ப்பதால்." #: ../source/guides/writing-pyproject-toml.rst:353 -msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +#, fuzzy +#| msgid "" +#| "If your project is licensed with a license that doesn't have an existing " +#| "SPDX identifier, you can create a custom one in format ``LicenseRef-" +#| "[idstring]``. The custom identifiers must follow the SPDX specification, " +#| "`clause 10.1 `_ of the version 2.2 or any later " +#| "compatible one." +msgid "" +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" "ஏற்கனவே உள்ள SPDX அடையாளங்காட்டி இல்லாத உரிமத்துடன் உங்கள் திட்டத்திற்கு உரிமம் " "வழங்கப்பட்டால், நீங்கள் தனிப்பயன் ஒன்றை வடிவத்தில் உருவாக்கலாம் `` licenseref- [idstring] " "``. தனிப்பயன் அடையாளங்காட்டிகள் SPDX விவரக்குறிப்பைப் பின்பற்ற வேண்டும், `பிரிவு 10.1 " " _ _ _ _ _ _ அல்லது பின்னர் இணக்கமான ஏதேனும் ஒன்று." -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "`` உரிம-கோப்புகள்``" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." @@ -12986,11 +13041,11 @@ msgstr "" "இது உங்கள் தொகுப்புடன் விநியோகிக்க விரும்பும் பிற சட்டத் தகவல்களைக் கொண்ட உரிமக் கோப்புகள் " "மற்றும் கோப்புகளின் பட்டியல்." -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "குளோப் வடிவங்கள் விவரக்குறிப்பைப் பின்பற்ற வேண்டும்:" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." @@ -12998,7 +13053,7 @@ msgstr "" "எண்ணெழுத்து எழுத்துக்கள், அடிக்கோடிட்டு (`` _``), ஐபன்கள் (`` -``) மற்றும் புள்ளிகள் " "(`` .``) ஆகியவை சொற்களஞ்சியத்துடன் பொருந்தும்." -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." @@ -13006,11 +13061,11 @@ msgstr "" "சிறப்பு எழுத்துக்கள்: ``*``, ``? ``, `` ** `` மற்றும் எழுத்து வரம்புகள்: [] " "ஆதரிக்கப்படுகின்றன." -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "பாதை டிலிமிட்டர்கள் முன்னோக்கி ச்லாச் எழுத்துக்குறியாக இருக்க வேண்டும் (``/``)." -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." @@ -13018,15 +13073,15 @@ msgstr "" "வடிவங்கள் கொண்ட கோப்பகத்துடன் தொடர்புடையவை: கோப்பு: `pyproject.toml`, இதனால் ஒரு ச்லாச் " "பாத்திரத்துடன் தொடங்கக்கூடாது." -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "பெற்றோர் அடைவு குறிகாட்டிகள் (`` ..``) பயன்படுத்தப்படக்கூடாது." -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "ஒவ்வொரு குளோபும் குறைந்தது ஒரு கோப்பை பொருத்த வேண்டும்." -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." @@ -13034,13 +13089,13 @@ msgstr "" "நேரடி பாதைகள் செல்லுபடியாகும் குளோப்கள். இந்த விவரக்குறிப்பால் மூடப்படாத எந்த எழுத்துக்கள் " "அல்லது எழுத்துக்குறி காட்சிகளும் தவறானவை." -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "`` முக்கிய வார்த்தைகள்``" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." @@ -13048,13 +13103,13 @@ msgstr "" "இந்த முக்கிய வார்த்தைகளை மக்கள் தேடும்போது உங்கள் திட்டத்தை பரிந்துரைக்க இது பைபியின் தேடல் " "பெட்டியை உதவும்." -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "`` வகைப்படுத்திகள்``" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." @@ -13062,7 +13117,7 @@ msgstr "" "உங்கள் திட்டத்திற்கு பொருந்தும் PYPI வகைப்படுத்திகளின் பட்டியல். `சாத்தியக்கூறுகளின் முழு " "பட்டியலையும் சரிபார்க்கவும் <வகைப்படுத்தி-பட்டியல்_>` _." -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -13076,7 +13131,7 @@ msgstr "" "நிறுவக்கூடிய பைதான் பதிப்புகளை உண்மையில் கட்டுப்படுத்த, பயன்படுத்தவும்: ref: `-பைதான் " "தேவை." -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " @@ -13086,13 +13141,13 @@ msgstr "" "வேண்டாம்`` வகைப்படுத்தியைப் பயன்படுத்தவும். `` தனிப்பட்ட :: `` உடன் தொடங்கி " "வகைப்படுத்திகளுடன் தொகுப்புகளை PYPI எப்போதும் நிராகரிக்கும்." -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "`` urls``" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." @@ -13100,7 +13155,7 @@ msgstr "" "உங்கள் திட்டத்துடன் தொடர்புடைய முகவரி களின் பட்டியல், உங்கள் PYPI திட்ட பக்கத்தின் இடது " "பக்கப்பட்டியில் காட்டப்படும்." -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -13112,7 +13167,7 @@ msgstr "" " `_ PYPI- குறிப்பிட்ட " "முகவரி செயலாக்கத்திற்கு." -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" @@ -13121,7 +13176,7 @@ msgstr "" "லேபிளில் இடைவெளிகள் இருந்தால், அதை மேற்கோள் காட்ட வேண்டும், எ.கா., `` வலைத்தளம் = " "\"https://example.com\" ." -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " @@ -13131,7 +13186,7 @@ msgstr "" "முகவரி களுக்கு பொருத்தமான இடங்களில், மெட்டாடேட்டாவின் நுகர்வோர் (தொகுப்பு குறியீடுகள் " "போன்றவை) தங்கள் விளக்கக்காட்சியை நிபுணத்துவம் பெற முடியும்." -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " @@ -13140,7 +13195,7 @@ msgstr "" "எடுத்துக்காட்டாக, பின்வரும் மெட்டாடேட்டாவில், `` MyHomePage`` அல்லது `` \"பதிவிறக்கம் " "இணைப்பு\" `` என்பது ஒரு நன்கு அறியப்பட்ட சிட்டை, எனவே அவை சொற்களஞ்சியமாக வழங்கப்படும்:" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -13152,11 +13207,11 @@ msgstr "" "சொற்பொருளை மனதில் கொண்டு வழங்கலாம் (திட்டத்தின் முகப்புப் பக்கம் மற்றும் அதன் வெளிப்புற " "பதிவிறக்க இடம் முறையே)." -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "மேம்பட்ட செருகுநிரல்கள்" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " @@ -13166,15 +13221,15 @@ msgstr "" "மற்றும் பைக்மென்ட்ச்_ ஆகியவை அடங்கும். அத்தகைய சொருகி உருவாக்க, நீங்கள் அதை `` " "[Project.entry- புள்ளிகள்] `` இதைப் போன்ற ஒரு துணைப்பிரிவில் அறிவிக்க வேண்டும்:" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "பார்க்க: ref: `சொருகி வழிகாட்டி <சொருகி-நுழைவு புள்ளிகள்>` மேலும் தகவலுக்கு." -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "ஒரு முழு சான்று" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " @@ -13183,7 +13238,7 @@ msgstr "" "``-பைதான் = \"<= 3.10\" `` இங்கே. `இந்த வலைப்பதிவு இடுகையில் <-பைதான்-பிளாக்-" "போச்ட்_>` _ சாத்தியமான சிக்கல்கள் தொடர்பான சில தகவல்களைக் கொண்டுள்ளது." -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -17608,7 +17663,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "வரலாறு" @@ -18489,12 +18544,20 @@ msgstr "" "\"2.2\", \"2.3\" மற்றும் \"2.4\"." #: ../source/specifications/core-metadata.rst:55 -msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +#, fuzzy +#| msgid "" +#| "Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " +#| "greater than the highest version they support, and MUST fail if " +#| "``metadata_version`` has a greater major version than the highest version " +#| "they support (as described in the :ref:`Version specifier specification " +#| "`, the major version is the value before the first " +#| "dot)." +msgid "" +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" "மெட்டாடேட்டாவை உட்கொள்ளும் தானியங்கி கருவிகள் `` மெட்டாடேட்டா_்வெர்சன்`` அவர்கள் ஆதரிக்கும் " "மிக உயர்ந்த பதிப்பை விட அதிகமாக இருந்தால் எச்சரிக்க வேண்டும், மேலும் அவர்கள் ஆதரிக்கும் " @@ -20874,7 +20937,13 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" @@ -20882,11 +20951,11 @@ msgstr "" "PIP, பைதான் தொகுப்புகளுக்கான பரிந்துரைக்கப்பட்ட நிறுவி (http://pip.readthedocs.org/" "en/stable/)" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "வோக்கோசு பெக் நூலகம். (https://pypi.python.org/pypi/parsly/)" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -32049,17 +32118,25 @@ msgid "Arbitrary equality" msgstr "தன்னிச்சையான ஒரு நிகர்" #: ../source/specifications/version-specifiers.rst:1017 +#, fuzzy +#| 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." 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." +"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." msgstr "" "தன்னிச்சையான சமத்துவ ஒப்பீடுகள் எளிய சரம் சமத்துவ செயல்பாடுகள் ஆகும், அவை சுழிய திணிப்பு " "அல்லது உள்ளக பதிப்புகள் போன்ற சொற்பொருள் தகவல்களை கணக்கில் எடுத்துக்கொள்ளாது. `` == `` " "ஆபரேட்டர் செய்வதால் இந்த ஆபரேட்டர் முன்னொட்டு பொருத்தத்தை ஆதரிக்காது." -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -32073,12 +32150,12 @@ msgstr "" "அட்ச் ஆக செயல்படுகிறது, இது ஒரு மரபு பதிப்பை நிறுவுவதற்கு இன்னும் இந்த " "விவரக்குறிப்புடன் பொருந்தாது." -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "ஒரு எடுத்துக்காட்டு `` === FOOBAR`` இது `` Foobar`` இன் பதிப்போடு பொருந்தும்." -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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 " @@ -32087,7 +32164,7 @@ msgstr "" "`` === 1.0`` போன்ற திட்டத்தின் இணைக்கப்படாத பதிப்பு வெளிப்படையாக தேவைப்படலாம், இது ஒரு " "பதிப்பு `` 1.0+கீழ்நிலை 1`` உடன் பொருந்தாது." -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." @@ -32095,11 +32172,11 @@ msgstr "" "இந்த ஆபரேட்டரின் பயன்பாடு பெரிதும் ஊக்கமளிக்கிறது மற்றும் கருவி பயன்படுத்தப்படும்போது ஒரு " "எச்சரிக்கையைக் காட்டக்கூடும்." -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "முன் வெளியீடுகளைக் கையாளுதல்" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -32111,15 +32188,15 @@ msgstr "" "இருக்காவிட்டால், பயனரால் வெளிப்படையாகக் கோரப்பட்டவை, அல்லது பதிப்பு விவரக்குறிப்பை " "நிறைவு செய்யும் ஒரே பதிப்பு முன் வெளியீட்டிற்கு முன்பே." -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "இயல்பாக, சார்பு தீர்மானக் கருவிகள் வேண்டும்:" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "அனைத்து பதிப்பு குறிப்பான்களுக்கும் ஏற்கனவே நிறுவப்பட்ட முன் வெளியீடுகளை ஏற்றுக்கொள்" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 msgid "" "accept remotely available pre-releases for version specifiers where there is " "no final or post release that satisfies the version specifier" @@ -32127,11 +32204,11 @@ msgstr "" "பதிப்பு விவரக்குறிப்புகளை நிறைவு செய்யும் இறுதி அல்லது இடுகை வெளியீடு இல்லாத பதிப்பு " "குறிப்பான்களுக்கான தொலைதூரத்தில் கிடைக்கக்கூடிய முன் வெளியீடுகளை ஏற்றுக்கொள்ளுங்கள்" -#: ../source/specifications/version-specifiers.rst:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "மற்ற எல்லா முன் வெளியீடுகளையும் பரிசீலிப்பதில் இருந்து விலக்குங்கள்" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." @@ -32139,18 +32216,18 @@ msgstr "" "பதிப்பு விவரக்குறிப்பை நிறைவு செய்ய முன் வெளியீடு தேவைப்பட்டால் சார்பு தீர்க்கும் கருவிகள் " "எச்சரிக்கையை வெளியிடக்கூடும்." -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" "சார்பு தீர்க்கும் கருவிகள் பயனர்களை பின்வரும் மாற்று நடத்தைகளைக் கோர அனுமதிக்க வேண்டும்:" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "அனைத்து பதிப்பு குறிப்பான்களுக்கும் முன் வெளியீடுகளை ஏற்றுக்கொள்வது" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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 " @@ -32160,7 +32237,7 @@ msgstr "" "ஏற்கனவே உள்நாட்டில் நிறுவப்பட்டிருந்தால், அல்லது ஒரு குறிப்பிட்ட விவரக்குறிப்பை நிறைவு " "செய்வதற்கான ஒரே வழி ஒரு முன் வெளியீடு என்றால் பிழை அல்லது எச்சரிக்கையைப் புகாரளித்தல்)" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." @@ -32168,7 +32245,7 @@ msgstr "" "சார்பு தீர்க்கும் கருவிகள் மேற்கண்ட நடத்தை ஒரு விநியோக அடிப்படையில் கட்டுப்படுத்த " "அனுமதிக்கலாம்." -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 msgid "" "Post-releases and final releases receive no special treatment in version " "specifiers - they are always included unless explicitly excluded." @@ -32176,25 +32253,25 @@ msgstr "" "பிந்தைய உறவுகள் மற்றும் இறுதி வெளியீடுகள் பதிப்பு விவரக்குறிப்பாளர்களில் சிறப்பு " "சிகிச்சையைப் பெறவில்லை - வெளிப்படையாக விலக்கப்படாவிட்டால் அவை எப்போதும் சேர்க்கப்படும்." -#: ../source/specifications/version-specifiers.rst:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" "`` ~ = 3.1``: பதிப்பு 3.1 அல்லது அதற்குப் பிறகு, ஆனால் பதிப்பு 4.0 அல்லது அதற்குப் " "பிறகு அல்ல." -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" "`` ~ = 3.1.2``: பதிப்பு 3.1.2 அல்லது அதற்குப் பிறகு, ஆனால் பதிப்பு 3.2.0 அல்லது " "அதற்குப் பிறகு அல்ல." -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" "`` ~ = 3.1a1``: பதிப்பு 3.1a1 அல்லது அதற்குப் பிறகு, ஆனால் பதிப்பு 4.0 அல்லது " "அதற்குப் பிறகு அல்ல." -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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." @@ -32203,7 +32280,7 @@ msgstr "" "வெளியீடுகள், மேம்பாட்டு வெளியீடுகள் மற்றும் எந்த 3.1.x பராமரிப்பு வெளியீடுகளையும் " "விலக்குகிறது." -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." @@ -32211,7 +32288,7 @@ msgstr "" "`` == 3.1.*``: 3.1 உடன் தொடங்கும் எந்த பதிப்பும். `` ~ = 3.1.0`` இணக்கமான வெளியீட்டு " "விதிமுறைக்கு சமம்." -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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." @@ -32219,11 +32296,11 @@ msgstr "" "`` ~ = 3.1.0,! = 3.1.3``: பதிப்பு 3.1.0 அல்லது அதற்குப் பிறகு, ஆனால் பதிப்பு 3.1.3 " "அல்ல, பதிப்பு 3.2.0 அல்லது அதற்குப் பிறகு அல்ல." -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "நேரடி குறிப்புகள்" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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 " @@ -32233,7 +32310,7 @@ msgstr "" "பயன்படுத்த அனுமதிக்கலாம். ஒரு நேரடி குறிப்பு ``@`` மற்றும் வெளிப்படையான முகவரி " "ஆகியவற்றைக் கொண்டுள்ளது." -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -32245,7 +32322,7 @@ msgstr "" "வேண்டும், மேலும் நேரடி குறிப்புகள் தகாத முறையில் பயன்படுத்தப்படும்போது அவற்றை முழுமையாக " "நிராகரிக்கலாம்." -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 msgid "" "Public index servers SHOULD NOT allow the use of direct references in " "uploaded distributions. Direct references are intended as a tool for " @@ -32255,7 +32332,7 @@ msgstr "" "அனுமதிக்கக்கூடாது. நேரடி குறிப்புகள் வெளியீட்டாளர்களைக் காட்டிலும் மென்பொருள் " "ஒருங்கிணைப்பாளர்களுக்கான கருவியாக கருதப்படுகின்றன." -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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 " @@ -32265,15 +32342,15 @@ msgstr "" "SDIST அல்லது சக்கர பைனரி காப்பகமாக இருக்கலாம். ஆதரிக்கப்படும் சரியான முகவரி கள் மற்றும் " "இலக்குகள் கருவி சார்ந்ததாக இருக்கும்." -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "எடுத்துக்காட்டாக, ஒரு உள்ளக மூல காப்பகம் நேரடியாக குறிப்பிடப்படலாம் ::" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "மாற்றாக, முன்பே கட்டப்பட்ட காப்பகமும் குறிப்பிடப்படலாம் ::" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -32293,7 +32370,7 @@ msgstr "" "முகவரி ஐ நம்ப மறுக்கக்கூடும். அத்தகைய நேரடி குறிப்பு பாதுகாப்பற்ற போக்குவரத்தையும் " "பயன்படுத்தினால், தானியங்கி கருவிகள் முகவரி ஐ நம்பக்கூடாது." -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -32307,7 +32384,7 @@ msgstr "" "224'```, `'' சா 256'```,` '' சா 384'``, மற்றும் `'' சா 512'`` ஆகியவற்றைக் " "கொண்டுள்ளது." -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " @@ -32317,7 +32394,7 @@ msgstr "" "`` முகவரி துண்டின் ஒரு பகுதியாக நுழைவு ஆகியவற்றைச் சேர்ப்பதன் மூலம் எதிர்பார்க்கப்படும் " "ஆச் மதிப்பு குறிப்பிடப்படலாம்." -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -32332,7 +32409,7 @@ msgstr "" "பதிப்பு கட்டுப்பாட்டு அமைப்புகளுக்கான ஆச்களைக் காணவில்லை என்ற எச்சரிக்கைகளை தானியங்கு " "கருவிகள் தவிர்க்கலாம்." -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -32343,7 +32420,7 @@ msgstr "" "அமைப்புகளைக் கையாள, அந்த செய்தி `` `<கமிட்-ஆச்>` அல்லது ``@<குறிச்சொல்>#<கமிட்-ஆச்> `` " "குறியீட்டைப் பயன்படுத்தி முகவரி இன் முடிவில் சேர்க்கப்படலாம்." -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -32361,15 +32438,15 @@ msgstr "" "குறிச்சொல்லுடன் தீங்கிழைக்கும் ரெப்போவை உருவாக்குவது எளிதானது, ஒரு குறிப்பிட்ட *ஆச் *உடன் " "ஒன்றை உருவாக்குகிறது, குறைவாக)." -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "தொலைநிலை முகவரி எடுத்துக்காட்டுகள் ::" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "கோப்பு முகவரி கள்" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -32381,7 +32458,7 @@ msgstr "" "தவிர்க்கப்பட்டாலும் கூட மூன்றாவது சாய்வு இன்னும் இருக்க வேண்டும். `` `` `அணுக " "வேண்டிய கோப்பு முறைமையின் கோப்பு பாதை என்ன என்பதை வரையறுக்கிறது." -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -32393,7 +32470,7 @@ msgstr "" "அதன் சொந்த ஓச்டுடன் பொருந்துகிறது. வேறு வார்த்தைகளில் கூறுவதானால், `` கோப்பு: // `` " "திட்டத்தை உள்ளக கணினியில் பாதைகளை அணுக மட்டுமே பயன்படுத்த முடியும்." -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -32412,11 +32489,11 @@ msgstr "" "தொகுதி/கோப்பு`` என முடிவடையும். சாளரங்களில் `` கோப்பு: // `` urls பற்றிய கூடுதல் " "தகவலுக்கு `msdtn _ _ திட்டம்):" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "ஆகச்ட் 2014: இந்த விவரக்குறிப்பு அங்கீகரிக்கப்பட்டது: PEP: `440`." -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "பைதான் மெய்நிகர் சூழல்கள்" @@ -34296,10 +34377,21 @@ msgstr "" "பார்க்கவும்." #: ../source/tutorials/packaging-projects.rst:222 +#, fuzzy +#| msgid "" +#| "This is a valid :term:`SPDX license expression ` " +#| "consisting of one or more :term:`license identifiers `. The full license list is available at the `SPDX license " +#| "list page `_. The supported list version is 3.17 or any " +#| "later compatible one." msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" +"இது செல்லுபடியாகும்: சொல்: `SPDX உரிம வெளிப்பாடு <உரிம வெளிப்பாடு>` ஒன்று அல்லது " +"அதற்கு மேற்பட்டவற்றைக் கொண்டது: கால: `உரிம அடையாளங்காட்டிகள் <உரிம அடையாளங்காட்டி>`. " +"முழு உரிம பட்டியல் `SPDX உரிம பட்டியல் பக்கத்தில் ` _ இல் " +"கிடைக்கிறது. ஆதரிக்கப்பட்ட பட்டியல் பதிப்பு 3.17 அல்லது பின்னர் இணக்கமான ஒன்றாகும்." #: ../source/tutorials/packaging-projects.rst:224 #, fuzzy @@ -34350,12 +34442,21 @@ msgid "Creating a LICENSE" msgstr "உரிமத்தை உருவாக்குதல்" #: ../source/tutorials/packaging-projects.rst:253 -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:" +#, fuzzy +#| 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:" +msgid "" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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 "" "பைதான் தொகுப்பு குறியீட்டில் பதிவேற்றப்பட்ட ஒவ்வொரு தொகுப்புக்கும் உரிமம் சேர்க்க வேண்டியது " "தேவை. உங்கள் தொகுப்பைப் பயன்படுத்தக்கூடிய விதிமுறைகளை உங்கள் தொகுப்பை நிறுவும் " @@ -34707,6 +34808,9 @@ msgstr "" "மட்டுமே தொடங்கினால், * வழக்கமான தொகுப்புகள் * மற்றும் `__init __. பை`` (கோப்பு " "காலியாக இருந்தாலும் கூட) ஒட்டிக்கொள்ள பரிந்துரைக்கப்படுகிறது." +#~ msgid "The license expressions for these projects are:" +#~ msgstr "இந்த திட்டங்களுக்கான உரிம வெளிப்பாடுகள்:" + #~ msgid "TUF Support - PEP 458" #~ msgstr "TUF உதவி - PEP 458" diff --git a/locales/th/LC_MESSAGES/messages.po b/locales/th/LC_MESSAGES/messages.po index a68725bda..d9594f838 100644 --- a/locales/th/LC_MESSAGES/messages.po +++ b/locales/th/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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -3405,9 +3405,9 @@ msgstr "" #: ../source/glossary.rst:161 msgid "" "A string with valid SPDX license expression syntax, including one or more " -"SPDX :term:`License Identifier`\\(s), which describes a :term:`Project`'s " -"license(s) and how they inter-relate. Examples: ``GPL-3.0-or-later``, ``MIT " -"AND (Apache-2.0 OR BSD-2-Clause)``" +"SPDX :term:`License Identifier`\\(s), which describes a :term:`Distribution " +"Archive`'s license(s) and how they inter-relate. Examples: ``GPL-3.0-or-" +"later``, ``MIT AND (Apache-2.0 OR BSD-2-Clause)``" msgstr "" #: ../source/glossary.rst:169 @@ -3580,54 +3580,54 @@ msgstr "" msgid "" "PyPA is a working group that maintains many of the relevant projects in " "Python packaging. They maintain a site at :doc:`pypa.io `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3635,11 +3635,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3648,11 +3648,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3660,26 +3660,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3691,38 +3691,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3731,21 +3731,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3754,11 +3754,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3766,15 +3766,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3782,21 +3782,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3949,7 +3949,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4305,7 +4305,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4627,7 +4627,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6686,11 +6686,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6726,7 +6727,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6739,29 +6741,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6773,65 +6775,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6840,18 +6842,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6860,11 +6862,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6874,7 +6876,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6883,11 +6885,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6899,24 +6901,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6924,17 +6926,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6945,11 +6947,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6957,14 +6959,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9356,40 +9358,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9397,25 +9403,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9423,45 +9429,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9472,31 +9478,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9900,7 +9906,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10005,90 +10011,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10097,26 +10103,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10124,28 +10130,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10153,33 +10159,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13571,7 +13577,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14365,11 +14371,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16201,17 +16207,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24846,11 +24858,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24859,29 +24873,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24889,101 +24903,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -24991,29 +25005,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25025,7 +25039,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25034,14 +25048,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25050,7 +25064,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25058,7 +25072,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25069,15 +25083,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25085,7 +25099,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25093,7 +25107,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25105,43 +25119,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25150,29 +25164,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26538,7 +26556,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26577,11 +26595,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/tr/LC_MESSAGES/messages.po b/locales/tr/LC_MESSAGES/messages.po index 4c5ea9bb4..42d97c49e 100644 --- a/locales/tr/LC_MESSAGES/messages.po +++ b/locales/tr/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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-09-29 04:02+0000\n" "Last-Translator: Rüzgar Hünerel \n" "Language-Team: Turkish `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3662,11 +3662,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3675,11 +3675,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3687,26 +3687,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3718,38 +3718,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3758,21 +3758,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3781,11 +3781,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3793,15 +3793,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3809,21 +3809,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -3976,7 +3976,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4332,7 +4332,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4654,7 +4654,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6713,11 +6713,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6753,7 +6754,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6766,29 +6768,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6800,65 +6802,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6867,18 +6869,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6887,11 +6889,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6901,7 +6903,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6910,11 +6912,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6926,24 +6928,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -6951,17 +6953,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -6972,11 +6974,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -6984,14 +6986,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9383,40 +9385,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9424,25 +9430,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9450,45 +9456,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9499,31 +9505,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -9927,7 +9933,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10032,90 +10038,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10124,26 +10130,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10151,28 +10157,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10180,33 +10186,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13598,7 +13604,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14392,11 +14398,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16228,17 +16234,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -24873,11 +24885,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -24886,29 +24900,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -24916,101 +24930,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25018,29 +25032,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25052,7 +25066,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25061,14 +25075,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25077,7 +25091,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25085,7 +25099,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25096,15 +25110,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25112,7 +25126,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25120,7 +25134,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25132,43 +25146,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25177,29 +25191,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26565,7 +26583,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26604,11 +26622,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/uk/LC_MESSAGES/messages.po b/locales/uk/LC_MESSAGES/messages.po index 2dd92aaf9..3312c3f26 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2024-03-01 20:00+0000\n" "Last-Translator: Sviatoslav Sydorenko \n" "Language-Team: Ukrainian `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "Реєстр Python-пакунків (PyPI)" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "pypi.org" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "pyproject.toml" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "Випуск" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -4035,11 +4035,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -4048,11 +4048,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "Специфікатор вимоги" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -4060,28 +4060,28 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 #, fuzzy #| msgid "Project name" msgid "Root License Directory" msgstr "Назва проєкту" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -4093,38 +4093,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "setup.py" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "setup.cfg" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "Вихідний архів" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -4133,21 +4133,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "Специфікатор версії" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -4156,11 +4156,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -4168,17 +4168,17 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 #, fuzzy #| msgid "Format::" msgid "Wheel Format" msgstr "Формат::" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "Колесо" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -4186,23 +4186,23 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 #, fuzzy #| msgid "Project" msgid "Wheel Project" msgstr "Проєкт" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -4357,7 +4357,7 @@ msgstr "Опис" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "Приклади" @@ -4719,7 +4719,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -5047,7 +5047,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -7170,11 +7170,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -7214,7 +7215,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -7227,31 +7229,33 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 #, fuzzy #| msgid "For example:" msgid "Advanced example" msgstr "Наприклад:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" -msgstr "" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +#, fuzzy +#| msgid "Here are some examples of compliant version numbers::" +msgid "The appropriate license expressions are:" +msgstr "Ось кілька прикладів сумісних номерів версій::" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -7263,67 +7267,67 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 #, fuzzy #| msgid "For example:" msgid "Expression examples" msgstr "Наприклад:" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -7332,18 +7336,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -7352,11 +7356,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -7366,7 +7370,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -7375,11 +7379,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -7391,24 +7395,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -7416,17 +7420,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -7437,11 +7441,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -7449,14 +7453,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9868,42 +9872,46 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 #, fuzzy #| msgid "Built Distribution" msgid "Building distributions" msgstr "Вбудований дистрибутив" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9911,27 +9919,27 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 #, fuzzy #| msgid "Using TestPyPI" msgid "Uploading to PyPI" msgstr "Використання TestPyPI" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9939,45 +9947,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9988,41 +9996,41 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 #, fuzzy #| msgid ":ref:`pip`" msgid ":ref:`Flit`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 #, fuzzy #| msgid "pip, :ref:`bandersnatch`" msgid ":ref:`Hatch`," msgstr "pip, :ref:`bandersnatch`" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 #, fuzzy #| msgid ":ref:`pip`" msgid ":ref:`PDM`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 #, fuzzy #| msgid ":ref:`pip`" msgid ":ref:`Pipenv`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 #, fuzzy #| msgid ":ref:`pip`" msgid ":ref:`Poetry`," msgstr ":ref:`pip`" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -10432,7 +10440,7 @@ msgid "``license`` and ``license-files``" msgstr "``license``" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10545,14 +10553,14 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 #, fuzzy @@ -10560,77 +10568,77 @@ msgstr "" msgid "``license-files``" msgstr "``license``" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "``keywords``" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "``classifiers``" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10639,26 +10647,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "``urls``" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10666,28 +10674,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10695,35 +10703,35 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 #, fuzzy #| msgid "For example:" msgid "A full example" msgstr "Наприклад:" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -14143,7 +14151,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14972,11 +14980,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16837,17 +16845,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -25632,11 +25646,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -25645,29 +25661,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -25675,101 +25691,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25777,29 +25793,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25811,7 +25827,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25820,14 +25836,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25836,7 +25852,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25844,7 +25860,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25855,17 +25871,17 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 #, fuzzy #| msgid "For example::" msgid "Remote URL examples::" msgstr "Наприклад::" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25873,7 +25889,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25881,7 +25897,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25893,43 +25909,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25938,29 +25954,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -27342,7 +27362,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -27381,11 +27401,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/vi/LC_MESSAGES/messages.po b/locales/vi/LC_MESSAGES/messages.po index 6c5c000a4..f2e93f21c 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: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-09-23 05:02+0000\n" "Last-Translator: Lenny Tran \n" "Language-Team: Vietnamese `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3782,11 +3782,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3795,11 +3795,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3807,26 +3807,26 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3838,38 +3838,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3878,21 +3878,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3901,11 +3901,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3913,15 +3913,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3929,21 +3929,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -4096,7 +4096,7 @@ msgstr "" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "" @@ -4452,7 +4452,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "" @@ -4774,7 +4774,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6833,11 +6833,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6873,7 +6874,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6886,29 +6888,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6920,65 +6922,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6987,18 +6989,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -7007,11 +7009,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -7021,7 +7023,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -7030,11 +7032,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -7046,24 +7048,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -7071,17 +7073,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -7092,11 +7094,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -7104,14 +7106,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9503,40 +9505,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9544,25 +9550,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9570,45 +9576,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9619,31 +9625,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr "" -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr "" -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr "" -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr "" -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr "" -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -10047,7 +10053,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10164,12 +10170,19 @@ msgstr "" "phần mềm có giấy phép không được chấp thuận." #: ../source/guides/writing-pyproject-toml.rst:353 -msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +#, fuzzy +#| msgid "" +#| "If your project is licensed with a license that doesn't have an existing " +#| "SPDX identifier, you can create a custom one in format ``LicenseRef-" +#| "[idstring]``. The custom identifiers must follow the SPDX specification, " +#| "`clause 10.1 `_ of the version 2.2 or any later " +#| "compatible one." +msgid "" +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" "Nếu dự án của bạn được cấp phép theo giấy phép chưa có mã định danh SPDX, " "bạn có thể tạo mã định danh tùy chỉnh theo định dạng ``LicenseRef-" @@ -10177,13 +10190,13 @@ msgstr "" "10.1 ``_ của phiên bản 2.2 hoặc bất kỳ phiên bản tương thích " "nào mới hơn." -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "``license-files`` (các tệp giấy phép)" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." @@ -10191,11 +10204,11 @@ msgstr "" "Đây là danh sách các tệp giấy phép và tệp chứa thông tin pháp lý khác mà bạn " "muốn phân phối cùng với gói của bạn." -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "Các mẫu glob phải tuân theo đặc tả sau:" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." @@ -10203,18 +10216,18 @@ msgstr "" "Các ký tự chữ và số, dấu gạch dưới (``_``), dấu gạch nối (``-``) và dấu chấm " "(``.``) sẽ được khớp nguyên văn." -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" "Các ký tự đặc biệt: ``*``, ``?``, ``**`` và phạm vi ký tự: [] được hỗ trợ." -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "Dấu phân cách đường dẫn phải là ký tự gạch chéo (``/``)." -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." @@ -10222,15 +10235,15 @@ msgstr "" "Các mẫu liên quan đến thư mục chứa :file:`pyproject.toml` và do đó không " "được bắt đầu bằng ký tự gạch chéo." -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "Không được sử dụng chỉ báo thư mục cha (``..``)." -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "Mỗi glob phải khớp với ít nhất một tệp." -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." @@ -10238,13 +10251,13 @@ msgstr "" "Đường dẫn theo nghĩa đen là các glob hợp lệ. Bất kỳ ký tự hoặc chuỗi ký tự " "nào không được đề cập trong đặc tả này đều không hợp lệ." -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "``keywords`` (các từ khóa)" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." @@ -10252,13 +10265,13 @@ msgstr "" "Điều này sẽ giúp hộp tìm kiếm của PyPI gợi ý dự án của bạn khi mọi người tìm " "kiếm các từ khóa này." -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "``classifiers`` (bộ phân loại)" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." @@ -10266,7 +10279,7 @@ msgstr "" "Danh sách các bộ phân loại PyPI áp dụng cho dự án của bạn. Kiểm tra trong " "`full list of possibilities `_." -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10280,7 +10293,7 @@ msgstr "" "chế các phiên bản Python mà một dự án có thể được cài đặt, hãy sử dụng đối " "số :ref:`requires-python`." -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " @@ -10290,13 +10303,13 @@ msgstr "" "``Private :: Do Not Upload``. PyPI sẽ luôn từ chối các gói có trình phân " "loại bắt đầu bằng ``Private ::``." -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "``urls`` (các đường dẫn)" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." @@ -10304,7 +10317,7 @@ msgstr "" "Danh sách các URL liên quan đến dự án của bạn, được hiển thị ở thanh bên " "trái của trang dự án PyPI." -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10316,7 +10329,7 @@ msgstr "" "`_ để biết cách xử lý " "URL cụ thể của PyPI." -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" @@ -10326,7 +10339,7 @@ msgstr "" "``Website = \"https://example.com\"`` nhưng ``\"Trang web chính thức\" = " "\"https://example.com\"``." -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " @@ -10336,7 +10349,7 @@ msgstr "" "của họ khi thích hợp, vì siêu dữ liệu người dùng (như chỉ mục gói) có thể " "chuyên biệt hóa cách trình bày của họ." -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " @@ -10345,7 +10358,7 @@ msgstr "" "Ví dụ, trong siêu dữ liệu sau, ``MyHomepage`` và ``\"Download Link\"`` không " "phải là nhãn được biết đến rộng rãi, do đó chúng sẽ được hiển thị nguyên văn:" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10357,11 +10370,11 @@ msgstr "" "trình bày theo ngữ nghĩa đó (lần lượt là trang chủ của dự án và vị trí tải " "xuống bên ngoài)." -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "Các plugin nâng cao" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " @@ -10371,15 +10384,15 @@ msgstr "" "Pygments_. Để tạo một plugin như vậy, bạn cần khai báo nó trong một bảng con " "của ``[project.entry-points]`` như sau:" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "Xem :ref:`Plugin guide ` để biết thêm thông tin" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "Một ví dụ đầy đủ" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " @@ -10389,7 +10402,7 @@ msgstr "" "= \"<= 3.10\"`` ở đây. `This blog post `_ chứa " "một số thông tin liên quan đến các vấn đề có thể xảy ra." -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13783,7 +13796,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -14577,11 +14590,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16413,17 +16426,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -25062,11 +25081,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -25075,29 +25096,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -25105,101 +25126,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25207,29 +25228,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25241,7 +25262,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25250,14 +25271,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25266,7 +25287,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25274,7 +25295,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25285,15 +25306,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25301,7 +25322,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25309,7 +25330,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25321,43 +25342,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25366,29 +25387,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26754,7 +26779,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26793,11 +26818,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/zh_Hans/LC_MESSAGES/messages.po b/locales/zh_Hans/LC_MESSAGES/messages.po index e48e3277d..9b78775ad 100644 --- a/locales/zh_Hans/LC_MESSAGES/messages.po +++ b/locales/zh_Hans/LC_MESSAGES/messages.po @@ -41,8 +41,8 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-24 00:10+0000\n" -"PO-Revision-Date: 2025-11-22 12:58+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" +"PO-Revision-Date: 2025-12-24 01:00+0000\n" "Last-Translator: 大王叫我来巡山 " "\n" "Language-Team: Chinese (Simplified Han script) `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" "PyPA 是一个工作组,维护 Python 打包的许多重要项目。他们维护 :doc:`pypa.io " -"` 站点,在`GitHub `_ 和`Bitbucket " -"`_ 上托管项目,并在 `distutils-sig 邮件列表 " -"`_ 和 " -"`Python Discourse 论坛 `__ 上讨论问" -"题。" +"` 站点,在`GitHub `_ 上托管项目,并在 " +"`distutils-sig 邮件列表 `_ 和 `Python Discourse 论坛 `__ 上讨论问题。" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "Python 包索引 (PyPI)" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " @@ -4266,11 +4265,11 @@ msgstr "" "`PyPI `_ 是 Python 社区的默认 :term:`Package Index` 。所有 " "Python 开发人员都可以使用和分发他们的发行版。" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "pypi.org" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " @@ -4280,26 +4279,26 @@ msgstr "" "名。它在2017年取代了旧的索引域名, ``pypi.python.org`` ,并" "由 :ref:`warehouse` 提供支持。" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "pyproject.toml" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "发行版 (Release)" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -4307,11 +4306,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "要求 (Requirement)" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -4320,11 +4319,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "需求说明符" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -4332,11 +4331,11 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "需求文件" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " @@ -4346,15 +4345,15 @@ msgstr "" "使用 :ref:`pip` 来安装。更多信息,请参阅 :ref:`pip` 文档" "的 :ref:`pip:Requirements Files` 。" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 msgid "Root License Directory" msgstr "根许可证目录" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -4366,17 +4365,17 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "setup.py" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "setup.cfg" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." @@ -4384,22 +4383,22 @@ msgstr "" ":ref:`distutils` 和 :ref:`setuptools` 的项目规范文件。另" "见 :term:`pyproject.toml`。" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "源代码归档" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "源代码分发(或“sdist”)" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -4408,21 +4407,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "系统包 (System Package)" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "以操作系统本地格式提供的软件包,例如 rpm 或 dpkg 文件。" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "版本说明符 (Version Specifier)" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -4431,11 +4430,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "虚拟环境 (Virtual Environment)" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -4445,15 +4444,15 @@ msgstr "" "一个隔离的 Python 环境,允许安装软件包以供特定的应用程序使用,而不是在系统中" "安装。更多信息,请参见章节 :ref:`Creating and using Virtual Environments`." -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "Wheel" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -4461,21 +4460,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "Wheel 项目" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "工作集 (Working Set)" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -4648,7 +4647,7 @@ msgstr "描述" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "例子" @@ -5016,7 +5015,7 @@ msgid "" msgstr "`pandas-gbq`_ 项目允许通过 `Pandas`_ 来访问查询结果。" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "参考" @@ -5361,7 +5360,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -7539,11 +7538,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -7579,7 +7579,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -7592,29 +7593,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "高级示例" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -7626,65 +7627,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "表达式示例" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -7693,18 +7694,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -7713,11 +7714,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -7727,7 +7728,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -7736,11 +7737,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -7752,24 +7753,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -7777,17 +7778,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -7798,11 +7799,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -7810,14 +7811,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9407,10 +9408,8 @@ msgstr "" "workflows/`` 目录下。" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:90 -#, fuzzy -#| msgid "Let's create a ``.github/workflows/publish-to-test-pypi.yml`` file." msgid "Let's create a ``.github/workflows/publish-to-pypi.yml`` file." -msgstr "让我们创建一个 ``.github/workflows/publish-to-test-pypi.yml`` 文件。" +msgstr "让我们创建一个 ``.github/workflows/publish-to-pypi.yml`` 文件。" #: ../source/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows.rst:93 msgid "" @@ -10248,40 +10247,44 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 msgid "Building distributions" msgstr "构建发行版" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -10289,25 +10292,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "上传到 PyPI" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -10315,45 +10318,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -10364,31 +10367,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr ":ref:`Flit`," -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr ":ref:`Hatch`," -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr ":ref:`PDM`," -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr ":ref:`Pipenv`," -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr ":ref:`Poetry`," -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -10800,7 +10803,7 @@ msgid "``license`` and ``license-files``" msgstr "``许可证`` 和 ``许可证文件``" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10905,84 +10908,84 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "``license-files``" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "``keywords``" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "``classifiers``" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." @@ -10990,7 +10993,7 @@ msgstr "" "应用到你的项目的 PyPI 分类器列表。查看 `full list of possibilities " "`_ 。" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10999,26 +11002,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -11026,28 +11029,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -11055,33 +11058,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "完整示例" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -14608,7 +14611,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "" @@ -15402,11 +15405,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -17241,17 +17244,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -25889,11 +25898,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -25902,29 +25913,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -25932,84 +25943,84 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "``~=3.1.2``: 3.1.2 或更高版本,但不包括 3.2.0 或更高版本。" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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." @@ -26017,18 +26028,18 @@ msgstr "" "``~=3.1.0, != 3.1.3``:3.1.0 或更高版本,但不是 3.1.3 版,也不是 3.2.0 或更高" "版本。" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "直接引用" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -26036,29 +26047,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -26070,7 +26081,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -26079,14 +26090,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -26095,7 +26106,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -26103,7 +26114,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -26114,15 +26125,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "远程 URL 示例::" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -26130,7 +26141,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -26138,7 +26149,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -26150,43 +26161,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -26195,29 +26206,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "Python 虚拟环境" @@ -27587,7 +27602,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -27626,11 +27641,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282 diff --git a/locales/zh_Hant/LC_MESSAGES/messages.po b/locales/zh_Hant/LC_MESSAGES/messages.po index 82bbf0bc7..b628b1c3a 100644 --- a/locales/zh_Hant/LC_MESSAGES/messages.po +++ b/locales/zh_Hant/LC_MESSAGES/messages.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-11-24 00:10+0000\n" +"POT-Creation-Date: 2025-12-22 18:44+0000\n" "PO-Revision-Date: 2025-02-24 15:37+0000\n" "Last-Translator: toto6038 \n" "Language-Team: Chinese (Traditional Han script) `, host " -"projects on `GitHub `_ and `Bitbucket `_, and discuss issues on the `distutils-sig mailing list " -"`_ and " -"`the Python Discourse forum `__." +"projects on `GitHub `_, and discuss issues on the " +"`distutils-sig mailing list `_ and `the Python Discourse forum `__." msgstr "" -#: ../source/glossary.rst:296 +#: ../source/glossary.rst:295 msgid "Python Package Index (PyPI)" msgstr "" -#: ../source/glossary.rst:299 +#: ../source/glossary.rst:298 msgid "" "`PyPI `_ is the default :term:`Package Index` for the " "Python community. It is open to all Python developers to consume and " "distribute their distributions." msgstr "" -#: ../source/glossary.rst:302 +#: ../source/glossary.rst:301 msgid "pypi.org" msgstr "pypi.org" -#: ../source/glossary.rst:305 +#: ../source/glossary.rst:304 msgid "" "`pypi.org `_ is the domain name for the :term:`Python " "Package Index (PyPI)`. It replaced the legacy index domain name, " "``pypi.python.org``, in 2017. It is powered by :ref:`warehouse`." msgstr "" -#: ../source/glossary.rst:309 +#: ../source/glossary.rst:308 msgid "pyproject.toml" msgstr "pyproject.toml" -#: ../source/glossary.rst:312 +#: ../source/glossary.rst:311 msgid "" "The tool-agnostic :term:`Project` specification file. Defined in :pep:`518`." msgstr "" -#: ../source/glossary.rst:314 +#: ../source/glossary.rst:313 msgid "Release" msgstr "發行版本" -#: ../source/glossary.rst:317 +#: ../source/glossary.rst:316 msgid "" "A snapshot of a :term:`Project` at a particular point in time, denoted by a " "version identifier." msgstr "" -#: ../source/glossary.rst:320 +#: ../source/glossary.rst:319 msgid "" "Making a release may entail the publishing of multiple :term:`Distributions " "`. For example, if version 1.0 of a project was " @@ -3695,11 +3695,11 @@ msgid "" "Windows installer distribution format." msgstr "" -#: ../source/glossary.rst:325 +#: ../source/glossary.rst:324 msgid "Requirement" msgstr "要求" -#: ../source/glossary.rst:328 +#: ../source/glossary.rst:327 msgid "" "A specification for a :term:`package ` to be " "installed. :ref:`pip`, the :term:`PYPA ` " @@ -3708,11 +3708,11 @@ msgid "" "install` reference." msgstr "" -#: ../source/glossary.rst:334 +#: ../source/glossary.rst:333 msgid "Requirement Specifier" msgstr "" -#: ../source/glossary.rst:337 +#: ../source/glossary.rst:336 msgid "" "A format used by :ref:`pip` to install packages from a :term:`Package " "Index`. For an EBNF diagram of the format, see :ref:`dependency-specifiers`. " @@ -3720,28 +3720,28 @@ msgid "" "project name, and the \">=1.3\" portion is the :term:`Version Specifier`" msgstr "" -#: ../source/glossary.rst:342 +#: ../source/glossary.rst:341 msgid "Requirements File" msgstr "" -#: ../source/glossary.rst:345 +#: ../source/glossary.rst:344 msgid "" "A file containing a list of :term:`Requirements ` that can be " "installed using :ref:`pip`. For more information, see the :ref:`pip` docs " "on :ref:`pip:Requirements Files`." msgstr "" -#: ../source/glossary.rst:349 +#: ../source/glossary.rst:348 #, fuzzy #| msgid "Project name" msgid "Root License Directory" msgstr "專案名稱" -#: ../source/glossary.rst:350 +#: ../source/glossary.rst:349 msgid "License Directory" msgstr "" -#: ../source/glossary.rst:353 +#: ../source/glossary.rst:352 msgid "" "The directory under which license files are stored in a :term:`Project " "Source Tree`, :term:`Distribution Archive` or :term:`Installed Project`. For " @@ -3753,38 +3753,38 @@ msgid "" "Metadata Field` are relative to." msgstr "" -#: ../source/glossary.rst:366 +#: ../source/glossary.rst:365 #: ../source/guides/distributing-packages-using-setuptools.rst:59 msgid "setup.py" msgstr "setup.py" -#: ../source/glossary.rst:367 +#: ../source/glossary.rst:366 #: ../source/guides/distributing-packages-using-setuptools.rst:80 msgid "setup.cfg" msgstr "setup.cfg" -#: ../source/glossary.rst:370 +#: ../source/glossary.rst:369 msgid "" "The project specification files for :ref:`distutils` and :ref:`setuptools`. " "See also :term:`pyproject.toml`." msgstr "" -#: ../source/glossary.rst:373 +#: ../source/glossary.rst:372 msgid "Source Archive" msgstr "" -#: ../source/glossary.rst:376 +#: ../source/glossary.rst:375 msgid "" "An archive containing the raw source code for a :term:`Release`, prior to " "creation of a :term:`Source Distribution ` or :term:`Built Distribution`." msgstr "" -#: ../source/glossary.rst:380 +#: ../source/glossary.rst:379 msgid "Source Distribution (or \"sdist\")" msgstr "" -#: ../source/glossary.rst:383 +#: ../source/glossary.rst:382 msgid "" "A :term:`distribution ` format (usually generated " "using ``python -m build --sdist``) that provides metadata and the essential " @@ -3793,21 +3793,21 @@ msgid "" "information." msgstr "" -#: ../source/glossary.rst:389 +#: ../source/glossary.rst:388 msgid "System Package" msgstr "" -#: ../source/glossary.rst:392 +#: ../source/glossary.rst:391 msgid "" "A package provided in a format native to the operating system, e.g. an rpm " "or dpkg file." msgstr "" -#: ../source/glossary.rst:395 +#: ../source/glossary.rst:394 msgid "Version Specifier" msgstr "" -#: ../source/glossary.rst:398 +#: ../source/glossary.rst:397 msgid "" "The version component of a :term:`Requirement Specifier`. For example, the " "\">=1.3\" portion of \"foo>=1.3\". Read the :ref:`Version specifier " @@ -3816,11 +3816,11 @@ msgid "" "was implemented in :ref:`setuptools` v8.0 and :ref:`pip` v6.0." msgstr "" -#: ../source/glossary.rst:403 +#: ../source/glossary.rst:402 msgid "Virtual Environment" msgstr "" -#: ../source/glossary.rst:406 +#: ../source/glossary.rst:405 msgid "" "An isolated Python environment that allows packages to be installed for use " "by a particular application, rather than being installed system wide. For " @@ -3828,15 +3828,15 @@ msgid "" "Environments`." msgstr "" -#: ../source/glossary.rst:411 +#: ../source/glossary.rst:410 msgid "Wheel Format" msgstr "" -#: ../source/glossary.rst:412 +#: ../source/glossary.rst:411 msgid "Wheel" msgstr "" -#: ../source/glossary.rst:415 +#: ../source/glossary.rst:414 msgid "" "The standard :term:`Built Distribution` format originally introduced " "in :pep:`427` and defined by the :ref:`binary-distribution-format` " @@ -3844,21 +3844,21 @@ msgid "" "confused with its reference implementation, the :term:`Wheel Project`." msgstr "" -#: ../source/glossary.rst:422 +#: ../source/glossary.rst:421 msgid "Wheel Project" msgstr "" -#: ../source/glossary.rst:425 +#: ../source/glossary.rst:424 msgid "" "The PyPA reference implementation of the :term:`Wheel Format`; " "see :ref:`wheel`." msgstr "" -#: ../source/glossary.rst:427 +#: ../source/glossary.rst:426 msgid "Working Set" msgstr "" -#: ../source/glossary.rst:430 +#: ../source/glossary.rst:429 msgid "" "A collection of :term:`distributions ` available for " "importing. These are the distributions that are on the `sys.path` variable. " @@ -4011,7 +4011,7 @@ msgstr "描述" #: ../source/specifications/dependency-groups.rst:23 #: ../source/specifications/dependency-specifiers.rst:29 #: ../source/specifications/direct-url-data-structure.rst:242 -#: ../source/specifications/version-specifiers.rst:1072 +#: ../source/specifications/version-specifiers.rst:1073 msgid "Examples" msgstr "例子" @@ -4367,7 +4367,7 @@ msgid "" msgstr "" #: ../source/guides/analyzing-pypi-package-downloads.rst:337 -#: ../source/specifications/dependency-specifiers.rst:535 +#: ../source/specifications/dependency-specifiers.rst:537 msgid "References" msgstr "參考" @@ -4695,7 +4695,7 @@ msgstr "" msgid "" "This syntax is a bit impractical, however; as the name of the entry point we " "defined above does not match the package name, we need to state explicitly " -"which executable script to run (even though there is only on in existence)." +"which executable script to run (even though there is only one in existence)." msgstr "" #: ../source/guides/creating-command-line-tools.rst:159 @@ -6784,11 +6784,12 @@ msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:9 msgid "" -":pep:`639` has specified the way to declare a project's license and paths to " -"license files and other legally required information. This document aims to " -"provide clear guidance how to migrate from the legacy to the standardized " -"way of declaring licenses. Make sure your preferred build backend " -"supports :pep:`639` before trying to apply the newer guidelines." +":pep:`639` has specified the way to declare a :term:`Distribution Archive`'s " +"license and paths to license files and other legally required information. " +"This document aims to provide clear guidance how to migrate from the legacy " +"to the standardized way of declaring licenses. Make sure your preferred " +"build backend supports :pep:`639` before trying to apply the newer " +"guidelines." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:18 @@ -6826,7 +6827,8 @@ msgid "Or, if the project used :file:`setup.cfg`, in its ``[metadata]`` table:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:56 -msgid "The output Core Metadata for the distribution packages would then be:" +msgid "" +"The output Core Metadata for the :term:`Distribution Package` would then be:" msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:63 @@ -6839,29 +6841,29 @@ msgid "" "in the Core Metadata." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:73 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:74 msgid "Advanced example" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:75 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:76 msgid "" "Suppose Setuptools were to include the licenses of the third-party projects " "that are vendored in the :file:`setuptools/_vendor/` " "and :file:`pkg_resources/_vendor/` directories; specifically:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:86 -msgid "The license expressions for these projects are:" +#: ../source/guides/licensing-examples-and-user-scenarios.rst:87 +msgid "The appropriate license expressions are:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:95 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:96 msgid "" "A comprehensive license expression covering both Setuptools proper and its " "vendored dependencies would contain these metadata, combining all the " "license expressions into one. Such an expression might be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:103 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:104 msgid "" "In addition, per the requirements of the licenses, the relevant license " "files must be included in the package. Suppose the :file:`LICENSE` file " @@ -6873,65 +6875,65 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:111 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:112 msgid "" "Specifically, we assume the license files are located at the following paths " "in the project source tree (relative to the project root " "and :file:`pyproject.toml`):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:122 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:123 msgid "Putting it all together, our :file:`pyproject.toml` would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:133 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:134 msgid "" "Or alternatively, the license files can be specified explicitly (paths will " "be interpreted as glob patterns):" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:147 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:148 msgid "If our project used :file:`setup.cfg`, we could define this in :" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:159 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:160 msgid "" "With either approach, the output Core Metadata in the distribution would be:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:170 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:171 msgid "" "In the resulting sdist, with :file:`/` as the root of the archive and " "``{VERSION}`` the version of the Setuptools release specified in the Core " "Metadata, the license files would be located at the paths:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:181 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:182 msgid "" "In the built wheel, with :file:`/` being the root of the archive and " "``{VERSION}`` as the previous, the license files would be stored at:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:191 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:192 msgid "" "Finally, in the installed project, with :file:`site-packages/` being the " "site dir and ``{VERSION}`` as the previous, the license files would be " "installed to:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:203 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:204 msgid "Expression examples" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:205 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:206 msgid "Some additional examples of valid ``License-Expression`` values:" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:220 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:221 msgid "User Scenarios" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:222 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:223 msgid "" "The following covers the range of common use cases from a user perspective, " "providing guidance for each. Do note that the following should **not** be " @@ -6940,18 +6942,18 @@ msgid "" "for their situation." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:230 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:231 msgid "I have a private package that won't be distributed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:232 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:233 msgid "" "If your package isn't shared publicly, i.e. outside your company, " "organization or household, it *usually* isn't strictly necessary to include " "a formal license, so you wouldn't necessarily have to do anything extra here." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:236 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:237 msgid "" "However, it is still a good idea to include ``LicenseRef-Proprietary`` as a " "license expression in your package configuration, and/or a copyright " @@ -6960,11 +6962,11 @@ msgid "" "tools." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:244 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:245 msgid "I just want to share my own work without legal restrictions" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:246 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:247 msgid "" "While you aren't required to include a license, if you don't, no one has " "`any permission to download, use or improve your work " @@ -6974,7 +6976,7 @@ msgid "" "want with your work (other than sue you, which you probably also don't want)." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:253 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:254 msgid "" "To apply it, just paste `the text `__ into a file " "named :file:`LICENSE.txt` at the root of your repo, and add the year and " @@ -6983,11 +6985,11 @@ msgid "" "it, or in its config file/section. You're done!" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:261 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:262 msgid "I want to distribute my project under a specific license" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:263 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:264 msgid "" "To use a particular license, simply paste its text into " "a :file:`LICENSE.txt` file at the root of your repo, if you don't have it in " @@ -6999,24 +7001,24 @@ msgid "" "`__." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:272 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:273 msgid "" "Many popular code hosts, project templates and packaging tools can add the " "license file for you, and may support the expression as well in the future." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:277 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:278 msgid "I maintain an existing package that's already licensed" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:279 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:280 msgid "" "If you already have license files and metadata in your project, you should " "only need to make a couple of tweaks to take advantage of the new " "functionality." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:283 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:284 msgid "" "In your project config file, enter your license expression under ``license`` " "(``[project]`` table in :file:`pyproject.toml`), or the equivalent for your " @@ -7024,17 +7026,17 @@ msgid "" "or ``License ::`` classifiers. Your existing ``license`` value may already " "be valid as one (e.g. ``MIT``, ``Apache-2.0 OR BSD-2-Clause``, etc); " "otherwise, check the `SPDX license list `__ for the identifier " -"that matches the license used in your project." +"that matches the license used." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:292 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:293 msgid "" "Make sure to list your license files under ``license-files`` under " "``[project]`` in :file:`pyproject.toml` or else in your tool's configuration " "file." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:296 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:297 msgid "" "See the :ref:`licensing-example-basic` for a simple but complete real-world " "demo of how this works in practice. See also the best-effort guidance on how " @@ -7045,11 +7047,11 @@ msgid "" "more information." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:306 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:307 msgid "My package includes other code under different licenses" msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:308 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:309 msgid "" "If your project includes code from others covered by different licenses, " "such as vendored dependencies or files copied from other open source " @@ -7057,14 +7059,14 @@ msgid "" "involved and the relationship between them." msgstr "" -#: ../source/guides/licensing-examples-and-user-scenarios.rst:314 +#: ../source/guides/licensing-examples-and-user-scenarios.rst:315 msgid "" -"In short, ``License-1 AND License-2`` mean that *both* licenses apply to " -"your project, or parts of it (for example, you included a file under another " -"license), and ``License-1 OR License-2`` means that *either* of the licenses " -"can be used, at the user's option (for example, you want to allow users a " -"choice of multiple licenses). You can use parenthesis (``()``) for grouping " -"to form expressions that cover even the most complex situations." +"In short, ``License-1 AND License-2`` mean that *both* licenses apply (for " +"example, you included a file under another license), and ``License-1 OR " +"License-2`` means that *either* of the licenses can be used, at the user's " +"option (for example, you want to allow users a choice of multiple licenses). " +"You can use parenthesis (``()``) for grouping to form expressions that cover " +"even the most complex situations." msgstr "" #: ../source/guides/licensing-examples-and-user-scenarios.rst:322 @@ -9462,42 +9464,46 @@ msgid "" "available from setuptools." msgstr "" -#: ../source/guides/tool-recommendations.rst:112 +#: ../source/guides/tool-recommendations.rst:115 +msgid "Build backends for extension modules" +msgstr "" + +#: ../source/guides/tool-recommendations.rst:117 msgid "" "For packages with :term:`extension modules `, it is best " "to use a build system with dedicated support for the language the extension " "is written in, for example:" msgstr "" -#: ../source/guides/tool-recommendations.rst:116 +#: ../source/guides/tool-recommendations.rst:121 msgid "" ":ref:`setuptools` -- natively supports C and C++ (with third-party plugins " "for Go and Rust)," msgstr "" -#: ../source/guides/tool-recommendations.rst:117 +#: ../source/guides/tool-recommendations.rst:122 msgid "" ":ref:`meson-python` -- C, C++, Fortran, Rust, and other languages supported " "by Meson," msgstr "" -#: ../source/guides/tool-recommendations.rst:118 +#: ../source/guides/tool-recommendations.rst:123 msgid "" ":ref:`scikit-build-core` -- C, C++, Fortran, and other languages supported " "by CMake," msgstr "" -#: ../source/guides/tool-recommendations.rst:119 +#: ../source/guides/tool-recommendations.rst:124 msgid ":ref:`maturin` -- Rust, via Cargo." msgstr "" -#: ../source/guides/tool-recommendations.rst:123 +#: ../source/guides/tool-recommendations.rst:128 #, fuzzy #| msgid "Reviewing new contributions" msgid "Building distributions" msgstr "審查新的貢獻" -#: ../source/guides/tool-recommendations.rst:125 +#: ../source/guides/tool-recommendations.rst:130 msgid "" "The standard tool to build :term:`source distributions ` and :term:`wheels ` for uploading to PyPI " @@ -9505,25 +9511,25 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" -#: ../source/guides/tool-recommendations.rst:130 +#: ../source/guides/tool-recommendations.rst:135 msgid "" "Do **not** use ``python setup.py sdist`` and ``python setup.py bdist_wheel`` " "for this task. All direct invocations of :file:`setup.py` " "are :ref:`deprecated `." msgstr "" -#: ../source/guides/tool-recommendations.rst:134 +#: ../source/guides/tool-recommendations.rst:139 msgid "" "If you have :term:`extension modules ` and want to " "distribute wheels for multiple platforms, use :ref:`cibuildwheel` as part of " "your CI setup to build distributable wheels." msgstr "" -#: ../source/guides/tool-recommendations.rst:140 +#: ../source/guides/tool-recommendations.rst:145 msgid "Uploading to PyPI" msgstr "" -#: ../source/guides/tool-recommendations.rst:142 +#: ../source/guides/tool-recommendations.rst:147 msgid "" "For projects hosted on or published via supported CI/CD platforms, it is " "recommended to use the :ref:`Trusted Publishing `, which " @@ -9531,45 +9537,45 @@ msgid "" "without a manually configured API token." msgstr "" -#: ../source/guides/tool-recommendations.rst:147 +#: ../source/guides/tool-recommendations.rst:152 msgid "" "As of November 2024, PyPI supports the following platforms as Trusted " "Publishing providers:" msgstr "" -#: ../source/guides/tool-recommendations.rst:150 +#: ../source/guides/tool-recommendations.rst:155 msgid "GitHub Actions (on ``https://github.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:151 +#: ../source/guides/tool-recommendations.rst:156 msgid "GitLab CI/CD (on ``https://gitlab.com``)" msgstr "" -#: ../source/guides/tool-recommendations.rst:152 +#: ../source/guides/tool-recommendations.rst:157 msgid "ActiveState" msgstr "" -#: ../source/guides/tool-recommendations.rst:153 +#: ../source/guides/tool-recommendations.rst:158 msgid "Google Cloud" msgstr "" -#: ../source/guides/tool-recommendations.rst:155 +#: ../source/guides/tool-recommendations.rst:160 msgid "" "The other available method is to upload the package manually " "using :ref:`twine`." msgstr "" -#: ../source/guides/tool-recommendations.rst:159 +#: ../source/guides/tool-recommendations.rst:164 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:164 +#: ../source/guides/tool-recommendations.rst:169 msgid "Workflow tools" msgstr "" -#: ../source/guides/tool-recommendations.rst:166 +#: ../source/guides/tool-recommendations.rst:171 msgid "" "These tools are environment managers that automatically manage virtual " "environments for a project. They also act as \"task runners\", allowing you " @@ -9580,31 +9586,31 @@ msgid "" "alphabetical order:" msgstr "" -#: ../source/guides/tool-recommendations.rst:174 +#: ../source/guides/tool-recommendations.rst:179 msgid ":ref:`Flit`," msgstr ":ref:`Flit`," -#: ../source/guides/tool-recommendations.rst:175 +#: ../source/guides/tool-recommendations.rst:180 msgid ":ref:`Hatch`," msgstr ":ref:`Hatch`," -#: ../source/guides/tool-recommendations.rst:176 +#: ../source/guides/tool-recommendations.rst:181 msgid ":doc:`nox `," msgstr "" -#: ../source/guides/tool-recommendations.rst:177 +#: ../source/guides/tool-recommendations.rst:182 msgid ":ref:`PDM`," msgstr ":ref:`PDM`," -#: ../source/guides/tool-recommendations.rst:178 +#: ../source/guides/tool-recommendations.rst:183 msgid ":ref:`Pipenv`," msgstr ":ref:`Pipenv`," -#: ../source/guides/tool-recommendations.rst:179 +#: ../source/guides/tool-recommendations.rst:184 msgid ":ref:`Poetry`," msgstr ":ref:`Poetry`," -#: ../source/guides/tool-recommendations.rst:180 +#: ../source/guides/tool-recommendations.rst:185 msgid ":doc:`tox `." msgstr "" @@ -10010,7 +10016,7 @@ msgid "``license`` and ``license-files``" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:299 -msgid "As per :pep:`639` licenses should be declared with two fields:" +msgid "As per :pep:`639`, licenses should be declared with two fields:" msgstr "" #: ../source/guides/writing-pyproject-toml.rst:301 @@ -10119,90 +10125,90 @@ msgstr "" #: ../source/guides/writing-pyproject-toml.rst:353 msgid "" -"If your project is licensed with a license that doesn't have an existing " -"SPDX identifier, you can create a custom one in format ``LicenseRef-" -"[idstring]``. The custom identifiers must follow the SPDX specification, " -"`clause 10.1 `_ of the version 2.2 or any later compatible " -"one." +"If your :term:`Distribution Archive` is licensed with a license that doesn't " +"have an existing SPDX identifier, you can create a custom one in format " +"``LicenseRef-[idstring]``. The custom identifiers must follow the SPDX " +"specification, `clause 10.1 `_ of the version 2.2 or any " +"later compatible one." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:367 +#: ../source/guides/writing-pyproject-toml.rst:368 #: ../source/specifications/pyproject-toml.rst:147 #: ../source/specifications/pyproject-toml.rst:293 msgid "``license-files``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:369 +#: ../source/guides/writing-pyproject-toml.rst:370 msgid "" "This is a list of license files and files containing other legal information " "you want to distribute with your package." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:377 +#: ../source/guides/writing-pyproject-toml.rst:378 msgid "The glob patterns must follow the specification:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:379 +#: ../source/guides/writing-pyproject-toml.rst:380 msgid "" "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " "(``.``) will be matched verbatim." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:381 +#: ../source/guides/writing-pyproject-toml.rst:382 msgid "" "Special characters: ``*``, ``?``, ``**`` and character ranges: [] are " "supported." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:382 +#: ../source/guides/writing-pyproject-toml.rst:383 msgid "Path delimiters must be the forward slash character (``/``)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:383 +#: ../source/guides/writing-pyproject-toml.rst:384 msgid "" "Patterns are relative to the directory containing :file:`pyproject.toml`, " "and thus may not start with a slash character." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:385 +#: ../source/guides/writing-pyproject-toml.rst:386 msgid "Parent directory indicators (``..``) must not be used." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:386 +#: ../source/guides/writing-pyproject-toml.rst:387 msgid "Each glob must match at least one file." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:388 +#: ../source/guides/writing-pyproject-toml.rst:389 msgid "" "Literal paths are valid globs. Any characters or character sequences not " "covered by this specification are invalid." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:394 +#: ../source/guides/writing-pyproject-toml.rst:395 #: ../source/specifications/pyproject-toml.rst:145 #: ../source/specifications/pyproject-toml.rst:376 msgid "``keywords``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:396 +#: ../source/guides/writing-pyproject-toml.rst:397 msgid "" "This will help PyPI's search box to suggest your project when people search " "for these keywords." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:408 +#: ../source/guides/writing-pyproject-toml.rst:409 #: ../source/specifications/pyproject-toml.rst:137 #: ../source/specifications/pyproject-toml.rst:388 msgid "``classifiers``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:410 +#: ../source/guides/writing-pyproject-toml.rst:411 msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:434 +#: ../source/guides/writing-pyproject-toml.rst:435 msgid "" "Although the list of classifiers is often used to declare what Python " "versions a project supports, this information is only used for searching and " @@ -10211,26 +10217,26 @@ msgid "" "python` argument." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:439 +#: ../source/guides/writing-pyproject-toml.rst:440 msgid "" "To prevent a package from being uploaded to PyPI, use the special " "``Private :: Do Not Upload`` classifier. PyPI will always reject packages " "with classifiers beginning with ``Private ::``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:446 +#: ../source/guides/writing-pyproject-toml.rst:447 #: ../source/specifications/pyproject-toml.rst:154 #: ../source/specifications/pyproject-toml.rst:406 msgid "``urls``" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:448 +#: ../source/guides/writing-pyproject-toml.rst:449 msgid "" "A list of URLs associated with your project, displayed on the left sidebar " "of your PyPI project page." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:453 +#: ../source/guides/writing-pyproject-toml.rst:454 msgid "" "See :ref:`well-known-labels` for a listing of labels that PyPI and other " "packaging tools are specifically aware of, and `PyPI's project metadata docs " @@ -10238,28 +10244,28 @@ msgid "" "URL processing." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:467 +#: ../source/guides/writing-pyproject-toml.rst:468 msgid "" "Note that if the label contains spaces, it needs to be quoted, e.g., " "``Website = \"https://example.com\"`` but ``\"Official Website\" = \"https://" "example.com\"``." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:471 +#: ../source/guides/writing-pyproject-toml.rst:472 msgid "" "Users are advised to use :ref:`well-known-labels` for their project URLs " "where appropriate, since consumers of metadata (like package indices) can " "specialize their presentation." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:475 +#: ../source/guides/writing-pyproject-toml.rst:476 msgid "" "For example in the following metadata, neither ``MyHomepage`` nor " "``\"Download Link\"`` is a well-known label, so they will be rendered " "verbatim:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:485 +#: ../source/guides/writing-pyproject-toml.rst:486 msgid "" "Whereas in this metadata ``HomePage`` and ``DOWNLOAD`` both have well-known " "equivalents (``homepage`` and ``download``), and can be presented with those " @@ -10267,33 +10273,33 @@ msgid "" "location, respectively)." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:497 +#: ../source/guides/writing-pyproject-toml.rst:498 msgid "Advanced plugins" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:499 +#: ../source/guides/writing-pyproject-toml.rst:500 msgid "" "Some packages can be extended through plugins. Examples include Pytest_ and " "Pygments_. To create such a plugin, you need to declare it in a subtable of " "``[project.entry-points]`` like this:" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:508 +#: ../source/guides/writing-pyproject-toml.rst:509 msgid "See the :ref:`Plugin guide ` for more information." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:513 +#: ../source/guides/writing-pyproject-toml.rst:514 msgid "A full example" msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:576 +#: ../source/guides/writing-pyproject-toml.rst:577 msgid "" "Think twice before applying an upper bound like ``requires-python = \"<= " "3.10\"`` here. `This blog post `_ contains some " "information regarding possible problems." msgstr "" -#: ../source/guides/writing-pyproject-toml.rst:580 +#: ../source/guides/writing-pyproject-toml.rst:581 msgid "" "flit-core `does not yet `_ support WITH in SPDX license " "expressions." @@ -13694,7 +13700,7 @@ msgstr "" #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:972 #: ../source/specifications/source-distribution-format.rst:153 -#: ../source/specifications/version-specifiers.rst:1269 +#: ../source/specifications/version-specifiers.rst:1270 #: ../source/specifications/virtual-environments.rst:54 msgid "History" msgstr "歷史" @@ -14513,11 +14519,11 @@ msgstr "" #: ../source/specifications/core-metadata.rst:55 msgid "" -"Automated tools consuming metadata SHOULD warn if ``metadata_version`` is " -"greater than the highest version they support, and MUST fail if " -"``metadata_version`` has a greater major version than the highest version " -"they support (as described in the :ref:`Version specifier specification " -"`, the major version is the value before the first dot)." +"Automated tools consuming metadata SHOULD warn if ``metadata-version`` is " +"greater than the highest version they support, and MUST fail if ``metadata-" +"version`` has a greater major version than the highest version they support " +"(as described in the :ref:`Version specifier specification `, the major version is the value before the first dot)." msgstr "" #: ../source/specifications/core-metadata.rst:62 @@ -16359,17 +16365,23 @@ msgid "" "incorrectly permitting trailing newlines)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:537 +#: ../source/specifications/dependency-specifiers.rst:532 +msgid "" +"December 2025: Ensure ``===`` before ``==`` in grammar, to allow arbitrary " +"equality comparisons to be parsed." +msgstr "" + +#: ../source/specifications/dependency-specifiers.rst:539 msgid "" "pip, the recommended installer for Python packages (http://" "pip.readthedocs.org/en/stable/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:540 +#: ../source/specifications/dependency-specifiers.rst:542 msgid "The parsley PEG library. (https://pypi.python.org/pypi/parsley/)" msgstr "" -#: ../source/specifications/dependency-specifiers.rst:543 +#: ../source/specifications/dependency-specifiers.rst:545 msgid "" "Future Python versions might be problematic with the definition of " "Environment Marker Variable ``python_version`` (https://github.com/python/" @@ -25064,11 +25076,13 @@ msgstr "" 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." +"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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1022 +#: ../source/specifications/version-specifiers.rst:1023 msgid "" "The primary use case for arbitrary equality is to allow for specifying a " "version which cannot otherwise be represented by this specification. This " @@ -25077,29 +25091,29 @@ msgid "" "which is otherwise incompatible with this specification." msgstr "" -#: ../source/specifications/version-specifiers.rst:1028 +#: ../source/specifications/version-specifiers.rst:1029 msgid "" "An example would be ``===foobar`` which would match a version of ``foobar``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1030 +#: ../source/specifications/version-specifiers.rst:1031 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``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1034 +#: ../source/specifications/version-specifiers.rst:1035 msgid "" "Use of this operator is heavily discouraged and tooling MAY display a " "warning when it is used." msgstr "" -#: ../source/specifications/version-specifiers.rst:1039 +#: ../source/specifications/version-specifiers.rst:1040 msgid "Handling of pre-releases" msgstr "" -#: ../source/specifications/version-specifiers.rst:1041 +#: ../source/specifications/version-specifiers.rst:1042 msgid "" "Pre-releases of any kind, including developmental releases, are implicitly " "excluded from all version specifiers, *unless* they are already present on " @@ -25107,101 +25121,101 @@ msgid "" "version that satisfies the version specifier is a pre-release." msgstr "" -#: ../source/specifications/version-specifiers.rst:1046 +#: ../source/specifications/version-specifiers.rst:1047 msgid "By default, dependency resolution tools SHOULD:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1048 +#: ../source/specifications/version-specifiers.rst:1049 msgid "accept already installed pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1049 +#: ../source/specifications/version-specifiers.rst:1050 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:1051 +#: ../source/specifications/version-specifiers.rst:1052 msgid "exclude all other pre-releases from consideration" msgstr "" -#: ../source/specifications/version-specifiers.rst:1053 +#: ../source/specifications/version-specifiers.rst:1054 msgid "" "Dependency resolution tools MAY issue a warning if a pre-release is needed " "to satisfy a version specifier." msgstr "" -#: ../source/specifications/version-specifiers.rst:1056 +#: ../source/specifications/version-specifiers.rst:1057 msgid "" "Dependency resolution tools SHOULD also allow users to request the following " "alternative behaviours:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1059 +#: ../source/specifications/version-specifiers.rst:1060 msgid "accepting pre-releases for all version specifiers" msgstr "" -#: ../source/specifications/version-specifiers.rst:1060 +#: ../source/specifications/version-specifiers.rst:1061 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)" msgstr "" -#: ../source/specifications/version-specifiers.rst:1064 +#: ../source/specifications/version-specifiers.rst:1065 msgid "" "Dependency resolution tools MAY also allow the above behaviour to be " "controlled on a per-distribution basis." msgstr "" -#: ../source/specifications/version-specifiers.rst:1067 +#: ../source/specifications/version-specifiers.rst:1068 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:1074 +#: ../source/specifications/version-specifiers.rst:1075 msgid "``~=3.1``: version 3.1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1075 +#: ../source/specifications/version-specifiers.rst:1076 msgid "``~=3.1.2``: version 3.1.2 or later, but not version 3.2.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1076 +#: ../source/specifications/version-specifiers.rst:1077 msgid "``~=3.1a1``: version 3.1a1 or later, but not version 4.0 or later." msgstr "" -#: ../source/specifications/version-specifiers.rst:1077 +#: ../source/specifications/version-specifiers.rst:1078 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 "" -#: ../source/specifications/version-specifiers.rst:1079 +#: ../source/specifications/version-specifiers.rst:1080 msgid "" "``== 3.1.*``: any version that starts with 3.1. Equivalent to the " "``~=3.1.0`` compatible release clause." msgstr "" -#: ../source/specifications/version-specifiers.rst:1081 +#: ../source/specifications/version-specifiers.rst:1082 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 "" -#: ../source/specifications/version-specifiers.rst:1086 +#: ../source/specifications/version-specifiers.rst:1087 msgid "Direct references" msgstr "" -#: ../source/specifications/version-specifiers.rst:1088 +#: ../source/specifications/version-specifiers.rst:1089 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1092 +#: ../source/specifications/version-specifiers.rst:1093 msgid "" "Whether or not direct references are appropriate depends on the specific use " "case for the version specifier. Automated tools SHOULD at least issue " @@ -25209,29 +25223,29 @@ msgid "" "inappropriately." msgstr "" -#: ../source/specifications/version-specifiers.rst:1097 +#: ../source/specifications/version-specifiers.rst:1098 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1101 +#: ../source/specifications/version-specifiers.rst:1102 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1105 +#: ../source/specifications/version-specifiers.rst:1106 msgid "For example, a local source archive may be referenced directly::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1109 +#: ../source/specifications/version-specifiers.rst:1110 msgid "Alternatively, a prebuilt archive may also be referenced::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1113 +#: ../source/specifications/version-specifiers.rst:1114 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 " @@ -25243,7 +25257,7 @@ msgid "" "insecure transport, automated tools SHOULD NOT rely on the URL." msgstr "" -#: ../source/specifications/version-specifiers.rst:1122 +#: ../source/specifications/version-specifiers.rst:1123 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 " @@ -25252,14 +25266,14 @@ msgid "" "``'sha512'``." msgstr "" -#: ../source/specifications/version-specifiers.rst:1128 +#: ../source/specifications/version-specifiers.rst:1129 msgid "" "For source archive and wheel references, an expected hash value may be " "specified by including a ``=`` entry as part " "of the URL fragment." msgstr "" -#: ../source/specifications/version-specifiers.rst:1132 +#: ../source/specifications/version-specifiers.rst:1133 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 " @@ -25268,7 +25282,7 @@ msgid "" "systems that do not provide hash based commit identifiers." msgstr "" -#: ../source/specifications/version-specifiers.rst:1138 +#: ../source/specifications/version-specifiers.rst:1139 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 " @@ -25276,7 +25290,7 @@ msgid "" "notation." msgstr "" -#: ../source/specifications/version-specifiers.rst:1145 +#: ../source/specifications/version-specifiers.rst:1146 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 " @@ -25287,15 +25301,15 @@ msgid "" "*hash*, less so)." msgstr "" -#: ../source/specifications/version-specifiers.rst:1153 +#: ../source/specifications/version-specifiers.rst:1154 msgid "Remote URL examples::" msgstr "" -#: ../source/specifications/version-specifiers.rst:1161 +#: ../source/specifications/version-specifiers.rst:1162 msgid "File URLs" msgstr "" -#: ../source/specifications/version-specifiers.rst:1163 +#: ../source/specifications/version-specifiers.rst:1164 msgid "" "File URLs take the form of ``file:///``. If the ```` is " "omitted it is assumed to be ``localhost`` and even if the ```` is " @@ -25303,7 +25317,7 @@ msgid "" "file path on the filesystem that is to be accessed." msgstr "" -#: ../source/specifications/version-specifiers.rst:1168 +#: ../source/specifications/version-specifiers.rst:1169 msgid "" "On the various \\*nix operating systems the only allowed values for " "```` is for it to be omitted, ``localhost``, or another FQDN that the " @@ -25311,7 +25325,7 @@ msgid "" "``file://`` scheme can only be used to access paths on the local machine." msgstr "" -#: ../source/specifications/version-specifiers.rst:1173 +#: ../source/specifications/version-specifiers.rst:1174 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 " @@ -25323,43 +25337,43 @@ msgid "" "b/ie/archive/2006/12/06/file-uris-in-windows.aspx>`_." msgstr "" -#: ../source/specifications/version-specifiers.rst:1184 +#: ../source/specifications/version-specifiers.rst:1185 msgid "Summary of differences from pkg_resources.parse_version" msgstr "" -#: ../source/specifications/version-specifiers.rst:1186 +#: ../source/specifications/version-specifiers.rst:1187 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1190 +#: ../source/specifications/version-specifiers.rst:1191 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/specifications/version-specifiers.rst:1194 +#: ../source/specifications/version-specifiers.rst:1195 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1198 +#: ../source/specifications/version-specifiers.rst:1199 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." msgstr "" -#: ../source/specifications/version-specifiers.rst:1207 +#: ../source/specifications/version-specifiers.rst:1208 msgid "Appendix: Parsing version strings with regular expressions" msgstr "" -#: ../source/specifications/version-specifiers.rst:1209 +#: ../source/specifications/version-specifiers.rst:1210 msgid "" "As noted earlier in the :ref:`public-version-identifiers` section, published " "version identifiers SHOULD use the canonical format. This section provides " @@ -25368,29 +25382,33 @@ msgid "" "normalization." msgstr "" -#: ../source/specifications/version-specifiers.rst:1215 +#: ../source/specifications/version-specifiers.rst:1216 msgid "" "To test whether a version identifier is in the canonical format, you can use " "the following function:" msgstr "" -#: ../source/specifications/version-specifiers.rst:1224 +#: ../source/specifications/version-specifiers.rst:1225 msgid "" "To extract the components of a version identifier, use the following regular " "expression (as defined by the `packaging `_ project):" msgstr "" -#: ../source/specifications/version-specifiers.rst:1271 +#: ../source/specifications/version-specifiers.rst:1272 msgid "August 2014: This specification was approved through :pep:`440`." msgstr "" -#: ../source/specifications/version-specifiers.rst:1272 +#: ../source/specifications/version-specifiers.rst:1273 msgid "" "May 2025: Clarify that development releases are a form of pre-release when " "they are handled." msgstr "" +#: ../source/specifications/version-specifiers.rst:1275 +msgid "Nov 2025: Make arbitrary equality case insensitivity explicit." +msgstr "" + #: ../source/specifications/virtual-environments.rst:6 msgid "Python Virtual Environments" msgstr "" @@ -26761,7 +26779,7 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:222 msgid "" "``license`` is the :term:`SPDX license expression ` of " -"your package." +"your :term:`Distribution Archive` files." msgstr "" #: ../source/tutorials/packaging-projects.rst:224 @@ -26800,11 +26818,12 @@ msgstr "" #: ../source/tutorials/packaging-projects.rst:253 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:" +"It's important for every :term:`Distribution Archive` uploaded to the Python " +"Package Index to include a license. This tells users who install " +"your :term:`Distribution Archive` the terms under which they can use it. 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/tutorials/packaging-projects.rst:282