diff --git a/locales/ar/LC_MESSAGES/messages.po b/locales/ar/LC_MESSAGES/messages.po index 8f2670112..c30622f67 100644 --- a/locales/ar/LC_MESSAGES/messages.po +++ b/locales/ar/LC_MESSAGES/messages.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-12-15 04:00+0000\n" "Last-Translator: HAMDI KHALID \n" "Language-Team: Arabic `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8802,7 +8801,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8811,15 +8810,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8829,7 +8828,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8838,11 +8837,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8878,15 +8877,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8895,11 +8885,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8907,25 +8897,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8933,7 +8922,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8944,24 +8933,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8972,7 +8961,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8981,19 +8970,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9005,7 +8994,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9013,17 +9002,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9031,7 +9020,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9043,17 +9032,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9064,25 +9053,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9090,7 +9079,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9098,23 +9087,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9123,25 +9112,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9149,7 +9138,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9157,11 +9146,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9169,7 +9158,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9177,17 +9166,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9197,15 +9186,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13474,10 +13463,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13563,7 +13553,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17589,8 +17579,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17670,6 +17660,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19332,8 +19330,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19381,18 +19379,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19420,19 +19418,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19486,8 +19486,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19569,8 +19569,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19683,9 +19683,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19775,11 +19775,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19924,7 +19926,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19933,6 +19935,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19964,467 +19968,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20433,43 +20464,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25667,7 +25703,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25681,39 +25717,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25722,7 +25757,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25731,33 +25766,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25765,7 +25800,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25774,39 +25809,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25814,22 +25849,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25840,35 +25875,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25877,7 +25912,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25885,40 +25920,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25929,7 +25964,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25938,7 +25973,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25950,70 +25985,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26021,21 +26056,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26043,21 +26078,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/ars/LC_MESSAGES/messages.po b/locales/ars/LC_MESSAGES/messages.po index d1ce516c3..1e7283572 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1524,7 +1524,7 @@ msgid "" msgstr "" #: ../source/discussions/install-requires-vs-requirements.rst:62 -#: ../source/tutorials/installing-packages.rst:464 +#: ../source/tutorials/installing-packages.rst:463 msgid "Requirements files" msgstr "" @@ -5356,7 +5356,7 @@ msgid "" msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:589 -#: ../source/tutorials/installing-packages.rst:670 +#: ../source/tutorials/installing-packages.rst:669 msgid "" "Depending on your platform, this may require root or Administrator " "access. :ref:`pip` is currently considering changing this by `making user " @@ -5609,7 +5609,7 @@ msgstr "" #: ../source/guides/hosting-your-own-index.rst:65 #: ../source/guides/index-mirrors-and-caches.rst:56 -#: ../source/guides/supporting-windows-using-appveyor.rst:146 +#: ../source/guides/supporting-windows-using-appveyor.rst:139 msgid "Additional notes" msgstr "" @@ -6621,7 +6621,7 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:434 -#: ../source/tutorials/installing-packages.rst:393 +#: ../source/tutorials/installing-packages.rst:392 msgid "Upgrading packages" msgstr "" @@ -8684,7 +8684,7 @@ msgid "Hosting" msgstr "" #: ../source/guides/section-install.rst:3 -#: ../source/specifications/pylock-toml.rst:729 +#: ../source/specifications/pylock-toml.rst:744 msgid "Installation" msgstr "" @@ -8755,35 +8755,34 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:65 msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8795,7 +8794,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8804,15 +8803,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8822,7 +8821,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8831,11 +8830,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8871,15 +8870,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8888,11 +8878,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8900,25 +8890,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8926,7 +8915,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8937,24 +8926,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8965,7 +8954,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8974,19 +8963,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -8998,7 +8987,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9006,17 +8995,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9024,7 +9013,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9036,17 +9025,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9057,25 +9046,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9083,7 +9072,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9091,23 +9080,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9116,25 +9105,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9142,7 +9131,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9150,11 +9139,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9162,7 +9151,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9170,17 +9159,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9190,15 +9179,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13467,10 +13456,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13556,7 +13546,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17582,8 +17572,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17663,6 +17653,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19325,8 +19323,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19374,18 +19372,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19413,19 +19411,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19479,8 +19479,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19562,8 +19562,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19676,9 +19676,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19768,11 +19768,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19917,7 +19919,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19926,6 +19928,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19957,467 +19961,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20426,43 +20457,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25660,7 +25696,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25674,39 +25710,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25715,7 +25750,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25724,33 +25759,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25758,7 +25793,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25767,39 +25802,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25807,22 +25842,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25833,35 +25868,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25870,7 +25905,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25878,40 +25913,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25922,7 +25957,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25931,7 +25966,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25943,70 +25978,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26014,21 +26049,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26036,21 +26071,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/cs/LC_MESSAGES/messages.po b/locales/cs/LC_MESSAGES/messages.po index d6faf4cae..05936d0fa 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-10-16 23:52+0000\n" "Last-Translator: Karolína Wallenfelsová \n" "Language-Team: Czech `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8806,7 +8805,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8815,15 +8814,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8833,7 +8832,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8842,11 +8841,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8882,15 +8881,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8899,11 +8889,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8911,25 +8901,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8937,7 +8926,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8948,24 +8937,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8976,7 +8965,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8985,19 +8974,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9009,7 +8998,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9017,17 +9006,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9035,7 +9024,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9047,17 +9036,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9068,25 +9057,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9094,7 +9083,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9102,23 +9091,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9127,25 +9116,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9153,7 +9142,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9161,11 +9150,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9173,7 +9162,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9181,17 +9170,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9201,15 +9190,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13478,10 +13467,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13567,7 +13557,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17593,8 +17583,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17674,6 +17664,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19336,8 +19334,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19385,18 +19383,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19424,19 +19422,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19490,8 +19490,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19573,8 +19573,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19687,9 +19687,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19779,11 +19779,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19928,7 +19930,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19937,6 +19939,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19968,467 +19972,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20437,43 +20468,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25671,7 +25707,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25685,39 +25721,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25726,7 +25761,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25735,33 +25770,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25769,7 +25804,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25778,39 +25813,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25818,22 +25853,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25844,35 +25879,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25881,7 +25916,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25889,40 +25924,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25933,7 +25968,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25942,7 +25977,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25954,70 +25989,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26025,21 +26060,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26047,21 +26082,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/da/LC_MESSAGES/messages.po b/locales/da/LC_MESSAGES/messages.po index c55f56e69..862daae1c 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-10-09 04:07+0000\n" "Last-Translator: Philip Mallegol-Hansen \n" "Language-Team: Danish `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8800,7 +8799,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8809,15 +8808,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8827,7 +8826,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8836,11 +8835,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8876,15 +8875,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8893,11 +8883,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8905,25 +8895,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8931,7 +8920,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8942,24 +8931,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8970,7 +8959,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8979,19 +8968,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9003,7 +8992,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9011,17 +9000,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9029,7 +9018,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9041,17 +9030,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9062,25 +9051,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9088,7 +9077,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9096,23 +9085,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9121,25 +9110,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9147,7 +9136,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9155,11 +9144,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9167,7 +9156,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9175,17 +9164,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9195,15 +9184,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13472,10 +13461,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13561,7 +13551,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17587,8 +17577,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17668,6 +17658,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19330,8 +19328,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19379,18 +19377,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19418,19 +19416,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19484,8 +19484,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19567,8 +19567,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19681,9 +19681,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19773,11 +19773,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19922,7 +19924,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19931,6 +19933,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19962,467 +19966,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20431,43 +20462,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25665,7 +25701,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25679,39 +25715,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25720,7 +25755,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25729,33 +25764,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25763,7 +25798,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25772,39 +25807,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25812,22 +25847,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25838,35 +25873,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25875,7 +25910,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25883,40 +25918,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25927,7 +25962,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25936,7 +25971,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25948,70 +25983,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26019,21 +26054,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26041,21 +26076,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/de/LC_MESSAGES/messages.po b/locales/de/LC_MESSAGES/messages.po index 0690838d0..e1a2794e3 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-10-28 15:43+0000\n" "Last-Translator: Norah-14 \n" "Language-Team: German `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -9105,7 +9104,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -9114,15 +9113,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -9132,7 +9131,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -9141,11 +9140,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -9181,15 +9180,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -9198,11 +9188,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -9210,25 +9200,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -9236,7 +9225,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -9247,24 +9236,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9275,7 +9264,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9284,19 +9273,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9308,7 +9297,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9316,17 +9305,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9334,7 +9323,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9346,17 +9335,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9367,25 +9356,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9393,7 +9382,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9401,23 +9390,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9426,25 +9415,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9452,7 +9441,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9460,11 +9449,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9472,7 +9461,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9480,17 +9469,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9500,15 +9489,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13778,10 +13767,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13867,7 +13857,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17908,8 +17898,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17991,6 +17981,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19658,8 +19656,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19707,18 +19705,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19746,19 +19744,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19812,8 +19812,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19897,8 +19897,8 @@ msgstr "Paketierung" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -20012,9 +20012,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -20104,11 +20104,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -20253,7 +20255,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -20262,6 +20264,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20293,471 +20297,498 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 #, fuzzy #| msgid "Where the guide is deployed" msgid "The time the file was uploaded." msgstr "Wo der Leitfaden deployt wird" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 #, fuzzy #| msgid "Package Index" msgid "``packages.index``" msgstr "Paketindex" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20766,43 +20797,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -26005,7 +26041,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -26019,39 +26055,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -26060,7 +26095,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -26069,33 +26104,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -26103,7 +26138,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -26112,39 +26147,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -26152,22 +26187,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -26178,35 +26213,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -26215,7 +26250,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -26223,40 +26258,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -26267,7 +26302,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -26276,7 +26311,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26288,70 +26323,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26359,21 +26394,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26381,21 +26416,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/eo/LC_MESSAGES/messages.po b/locales/eo/LC_MESSAGES/messages.po index 9b592b6dd..998938623 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-06-29 12:03+0000\n" "Last-Translator: phlostically \n" "Language-Team: Esperanto `_ provides both a Linux and a macOS " -#| "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " -#| "bit while the macOS is 10.9.2 at the time of writing." msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -"`Travis CI `_ provizas kaj Linux-an kaj macOS-an " -"mediojn. La medio Linux estis Ubuntu 12.04 LTS Servila Eldono 64-bita, dum " -"la medio macOS estis 10.9.2, kiam ĉi tiu dokumento estis verkita." -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." @@ -11331,9 +11322,15 @@ msgstr "" "`Appveyor `_ provizas Windows-medion (Windows " "Server 2012)." -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 +#, fuzzy +#| msgid "" +#| "Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +#| "formatted file as specification for the instructions for testing. If any " +#| "tests fail, the output log for that specific configuration can be " +#| "inspected." msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" @@ -11341,7 +11338,7 @@ msgstr "" "specifantan la instrukciojn pri testado. Se iu testo malsukcesos, la eliga " "protokolo pri tiu estas inspektebla." -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." @@ -11349,11 +11346,11 @@ msgstr "" "Por Python-projekto disponigota sur kaj Python 2 kaj Python 3 per unufonta " "strategio, ekzistas kelkaj opcioj." -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "Iloj por unufontaj Python-pakoj" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -11372,7 +11369,7 @@ msgstr "" "modernize>`_, verkita de Armin Ronacher, povas aŭtomate efektivigi la kodo-" "modifojn per six_." -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -11385,15 +11382,15 @@ msgstr "" "celas kunfunkciigi Python 2 kaj Python 3 per lingva sintakso de unu el la du " "Python-versioj: oni povas uzi" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "modulon de sintakso Python 2 en projekto de Python 3." -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "modulon de sintakso Python 3 en projekto de *Python 2*." -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -11408,7 +11405,7 @@ msgstr "" "du programetojn, ``futurize`` kaj ``pasteurize``, por modulo de Python 2 kaj " "de Python 3 respektive." -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -11422,11 +11419,11 @@ msgstr "" "provizas por kongrueco kun Python 3. Ajna restanta problemo pri kongrueco " "postulas malaŭtomatan modifon." -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "Kio estas en kiu Python?" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -11476,19 +11473,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" -"La servo Appveyor estas servo por kontinua integrado simile al la pli bone " -"konata servo `Travis`_ ofte uzata por testado de projektoj sur `GitHub`_. " -"Tamen, malkiel Travis, la konstruaj procezoj sur Appveyor gastigas Windows " -"kaj havas taŭgajn tradukilojn por konstrui Python-etendaĵojn." - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -11502,11 +11486,11 @@ msgstr "" "kiel konstruservon (eĉ se oni ne uzas ĝin por testado), oni povas disponigi " "Windows-duumaĵojn sen dediĉita Windows-medio." -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "Eki" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -11518,7 +11502,7 @@ msgstr "" "www.appveyor.com/docs/>`__ priskribas instrukciojn por krei konton. La " "senkosta konto sufiĉas por malfermitkoda projekto." -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " @@ -11527,21 +11511,25 @@ msgstr "" "Appveyor integriĝas kun `GitHub`_ kaj `Bitbucket`_. Se via projekto estas " "gastigata en unu el tiuj du servoj, ekstarigo de Appveyor facilas." -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 +#, fuzzy +#| msgid "" +#| "Once you have set up your Appveyor account and added your project, " +#| "Appveyor will automatically build your project each time a commit occurs. " +#| "This behaviour will be familiar to users of Travis." msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" "Post starigo de konto ĉe Appveyor kaj agordado de la projekto, Appveyor " "aŭtomate konstruos la projekton post ĉiu modifo. Tiu konduto similas al " "Travis." -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "Aldoni subtenon por Appveyor al via projekto" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -11553,7 +11541,7 @@ msgstr "" "la dosiero troviĝas en la dokumentaro de Appveyor. Ĉi tiu gvidilo provizas " "tiajn detalojn, kiaj necesas por konstrui wheel-on." -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -11570,11 +11558,11 @@ msgstr "" "tradukilo. (Ekde versio 3.5, la uzata versio de Visual Studio inkluzivas 64-" "bitan tradukilon sen plia agordo.)" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "appveyor.yml" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." @@ -11593,7 +11581,7 @@ msgstr "" "projekto. Ĝi estas en la dosierformo ``YAML`` kaj konsistas el kelkaj " "sekcioj." -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -11611,7 +11599,7 @@ msgstr "" "inkluzivita. Ni ne subtenas 2.6 en ĉi tiu dokumento (uzanto de Windows " "ankoraŭ uzanta Python 2 ordinare povas facile migri al Python 2.7)." -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -11620,7 +11608,7 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." @@ -11628,7 +11616,7 @@ msgstr "" "La sekcio ``build`` simple malŝaltas konstruadon – neniu konstrua paŝo " "necesas por Python malkiel ekzemple ``C#``." -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." @@ -11636,7 +11624,7 @@ msgstr "" "La ĉefaj sekcioj adaptendaj al via projekto estas ``test_script`` kaj " "``after_test``." -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -11655,7 +11643,7 @@ msgstr "" "aŭ :file:`py.test`. Aŭ oni deziras uzi testozorgilon kiel ``tox`` – tamen, " "se oni uzas ``tox``, oni konsideru la ĉi-subajn pliajn ŝanĝojn pri agordoj." -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -11666,7 +11654,7 @@ msgstr "" "wheel tie. Supozante, ke via projekto uzas la rekomendatajn ilojn (specife " "``setuptools``), do la komando ``setup.py bdist_wheel`` konstruos la wheel." -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." @@ -11675,11 +11663,11 @@ msgstr "" "malsukceson de testoj sur Windows, oni povas preterpasi ilin laŭ la maniero " "ĉi-supra." -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "Helpa programeto" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -11691,7 +11679,7 @@ msgstr "" "3.3 kaj 3.4. Tiuj projektoj, kiuj ne bezonas tradukilon aŭ ne subtenas 3.3 " "aŭ 3.4 sur 64-bita Windows, nur bezonas la dosieron :file:`appveyor.yml`." -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -11710,7 +11698,7 @@ msgstr "" "starigas la SDK por 64-bita Python 3.3 or 3.4; tial ne difinu la median " "variablon por alia konstruo." -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." @@ -11718,11 +11706,11 @@ msgstr "" "Vi povas simple elŝuti la ``cmd``-dosieron kaj senŝanĝe inkluzivi ĝin en " "vian projekton." -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "Aliro al la konstruitaj wheel-oj" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -11739,11 +11727,11 @@ msgstr "" "al la wheel-oj por la Python-versio kaj arĥikteturo. Vi povas elŝuti tiujn " "wheel-ojn kaj alŝuti ilin al PyPI dum via eldona procedo." -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "Testado per tox" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " @@ -11753,7 +11741,7 @@ msgstr "" "certigas, ke testoj ruliĝu en izolita medio uzante la ekzaktajn dosierojn " "distribuotajn de la projekto." -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " @@ -11763,7 +11751,7 @@ msgstr "" "problemoj ne estas specifaj al Appveyor kaj povas ekzisti en aliaj sistemoj " "de kontinua integrado)." -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -11774,7 +11762,7 @@ msgstr "" "procezoj. Ĉar ``distutils`` uzas mediajn variablojn por regi la tradukilon, " "tia «testo-izolanta» funkcio kaŭzos miselektadon de tradukilo en testo." -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -11786,23 +11774,23 @@ msgstr "" "mediajn variablojn liverotajn al subprocezo. Por la SDK-tradukilo, oni uzas " "la jenon:" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "``DISTUTILS_USE_SDK``" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "``MSSdk``" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "``INCLUDE``" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "``LIB``" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -11816,15 +11804,24 @@ msgstr "" "programeto :file:`build.cmd` faras tion implicite, se ``DISTUTILS_USE_SDK`` " "ekzistas." -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 +#, fuzzy +#| msgid "" +#| "When used interactively, ``tox`` allows you to run your tests against " +#| "multiple environments (often, this means multiple Python versions). This " +#| "feature is not as useful in a CI environment like Travis or Appveyor, " +#| "where all tests are run in isolated environments for each configuration. " +#| "As a result, projects often supply an argument ``-e ENVNAME`` to ``tox`` " +#| "to specify which environment to use (there are default environments for " +#| "most versions of Python)." msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" "Dum interaga uzado, `` tokso`` ebligas ruli testojn en pluraj medioj (ofte, " "inkluzive de pluraj versioj de Python). Tiu funkcio ne tre utilas en medio " @@ -11833,7 +11830,7 @@ msgstr "" "MEDIO`` al ``tox`` por specifi la uzotan medion (ekzistas aprioraj medioj " "por la plejparto de versioj de Python)." -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" @@ -11843,7 +11840,7 @@ msgstr "" "kiel ekzemple Appveyor, en kiu ekzistas du instaloj de Python 3.4 (32-bita " "kaj 64-bita), sed nur unu medio ``py34`` en ``tox``." -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -11855,7 +11852,7 @@ msgstr "" "certigas, ke kiam Appveyor rulos testojn, ilin interpretos la agordita " "interpretilo." -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -11866,11 +11863,11 @@ msgstr "" "``tox`` eble devas modifi la dosieron :file:`tox.ini`. Tio, tamen, estas " "ekster la temo de ĉi tiu dokumento." -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "Aŭtomate elŝuti wheel" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -11878,7 +11875,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -11890,11 +11887,11 @@ msgstr "" "deziras alŝuti novan wheel post ĉiu enmeto (kvankam kelkaj projektoj fakte " "deziras tion)." -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "Eksteraj dependecoj" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." @@ -11902,7 +11899,7 @@ msgstr "" "La donitaj programetoj sukcese konstruos ĉian ajn distribuon ne dependantan " "de triapartia ekstera biblioteko por la konstruado." -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -11912,15 +11909,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "Helpaj programetoj" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "Por referenco, jen la SDK-stariga helpa programeto:" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "``appveyor-sample/build.cmd``" @@ -17305,10 +17302,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -17412,7 +17410,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "Ekzemplo" @@ -22344,9 +22342,13 @@ msgstr "" "oni povas kompari kun eroj en dosiersistemo, laŭ la jena difino:" #: ../source/specifications/glob-patterns.rst:18 +#, fuzzy +#| msgid "" +#| "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " +#| "(``.``) MUST be matched verbatim." msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" "Literoj, ciferoj, substrekoj (``_``), streketoj (``-``) kaj punktoj (``.``) " "DEVAS prezenti sin laŭlitere." @@ -22443,6 +22445,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "Jen simpla referenca realigo:" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "PyPA-specifoj" @@ -24527,8 +24537,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "**Postulata?**: jes" @@ -24578,18 +24588,18 @@ msgstr "Tipo de TOML_: listo de signoĉenoj" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "**Postulata?**: ne" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -24617,10 +24627,12 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 #, fuzzy #| msgid "TOML_ type: string" msgid "**Type**: string" @@ -24629,9 +24641,9 @@ msgstr "Tipo de TOML_: signoĉeno" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -24685,8 +24697,8 @@ msgid "``dependency-groups``" msgstr "``dependency-groups``" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 #, fuzzy #| msgid ":ref:`pyproject-toml-spec`" msgid "**Inspiration**: :ref:`pyproject-tool-table`" @@ -24774,8 +24786,8 @@ msgstr "``[[packages]]``" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 #, fuzzy #| msgid "TOML_ type: array of strings" msgid "**Type**: array of tables" @@ -24904,9 +24916,9 @@ msgstr "``[packages.vcs]``" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 #, fuzzy #| msgid "TOML_ type: table" msgid "**Type**: table" @@ -25004,11 +25016,13 @@ msgid "The path to the local directory of the source tree." msgstr "La dosierloko de la Python-interpretilo de la baza instalo." #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -25166,7 +25180,7 @@ msgid "``packages.directory.subdirectory``" msgstr "``packages.directory.subdirectory``" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -25175,6 +25189,8 @@ msgid "``[packages.archive]``" msgstr "``[packages.archive]``" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -25206,477 +25222,512 @@ msgstr "" msgid "``packages.archive.url``" msgstr "``packages.archive.url``" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." -msgstr "Vidu :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +#, fuzzy +#| msgid "See :ref:`pylock-packages-archive-path`." +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" +msgstr "Vidu :ref:`pylock-packages-archive-path`." -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +#, fuzzy +#| msgid "The source tree" +msgid "The URL_ to the archive." +msgstr "La fontarbo" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "``packages.archive.path``" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." -msgstr "Vidu :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +#, fuzzy +#| msgid "See :ref:`pylock-packages-archive-url`." +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" +msgstr "Vidu :ref:`pylock-packages-archive-url`." #: ../source/specifications/pylock-toml.rst:466 +#, fuzzy +#| msgid "The name of the project." +msgid "The path to the archive." +msgstr "La nomo de la projekto." + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "``packages.archive.size``" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 #, fuzzy #| msgid "The name of the project." msgid "The size of the archive file." msgstr "La nomo de la projekto." -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "``packages.archive.upload-time``" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 #, fuzzy #| msgid "Where the guide is deployed" msgid "The time the file was uploaded." msgstr "Kie la gvidilo disponiĝas" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "``[packages.archive.hashes]``" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 #, fuzzy #| msgid "TOML_ type: array of strings" msgid "**Type**: Table of strings" msgstr "Tipo de TOML_: listo de signoĉenoj" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "``packages.archive.subdirectory``" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "``packages.index``" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "``[packages.sdist]``" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "``packages.sdist.name``" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "``packages.sdist.upload-time``" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "Vidu :ref:`pylock-packages-archive-upload-time`." -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "``packages.sdist.url``" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "Vidu :ref:`pylock-packages-archive-url`." -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "``packages.sdist.path``" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "Vidu :ref:`pylock-packages-archive-path`." -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "``packages.sdist.size``" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "Vidu :ref:`pylock-packages-archive-size`." -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "``packages.sdist.hashes``" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "Vidu :ref:`pylock-packages-archive-hashes`." -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "``[[packages.wheels]]``" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "``packages.wheels.name``" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "``packages.wheels.upload-time``" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "``packages.wheels.url``" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "``packages.wheels.path``" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "``packages.wheels.size``" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "``packages.wheels.hashes``" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "``[[packages.attestation-identities]]``" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 #, fuzzy #| msgid ":ref:`pyproject-toml-spec`" msgid "**Inspiration**: :ref:`provenance-object`" msgstr ":ref:`pyproject-toml-spec`" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "``packages.attestation-identities.kind``" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "``[packages.tool]``" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "``[tool]``" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "Vidu :ref:`pylock-packages-tool`." -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 #, fuzzy #| msgid "Binary distribution format" msgid ":ref:`Install `." msgstr "Duuma distribua formo" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -25685,43 +25736,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "Aprilo 2025: unua versio, aprobita per :pep:`751`." +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "La dosiero :file:`.pypirc`" @@ -32358,9 +32414,14 @@ msgstr "" "Sekure elŝutu `get-pip.py `_ [1]_" #: ../source/tutorials/installing-packages.rst:139 +#, fuzzy +#| msgid "" +#| "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " +#| "Additionally, it will install :ref:`setuptools` and :ref:`wheel` if " +#| "they're not installed already." msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" "Rulu ``python get-pip.py``. [2]_ Tio instalos aŭ ĝisdatigos pip. Krome, ĝi " @@ -32376,24 +32437,22 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +#, fuzzy +#| msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "Certigu, ke pip, setuptools kaj wheel estas ĝisdataj" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -"Dum ``pip`` sole sufiĉas por instali el antaŭkonstruita duuma arĥivo, " -"ĝisdataj kopioj de la projektoj ``setuptools`` kaj ``wheel`` utilas por " -"instali el fonta arĥivo:" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "Nedevige, kreu virtualan medion" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " @@ -32403,7 +32462,7 @@ msgstr "" "por detaloj, sed jen la baza komando de :doc:`venv ` " "[3]_ por tipa Linux-sistemo:" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " @@ -32412,11 +32471,11 @@ msgstr "" "Tio kreos novan virtualan medion en la subdosierujo ``tutorial_env`` kaj " "igas la aktualan ŝelon uzi ĝin kiel la implicitan ``python``-medion." -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "Krei Virtualajn Mediojn" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -32429,7 +32488,7 @@ msgstr "" "malloke. Se vi volas sekure instali komandlinian ilon, vidu :doc:`/guides/" "installing-stand-alone-command-line-tools`." -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -32442,7 +32501,7 @@ msgstr "" "instalus ĉion en /usr/lib/python3.6/site-packages (aŭ la norma loko por onia " "platformo), oni ofte senintence ĝisdatigus programon ne ĝisdatindan." -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " @@ -32452,7 +32511,7 @@ msgstr "" "programo funkcias, ajna ŝanĝo de ĝiaj bibliotekoj aŭ de la bibliotekaj " "versioj povas misfunkciigi la programon." -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." @@ -32461,7 +32520,7 @@ msgstr "" "Package>` en la tutsisteman dosierujon ``site-packages``? Ekzemple, je " "komuna gastiganto." -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " @@ -32471,13 +32530,13 @@ msgstr "" "instalan dosierujon kaj ne havas bibliotekon komunan kun aliaj virtualaj " "medioj." -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "Aktuale ekzistas du oftaj iloj por krei virtualajn Python-mediojn:" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -32489,7 +32548,7 @@ msgstr "" "3.4 kaj pli novaj (versioj de Python antaŭ 3.12 ankaŭ " "instalis :ref:`setuptools`)." -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -32502,19 +32561,19 @@ msgstr "" "en la kreitan virtualan medion apriore. Notu, ke ``setuptools`` ne plu estas " "inkluzivita apriore ekde Python 3.12 (kaj ``virtualenv`` sekvas tion)." -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "Jen la baza uzmaniero:" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "Uzi :doc:`venv `:" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "Uzi :ref:`virtualenv`:" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." @@ -32522,7 +32581,7 @@ msgstr "" "Plir pliaj informoj, vidu la dokumentaron pri :doc:`venv ` aŭ la dokumentaron pri :doc:`virtualenv `." -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " @@ -32532,7 +32591,7 @@ msgstr "" "virtuala medio estas agorditaj ene de la aktuala ŝelo kaj ne en subprocezo " "(kiu poste malaperos kaj estos efikinte neniel)." -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " @@ -32542,7 +32601,7 @@ msgstr "" "komandon :command:`source`, sed preferu ruli la " "programeton :command:`activate` rekte en la komanda ŝelo jene:" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -32554,11 +32613,11 @@ msgstr "" "plialtnivelan ilon :ref:`Pipenv`, kiu aŭtomate administras po unu aparta " "virtuala medio por ĉiu projekto aŭ programo evoluigata de vi." -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "Uzu pip por instali" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " @@ -32569,11 +32628,11 @@ msgstr "" "`, kiu inkluzivas plenan :doc:`Referencan Gvidilon `." -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "Instali el PyPI" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -32590,20 +32649,20 @@ msgstr "" "Plena priskribo de la permesataj specifiloj troviĝas en la :ref:`Normo pri " "versio-specifiloj `. Jen kelkaj ekzemploj." -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "Por instali la plej novan version de «SomeProject»:" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "Por instali specifan version:" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" "Por instali version ne malpli novan ol unu version kaj malpli novan ol alian:" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" @@ -32611,7 +32670,7 @@ msgstr "" "Por instali version :ref:`kongruan ` " "kun iu versio: [4]_" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." @@ -32619,11 +32678,11 @@ msgstr "" "Tiukaze, tio signifas instali ajnan version «==1.4.*» ankaŭ plenumantan " "«>=1.4.2»." -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "Fonto-Distribuoj kontraste kun Wheel-oj" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -32637,7 +32696,7 @@ msgstr "" "aprioran konduton de pip per la flago :ref:`--no-binary `." -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -32649,7 +32708,7 @@ msgstr "" "`, speciale por projekto enhavanta " "tradukitan etendaĵon." -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " @@ -32658,15 +32717,15 @@ msgstr "" "Se :ref:`pip` ne trovas instalotan wheel, ĝi loke konstruos wheel kaj " "enkaŝmemorigi ĝin por estonteco anstataŭ rekonstruado de la fonta distribuo." -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "Ĝisdatigi jam instalitan ``SomeProject`` al la plej nova ĉe PyPI." -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "Instali al la Loko de la Uzanto" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" @@ -32674,7 +32733,7 @@ msgstr "" "Por instali :term:`pakojn ` izolitajn al la aktuala " "uzanto, uzu la flagon ``--user``:" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." @@ -32682,7 +32741,7 @@ msgstr "" "Por pli da informoj, vidu la paragrafon `User Installs `_ de la dokumentaro de pip." -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." @@ -32690,7 +32749,7 @@ msgstr "" "Notu, ke la flago ``-user`` havas neniun efikon ene de virtuala medio – ĉiaj " "instalaj komandoj ŝanĝos la virtualan medion." -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -32701,7 +32760,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -32716,7 +32775,7 @@ msgstr "" "al via ``PATH ``. Vi povas fiksi vian ``PATH`` `modifante ~/.profile " "`_." -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -32736,7 +32795,7 @@ msgstr "" "sian ``PATH`` malprovizore en la `Stirpanelo `_. Oni eble " "devas adiaŭi por efektivigi la ŝanĝojn pri ``PATH``." -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." @@ -32744,11 +32803,11 @@ msgstr "" "Instali liston de postuloj en :ref:`Postulo-Dosiero `." -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "Instali el Versikontrola Sistemo" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." @@ -32757,15 +32816,15 @@ msgstr "" "plenaj detaloj de la sintakso, vidu la dokumentaron de pip pri :ref:`Subteno " "de Versikontrola Sistemo `." -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "Instali el aliaj Indeksoj" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "Instali el alternativa indekso" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" @@ -32773,11 +32832,11 @@ msgstr "" "Dum instalado serĉi plian indekson kune kun :term:`PyPI `" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "Instali el loka fonta arbo" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " @@ -32787,19 +32846,19 @@ msgstr "" "development_mode>`, tiel ke la projekto estas instalita sed tamen modifebla " "ĉe la fontarbo." -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "Vi ankaŭ povas instali ordinare el fonto" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "Instali el loka arĥivo" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "Instali specifan fontan arĥivan dosieron." -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" @@ -32807,11 +32866,11 @@ msgstr "" "Instali el loka dosierujo enhavanta arĥivojn (kaj ne kontroli :term:`PyPI " "`)" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "Instali el aliaj fontoj" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -32823,11 +32882,11 @@ msgstr "" "deponeja API `:, kaj uzi la flagon ``--extra-index-" "url`` igante pip uzi tiun indekson." -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "Instali Antaŭeldonojn" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." @@ -32835,11 +32894,11 @@ msgstr "" "Trovi antaŭeldonajn kaj evoluadajn versiojn, aldone al stabilaj versioj. " "Apriore, pip nur trovas stabilajn versiojn." -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "Instali «Ekstraĵojn»" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -32851,7 +32910,7 @@ msgstr "" "instali ekstraĵon por pako, kiu havas ekstraĵon, oni povas inkluzivi ĝin en " "la instalokomandon de pip:" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " @@ -32861,7 +32920,7 @@ msgstr "" "kiel :command:`curl` kiu konfirmas SSL-atestilojn dum elŝutado el ``https``-" "retadresoj." -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" @@ -32871,7 +32930,7 @@ msgstr "" "biblioteko) kreas virtualan medion kun antaŭinstalita ``pip``, simile " "al :ref:`virtualenv`." -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" @@ -33862,6 +33921,48 @@ msgstr "" "komencanto pri Python-pakado, recomendate estas nur uzi *ordinarajn pakojn* " "kaj ``__init__.py`` (eĉ se tiu dosiero estas malplena)." +#~ msgid "" +#~ "While ``pip`` alone is sufficient to install from pre-built binary " +#~ "archives, up to date copies of the ``setuptools`` and ``wheel`` projects " +#~ "are useful to ensure you can also install from source archives:" +#~ msgstr "" +#~ "Dum ``pip`` sole sufiĉas por instali el antaŭkonstruita duuma arĥivo, " +#~ "ĝisdataj kopioj de la projektoj ``setuptools`` kaj ``wheel`` utilas por " +#~ "instali el fonta arĥivo:" + +#, fuzzy +#~| msgid "" +#~| "`Travis CI `_ provides both a Linux and a macOS " +#~| "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " +#~| "bit while the macOS is 10.9.2 at the time of writing." +#~ msgid "" +#~ "`Travis CI `_ provides both a Linux and a macOS " +#~ "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " +#~ "bit while the macOS is 10.9.2 at the time of writing." +#~ msgstr "" +#~ "`Travis CI `_ provizas kaj Linux-an kaj macOS-an " +#~ "mediojn. La medio Linux estis Ubuntu 12.04 LTS Servila Eldono 64-bita, " +#~ "dum la medio macOS estis 10.9.2, kiam ĉi tiu dokumento estis verkita." + +#~ msgid "" +#~ "The Appveyor service is a continuous integration service, much like the " +#~ "better-known `Travis`_ service that is commonly used for testing by " +#~ "projects hosted on `GitHub`_. However, unlike Travis, the build workers " +#~ "on Appveyor are Windows hosts and have the necessary compilers installed " +#~ "to build Python extensions." +#~ msgstr "" +#~ "La servo Appveyor estas servo por kontinua integrado simile al la pli " +#~ "bone konata servo `Travis`_ ofte uzata por testado de projektoj sur " +#~ "`GitHub`_. Tamen, malkiel Travis, la konstruaj procezoj sur Appveyor " +#~ "gastigas Windows kaj havas taŭgajn tradukilojn por konstrui Python-" +#~ "etendaĵojn." + +#~ msgid "See :ref:`pylock-packages-vcs-url`." +#~ msgstr "Vidu :ref:`pylock-packages-vcs-url`." + +#~ msgid "See :ref:`pylock-packages-vcs-path`." +#~ msgstr "Vidu :ref:`pylock-packages-vcs-path`." + #~ msgid "" #~ "This specification was originally defined in :pep:`518` and :pep:`621`." #~ msgstr "" diff --git a/locales/es/LC_MESSAGES/messages.po b/locales/es/LC_MESSAGES/messages.po index c146aa8ea..90fd6a4f9 100644 --- a/locales/es/LC_MESSAGES/messages.po +++ b/locales/es/LC_MESSAGES/messages.po @@ -17,7 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-12-12 01:00+0000\n" "Last-Translator: Joseph Hale \n" "Language-Team: Spanish `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -9200,7 +9199,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -9209,15 +9208,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -9227,7 +9226,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -9236,11 +9235,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -9276,15 +9275,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -9293,11 +9283,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -9305,25 +9295,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -9331,7 +9320,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -9342,24 +9331,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9370,7 +9359,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9379,19 +9368,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9403,7 +9392,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9411,17 +9400,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9429,7 +9418,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9441,17 +9430,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9462,25 +9451,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9488,7 +9477,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9496,23 +9485,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9521,25 +9510,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9547,7 +9536,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9555,11 +9544,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9567,7 +9556,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9575,17 +9564,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "Dependencias externas" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9595,15 +9584,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "Secuencias de apoyo" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13905,10 +13894,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13994,7 +13984,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 #, fuzzy msgid "Example" msgstr "Ejemplos" @@ -18059,8 +18049,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -18141,6 +18131,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "Especificaciones de PyPA" @@ -19822,8 +19820,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 #, fuzzy msgid "**Required?**: yes" msgstr "Archivo de requisitos" @@ -19873,18 +19871,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19912,19 +19910,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19979,8 +19979,8 @@ msgid "``dependency-groups``" msgstr "Dependencias externas" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 #, fuzzy msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "Nombre de proyecto" @@ -20069,8 +20069,8 @@ msgstr "empaquetado" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -20187,9 +20187,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -20280,11 +20280,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -20429,7 +20431,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -20438,6 +20440,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20469,472 +20473,499 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 #, fuzzy #| msgid "Where the guide is deployed" msgid "The time the file was uploaded." msgstr "A dónde es desplegada la guía" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 #, fuzzy #| msgid "Package Index" msgid "``packages.index``" msgstr "Índice de paquetes" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 #, fuzzy msgid "**Inspiration**: :ref:`provenance-object`" msgstr "Nombre de proyecto" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20943,43 +20974,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "El archivo :file:`.pypirc`" @@ -26242,7 +26278,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -26256,39 +26292,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "Facultativamente, cree un entorno virtual" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -26297,7 +26332,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -26306,33 +26341,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -26340,7 +26375,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -26349,39 +26384,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -26389,22 +26424,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "Instalación a partir de PyPI" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -26415,35 +26450,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "Para instalar una versión específica:" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -26452,7 +26487,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -26460,40 +26495,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -26504,7 +26539,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -26513,7 +26548,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26525,70 +26560,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "Instalación a partir de un sistema de control de versiones" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "Instalación a partir de otros índices" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "Instalación a partir de un índice alternativo" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "Instalación a partir de otras fuentes" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26596,21 +26631,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "Instalando \"Extras\"" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26618,21 +26653,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/fa/LC_MESSAGES/messages.po b/locales/fa/LC_MESSAGES/messages.po index 5e032a89d..cf092676a 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2023-02-15 07:52+0000\n" "Last-Translator: Arsalan Dehghani \n" "Language-Team: Persian `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8819,7 +8818,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8828,15 +8827,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8846,7 +8845,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8855,11 +8854,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8895,15 +8894,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8912,11 +8902,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8924,25 +8914,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8950,7 +8939,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8961,24 +8950,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8989,7 +8978,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8998,19 +8987,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9022,7 +9011,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9030,17 +9019,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9048,7 +9037,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9060,17 +9049,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9081,25 +9070,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9107,7 +9096,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9115,23 +9104,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9140,25 +9129,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9166,7 +9155,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9174,11 +9163,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9186,7 +9175,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9194,17 +9183,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9214,15 +9203,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13495,10 +13484,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13584,7 +13574,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17620,8 +17610,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17701,6 +17691,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19371,8 +19369,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19420,18 +19418,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19459,19 +19457,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19525,8 +19525,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19608,8 +19608,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19724,9 +19724,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19816,11 +19816,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19965,7 +19967,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19974,6 +19976,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20005,467 +20009,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20474,43 +20505,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25723,7 +25759,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25737,39 +25773,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25778,7 +25813,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25787,33 +25822,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25821,7 +25856,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25830,39 +25865,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25870,22 +25905,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25896,35 +25931,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25933,7 +25968,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25941,40 +25976,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25985,7 +26020,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25994,7 +26029,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26006,70 +26041,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26077,21 +26112,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26099,21 +26134,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/fil/LC_MESSAGES/messages.po b/locales/fil/LC_MESSAGES/messages.po index e851b4f09..6bdff4b6e 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2022-11-19 08:28+0000\n" "Last-Translator: RedFurrFox \n" "Language-Team: Filipino `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8801,7 +8800,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8810,15 +8809,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8828,7 +8827,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8837,11 +8836,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8877,15 +8876,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8894,11 +8884,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8906,25 +8896,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8932,7 +8921,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8943,24 +8932,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8971,7 +8960,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8980,19 +8969,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9004,7 +8993,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9012,17 +9001,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9030,7 +9019,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9042,17 +9031,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9063,25 +9052,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9089,7 +9078,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9097,23 +9086,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9122,25 +9111,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9148,7 +9137,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9156,11 +9145,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9168,7 +9157,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9176,17 +9165,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9196,15 +9185,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13473,10 +13462,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13562,7 +13552,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17588,8 +17578,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17669,6 +17659,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19331,8 +19329,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19380,18 +19378,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19419,19 +19417,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19485,8 +19485,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19568,8 +19568,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19682,9 +19682,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19774,11 +19774,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19923,7 +19925,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19932,6 +19934,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19963,467 +19967,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20432,43 +20463,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25666,7 +25702,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25680,39 +25716,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25721,7 +25756,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25730,33 +25765,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25764,7 +25799,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25773,39 +25808,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25813,22 +25848,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25839,35 +25874,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25876,7 +25911,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25884,40 +25919,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25928,7 +25963,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25937,7 +25972,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25949,70 +25984,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26020,21 +26055,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26042,21 +26077,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/fr/LC_MESSAGES/messages.po b/locales/fr/LC_MESSAGES/messages.po index 836200722..7e035cde1 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2026-01-20 00:01+0000\n" "Last-Translator: Nathan \n" "Language-Team: French `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -9040,7 +9039,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -9049,15 +9048,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -9067,7 +9066,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -9076,11 +9075,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -9116,15 +9115,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -9133,11 +9123,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "Configuration" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -9145,25 +9135,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -9171,7 +9160,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -9182,24 +9171,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "appveyor.yml" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9210,7 +9199,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9219,19 +9208,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9243,7 +9232,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9251,17 +9240,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "Script d'aide" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9269,7 +9258,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9281,17 +9270,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9302,25 +9291,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9328,7 +9317,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9336,23 +9325,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "``DISTUTILS_USE_SDK``" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "``MSSdk``" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "``INCLUDE``" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "``LIB``" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9361,25 +9350,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9387,7 +9376,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9395,11 +9384,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9407,7 +9396,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9415,17 +9404,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "Dépendances externes" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9435,15 +9424,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "Scripts d'aide" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "``appveyor-sample/build.cmd``" @@ -13865,10 +13854,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13958,7 +13948,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "Exemple" @@ -18063,8 +18053,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -18145,6 +18135,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19894,8 +19892,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 #, fuzzy #| msgid "Requires" msgid "**Required?**: yes" @@ -19947,18 +19945,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19986,19 +19984,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -20054,8 +20054,8 @@ msgid "``dependency-groups``" msgstr "``dependencies``" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 #, fuzzy msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "pyproject.toml" @@ -20140,8 +20140,8 @@ msgstr "``packages``" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -20267,9 +20267,9 @@ msgstr "``packages``" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -20365,11 +20365,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -20520,7 +20522,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -20531,6 +20533,8 @@ msgid "``[packages.archive]``" msgstr "``packages``" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20564,504 +20568,531 @@ msgstr "" msgid "``packages.archive.url``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 #, fuzzy #| msgid "``packages``" msgid "``packages.archive.path``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 #, fuzzy #| msgid "``packages``" msgid "``packages.archive.size``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 #, fuzzy #| msgid "Where the guide is deployed" msgid "The time the file was uploaded." msgstr "Où le guide est-il déployé ?" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 #, fuzzy #| msgid "``packages``" msgid "``packages.index``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 #, fuzzy #| msgid "``packages``" msgid "``[packages.sdist]``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.name``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.upload-time``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 #, fuzzy #| msgid "``packages``" msgid "``packages.sdist.url``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.path``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 #, fuzzy #| msgid "``packages``" msgid "``packages.sdist.size``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.hashes``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 #, fuzzy #| msgid "``packages``" msgid "``[[packages.wheels]]``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.name``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.url``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.path``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.size``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.hashes``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 #, fuzzy msgid "**Inspiration**: :ref:`provenance-object`" msgstr "pyproject.toml" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 #, fuzzy #| msgid "``packages``" msgid "``[packages.tool]``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -21070,43 +21101,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -26353,7 +26389,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -26367,39 +26403,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -26408,7 +26443,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -26417,33 +26452,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -26451,7 +26486,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -26460,39 +26495,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -26500,22 +26535,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -26526,35 +26561,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -26563,7 +26598,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -26571,40 +26606,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -26615,7 +26650,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -26624,7 +26659,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26636,70 +26671,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26707,22 +26742,22 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 #, fuzzy msgid "Installing \"Extras\"" msgstr "Format d'installation" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26730,21 +26765,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/frc/LC_MESSAGES/messages.po b/locales/frc/LC_MESSAGES/messages.po index c78eb9324..e6ca09ed8 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1524,7 +1524,7 @@ msgid "" msgstr "" #: ../source/discussions/install-requires-vs-requirements.rst:62 -#: ../source/tutorials/installing-packages.rst:464 +#: ../source/tutorials/installing-packages.rst:463 msgid "Requirements files" msgstr "" @@ -5356,7 +5356,7 @@ msgid "" msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:589 -#: ../source/tutorials/installing-packages.rst:670 +#: ../source/tutorials/installing-packages.rst:669 msgid "" "Depending on your platform, this may require root or Administrator " "access. :ref:`pip` is currently considering changing this by `making user " @@ -5609,7 +5609,7 @@ msgstr "" #: ../source/guides/hosting-your-own-index.rst:65 #: ../source/guides/index-mirrors-and-caches.rst:56 -#: ../source/guides/supporting-windows-using-appveyor.rst:146 +#: ../source/guides/supporting-windows-using-appveyor.rst:139 msgid "Additional notes" msgstr "" @@ -6621,7 +6621,7 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:434 -#: ../source/tutorials/installing-packages.rst:393 +#: ../source/tutorials/installing-packages.rst:392 msgid "Upgrading packages" msgstr "" @@ -8684,7 +8684,7 @@ msgid "Hosting" msgstr "" #: ../source/guides/section-install.rst:3 -#: ../source/specifications/pylock-toml.rst:729 +#: ../source/specifications/pylock-toml.rst:744 msgid "Installation" msgstr "" @@ -8755,35 +8755,34 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:65 msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8795,7 +8794,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8804,15 +8803,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8822,7 +8821,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8831,11 +8830,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8871,15 +8870,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8888,11 +8878,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8900,25 +8890,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8926,7 +8915,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8937,24 +8926,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8965,7 +8954,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8974,19 +8963,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -8998,7 +8987,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9006,17 +8995,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9024,7 +9013,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9036,17 +9025,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9057,25 +9046,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9083,7 +9072,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9091,23 +9080,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9116,25 +9105,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9142,7 +9131,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9150,11 +9139,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9162,7 +9151,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9170,17 +9159,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9190,15 +9179,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13467,10 +13456,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13556,7 +13546,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17582,8 +17572,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17663,6 +17653,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19325,8 +19323,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19374,18 +19372,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19413,19 +19411,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19479,8 +19479,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19562,8 +19562,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19676,9 +19676,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19768,11 +19768,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19917,7 +19919,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19926,6 +19928,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19957,467 +19961,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20426,43 +20457,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25660,7 +25696,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25674,39 +25710,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25715,7 +25750,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25724,33 +25759,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25758,7 +25793,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25767,39 +25802,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25807,22 +25842,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25833,35 +25868,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25870,7 +25905,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25878,40 +25913,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25922,7 +25957,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25931,7 +25966,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25943,70 +25978,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26014,21 +26049,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26036,21 +26071,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/gl/LC_MESSAGES/messages.po b/locales/gl/LC_MESSAGES/messages.po index d8e81abc8..0cc2e06e1 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1524,7 +1524,7 @@ msgid "" msgstr "" #: ../source/discussions/install-requires-vs-requirements.rst:62 -#: ../source/tutorials/installing-packages.rst:464 +#: ../source/tutorials/installing-packages.rst:463 msgid "Requirements files" msgstr "" @@ -5356,7 +5356,7 @@ msgid "" msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:589 -#: ../source/tutorials/installing-packages.rst:670 +#: ../source/tutorials/installing-packages.rst:669 msgid "" "Depending on your platform, this may require root or Administrator " "access. :ref:`pip` is currently considering changing this by `making user " @@ -5609,7 +5609,7 @@ msgstr "" #: ../source/guides/hosting-your-own-index.rst:65 #: ../source/guides/index-mirrors-and-caches.rst:56 -#: ../source/guides/supporting-windows-using-appveyor.rst:146 +#: ../source/guides/supporting-windows-using-appveyor.rst:139 msgid "Additional notes" msgstr "" @@ -6621,7 +6621,7 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:434 -#: ../source/tutorials/installing-packages.rst:393 +#: ../source/tutorials/installing-packages.rst:392 msgid "Upgrading packages" msgstr "" @@ -8684,7 +8684,7 @@ msgid "Hosting" msgstr "" #: ../source/guides/section-install.rst:3 -#: ../source/specifications/pylock-toml.rst:729 +#: ../source/specifications/pylock-toml.rst:744 msgid "Installation" msgstr "" @@ -8755,35 +8755,34 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:65 msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8795,7 +8794,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8804,15 +8803,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8822,7 +8821,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8831,11 +8830,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8871,15 +8870,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8888,11 +8878,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8900,25 +8890,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8926,7 +8915,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8937,24 +8926,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8965,7 +8954,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8974,19 +8963,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -8998,7 +8987,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9006,17 +8995,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9024,7 +9013,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9036,17 +9025,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9057,25 +9046,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9083,7 +9072,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9091,23 +9080,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9116,25 +9105,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9142,7 +9131,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9150,11 +9139,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9162,7 +9151,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9170,17 +9159,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9190,15 +9179,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13467,10 +13456,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13556,7 +13546,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17582,8 +17572,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17663,6 +17653,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19325,8 +19323,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19374,18 +19372,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19413,19 +19411,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19479,8 +19479,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19562,8 +19562,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19676,9 +19676,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19768,11 +19768,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19917,7 +19919,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19926,6 +19928,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19957,467 +19961,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20426,43 +20457,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25660,7 +25696,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25674,39 +25710,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25715,7 +25750,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25724,33 +25759,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25758,7 +25793,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25767,39 +25802,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25807,22 +25842,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25833,35 +25868,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25870,7 +25905,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25878,40 +25913,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25922,7 +25957,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25931,7 +25966,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25943,70 +25978,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26014,21 +26049,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26036,21 +26071,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/gmh/LC_MESSAGES/messages.po b/locales/gmh/LC_MESSAGES/messages.po index f65e599ab..14224cd98 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1524,7 +1524,7 @@ msgid "" msgstr "" #: ../source/discussions/install-requires-vs-requirements.rst:62 -#: ../source/tutorials/installing-packages.rst:464 +#: ../source/tutorials/installing-packages.rst:463 msgid "Requirements files" msgstr "" @@ -5356,7 +5356,7 @@ msgid "" msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:589 -#: ../source/tutorials/installing-packages.rst:670 +#: ../source/tutorials/installing-packages.rst:669 msgid "" "Depending on your platform, this may require root or Administrator " "access. :ref:`pip` is currently considering changing this by `making user " @@ -5609,7 +5609,7 @@ msgstr "" #: ../source/guides/hosting-your-own-index.rst:65 #: ../source/guides/index-mirrors-and-caches.rst:56 -#: ../source/guides/supporting-windows-using-appveyor.rst:146 +#: ../source/guides/supporting-windows-using-appveyor.rst:139 msgid "Additional notes" msgstr "" @@ -6621,7 +6621,7 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:434 -#: ../source/tutorials/installing-packages.rst:393 +#: ../source/tutorials/installing-packages.rst:392 msgid "Upgrading packages" msgstr "" @@ -8684,7 +8684,7 @@ msgid "Hosting" msgstr "" #: ../source/guides/section-install.rst:3 -#: ../source/specifications/pylock-toml.rst:729 +#: ../source/specifications/pylock-toml.rst:744 msgid "Installation" msgstr "" @@ -8755,35 +8755,34 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:65 msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8795,7 +8794,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8804,15 +8803,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8822,7 +8821,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8831,11 +8830,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8871,15 +8870,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8888,11 +8878,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8900,25 +8890,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8926,7 +8915,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8937,24 +8926,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8965,7 +8954,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8974,19 +8963,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -8998,7 +8987,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9006,17 +8995,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9024,7 +9013,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9036,17 +9025,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9057,25 +9046,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9083,7 +9072,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9091,23 +9080,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9116,25 +9105,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9142,7 +9131,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9150,11 +9139,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9162,7 +9151,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9170,17 +9159,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9190,15 +9179,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13467,10 +13456,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13556,7 +13546,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17582,8 +17572,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17663,6 +17653,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19325,8 +19323,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19374,18 +19372,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19413,19 +19411,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19479,8 +19479,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19562,8 +19562,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19676,9 +19676,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19768,11 +19768,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19917,7 +19919,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19926,6 +19928,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19957,467 +19961,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20426,43 +20457,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25660,7 +25696,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25674,39 +25710,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25715,7 +25750,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25724,33 +25759,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25758,7 +25793,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25767,39 +25802,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25807,22 +25842,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25833,35 +25868,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25870,7 +25905,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25878,40 +25913,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25922,7 +25957,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25931,7 +25966,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25943,70 +25978,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26014,21 +26049,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26036,21 +26071,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/hi/LC_MESSAGES/messages.po b/locales/hi/LC_MESSAGES/messages.po index 3ef5f19e7..249a4e5a9 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2024-09-16 10:09+0000\n" "Last-Translator: kumar Shivam \n" "Language-Team: Hindi `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8851,7 +8850,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8860,15 +8859,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8878,7 +8877,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8887,11 +8886,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8927,15 +8926,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8944,11 +8934,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8956,25 +8946,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8982,7 +8971,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8993,24 +8982,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9021,7 +9010,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9030,19 +9019,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9054,7 +9043,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9062,17 +9051,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9080,7 +9069,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9092,17 +9081,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9113,25 +9102,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9139,7 +9128,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9147,23 +9136,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9172,25 +9161,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9198,7 +9187,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9206,11 +9195,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9218,7 +9207,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9226,17 +9215,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9246,15 +9235,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13527,10 +13516,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13616,7 +13606,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17653,8 +17643,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17734,6 +17724,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19401,8 +19399,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19450,18 +19448,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19489,19 +19487,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19555,8 +19555,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 #, fuzzy #| msgid "Project name" msgid "**Inspiration**: :ref:`pyproject-tool-table`" @@ -19640,8 +19640,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19757,9 +19757,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19849,11 +19849,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19998,7 +20000,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -20007,6 +20009,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20038,469 +20042,496 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 #, fuzzy #| msgid "Project name" msgid "**Inspiration**: :ref:`provenance-object`" msgstr "परियोजना" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20509,43 +20540,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25751,7 +25787,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25765,39 +25801,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25806,7 +25841,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25815,33 +25850,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25849,7 +25884,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25858,39 +25893,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25898,22 +25933,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25924,35 +25959,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25961,7 +25996,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25969,40 +26004,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -26013,7 +26048,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -26022,7 +26057,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26034,70 +26069,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26105,21 +26140,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26127,21 +26162,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/id/LC_MESSAGES/messages.po b/locales/id/LC_MESSAGES/messages.po index b06586903..d24e90e59 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2024-10-17 21:16+0000\n" "Last-Translator: oon arfiandwi \n" "Language-Team: Indonesian `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8855,7 +8854,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8864,15 +8863,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8882,7 +8881,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8891,11 +8890,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8931,15 +8930,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8948,11 +8938,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8960,25 +8950,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8986,7 +8975,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8997,24 +8986,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9025,7 +9014,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9034,19 +9023,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9058,7 +9047,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9066,17 +9055,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9084,7 +9073,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9096,17 +9085,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9117,25 +9106,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9143,7 +9132,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9151,23 +9140,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9176,25 +9165,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9202,7 +9191,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9210,11 +9199,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9222,7 +9211,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9230,17 +9219,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9250,15 +9239,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13531,10 +13520,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13620,7 +13610,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17658,8 +17648,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17741,6 +17731,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19411,8 +19409,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19460,18 +19458,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19499,19 +19497,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19565,8 +19565,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19648,8 +19648,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19764,9 +19764,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19856,11 +19856,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -20005,7 +20007,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -20014,6 +20016,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20045,467 +20049,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20514,43 +20545,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25763,7 +25799,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25777,39 +25813,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25818,7 +25853,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25827,33 +25862,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25861,7 +25896,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25870,39 +25905,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25910,22 +25945,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25936,35 +25971,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25973,7 +26008,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25981,40 +26016,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -26025,7 +26060,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -26034,7 +26069,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26046,70 +26081,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26117,21 +26152,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26139,21 +26174,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/ja/LC_MESSAGES/messages.po b/locales/ja/LC_MESSAGES/messages.po index d79849b73..bcdc5274c 100644 --- a/locales/ja/LC_MESSAGES/messages.po +++ b/locales/ja/LC_MESSAGES/messages.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-05 06:32+0000\n" -"PO-Revision-Date: 2026-03-12 08:09+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" +"PO-Revision-Date: 2026-04-17 11:08+0000\n" "Last-Translator: moto kawasaki \n" "Language-Team: Japanese \n" @@ -22,7 +22,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.17-dev\n" +"X-Generator: Weblate 5.17.1-dev\n" #: ../source/contribute.rst:5 msgid "Contribute to this guide" @@ -104,7 +104,7 @@ msgstr "" "チュートリアルは目標を達成することで読者に新しい概念を教えることに注力してい" "ます。こうするべきだという意見に従ったステップバイステップのガイドになってい" "ます。大筋に無関係な警告や情報は省略されています。 `example tutorial-style " -"document`_ 。" +"document>`_ 。" #: ../source/contribute.rst:51 ../source/guides/index.rst:2 #: ../source/index.rst:69 @@ -261,9 +261,9 @@ msgid "" "system." msgstr "" "Python 3.11。我々のビルドスクリプトは、通常、Python 3.11でのみ試験されてい" -"る。あなたの使っているOSにPython 3.11をインストールする方法について" -"は、 :doc:`Python のインストール指南のためのヒッチハッカーズガイド ` を見てほしい。" +"る。あなたの使っているオペレーティングシステムにPython 3.11をインストールする" +"方法については、 :doc:`Python のインストール指南のためのヒッチハッカーズガイ" +"ド ` を見てほしい。" #: ../source/contribute.rst:140 msgid "" @@ -1233,11 +1233,11 @@ msgid "" "documentation, and any other files that may be useful to end users, such as " "shell completions, editor support files, and so on." msgstr "" -"理想的には、 ** PyPI上で公開されたソースコード配布物のアーカイブには、その" -"パッケージの Git リポジトリのファイルを全て含み ** 、それらのファイル群から" -"パッケージ自体をビルドし、テストスイートを走らせ、説明文書をインストールする" -"ために必要なファイルや、シェル補完やエディタ用のサポートファイルなどエンド" -"ユーザにとって役に立つかもしれない他のファイルを全て含めるべきです。" +"理想的には、**PyPI上で公開されたソースコード配布物のアーカイブには、そのパッ" +"ケージの Git リポジトリのファイルを全て含み** 、それらのファイル群からパッ" +"ケージ自体をビルドし、テストスイートを走らせ、説明文書をインストールするため" +"に必要なファイルや、シェル補完やエディタ用のサポートファイルなどエンドユーザ" +"にとって役に立つかもしれない他のファイルを全て含めるべきです。" #: ../source/discussions/downstream-packaging.rst:107 msgid "" @@ -1287,14 +1287,14 @@ msgid "" "split to cryptography-vectors_ package." msgstr "" "他方で、(例えば NumPy_ のような) いくつかのプロジェクトでは、そのインストール" -"パッケージの中にテストスイートを同梱することに決めたものがあります。これに" -"よって、そのようなパッケージをインストールした後に、例えば依存先のパッケージ" -"をアップグレードした後にリグレッション (退行)がないかどうかの確認を行うため" -"に、ユーザがテストスイートを走らせることを許すという利点を追加することができ" -"ます。さらに別のやり方としては、テストスイートやテストデータを別の Python " -"パッケージに分割する方法があります。そのような方法は、巨大なテストベクトルを " -"cryptography-vectors_package に分離する形で、 cryptography_project で採用され" -"ています。" +"パッケージの中にテストを同梱することに決めたものがあります。これによって、そ" +"のようなパッケージをインストールした後に、例えば依存先のパッケージをアップグ" +"レードした後にリグレッション (退行)がないかどうかの確認を行うために、ユーザが" +"テストスイートを走らせることを許すという利点を追加することができます。さらに" +"別のやり方としては、テストスイートやテストデータを別の Python パッケージに分" +"割する方法があります。そのような方法は、巨大なテストベクトルを cryptography-" +"vectors_ パッケージに分離する形で、 cryptography_ パッケージで採用されていま" +"す。" #: ../source/discussions/downstream-packaging.rst:132 msgid "" @@ -2140,7 +2140,7 @@ msgstr "" "[1]_" #: ../source/discussions/install-requires-vs-requirements.rst:62 -#: ../source/tutorials/installing-packages.rst:464 +#: ../source/tutorials/installing-packages.rst:463 msgid "Requirements files" msgstr "Requirementsファイル" @@ -2182,10 +2182,10 @@ msgid "" "\"Concrete\", i.e. associated with a particular index or directory of " "packages. [1]_" msgstr "" -"``install_requires``での要求事項が「要約」、すなわち特定の索引には紐づけられ" -"ていないのに対して、requirementsファイルではしばしば``--index-url``や``--" -"find-links``のようなpipのオプションが含まれていて特定の索引やパッケージ登録簿" -"に紐づけられた「具体的な」要求事項になっています。[1]_" +"``install_requires`` での要求事項が「要約」、すなわち特定の索引には紐づけられ" +"ていないのに対して、requirementsファイルではしばしば ``--index-url`` や ``--" +"find-links`` のような pip のオプションが含まれていて特定の索引やパッケージ登" +"録簿に紐づけられた「具体的な」要求事項になっています。 [1]_" #: ../source/discussions/install-requires-vs-requirements.rst:82 msgid "" @@ -2193,9 +2193,9 @@ msgid "" "during an install, requirements files are not, and only are used when a user " "specifically installs them using ``python -m pip install -r``." msgstr "" -"``install_requires``では、メタデータがインストール中にpipによって自動的に解析" -"される一方、requirementsファイルではそうではなく、``python -m pip install " -"-r``を使ってユーザが明示的にインストールする時に使われるだけです。" +"``install_requires`` では、メタデータがインストール中にpipによって自動的に解" +"析される一方、requirementsファイルではそうではなく、 ``python -m pip install " +"-r`` を使ってユーザが明示的にインストールする時に使われるだけです。" #: ../source/discussions/install-requires-vs-requirements.rst:88 msgid "" @@ -2229,14 +2229,14 @@ msgid "" "always upload both an sdist and one or more wheel." msgstr "" "PyPI_ のようなパッケージインデックス上には、2種類のフォーマットが見つかるこ" -"とでしょう: **ソースコード配布物 ** 、短縮形で " -"**sdists**と呼ばれるものと **バイナリ配布物 ** 、普通" -"は **wheels** を呼ばれるものです。例えば、 `pip 23.3.1 用の PyPI ページ `_ では、 ``pip-23.3.1.tar.gz`` と ``pip-23.3.1-py3-none-any.whl`` の二" -"つのファイルをダウンロードすることができます。前者は sdist であり、後者は " -"wheel です。下で説明するように、これらは異なった目的のために提供されていま" -"す。 PyPI (にせよ他のどこかにせよ) パッケージを公開する時は、常に sdist とひ" -"とつまたは複数の wheel の両方をアップロードするべきです。" +"とでしょう: 短く **sdists** とも呼ばれる **ソースコード配布物 ** と、普通は **wheels** と呼ばれる **バイナリ配布物 ** です。例えば、 `pip 23.3.1 用の PyPI ページ `_ で" +"は、 ``pip-23.3.1.tar.gz`` と ``pip-23.3.1-py3-none-any.whl`` の二つのファイ" +"ルをダウンロードすることができます。前者は sdist であり、後者は wheel です。" +"この後に説明するように、これらは異なった目的のために提供されています。 PyPI " +"(にせよ他のどこかにせよ) パッケージを公開する時は、常に sdist とひとつまたは" +"複数の wheel の両方をアップロードするべきです。" #: ../source/discussions/package-formats.rst:21 msgid "What is a source distribution?" @@ -2439,11 +2439,11 @@ msgid "" msgstr "" "技術的なレベルでは、 wheel は (sdist が TAR アーカイブであるのとは違って) " "ZIP アーカイブです。例えば Linux や macOS のような UNIX 系プラットフォームな" -"ら ``unzip`` 、 Windows 上の PowerShell 内なら ``Expand-Archive`` 、あるいは " -"Python の zipfile モジュールのコマンドライン ` を" -"使って通常の ZIP アーカイブとして展開することで、内容を検査することができま" -"す。これは、 wheel ファイルが必要なすべてのファイルを内包していることを確認す" -"るのにとても便利です。" +"ら ``unzip`` 、 Windows 上の PowerShell 内なら ``Expand-Archive`` 、あるい" +"は :ref:`Python の zipfile モジュールのコマンドラインインタフェース " +"` を使って通常の ZIP アーカイブとして展開すること" +"で、内容を検査することができます。これは、 wheel ファイルが必要なすべてのファ" +"イルを内包していることを確認するのにとても便利です。" #: ../source/discussions/package-formats.rst:109 msgid "" @@ -2518,9 +2518,9 @@ msgid "" "format. It should not be used anymore. Since August 2023, PyPI `rejects egg " "uploads `_." msgstr "" -"\"Egg\" は、 wheel によって置き換えられた古いパッケージフォーマットです。もは" -"や使用されるべきではありません。 2023 年 8 月以降、 PyPI は `egg のアップロー" -"ドを拒絶 `_ しています。" +"\"Egg\" は、 wheel フォーマットによって置き換えられた古いパッケージフォーマッ" +"トです。もはや使用されるべきではありません。 2023 年 8 月以降、 PyPI は " +"`rejects egg uploads `_ しています。" #: ../source/discussions/package-formats.rst:144 msgid "Here's a breakdown of the important differences between wheel and egg." @@ -2531,8 +2531,8 @@ msgid "" "The egg format was introduced by :ref:`setuptools` in 2004, whereas the " "wheel format was introduced by :pep:`427` in 2012." msgstr "" -"egg のフォーマットは、2004年に:ref:`setuptools`によって、また、wheel のフォー" -"マットは2012年に :pep:`427` によって導入されました。" +"wheel フォーマットは2012年に :pep:`427` によって導入された一方で、egg フォー" +"マットは、2004年に :ref:`setuptools` によって導入されました。" #: ../source/discussions/package-formats.rst:149 msgid "" @@ -2549,10 +2549,10 @@ msgid "" "and a runtime installation format (if left zipped), and was designed to be " "importable." msgstr "" -"Wheel は :term:`配布物 `のフォーマット、つまり、パッ" -"ケージングのフォーマットです [#wheel-importable]_ 。 Egg は配布物のフォーマッ" -"トでもあり、かつ、(もし圧縮されたままであれば)実行時のインストールフォーマッ" -"トであって、 importができるように設計されています。" +"Wheel は :term:`配布物 ` のフォーマット、つまり、パッ" +"ケージングのフォーマットです。 [#wheel-importable]_ Egg は配布物のフォーマッ" +"トでもあり、かつ、 (もし圧縮されたままであれば) 実行時のインストールフォー" +"マットであって、 importができるように設計されています。" #: ../source/discussions/package-formats.rst:156 msgid "" @@ -2562,11 +2562,11 @@ msgid "" "\"universal\", similar to an :term:`sdist `." msgstr "" -"Wheel 形式のファイルには ``.pyc`` ファイルが含まれていません。従って、Python" -"ファイルだけが配布物に含まれている (即ちコンパイル済みの拡張がない) 場合、か" -"つ、 Python 2 および 3 と互換性を持つ時、その wheel ファイル" -"は、 :term:`sdist ` と同様に \"汎用 " -"\" である可能性があります。" +"Wheel 形式のファイルには ``.pyc`` ファイルが含まれません。従って、Pythonファ" +"イルだけが配布物に含まれている (即ちコンパイル済みの拡張がない) 場合、かつ、 " +"Python 2 および 3 と互換性を持つ時、その wheel ファイルは、 :term:`sdist " +"` と同様に \"汎用 \" である可" +"能性があります。" #: ../source/discussions/package-formats.rst:161 msgid "" @@ -2582,9 +2582,9 @@ msgid "" "single wheel archive can indicate its compatibility with a number of Python " "language versions and implementations, ABIs, and system architectures." msgstr "" -"Wheel には :ref:`多彩なファイル命名慣行 `が存在します。" -"単独のwheelアーカイブはPython言語のバージョンや実装、ABI、そしてシステムの" -"アーキテクチャとの互換性を表示することができます。" +"Wheel には :ref:`多彩なファイル命名慣行 ` が存在しま" +"す。単独のwheelアーカイブはPython言語のバージョンや実装、ABI、そしてシステム" +"のアーキテクチャとの互換性を表示することができます。" #: ../source/discussions/package-formats.rst:168 msgid "" @@ -2642,11 +2642,11 @@ msgid "" "Package Index (PyPI)>` using requirement specifiers, and automatically " "installing dependencies." msgstr "" -":ref:`easy_install `は、現在では`非推奨`とされていますが、2004" -"年に:ref:`setuptools`の一部として公開されました。requirementsファイルを利用し" -"て自動的に依存関係にあるパッケージも併せて:term:`PyPI `から:term:`packages `をインストールすることがで" -"きるというのは当時としては画期的でした。" +":ref:`easy_install ` は、現在では `deprecated`_ とされています" +"が、2004年に :ref:`setuptools` の一部として公開されました。 :term:`PyPI " +"` から :term:`パッケージ ` と、要求事項指定子を利用して依存関係にあるパッケージをも自動的にイ" +"ンストールすることが当時としては画期的でした。" #: ../source/discussions/pip-vs-easy-install.rst:14 msgid "" @@ -2684,7 +2684,7 @@ msgstr "" #: ../source/discussions/pip-vs-easy-install.rst:27 msgid "Installs from :term:`Wheels `" -msgstr ":term:`Wheels `からのインストール" +msgstr ":term:`Wheels ` からのインストール" #: ../source/discussions/pip-vs-easy-install.rst:27 #: ../source/discussions/pip-vs-easy-install.rst:38 @@ -2742,7 +2742,7 @@ msgstr "インストールフォーマット" #: ../source/discussions/pip-vs-easy-install.rst:41 msgid "'Flat' packages with :file:`egg-info` metadata." -msgstr ":file:`egg-info`のメタデータを伴った「フラット」なパッケージ。" +msgstr ":file:`egg-info` のメタデータを伴った「フラット」なパッケージ。" #: ../source/discussions/pip-vs-easy-install.rst:41 msgid "Encapsulated Egg format" @@ -2754,11 +2754,11 @@ msgstr "sys.pathの変更" #: ../source/discussions/pip-vs-easy-install.rst:48 msgid "Installs from :term:`Eggs `" -msgstr ":term:`Eggs `からのインストール" +msgstr ":term:`Eggs ` からのインストール" #: ../source/discussions/pip-vs-easy-install.rst:51 msgid "`pylauncher support`_" -msgstr "`pylauncherサポート `_" +msgstr "`pylauncher support`_" #: ../source/discussions/pip-vs-easy-install.rst:51 msgid "Yes [1]_" @@ -3522,11 +3522,10 @@ msgstr "" "最初に述べた src レイアウトの特殊性の故に、コマンドラインインタフェース" "は、 :term:`ソースコードツリー ` から直接に起動すること" "ができず、試験目的のために :doc:`開発モード `:doc:`開発モード ` " -"でインストールされたパッケージを要求します。状況によってはこれは現実的ではな" -"くなるので、 :file:`__main__.py` ファイル経由で呼ばれた時にパッケージフォルダ" -"を Python の :py:data:`sys.path` の先頭に追加することが回避策になるかもしれま" -"せん。" +"development_mode>` でインストールされたパッケージを要求します。状況によっては" +"これは現実的ではなくなるので、 :file:`__main__.py` ファイル経由で呼ばれた時に" +"パッケージフォルダを Python の :py:data:`sys.path` の先頭に追加することが回避" +"策になるかもしれません。" #: ../source/discussions/versioning.rst:6 #: ../source/specifications/simple-repository-api.rst:349 @@ -4464,14 +4463,14 @@ msgid "" "See :ref:`package-formats` for more information." msgstr "" ":term:`配布物 ` フォーマットは、インストールするために" -"ターゲットとなるシステムの適切な位置に移動させることに必要となるファイルや" -"メタデータだけを含んでいます。 :term:`Wheel` はそのようなフォーマットですが、" -"インストールできるようになる前にビルド段階が必須となると言う点で " -":term:`Source Distribution (or \"sdist\")` はそうではありません。この" -"フォーマットであることは、 Python のファイル群があらかじめコンパイルされた状" -"態でなければならないということを意味しません (:term:`Wheel` では意図的に" -"コンパイル済みの Python ファイル群を含まないようになっています)。より詳しく" -"は :ref:`package-formats` を見てください。" +"ターゲットとなるシステムの適切な位置に移動させることに必要となるファイルやメ" +"タデータだけを含んでいます。 :term:`Wheel` はそのようなフォーマットですが、イ" +"ンストールできるようになる前にビルド段階が必須となると言う点で :term:`Source " +"Distribution (or \"sdist\")` はそうではありません。このフォーマットであること" +"は、 Python のファイル群があらかじめコンパイルされた状態でなければならないと" +"いうことを意味しません (:term:`Wheel` では意図的にコンパイル済みの Python " +"ファイル群を含まないようになっています)。より詳しくは :ref:`package-formats` " +"を見てください。" #: ../source/glossary.rst:56 msgid "Built Metadata" @@ -4621,10 +4620,10 @@ msgid "" "package` for a breakdown of the differences." msgstr "" "インポートパッケージは、より普通には「パッケージ」という1単語の用語で呼ばれ" -"ますが、本ガイドでは、同様に単に「パッケージ」と呼ばれることが普通である " -":term:`配布物パッケージ ` との混同を避けるために必要な" -"場合には、長い方の用語を用いることにします。これらの違いの細かな部分について" -"は、 :ref:`distribution-package-vs-import-package` を見てください。" +"ますが、本ガイドでは、同様に単に「パッケージ」と呼ばれることが普通であ" +"る :term:`配布物パッケージ ` との混同を避けるために必要" +"な場合には、長い方の用語を用いることにします。これらの違いの細かな部分につい" +"ては、 :ref:`distribution-package-vs-import-package` を見てください。" #: ../source/glossary.rst:133 msgid "Installed Project" @@ -4720,8 +4719,8 @@ msgid "" "The basic unit of code reusability in Python, existing in one of two " "types: :term:`Pure Module`, or :term:`Extension Module`." msgstr "" -"Pythonにおけるソースコード再利用の基本的な単位で、 :term:`Pure Module`" -"か :term:`Extension Module`の二つのタイプのうちのいずれか。" +"Pythonにおけるソースコード再利用の基本的な単位で、 :term:`Pure Module` " +"か :term:`Extension Module` の二つのタイプのうちのいずれか。" #: ../source/glossary.rst:189 msgid "Package Index" @@ -4732,9 +4731,8 @@ msgid "" "A repository of distributions with a web interface to " "automate :term:`package ` discovery and consumption." msgstr "" -":term:`パッケージ `の発見・消費(訳註、意訳になるが検" -"索・ダウンロードが適切か)を自動化するwebインターフェイスを伴った配布物のリポ" -"ジトリ。" +":term:`パッケージ ` の発見や消費を自動化するwebインター" +"フェイスを伴った配布物のリポジトリ。" #: ../source/glossary.rst:195 msgid "Per Project Index" @@ -4746,9 +4744,9 @@ msgid "" "specific :term:`Project` as the index preferred or required to resolve " "dependencies of that project." msgstr "" -"プライベートまたは非公式の :term:`パッケージ索引 ` で、その" -"プロジェクトの依存関係を解決するために、好ましいまたは要求される時に、特定の " -":term:`プロジェクト ` によって示されたもの。" +"プライベートまたは非公式の :term:`パッケージ索引 ` で、そのプ" +"ロジェクトの依存関係を解決するために、好ましいまたは要求される時に、特定" +"の :term:`プロジェクト ` によって示されたもの。" #: ../source/glossary.rst:202 ../source/guides/hosting-your-own-index.rst:62 #: ../source/guides/index-mirrors-and-caches.rst:52 @@ -4773,12 +4771,12 @@ msgid "" "something that contains a :term:`pyproject.toml`, :term:`setup.py`, " "or :term:`setup.cfg` file at the root of the project source directory." msgstr "" -"ほとんどのプロジェクトで :pep:`518` ``build-system`` として " -":ref:`distutils`か :ref:`setuptools`を用いて :term:`配布物 `を作成しますので、現時点でプロジェクトを定義するもうひとつの実践的な" -"方法は、プロジェクトのソースコードの一番上のディレクトリに " -":term:`pyproject.toml`や :term:`setup.py`または :term:`setup.cfg`のファイルを" -"含む何ものかというものです。" +"ほとんどのプロジェクトで :pep:`518` ``build-system`` として :ref:`distutils` " +"か :ref:`setuptools` を用いて :term:`配布物 ` を作成し" +"ますので、現時点でプロジェクトを定義するもうひとつの実践的な方法は、プロジェ" +"クトのソースコードの一番上のディレクトリに :term:`pyproject.toml` " +"や :term:`setup.py` または :term:`setup.cfg` のファイルを含む何ものかというも" +"のです。" #: ../source/glossary.rst:215 msgid "" @@ -4787,11 +4785,11 @@ msgid "" "more :term:`Releases `, and each release may comprise one or " "more :term:`distributions `." msgstr "" -"Pythonにおけるプロジェクトは、 :term:`PyPI `に登" -"録される一意の名前を持っていなければなりません。そして、プロジェクトはそれぞ" -"れひとつまたはより多くの :term:`リリース `を含んでいて、各リリースは" -"ひとつまたはより多くの :term:`配布物 `を内包していま" -"す。" +"Pythonにおけるプロジェクトは、 :term:`PyPI ` に" +"登録される一意の名前を持っていなければなりません。そして、プロジェクトはそれ" +"ぞれひとつまたはより多くの :term:`リリース ` を含んでいて、各リリー" +"スはひとつまたはより多くの :term:`配布物 ` を内包してい" +"ます。" #: ../source/glossary.rst:220 msgid "" @@ -5167,10 +5165,10 @@ msgid "" "more information, see the section on :ref:`Creating and using Virtual " "Environments`." msgstr "" -"システム全体からではなく、ある特定のアプリケーションだけから使えるようにパッ" -"ケージをインストールすることができる、隔離されたPython環境。詳細は :ref:`仮想" -"環境の生成と使用 ` を参照してください。" #: ../source/glossary.rst:410 msgid "Wheel Format" @@ -5967,20 +5965,21 @@ msgid "" "to :func:`setup`'s ``packages`` argument instead of " "using :func:`setuptools.find_packages`." msgstr "" -"この例ではサブパッケージを名前空間を決めるパッケージ(``myapp.plugins``)として" -"使っていますが、トップレベルのパッケージをこの(``myapp_plugins``のような)目的" -"に用いることも可能です。名前空間をどのようにして決めるかは好みの問題ですが、" -"あなたのプロジェクトのトップレベルのパッケージ(この場合では``myapp``)を" -"プラグインの名前空間を決めるために用いると、全体の名前空間を破壊するような" -"プラグインがひとつあるだけで、あなたのプロジェクトをインポートすることができ" -"なくなるのでお勧めしません。「名前空間を決めるサブパッケージ」の手法がうまく" -"動作するためには、プラグインパッケージ側のトップレベルパッケージの" -"ディレクトリ(この場合には``myapp``)に :file:`__init__.py` が存在してはいけま" -"せんし、名前空間を決めるサブパッケージのディレクトリ(``myapp/plugins``)にあ" -"る :file:`__init__.py`をプラグインパッケージ側でインクルードしなければなりま" -"せん。これはまた、 プラグインの側で :func:`setuptools.find_packages` を使うの" -"ではなく、パッケージの名前を :func:`setup` の ``packages`` 引数に明示的に渡す" -"必要がある、ということを意味しています。" +"この例では名前空間パッケージ( ``myapp.plugins`` )としてサブパッケージを使って" +"いますが、トップレベルのパッケージをこの ( ``myapp_plugins`` のような) 目的に" +"用いることも可能です。使用する名前空間をどのように選択するかは好みの問題です" +"が、あなたのプロジェクトのトップレベルのパッケージ (この場合は ``myapp`` ) を" +"プラグインの目的のための名前空間パッケージとして用いると、ダメなプラグインが" +"ひとつあるだけで全体の名前空間を破壊することになり、ひいてはあなたのプロジェ" +"クトをインポートすることができなくなるのでお勧めしません。「名前空間を決める" +"サブパッケージ」の手法がうまく動作するためには、プラグインパッケージ側では、" +"トップレベルパッケージのディレクトリ (この場合には ``myapp`` ) " +"に :file:`__init__.py` を省略しなければなりませんし、名前空間を決めるサブパッ" +"ケージのディレクトリ ( ``myapp/plugins`` ) にある名前空間パッケージスタイル" +"の :file:`__init__.py` をインクルードしなければなりません。これはまた、 プラ" +"グインの側で :func:`setuptools.find_packages` を使う代わりに、パッケージ名の" +"リストを :func:`setup` の ``packages`` 引数に明示的に渡す必要がある、というこ" +"とを意味しています。" #: ../source/guides/creating-and-discovering-plugins.rst:114 msgid "" @@ -6026,8 +6025,8 @@ msgid "" "``importlib_metadata >= 3.6`` for Python 3.6-3.9):" msgstr "" "そして、 :func:`importlib.metadata.entry_points` (あるいはPython 3.6-3.9用の " -"backport_ ``import lib_metadata>=3.6``)を使うことで、登録された" -"エントリポイントを全て検出することができます。" +"backport_ ``import lib_metadata>=3.6``)を使うことで、登録されたエントリポイン" +"トを全て検出することができます。" #: ../source/guides/creating-and-discovering-plugins.rst:151 msgid "" @@ -6221,8 +6220,8 @@ msgid "" "Metadata Subkey>`:" msgstr "" "コマンドラインツールとして認識されるプロジェクト向けには、さらに " -"``console_scripts`` :ref:`エントリポイント ` ( " -":ref:`console_scripts` をご覧ください) が :term:`サブキー ` " +"( :ref:`console_scripts` をご覧ください) が :term:`サブキー ` として追加されている必要があります:" #: ../source/guides/creating-command-line-tools.rst:118 @@ -6349,7 +6348,7 @@ msgid "" "tutorials/installing-packages` page." msgstr "" "この節では、 ``setuptools`` を使ったPythonパッケージの設定・パッケージング・" -"配布方法について、 :doc:`/tutorials/packaging-projects`_ の入門的なチュートリ" +"配布方法について、 :doc:`/tutorials/packaging-projects` の入門的なチュートリ" "アルでは触れていないような追加的な詳細を説明します。あなたが既に :doc:`/" "tutorials/installing-packages` ページの内容については慣れ親しんでいるものと仮" "定して進めます。" @@ -6361,8 +6360,8 @@ msgid "" "recommendations for version control, documentation, or testing." msgstr "" "この節は、Pythonプロジェクトの開発についての全体的なベストプラクティスを説明" -"しているわけではありません。例えば、バージョン管理や文書化、あるいは試験につ" -"いて、手引きとなったりツールを推奨するようなことはありません。" +"しているわけでは *ありません* 。例えば、バージョン管理や文書化、あるいは試験" +"について、手引きとなったりツールを推奨するようなことはありません。" #: ../source/guides/distributing-packages-using-setuptools.rst:20 msgid "" @@ -6695,17 +6694,16 @@ msgid "" "minimally needs to run. When the project is installed by :ref:`pip`, this is " "the specification that is used to install its dependencies." msgstr "" -"``install_requires`` は、プロジェクトが動作するために最低限必要な依存関係を指" -"定するのに使われます。プロジェクトが :ref:`pip` でインストールされる場合に" -"は、この指定を見て依存関係(訳註、にある他パッケージ)をインストールするために" -"用いられます。" +"\"install_requires\" は、プロジェクトが動作するために最低限必要な依存関係を指" +"定するのに使われるべきです。プロジェクトが :ref:`pip` でインストールされる場" +"合には、この指定を見て依存関係のものをインストールするために用いられます。" #: ../source/guides/distributing-packages-using-setuptools.rst:214 msgid "" "For more on using \"install_requires\" see :ref:`install_requires vs " "Requirements files`." msgstr "" -"さらなる ``install_requires`` の使い方については :ref:`install_requires対" +"さらなる \"install_requires\" の使い方については :ref:`install_requires 対 " "Requirementsファイル ` を参照してくだ" "さい。" @@ -6744,7 +6742,7 @@ msgid "" "`." msgstr "" "詳しくは、 :std:doc:`setuptools説明文書 ` の中の :std:doc:`" -"データファイルを追加するには <1setuptools:userguide/datafiles>` を見てくださ" +"データファイルを追加するには ` を見てくださ" "い。" #: ../source/guides/distributing-packages-using-setuptools.rst:247 @@ -6952,11 +6950,11 @@ msgid "" "a :term:`Distribution ` (aka \":term:`Package " "`\") for your project." msgstr "" -":term:`PyPI ` のような " -":term:`パッケージインデックス ` からあなたのプロジェクトを" -"インストールすることができるようにするには、 :term:`配布物 ` (:term:`パッケージ ` の名前でも知られる) を作" -"成しなければならないでしょう。" +":term:`PyPI ` のような :term:`パッケージインデッ" +"クス ` からあなたのプロジェクトをインストールすることができる" +"ようにするには、 :term:`配布物 ` (:term:`パッケージ " +"` の名前でも知られる) を作成しなければならないでしょ" +"う。" #: ../source/guides/distributing-packages-using-setuptools.rst:363 msgid "" @@ -7032,8 +7030,8 @@ msgid "" "to your :file:`setup.cfg` file:" msgstr "" "あなたのプロジェクトが Python 2をさぽーとしていて、 *かつ* 、C言語拡張を含む" -"のであれば、次のものをあなたの :file:`setup.cfg` ファイルに追加して " -"*ユニバーサル Wheel* と呼ばれるものを作成するべきです:" +"のであれば、次のものをあなたの :file:`setup.cfg` ファイルに追加して *ユニバー" +"サル Wheel* と呼ばれるものを作成するべきです:" #: ../source/guides/distributing-packages-using-setuptools.rst:428 msgid "" @@ -7107,9 +7105,10 @@ msgid "" "platform wheels for Windows, macOS, and the multi-distro ``manylinux*`` ABI. " "Details of the latter are defined in :pep:`513`." msgstr "" -"現在、 :term:`PyPI <` は、Windows向けとmacOS向" -"け、そして複数のLinuxディストリビューションに対応した ``manylinux*`` のABI向" -"けのプラットフォームWheelsをアップロードすることに対応しています。" +"現在、 :term:`PyPI ` は、Windows向けとmacOS向" +"け、そして複数のディストロに対応した ``manylinux*`` のABI向けのプラットフォー" +"ムWheelsをアップロードすることに対応しています。後者に関する詳細" +"は :pep:`513` で定義されています。" #: ../source/guides/distributing-packages-using-setuptools.rst:498 msgid "Uploading your Project to PyPI" @@ -7286,7 +7285,7 @@ msgstr "" "されるまでには1,2分の時間がかかるかもしれません。" #: ../source/guides/distributing-packages-using-setuptools.rst:589 -#: ../source/tutorials/installing-packages.rst:670 +#: ../source/tutorials/installing-packages.rst:669 msgid "" "Depending on your platform, this may require root or Administrator " "access. :ref:`pip` is currently considering changing this by `making user " @@ -7625,7 +7624,7 @@ msgstr "PyPI フォールスルー [2]_" #: ../source/guides/hosting-your-own-index.rst:65 #: ../source/guides/index-mirrors-and-caches.rst:56 -#: ../source/guides/supporting-windows-using-appveyor.rst:146 +#: ../source/guides/supporting-windows-using-appveyor.rst:139 msgid "Additional notes" msgstr "補遺" @@ -8185,8 +8184,8 @@ msgid "" msgstr "" "Anaconda `Anaconda `_ は Anaconda, Inc. " "社が公開した Python 配布物です。ビッグデータや科学分野向けの一連のオープン" -"ソースパッケージの安定版のコレクションであり、 conda 環境を管理する GUI の" -"ユーティリティのコレクションでもあります。" +"ソースパッケージの安定版のコレクションであり、 conda 環境を管理するグラフィカ" +"ルユーザインタフェースのユーティリティのコレクションでもあります。" #: ../source/guides/installing-scientific-packages.rst:135 msgid "" @@ -8267,8 +8266,8 @@ msgid "" "You may need to restart your terminal for this update to take effect." msgstr "" "``ensurepath`` は、アプリケーションのあるディレクトリが ``$PATH`` に含まれる" -"ようにすることを保証します。この更新(訳注、``$PATH``の修正のこと)が効果を持つ" -"ようにするためにターミナルを再起動する必要があるかもしれません。" +"ことを保証します。この更新が効果を持つようにするためにターミナルを再起動する" +"必要があるかもしれません。" #: ../source/guides/installing-stand-alone-command-line-tools.rst:46 msgid "" @@ -8936,7 +8935,7 @@ msgstr "" "ます:" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:434 -#: ../source/tutorials/installing-packages.rst:393 +#: ../source/tutorials/installing-packages.rst:392 msgid "Upgrading packages" msgstr "パッケージを更新する" @@ -9865,8 +9864,8 @@ msgid "" "As a result, attempting explicit registration after switching to using " "PyPI.org for uploads will give the following error message::" msgstr "" -"その結果、アップロードに PyPI.org を使うように切り替えた後は、明示的な登録の" -"試行は次のエラーメッセージを返すでしょう::" +"その結果として、アップロードに PyPI.org を使うように切り替えた後は、明示的な" +"登録の試行は次のエラーメッセージを返すでしょう::" #: ../source/guides/migrating-to-pypi-org.rst:88 msgid "" @@ -11122,7 +11121,7 @@ msgstr "" #: ../source/guides/packaging-namespace-packages.rst:26 msgid "And you use this package in your code like so::" msgstr "" -"そして、このパッケージを自分のソースコード中で使うにはこのようにします::" +"そして、このパッケージを自分のソースコード中で使うにはこのようにします ::" #: ../source/guides/packaging-namespace-packages.rst:31 msgid "Then you can break these sub-packages into two separate distributions:" @@ -11393,12 +11392,13 @@ msgid "" msgstr "" ":doc:`Setuptools ` は、以前は、 " "``pkg_resources.declare_namespace`` 関数と :func:`~setuptools.setup` に渡す " -"``namespace_packages`` 引数を提供します。これらを一緒に使うことで名前空間パッ" -"ケージを宣言することができます。この手法はもはや推奨されていませんが、既存の" -"名前空間パッケージのほとんどで使われています。この手法を採用している既存の名" -"前空間パッケージの中に新しい配布物を作成する時には、異なる手法が相互に互換で" -"はないために既存パッケージを移植しようとすることが推奨されていないので、この" -"手法を採用し続けることを推奨します。" +"``namespace_packages`` 引数を提供していました。これらを一緒に使うことで名前空" +"間パッケージを宣言することができます。この手法はもはや推奨されていませんが、" +"古めのバージョンの ``setuptools`` を使っている環境では、まだ遭遇することがあ" +"るかもしれません。この手法を採用している既存の名前空間パッケージの中に新しい" +"配布物を作成する時には、異なる手法が相互に互換ではないために、そして、既存" +"パッケージを移植しようとすることが推奨されていないために、この手法を採用し続" +"けることを推奨します。" #: ../source/guides/packaging-namespace-packages.rst:235 msgid "" @@ -11800,7 +11800,7 @@ msgid "Hosting" msgstr "ホスティング" #: ../source/guides/section-install.rst:3 -#: ../source/specifications/pylock-toml.rst:729 +#: ../source/specifications/pylock-toml.rst:744 msgid "Installation" msgstr "インストール" @@ -11895,15 +11895,11 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:65 msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -"`Travis CI `_ は Linux と macOS の両方の環境を提供しま" -"す。本稿執筆時点で、 Linux 環境は Ubuntu 12.04 LTS Server Edition 64 bit " -"で、 macOS 環境は 10.9.2 です。" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." @@ -11911,9 +11907,15 @@ msgstr "" "`Appveyor `_ は、Windows 環境 (Windows Server " "2012) を提供します。" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 +#, fuzzy +#| msgid "" +#| "Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +#| "formatted file as specification for the instructions for testing. If any " +#| "tests fail, the output log for that specific configuration can be " +#| "inspected." msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" @@ -11921,7 +11923,7 @@ msgstr "" "を必要とします。いずれかのテストが失敗したら、そのテスト指示設定に関するログ" "出力を調査することができます。" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." @@ -11929,11 +11931,11 @@ msgstr "" "単一のソースコードを Python 2 と 3 の両方で稼働させる戦略を目指す Python プロ" "ジェクトには、いくつかの方法論があります。" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "単一ソースコード Python パッケージのためのツール" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -11953,7 +11955,7 @@ msgstr "" "`_ という名前のツールは、 six_ が提供する" "修正を自動的にソースコードに適用するために使うことができます。" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -11967,17 +11969,17 @@ msgstr "" "バージョンのうちの片方の言語文法で Python 2 と Python 3 の間の相互互換性を提" "供しようとしています: 片方しか使えません" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "Python 3 のプロジェクトにおける Python 2 (文法による) モジュール。" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" "*Python 2* で書かれたプロジェクトにおける、 Python 3 (文法による) モジュー" "ル。" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -11993,7 +11995,7 @@ msgstr "" "る ``futurize`` と Python 3 モジュールに適用できる ``pasteurize`` と呼ばれる" "ふたつのスクリプトを備えています。" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -12007,11 +12009,11 @@ msgstr "" "方互換性を用いる修正だけを行うことができます。残りの互換性問題は、手作業で修" "正しなければなりません。" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "どの Python に何がある?" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -12062,20 +12064,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" -"Appveyor サービスは継続的インテグレーションのサービスであり、 `GitHub`_ にホ" -"ストされたプロジェクトをテストするのによく使われよりよく知られている " -"`Travis`_ サービスによく似ています。しかし、 Travis とは異なり、 Appveyor の" -"ビルドワーカーは Windows であり、 Python の拡張モジュールをビルドするために必" -"要なコンパイラもインストール済みです。" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -12090,11 +12078,11 @@ msgstr "" "して利用することで、専用の Windows 環境がなくても Windows 上で動作するバイナ" "リを準備することができます。" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "設定する" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -12106,7 +12094,7 @@ msgstr "" "説明は `the Appveyor documentation `__ にあり" "ます。オープンソースプロジェクトには無料アカウントで十分です。" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " @@ -12116,21 +12104,25 @@ msgstr "" "トがこれらのうちのいずれかにホストされている限りは Appveyor から統合運用する" "設定は簡単にできます。" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 +#, fuzzy +#| msgid "" +#| "Once you have set up your Appveyor account and added your project, " +#| "Appveyor will automatically build your project each time a commit occurs. " +#| "This behaviour will be familiar to users of Travis." msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" "Appveyor のアカウントの設定とプロジェクトの追加が終われば、コミットが発生する" "たびに Appveyor が自動的にプロジェクトをビルドするようになります。Travis の" "ユーザはこのような動作に慣れていることでしょう。" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "プロジェクトに Appveyor サポートを追加する" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -12143,7 +12135,7 @@ msgstr "" "れています。このガイドでは、wheel のビルドに必要な部分に限って細部を説明しま" "す。" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -12161,11 +12153,11 @@ msgstr "" "設定をしなくても Visual Studio の各バージョンに含まれている 64 ビット版コンパ" "イラを使います)。" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "appveyor.yml" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__ か" "らダウンロードすることができます。" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." @@ -12184,7 +12176,7 @@ msgstr "" "ばなりません。このファイルは ``YAML`` フォーマットで書かれていて、数多くのセ" "クションから構成されています。" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -12203,7 +12195,7 @@ msgstr "" "だ Python 2 を使っているユーザであれば、大抵は大した困難に遭遇せずに Python " "2.7 へ移行できるからです) 。" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -12218,7 +12210,7 @@ msgstr "" "加的なビルド用パッケージないし ``tox`` のようなテストツールをインストールする" "ために)。" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." @@ -12226,7 +12218,7 @@ msgstr "" "``build`` セクションでは単純にビルドのスイッチを切りましょう - ``C#`` のよう" "な言語とは異なり、Python にはビルドする段階は不要なのです。" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." @@ -12234,7 +12226,7 @@ msgstr "" "個々のプロジェクト向けに整える必要のある主なセクションは、 ``test_script`` " "と ``after_test`` です。" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -12255,7 +12247,7 @@ msgstr "" "- しかしながら、 ``tox`` を使う場合には、後述の通り、もう少し追加の設定変更を" "検討する必要があることでしょう。" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -12267,7 +12259,7 @@ msgstr "" "``setuptools``) を使っているなら、 ``setup.py bdist_wheel`` コマンドで wheel " "ファイルを生成できます。" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." @@ -12276,11 +12268,11 @@ msgstr "" "い。 Windows ではテストが失敗するとわかっているなら、前述の通り、それを省略す" "ることができます。" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "サポートスクリプト" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -12293,7 +12285,7 @@ msgstr "" "Windows 上の 3.3 や 3.4 をサポートしないプロジェクトで" "は、 :file:`appveyor.yml` ファイルさえあれば良いことになります。" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -12313,7 +12305,7 @@ msgstr "" "ビットでビルドするのに必要な SDK 環境を構築するので、他のビルドに使う環境変数" "を設定してはいけません。" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." @@ -12321,11 +12313,11 @@ msgstr "" "このバッチファイルは単純にダウンロードして修正なしにプロジェクト内に置くこと" "ができます。" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "ビルドされたwheelファイルへのアクセス" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -12343,11 +12335,11 @@ msgstr "" "ずです。ここから wheel ファイルをダウンロードして、あなたのリリース作業の一環" "として PyPI へアップロードすることができるでしょう。" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "tox を用いてテストする" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " @@ -12357,7 +12349,7 @@ msgstr "" "す。これを使えば、プロジェクトで配布するであろうファイル群そのものを使った独" "立した環境下でテストを実行することができます。" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " @@ -12367,7 +12359,7 @@ msgstr "" "ではなく、他の CI システムにも影響します) いくつかの追加的な事項を検討しなけ" "ればなりません。" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -12379,7 +12371,7 @@ msgstr "" "を用いるので、この \"テスト環境分離\" の機能がデフォルトではテストに誤ったコ" "ンパイラを使ってしまう問題を引き起こすでしょう。" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -12391,23 +12383,23 @@ msgstr "" "リストを設定する必要があります。SDK コンパイラを使うのであれば、このような設" "定が必要です" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "``DISTUTILS_USE_SDK``" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "``MSSdk``" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "``INCLUDE``" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "``LIB``" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -12421,15 +12413,24 @@ msgstr "" "定されていればいつでも、与えられた :file:`build.cmd` スクリプトがこの動作をデ" "フォルトで実行します。" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 +#, fuzzy +#| msgid "" +#| "When used interactively, ``tox`` allows you to run your tests against " +#| "multiple environments (often, this means multiple Python versions). This " +#| "feature is not as useful in a CI environment like Travis or Appveyor, " +#| "where all tests are run in isolated environments for each configuration. " +#| "As a result, projects often supply an argument ``-e ENVNAME`` to ``tox`` " +#| "to specify which environment to use (there are default environments for " +#| "most versions of Python)." msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" "``tox`` を対話的に使うと、複数の環境 (これはしばしば複数のバージョンの " "Python を意味します) でテストを実行することができます。設定ごとに独立した環境" @@ -12438,7 +12439,7 @@ msgstr "" "``-e ENVNAME`` 引数を ``tox`` に与えてどの環境を使うべきか (ほとんどのバー" "ジョンの Python に対応したデフォルトの環境群があります) を指定します。" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" @@ -12448,7 +12449,7 @@ msgstr "" "(例えば) Python 3.4 の (32 版ビットと64ビット版の) ふたつの実装が利用できるの" "に、 ``tox`` では ``py34`` 環境がひとつしかないので、うまく *動きません* 。" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -12460,7 +12461,7 @@ msgstr "" "れた Python インタープリタを使うことになりますが、その環境を使うべきでしょ" "う。" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -12471,11 +12472,11 @@ msgstr "" "ジェクトでは :file:`tox.ini` を修正する必要があるかもしれません。そのようにす" "ることは、しかしながら、この文書の範囲を越えます。" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "自動的に wheel ファイルをアップロードする" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -12488,7 +12489,7 @@ msgstr "" "使うことができます。これをやるにはどうすれば良いかについては、 Appveyor ガイ" "ドに説明があります。" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -12500,11 +12501,11 @@ msgstr "" "に新しい wheel ファイルをアップロードすることが望ましいかどうかがはっきりしな" "いので、先ほどの :file:`appveyor.yml` ファイルはこれをやりません。" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "外部への依存関係" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." @@ -12512,7 +12513,7 @@ msgstr "" "提供されたスクリプトを使えば、ビルド時にサードパーティの外部ライブラリに依存" "しない配布物ならどれでもビルドに成功するでしょう。" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -12527,15 +12528,15 @@ msgstr "" "めの余分の設定を追加することもできます。しかしながら、このレベルの設定はこの" "文書の範囲を超えます。" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "サポートスクリプト" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "参照用に SDK を構築するサポートスクリプトをここに挙げておきます:" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "``appveyor-sample/build.cmd``" @@ -12557,15 +12558,15 @@ msgid "" "are deprecated or insecure." msgstr "" "Python パッケージングのランドスケープは、多くの異なったツール群からできていま" -"す。多くのタスクについて、 :term:`Python パッケージングオーソリティ ` (PyPA とは多数のパッケージングツール群を包含す" -"るとともにこのガイド文書を維持管理しているワーキンググループ) は、一律に適用" -"するような推奨ををしません; 例えば、数多くのビルドバックエンドが存在する理由" -"は、既存のユニークなバックエンドである setuptools よりもうまく特定のユーザの" -"ニーズに応える新しいバックエンドの開発を可能とするためにランドスケープを開放" -"しているということなのです。このガイド文書では、広く認知されている幾つかの" -"ツールを指し示していますが、また、非推奨であったり安全でなかったりするために " -"*使うべきでない* ものについても非推奨事項を記しています。" +"す。多くのタスクについて、 :term:`Python パッケージング オーソリティ ` (PyPA は多数のパッケージングツール群を包含すると" +"ともにこのガイド文書を維持管理しているワーキンググループ) は、一律に適用する" +"ような推奨を意図的にしないことにしています; 例えば、数多くのビルドバックエン" +"ドが存在する理由は、既存のユニークなバックエンドである setuptools よりもうま" +"く特定のユーザのニーズに応える新しいバックエンドの開発を可能とするためにラン" +"ドスケープを開放しているということなのです。このガイド文書では、広く認知され" +"ている幾つかのツールを指し示していますが、また、非推奨であったり安全でなかっ" +"たりするために *使うべきでない* ものについても非推奨事項を記しています。" #: ../source/guides/tool-recommendations.rst:20 msgid "Virtual environments" @@ -12752,7 +12753,7 @@ msgid "" "(or :file:`setup.cfg`) whenever possible and keep :file:`setup.py` only if " "programmatic configuration is needed. See :ref:`setup-py-deprecated`." msgstr "" -"とりわけ、 ``python setup.py`` のように直接に起動しては *いけません* 。他方" +"とりわけ、 ``python setup.py`` のように直接に起動しては **いけません** 。他方" "で、可能であればいつでも近代的な :ref:`[project] table in pyproject.toml " "` (または :file:`setup.cfg`) を使うことや、プログラム" "的な設定が必要とされる場合にのみ :file:`setup.py` を使い続けることが推奨され" @@ -12766,11 +12767,11 @@ msgid "" "table ` in :file:`pyproject.toml` " "instead), and the ``easy_install`` command (cf. :ref:`pip vs easy_install`)." msgstr "" -"非推奨となった機能の他の例としては、 ``setup()`` の ``setup_requires`` 引数を" -"使うべきではなく (代わりに :file:`pyproject.toml` 内の :ref:`[build-system] " -"テーブル ` を使ってください) 、また、 " -"``easy_install`` コマンドを使うことも非推奨になっています (cf. :ref:`pip vs " -"easy_install`) 。" +"非推奨となって使用するべきで **なくなった** 機能の他の例としては、 " +"``setup()`` の ``setup_requires`` 引数 (代わりに :file:`pyproject.toml` 内" +"の :ref:`[build-system] テーブル ` を使っ" +"てください) や、 ``easy_install`` コマンド ( :ref:`pip vs easy_install` を参" +"照のこと) を挙げることができるでしょう。" #: ../source/guides/tool-recommendations.rst:108 msgid "" @@ -12778,9 +12779,9 @@ msgid "" "from the standard library in Python 3.12, although it still remains " "available from setuptools." msgstr "" -":ref:`distutils` を *使わないで* ください、というのも、これは非推奨になってい" -"ますし、まだ setuptools から利用可能ではありますが Python 3.12 で標準ライブラ" -"リから取り除かれたものです。" +":ref:`distutils` を **使わないで** ください、というのも、これは非推奨になって" +"いますし、まだ setuptools から利用可能ではありますが Python 3.12 で標準ライブ" +"ラリから取り除かれたものです。" #: ../source/guides/tool-recommendations.rst:115 msgid "Build backends for extension modules" @@ -12836,10 +12837,10 @@ msgid "" "` in :file:`pyproject.toml`." msgstr "" "PyPI へアップロードするために :term:`ソースコード配布物 ` や :term:`wheels ` をビルドするための標準ツール" -"は、 :ref:`build` です。:file:`pyproject.toml` 内で `宣言された ` ビルドバックエンドが何であれ、それを起動することに" -"なります。" +"(or \"sdist\")>` や :term:`wheels ` をビルドするための標準ツール" +"は、 :ref:`build` です。:file:`pyproject.toml` 内で :ref:`宣言された " +"` ビルドバックエンドが何であれ、それを起" +"動することになります。" #: ../source/guides/tool-recommendations.rst:135 msgid "" @@ -12848,8 +12849,8 @@ msgid "" "are :ref:`deprecated `." msgstr "" "この作業のために ``python setup.py sdist`` や ``python setup.py " -"bdist_wheel`` を *使わないで* ください。:file:`setup.py` を直接に起動すること" -"は :ref:`非推奨 ` になっています。" +"bdist_wheel`` を **使わないで** ください。:file:`setup.py` を直接に起動するこ" +"とは :ref:`非推奨 ` になっています。" #: ../source/guides/tool-recommendations.rst:139 msgid "" @@ -12915,8 +12916,8 @@ msgid "" "**Never** use ``python setup.py upload`` for this task. In addition to " "being :ref:`deprecated `, it is insecure." msgstr "" -"このタスクを行うために ``python setup.py upload`` を使うことは *絶対にやめて" -"* ください。 :ref:`非推奨 ` であることに加えて、危険 " +"このタスクを行うために ``python setup.py upload`` を使うことは **絶対にやめて" +"** ください。 :ref:`非推奨 ` であることに加えて、危険 " " です。" #: ../source/guides/tool-recommendations.rst:169 @@ -13451,9 +13452,9 @@ msgid "" "\"headline\" of your project page on PyPI (`example `_), and " "other places such as lists of search results (`example `_)." msgstr "" -"これは、PyPI におけるプロジェクトページの \"ヘッドライン\" (`例 `_) や検索結果 (`例 `_) のような他の場所で表示されるも" -"のなので、1行でプロジェクトの説明をしたものであるべきです。" +"これは、PyPI におけるプロジェクトページの \"ヘッドライン\" ( `example `_ ) や、検索結果 ( `example `_ ) のような他の場所で表" +"示されるものなので、1行でプロジェクトの説明をしたものであるべきです。" #: ../source/guides/writing-pyproject-toml.rst:268 #: ../source/specifications/pyproject-toml.rst:149 @@ -13478,7 +13479,7 @@ msgstr "README のフォーマットは拡張から自動的に検出されま #: ../source/guides/writing-pyproject-toml.rst:281 msgid "``README.md`` → `GitHub-flavored Markdown `_," -msgstr "``README.md`` → `GitHub 流のマークダウン `_ 、" +msgstr "``README.md`` → `GitHub-flavored Markdown `_ 、" #: ../source/guides/writing-pyproject-toml.rst:282 msgid "" @@ -13719,8 +13720,8 @@ msgid "" "A list of PyPI classifiers that apply to your project. Check the `full list " "of possibilities `_." msgstr "" -"プロジェクトに合致する PyPI 分類子 のリスト。 `可能な分類子のリ" -"スト `_ を参照してください。" +"プロジェクトに合致する PyPI 分類子 のリスト。 `可能な分類子の全" +"リスト `_ を参照してください。" #: ../source/guides/writing-pyproject-toml.rst:436 msgid "" @@ -14121,9 +14122,9 @@ msgid "" "all common platforms and Python versions on most CI systems. Also " "see :ref:`multibuild`." msgstr "" -"``cibuildwheel`` は、プラットフォーム・ Python バージョン・ CIシステムのよく" -"ある組み合わせの全部について :term:`wheels ` をビルドする Python パッ" -"ケージです。" +"``cibuildwheel`` は、ほとんどの CI システム上でプラットフォームと Python バー" +"ジョンのよくある組み合わせの全てについて :term:`wheels ` をビルドする " +"Python パッケージです。 :ref:`multibuild` も見てください。" #: ../source/key_projects.rst:66 msgid "distlib" @@ -14238,9 +14239,9 @@ msgid "" msgstr "" "Flit は、純 Python のパッケージやモジュールを作成して PyPI へアップロードする" "簡単な手段を提供します。パッケージングに関して `簡単なことを簡単に実現する " -"`_ ことに注力しています。これを使えば単純なプロジェクトや" -"ソースコード配布物とwheelsについて素早くセットアップするための設定ファイルを" -"生成し、PyPI にアップロードすることができます。" +"`_ ことに注力しています。 Flit を使えば、単純なプロジェクト" +"を素早くセットアップするための設定ファイルを生成し、ソースコード配布物と " +"wheel をビルドし、それらを PyPI にアップロードすることができます。" #: ../source/key_projects.rst:127 msgid "" @@ -14344,12 +14345,12 @@ msgid "" "reading of ambiguous metadata in cases where :ref:`packaging` will instead " "report on error." msgstr "" -"このプロジェクトは、 :ref:`パッケージング仕様 ` で" +"定義された近代的な Python パッケージング相互運用性標準を実装することに焦点を" +"当てており、この標準と互換性が取れないほど古いレガシーパッケージについてエ" +"ラーを報告します。対照的に、 :ref:`distlib` プロジェクトはもっと寛容なライブ" +"ラリで、 :ref:`packaging` ならばエラーを報告するような場合であっても曖昧なメ" +"タデータをもっともらしく読み込もうと試みます。" #: ../source/key_projects.rst:186 #: ../source/specifications/platform-compatibility-tags.rst:147 @@ -14553,10 +14554,10 @@ msgid "" "to :ref:`systematically describe their projects ` " "so that users can better find projects that match their needs on the PyPI." msgstr "" -"trove-classifiers は、`PyPI における分類子 `_ " -"の正統な源泉で、ユーザがそのニーズに即したプロジェクトを PyPI でよりうまく探" -"し出せるように、プロジェクトの保守者が `プロジェクトを体系的に表現する `_ のに使います。" +"trove-classifiers は、 `PyPI における分類子 `_ の正統な源泉で、ユーザがそのニーズに即したプロジェクトを PyPI でよりうま" +"く探し出せるように、プロジェクトの保守者が :ref:`プロジェクトを体系的に表現す" +"る ` のに使います。" #: ../source/key_projects.rst:300 msgid "" @@ -14752,13 +14753,16 @@ msgid "" "or `pixi `_ systems. It is available for Windows, Mac and " "Linux systems." msgstr "" -"Conda は、任意の言語 -- Python ・ R ・ Ruby ・ C/C++ ・ Fortran ・その他向け" -"のパッケージ・依存関係・環境の管理システムです。 Python で書かれており、非 " -"Python のライブラリや拡張をサポートしているために、 Python の科学計算コミュニ" -"ティで広く使われています。 Anaconda, Inc. が出している Python 配布物である " -"`Anaconda `__ の基礎として使われていま" -"す。元々は科学計算コミュニティを目標にしたものですが、しかし、それ自身" -"や :doc:`miniconda `" +"Conda は、任意の言語 -- Python ・ R ・ Ruby ・ C/C++ ・ Fortran ・その他の言" +"語向けのパッケージ・依存関係・環境の管理システムです。 Python で書かれてお" +"り、非 Python のライブラリや拡張をサポートしているために、 Python の科学計算" +"コミュニティで広く使われています。 Anaconda, Inc. が出している Python 配布物" +"である `Anaconda `__ の基礎として使われて" +"います。元々は科学計算コミュニティを目標にしたものですが、しかし、それ自身" +"で、または、 :doc:`miniconda ` ・ `miniforge `_ ・ `pixi `_ などのシス" +"テムと一緒に使用することも可能です。 Windows ・ Mac ・ Linux システムで利用可" +"能です。" #: ../source/key_projects.rst:416 msgid "" @@ -15215,10 +15219,10 @@ msgid "" "`Pulp `_. Pulp-python supports mirrors backed by " "local or `AWS S3`_, package upload, and proxying to multiple package indexes." msgstr "" -"Pulp-python は、 `Pulp ` 向けの Python :term:`パッ" +"Pulp-python は、 `Pulp `_ 向けの Python :term:`パッ" "ケージインデックス ` プラグインです。 Pulp-python は、ローカル" -"か `AWS S3`_ にファイルを置くミラー機能や、複数のパッケージインデックスへのプ" -"ロクシ機能をサポートします。" +"か `AWS S3`_ で裏打ちされたミラー群や、パッケージアップロード、また、複数の" +"パッケージインデックスへのプロクシ機能をサポートします。" #: ../source/key_projects.rst:679 msgid "PyPI Cloud" @@ -15365,13 +15369,13 @@ msgid "" "ninja>`__ (also available on PyPI)." msgstr "" "Scikit-build は、C/C++/Fortran/Cython で書かれた拡張をビルドする CPython のた" -"めの :ref:`setuptools` ラッパです。追加のコンパイラやビルドシステムやクロスコ" -"ンパイルに対するより良いサポートを提供するため、また、関連するビルドで要求さ" -"れるライブラリなど の位置を特定するために `cmake " -"`__ (PyPI にあります) を使用します。大きなプ" -"ロジェクトのビルドの速度を増したり並列化したりするために、ユーザは `ninja " -"`___ (これも PyPI にあります) をインストール" -"することができます。" +"めの :ref:`setuptools` ラッパーです。追加のコンパイラやビルドシステムやクロス" +"コンパイルに対するより良いサポートを提供するため、また、関連するビルドで要求" +"されるライブラリなどのビルド時の要求事項 の位置を特定す" +"るために、 `cmake `__ (PyPI にあります) を使" +"用します。大きなプロジェクトのビルドの速度を増したり並列化したりするために、" +"ユーザは `ninja `__ (これも PyPI にあります) " +"をユーザはインストールすることができます。" #: ../source/key_projects.rst:769 msgid "scikit-build-core" @@ -16405,10 +16409,11 @@ msgid "" "to package Python for a non-technical audience and/or a production setting, " "skip ahead to :ref:`packaging-applications`." msgstr "" -"パッケージングに関する以下のアプローチは、開発環境における技術に明るい聞き手" -"が用いるライブラリやツールを念頭に置いています。技術にあまり明るくない聞き手" -"向けに Python をパッケージする方法や、製品使用環境での方法を探している場合" -"は、 :ref:`アプリケーションをパッケージングする` まで飛ばしてください。" +"パッケージングに関する以下のアプローチは、開発環境下の技術に明るい聞き手が用" +"いるライブラリやツールを念頭に置いています。技術にあまり明るくない聞き手向け" +"に Python パッケージを作成する方法や、製品使用環境下でのやり方を探している場" +"合は、 :ref:`アプリケーションをパッケージングする ` " +"まで飛ばしてください。" #: ../source/overview.rst:56 msgid "Python modules" @@ -16483,11 +16488,10 @@ msgid "" "use Python's native packaging tools to create a *source* :term:`Distribution " "Package`, or *sdist* for short." msgstr "" -"あなたのソースコードが純粋な Python コード以外は何も含んでいない間は、そし" -"て、配置先の環境であなたが想定しているバージョンの Python が動作することを" -"知っていれば、 Python 由来のパッケージングツールを使って *ソースコード" -"* :term:`配布パッケージ ` もしくは 短縮系で*sdist* を使" -"えば良いでしょう。" +"ソースコードが純粋な Python コード以外は何も含んでいない場合で、配置先の環境" +"で想定バージョンの Python が動作することがわかっている場合には、 Python 由来" +"のパッケージングツールを使って *ソースコード* :term:`配布パッケージ " +"` もしくは 短縮系で *sdist* を使えば良いでしょう。" #: ../source/overview.rst:92 msgid "" @@ -17763,8 +17767,8 @@ msgid "" "``{distribution}-{version}.dist-info/WHEEL`` is metadata about the archive " "itself in the same basic key: value format::" msgstr "" -"``{distribution}-{version}.dist-info/WHEEL`` は、同様のキー:バリュー形式で表" -"現されたアーカイブそのものに関するメタデータです::" +"``{distribution}-{version}.dist-info/WHEEL`` は、基本的なキー:バリュー形式と" +"同じ形式で表現されたアーカイブそのものに関するメタデータです::" #: ../source/specifications/binary-distribution-format.rst:209 msgid "``Wheel-Version`` is the version number of the Wheel specification." @@ -18174,10 +18178,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -18282,13 +18287,13 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "例" #: ../source/specifications/build-details/index.rst:35 msgid "Changelog" -msgstr "Changelog" +msgstr "変更履歴" #: ../source/specifications/build-details/index.rst:45 #: ../source/specifications/build-details/v1.0.rst:9 @@ -20981,7 +20986,7 @@ msgstr "追加物の名前に対する制限事項は :pep:`685` で定義され #: ../source/specifications/dependency-specifiers.rst:113 msgid "Giving us a rule for name based requirements::" -msgstr "私たちに名前に基づいた要求仕様を与えてください::" +msgstr "私たちに名前に基づいた要求仕様を与える::" #: ../source/specifications/dependency-specifiers.rst:117 msgid "And a rule for direct reference specifications::" @@ -21121,7 +21126,7 @@ msgid "" msgstr "" "マーカ言語は Python そのものに触発されたもので、セキュリティ上の脆弱性になり" "かねない任意コードの実行を伴わずに安全に評価を行うことができるので選ばれまし" -"た。マーカは:pep:`345` で初めて標準化されました。この説明文書で" +"た。マーカは :pep:`345` で初めて標準化されました。この説明文書で" "は、 :pep:`426` に記述されたデザインに見られるいくつかの問題点を修正していま" "す。" @@ -21245,7 +21250,7 @@ msgstr "値の例" #: ../source/specifications/dependency-specifiers.rst:251 msgid "``os_name``" -msgstr "``OS の名称 ``" +msgstr "``os_name``" #: ../source/specifications/dependency-specifiers.rst:252 msgid ":py:data:`os.name`" @@ -21479,7 +21484,7 @@ msgid "" "future versions of Python with 2-digit major and minor versions (e.g. 3.10). " "[#future_versions]_" msgstr "" -"2019年6月: ``python_version`` の定義は、Python の将来のバージョンが二桁のメ" +"2019年7月: ``python_version`` の定義は、Python の将来のバージョンが二桁のメ" "ジャーバージョンやマイナーバージョンを持つ場合 (例えば 3.10) でもそれを収容で" "きるように、 ``platform.python_version()[:3]`` から " "``'.'.join(platform.python_version_tuple()[:2])`` へ `変更されました ` に記述されています。" +"この説明文書では、配布物の配布元へ直接アクセスする URL を記録する方法を指定す" +"るために、インストール済みの配布物の ``*.dist-info`` ディレクトリにあ" +"る :file:`direct_url.json` ファイルの仕様を指定します。 ``*.dist-info`` ディ" +"レクトリの一般的な構造と使用方法は、 :ref:`インストール済みパッケージを記録す" +"る ` に記述されています。" #: ../source/specifications/direct-url.rst:17 msgid "" @@ -21705,8 +21710,8 @@ msgid "" msgstr "" "本稿執筆時点では、ツール群に渡せるようにこのデータ構造の各部分を単一の URL に" "まとめる方法については公式には指定されていません。よく見られる表現形式は pip " -"URL フォーマット (`VCS サポート `_) で、他の例が :ref:`バー" -"ジョン指定子仕様 ` の中で提供されています。" +"URL フォーマット ( `VCS サポート `_ ) で、他の例が :ref:`" +"バージョン指定子仕様 ` の中で提供されています。" #: ../source/specifications/direct-url-data-structure.rst:21 msgid "" @@ -21867,12 +21872,12 @@ msgid "" "secure algorithm from :py:data:`hashlib.algorithms_guaranteed` SHOULD always " "be included. At time of writing, ``sha256`` specifically is recommended." msgstr "" -":py:mod:`hash lib` 経由で利用可能なハッシュアルゴリズム (とりわ" +":py:mod:`hashlib` 経由で利用可能なハッシュアルゴリズム (とりわ" "け、 :py:func:`hashlib.new()` に渡すことができて、かつ、それ以上のパラメータ" "を必要としないもの) はどれでも、ハッシュ値を格納する辞書のキーとして用いるこ" -"とができます。 :py:data:`hashlib.algorithms_garanteed` から安全なアルゴリズム" -"を少なくともひとつ選択して含めるべきです。執筆時点では、 ``sha256`` が特に推" -"奨されています。" +"とができます。 :py:data:`hashlib.algorithms_guaranteed` から安全なアルゴリズ" +"ムを少なくともひとつ選択して含めるべきです。執筆時点では、 ``sha256`` が特に" +"推奨されています。" #: ../source/specifications/direct-url-data-structure.rst:100 msgid "" @@ -21935,10 +21940,10 @@ msgid "" "absolute. Symbolic links SHOULD be preserved when making relative paths " "absolute." msgstr "" -"``url`` がローカルのディレクトリを参照している場合、 :rfc:``8089` に適合する " -"``file`` スキームが存在していなければなりません。特にパス部分は絶対パスでなけ" -"ればなりません。相対パスを絶対パスに変換する際には、シンボリックリンクはその" -"まま保存されているべきです。" +"``url`` がローカルのディレクトリを参照している場合、 ``file`` スキームであっ" +"て :rfc:`8089` に適合していなければなりません。特にパス部分は絶対パスでなけれ" +"ばなりません。相対パスを絶対パスに変換する際には、シンボリックリンクはそのま" +"ま保存されているべきです。" #: ../source/specifications/direct-url-data-structure.rst:130 msgid "Projects in subdirectories" @@ -22036,7 +22041,7 @@ msgstr "``commit_id`` フィールド" #: ../source/specifications/direct-url-data-structure.rst:167 msgid "A commit hash (40 hexadecimal characters sha1)." -msgstr "コミットハッシュ (16進数で40文字のSHA1)。" +msgstr "コミットハッシュ (16進数で40文字の sha1 )。" #: ../source/specifications/direct-url-data-structure.rst:171 msgid "" @@ -22163,8 +22168,8 @@ msgid "" "January 2023: Added the ``archive_info.hashes`` key (`discussion `_)." msgstr "" -"2023年1月: ``archive_info.hashes`` キーを追加しました (`議論 `_) 。" +"2023年1月: ``archive_info.hashes`` キーを追加しました ( `議論 `_ ) 。" #: ../source/specifications/entry-points.rst:5 msgid "Entry points specification" @@ -22247,9 +22252,9 @@ msgid "" "more groups of letters, numbers and underscores, separated by dots (regex " "``^\\w+(\\.\\w+)*$``)." msgstr "" -"エントリポイントが属する *group* は、それがどのような種類のオブジェクトを提供" -"するのかを示します。例えば、 ``console_scripts`` グループはコマンドとして使え" -"る関数を参照するエントリポイント用であり、一方、 ``pygments.styles`` は " +"エントリポイントが属する **group** は、それがどのような種類のオブジェクトを提" +"供するのかを示します。例えば、 ``console_scripts`` グループはコマンドとして使" +"える関数を参照するエントリポイント用であり、一方、 ``pygments.styles`` は " "pygments スタイルを定義するクラスを提供するグループです。利用する側 (コン" "シューマ) は、通常、期待するインタフェースを定義しています。衝突を避けるため" "に、新しいグループを定義するのであればコンシューマは自身の PyPI での名前の後" @@ -22340,7 +22345,7 @@ msgid "" "distributions, and in :ref:`binary-distribution-format` for wheels. The file " "uses the UTF-8 character encoding." msgstr "" -"エントリポイントは、配布物の `*.dist-info` ディレクトリの中" +"エントリポイントは、配布物の :file:`*.dist-info` ディレクトリの中" "の :file:`entry_points.txt` と呼ばれるファイル内で定義されます。これは、イン" "ストール済みの配布物に関しては :ref:`インストール済みパッケージを記録する " "` 、 wheels に関しては :ref:`バイナリ配布物の" @@ -22519,10 +22524,9 @@ msgid "" msgstr "" "この仕様では ``EXTERNALLY-MANAGED`` というマーカファイルを定義しており、これ" "によって Python をインストールする際に ``pip`` のような Python に特有のツール" -"群に対してインタプリタのデフォルトのインストール環境にパッケージを" -"インストールしたり取り除いたりしないように指示し、その代わりに、エンドユーザ" -"に対して :ref:`仮想環境 ` を使うようにガイドするべきで" -"す。" +"群に対してインタプリタのデフォルトのインストール環境にパッケージをインストー" +"ルしたり取り除いたりしないように指示し、その代わりに、エンドユーザに対し" +"て :ref:`仮想環境 ` を使うようにガイドするべきです。" #: ../source/specifications/externally-managed-environments.rst:24 msgid "" @@ -23194,15 +23198,15 @@ msgid "" "absolutely needed, use ``pip uninstall --scheme=posix_distro`` to use pip to " "remove packages from the system-managed directory." msgstr "" -"我々は、 pip が指定されたスキームで走るように指示する ``--scheme=...`` " -"オプションを追加することを提案します。(現在の pip がスキームを決定する方法に" -"ついては後述の `Implementation Notes`_ を参照してください。) これが利用可能に" -"なり次第、ローカルのテストやおそらく実際のパッケージングで、 " -"(``get_preferred_schemes`` をバイパスして) 明示的にディストロ側の場所へ" -"パッケージをインストールするために ``pip install --scheme=posix_distro`` のよ" -"うな形で実行することができるようになるでしょう。また、もし本当に必要であれば" -"、 pip を使ってシステム側が管理するディレクトリからパッケージを削除するため" -"に ``pip uninstall --scheme=posix_distro`` を使うことさえできるでしょう。" +"我々は、 pip が指定されたスキームで走るように指示する ``--scheme=...`` オプ" +"ションを追加することを提案します。(現在の pip がスキームを決定する方法につい" +"ては後述の `Implementation Notes`_ を参照してください。) これが利用可能になり" +"次第、ローカルのテストやおそらく実際のパッケージングで、 " +"(``get_preferred_schemes`` をバイパスして) 明示的にディストロ側の場所へパッ" +"ケージをインストールするために ``pip install --scheme=posix_distro`` のような" +"形で実行することができるようになるでしょう。また、もし本当に必要であれば、 " +"pip を使ってシステム側が管理するディレクトリからパッケージを削除するために " +"``pip uninstall --scheme=posix_distro`` を使うことさえできるでしょう。" #: ../source/specifications/externally-managed-environments.rst:377 msgid "" @@ -23358,11 +23362,10 @@ msgid "" "``distutils`` instead of as a changed ``sysconfig`` scheme." msgstr "" "Fedora は、現在、`patch to change the default install location when not " -"running inside rpmbuild`__ を適用していて、「ふたつのシステムワイドな" -"ディレクトリ」のアプローチを使っています。これは、概念としては、 " -"``sysconfig`` スキームを変更するものとしてではなく ``distutils`` への" -"ソースコードパッチとして実装されていることを除けば、 bpo-43976_ によって可視" -"化されたある種のフックです。" +"running inside rpmbuild`__ を適用していて、「ふたつのシステムワイドなディレク" +"トリ」のアプローチを使っています。これは、概念としては、 ``sysconfig`` スキー" +"ムを変更するものとしてではなく ``distutils`` へのソースコードパッチとして実装" +"されていることを除けば、 bpo-43976_ によって可視化されたある種のフックです。" #: ../source/specifications/externally-managed-environments.rst:454 msgid "" @@ -23605,9 +23608,13 @@ msgstr "" "ファイルシステム上のエンティティに対して合致する文字列でなければなりません。" #: ../source/specifications/glob-patterns.rst:18 +#, fuzzy +#| msgid "" +#| "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " +#| "(``.``) MUST be matched verbatim." msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" "英数字、アンダースコア (``_``) 、ハイフン (``-``) およびドット (``.``) は、文" "字通りにマッチされなければなりません。" @@ -23710,6 +23717,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "下に示すソースコードは、単純な参照実装としてのものです:" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "PyPA 仕様" @@ -24282,9 +24297,9 @@ msgid "" "configure behavior. It has the same semantics as the :ref:`[tool] table in " "pyproject.toml `." msgstr "" -"``[tool]`` テーブルは、どんなツールでもスクリプトランナーでもその他のものでも" -"、振る舞いを設定するのに使用して構いません。 :ref:`pyproject.toml内の [tool] " -"テーブル ` と同一のセマンティクスを持ちます。" +"``[tool]`` テーブルは、どんなツールでもスクリプトランナーでもその他のもので" +"も、振る舞いを設定するのに使用して構いません。 :ref:`pyproject.toml内の " +"[tool] テーブル ` と同一のセマンティクスを持ちます。" #: ../source/specifications/inline-script-metadata.rst:86 msgid "The top-level fields are:" @@ -24402,11 +24417,9 @@ msgid "" "defines which license expressions are acceptable." msgstr "" ":pep:`639` では、 :ref:`pyproject.toml のライセンス ` の新しい値を定義していて、対応する :ref:`コアとなるメタデータのライ" -"センス表現フィールド `:ref:`コアとなるメタ" -"データのライセンス表現フィールド ` を追加し" -"ました。この仕様は、どのライセンス表現が受け入れ可能であるかを定義していま" -"す。" +"license>` の新しい値を定義し、対応する :ref:`コアとなるメタデータのライセンス" +"表現フィールド ` を追加しました。この仕様" +"は、どのライセンス表現が受け入れ可能であるかを定義しています。" #: ../source/specifications/license-expression.rst:14 msgid "" @@ -24480,10 +24493,10 @@ msgid "" "valid project names are limited to those which match the following regex " "(run with :py:data:`re.IGNORECASE`)::" msgstr "" -"正当な名前は ASCII 文字・数字・ピリオド・アンダースコア・ハイフンだけで構成さ" -"れているものです。名前の先頭と末尾は文字か数字でなければなりません。正当なプ" -"ロジェクト名は、次の正規表現に (``re.IGNORECASE`` 付きで) マッチするものに限" -"られるということになります::" +"正当な名前は、 ASCII 文字・数字・ピリオド・アンダースコア・ハイフンだけで構成" +"されているものです。名前の先頭と末尾は文字か数字でなければなりません。正当な" +"プロジェクト名は、次の正規表現に ( :py:data:`re.IGNORECASE` 付きで) マッチす" +"るものに限られるということになります::" #: ../source/specifications/name-normalization.rst:26 msgid "Name normalization" @@ -24545,7 +24558,7 @@ msgid "" "November 2015: The specification of valid names was approved " "through :pep:`508 <508#names>`." msgstr "" -"2015年11月: :pep:`508 <508#名前>` を通じて正当な名前に関する仕様が承認されま" +"2015年11月: :pep:`508 <508#names>` を通じて正当な名前に関する仕様が承認されま" "した。" #: ../source/specifications/platform-compatibility-tags.rst:6 @@ -24684,8 +24697,7 @@ msgid "" "``py2.py3``. See `Compressed Tag Sets`_, below." msgstr "" "単一ソースで Python 2/3 に互換性を持つ配布物は、合成タグ ``py2.py3`` を用いる" -"ことができます。 後述の `タグの圧縮された組み合わせ `_ " -"を参照してください。" +"ことができます。 後述の `Compressed Tag Sets`_ を参照してください。" #: ../source/specifications/platform-compatibility-tags.rst:66 msgid "ABI Tag" @@ -25450,7 +25462,7 @@ msgid "" msgstr "" "互換性タグは、インストーラがある配布物の *単一のバージョン* の *最も互換性が" "ある* ビルドを選択する際に助けとなります。例えば、 (Python 3.4 に特有の機能を" -"使っている) ``beaglevote-1.2.0``には Python 3.3 と互換性を持つビルドがひとつ" +"使っている) ``beaglevote-1.2.0`` には Python 3.3 と互換性を持つビルドがひとつ" "もないという場合でも、 ``py34-none-any`` タグの代わりに ``py3-none-any`` タグ" "を使っても構いません。 Python 3.3 のユーザが互換性のあるビルドを得るために" "は、新しい機能を使う前のリリースである ``beaglevote-1.1.0`` 用の要求 " @@ -25903,8 +25915,8 @@ msgstr "**型**: 文字列; ``\"1.0\"`` という値" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "**必須?**: はい" @@ -25959,18 +25971,18 @@ msgstr "**型**: 文字列の配列" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "**必須?**: いいえ" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "**ひらめき**: uv_" @@ -26002,19 +26014,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "**型**: 文字列" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "**ひらめき**: PDM_, Poetry_, uv_" @@ -26083,8 +26097,8 @@ msgid "``dependency-groups``" msgstr "``dependency-groups``" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "**ひらめき**: :ref:`pyproject-tool-table`" @@ -26190,8 +26204,8 @@ msgstr "``[[packages]]``" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "**型**: テーブルの配列" @@ -26327,9 +26341,9 @@ msgstr "``[packages.vcs]``" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "**型**: テーブル" @@ -26434,6 +26448,7 @@ msgid "The path to the local directory of the source tree." msgstr "ソースコードツリーのローカルディレクトリへのパス。" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" @@ -26441,6 +26456,7 @@ msgstr "" "ん。" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -26614,7 +26630,7 @@ msgid "``packages.directory.subdirectory``" msgstr "``packages.directory.subdirectory``" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr ":ref:`pylock-packages-vcs-subdirectory` を参照のこと。" @@ -26623,6 +26639,8 @@ msgid "``[packages.archive]``" msgstr "``[packages.archive]``" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "**ひらめき**: :ref:`direct-url-data-structure-archive`" @@ -26663,35 +26681,63 @@ msgstr "" msgid "``packages.archive.url``" msgstr "``packages.archive.url``" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." -msgstr ":ref:`pylock-packages-vcs-url` を参照のこと。" +#: ../source/specifications/pylock-toml.rst:453 +#, fuzzy +#| msgid "**Required?**: if :ref:`pylock-packages-vcs-path` is not specified" +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" +msgstr "**必須?**: もし :ref:`pylock-packages-vcs-path` が指定されていなければ" + +#: ../source/specifications/pylock-toml.rst:455 +#, fuzzy +#| msgid "The URL_ to the source tree." +msgid "The URL_ to the archive." +msgstr "ソースコードツリーへの URL_ 。" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "``packages.archive.path``" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." -msgstr ":ref:`pylock-packages-vcs-path` を参照のこと。" +#: ../source/specifications/pylock-toml.rst:464 +#, fuzzy +#| msgid "**Required?**: if :ref:`pylock-packages-vcs-url` is not specified" +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" +msgstr "**必須?**: もし :ref:`pylock-packages-vcs-url` が指定されていなければ" #: ../source/specifications/pylock-toml.rst:466 +#, fuzzy +#| msgid "The size of the archive file." +msgid "The path to the archive." +msgstr "アーカイブファイルのサイズ。" + +#: ../source/specifications/pylock-toml.rst:470 +#, fuzzy +#| msgid "" +#| "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; " +#| "if it isn't, skip to the next package." +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" +":ref:`pylock-packages-marker` が指定されているなら、それを満足しているかどう" +"かの確認; もし満足していなければ、次のパッケージへとスキップしましょう。" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "``packages.archive.size``" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "**型**: 整数" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "**ひらめき**: uv_ ・ :ref:`simple-repository-api`" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "アーカイブファイルのサイズ。" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." @@ -26700,39 +26746,39 @@ msgstr "" "イズは、 HTTP リクエストの HEAD_ )から得られる Content-Length_ ヘッダーを通じ" "て利用可能です 。" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "``packages.archive.upload-time``" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "**型**: datetime" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "**ひらめき**: :ref:`simple-repository-api`" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "当該ファイルがアップロードされた時刻。" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "日付と時刻は、 UTC で記録されなければなりません。" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "``[packages.archive.hashes]``" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "**型**: 文字列のテーブル" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "**ひらめき**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." @@ -26740,15 +26786,15 @@ msgstr "" "当該ファイルの既知のハッシュ値を列挙したテーブルで、キーがハッシュアルゴリズ" "ムで値がハッシュ値のもの。" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "テーブルは、少なくともひとつのエントリを含んでいなければなりません。" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "ハッシュアルゴリズムのキーは、小文字であるべきです。" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " @@ -26758,15 +26804,15 @@ msgstr "" "ム を少なくともひとつ含んでいるべきです (執筆時点では、特に sha256 が推奨され" "ています) 。" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "``packages.archive.subdirectory``" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "``packages.index``" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." @@ -26775,7 +26821,7 @@ msgstr "" "sdist と wheel の両方または片方が見つかるところ (例えば、 ``https://pypi.org/" "simple/``) 。" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " @@ -26785,7 +26831,7 @@ msgstr "" "materials`_ を生成することを手助けするために、また、 URL が有効ではなくなった" "時にファイルを探す手助けとするために、これを指定するべきです。" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." @@ -26794,12 +26840,12 @@ msgstr "" "ラーコードの 404 を返す) 場合には、インデックスからインストールすることをサ" "ポートしても構いません。" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "``[packages.sdist]``" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" @@ -26807,11 +26853,11 @@ msgstr "" "**必須?**: いいえ; :ref:`pylock-packages-vcs` ・ :ref:`pylock-packages-" "directory` ・ :ref:`pylock-packages-archive` と相互に排他的" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "パッケージの :ref:`source-distribution-format-sdist` の詳細。" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." @@ -26819,18 +26865,18 @@ msgstr "" "ツール類は、ロッキングとインストール局面の両方または片方で sdist ファイルをサ" "ポートしないことを選択しても構いません。" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" "ツール類は、 sdist ファイルを使用することについてオプトイン/オプトアウトの方" "法をユーザに対して提供するべきです。" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "``packages.sdist.name``" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" @@ -26838,60 +26884,72 @@ msgstr "" "**必須?**: いいえ, :ref:`pylock-packages-sdist-path`/ :ref:`pylock-packages-" "sdist-url` の最後の構成品でない時は、同じ値でしょう" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr ":ref:`source-distribution-format-sdist` ファイルのファイル名。" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +#, fuzzy +#| msgid "" +#| "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-" +#| "packages-sdist-hashes`." +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" +":ref:`pylock-packages-sdist-size` と :ref:`pylock-packages-sdist-hashes` を" +"使って正当性を検証しましょう。" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "``packages.sdist.upload-time``" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr ":ref:`pylock-packages-archive-upload-time` を参照のこと。" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "``packages.sdist.url``" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr ":ref:`pylock-packages-archive-url` を参照のこと。" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "``packages.sdist.path``" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr ":ref:`pylock-packages-archive-path` を参照のこと。" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "``packages.sdist.size``" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr ":ref:`pylock-packages-archive-size` を参照のこと。" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "``packages.sdist.hashes``" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr ":ref:`pylock-packages-archive-hashes` を参照のこと。" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "``[[packages.wheels]]``" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." @@ -26899,7 +26957,7 @@ msgstr "" "パッケージに関する :ref:`binary-distribution-format` で指定されたように " "wheel ファイルを記録するためのもの。" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." @@ -26907,11 +26965,11 @@ msgstr "" "ツール類は、ロッキングとインストール局面の両方で、 wheel ファイルをサポートし" "なければなりません。" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "``packages.wheels.name``" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" @@ -26919,51 +26977,64 @@ msgstr "" "**必須?**: いいえ、 :ref:`pylock-packages-wheels-path` / :ref:`pylock-" "packages-wheels-url` の最後の構成部品が同一の値でない時は" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr ":ref:`binary-distribution-format` ファイルのファイル名。" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +#, fuzzy +#| msgid "" +#| "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-" +#| "packages-wheels-hashes`." +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" +":ref:`pylock-packages-wheels-size` や :ref:`pylock-packages-wheels-hashes` を" +"用いて、正当性の検証をしましょう。" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "``packages.wheels.upload-time``" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "``packages.wheels.url``" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "``packages.wheels.path``" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "``packages.wheels.size``" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "``packages.wheels.hashes``" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "``[[packages.attestation-identities]]``" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "**ひらめき**: :ref:`provenance-object`" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" "このパッケージに記録された **任意の** ファイルのための証拠を記録したもの。" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" "もし利用可能であれば、ツール類は、証拠の見つかった身元を含めておくべきです。" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." @@ -26971,19 +27042,19 @@ msgstr "" "公開者に特有のキー群は、 :ref:`index-hosted-attestations` での仕様に従って、" "そのまま (つまりトップレベルの) テーブルに含まれることになります。" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "``packages.attestation-identities.kind``" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "信頼された公開者の一意の身元。" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "``[packages.tool]``" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " @@ -26993,7 +27064,7 @@ msgstr "" "た使用方法だが、ロックファイルのレベル (これも :ref:`pylock-tool` を通じて利" "用可能) の代わりにパッケージバージョンのレベルのもの。" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." @@ -27001,15 +27072,15 @@ msgstr "" "テーブルに記録されたデータは、使い捨て可能でなければなりません (すなわち、イ" "ンストールされたものに影響を与えてはなりません) 。" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "``[tool]``" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr ":ref:`pylock-packages-tool` を参照のこと。" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " @@ -27018,7 +27089,7 @@ msgstr "" "ロックファイルからインストールする時に踏んでいく段階をこの後にアウトラインし" "ます (要求事項は規範的なものですが、一般的な段階と順序は示唆です) :" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." @@ -27026,11 +27097,11 @@ msgstr "" "インストールするために追加物と依存関係グループを集めて、それぞれ ``extras`` " "と ``dependency_groups`` をマーカー評価のために設定しましょう。" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "``extras`` は、デフォルトで空に設定されているべきです。" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." @@ -27038,7 +27109,7 @@ msgstr "" "``dependency_groups`` は、デフォルトで、 :ref:`pylock-default-groups` から生" "成されたものが設定されているべきです。" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." @@ -27047,7 +27118,7 @@ msgstr "" "されているかどうかの確認; 適切な場合にはエラーもしくは警告を発生させなければ" "なりません。" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " @@ -27057,7 +27128,7 @@ msgstr "" "求事項に合致するかどうかの確認; 合致しなければ、エラーを発生させなければなり" "ません。" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " @@ -27067,11 +27138,11 @@ msgstr "" "くともひとつが満足されていることの確認; 表現を満足するものがなければエラーを" "発生させなければなりません。" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr ":ref:`pylock-packages` の中に列挙されたそれぞれのパッケージについて:" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." @@ -27079,7 +27150,7 @@ msgstr "" ":ref:`pylock-packages-marker` が指定されているなら、それを満足しているかどう" "かの確認; もし満足していなければ、次のパッケージへとスキップしましょう。" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." @@ -27088,7 +27159,7 @@ msgstr "" "るかどうかの確認; もし満足されていない時は、エラーを発生させなければなりませ" "ん。" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." @@ -27096,7 +27167,7 @@ msgstr "" "パッケージと干渉するインスタンスがインストールされるリストに載っていないこと" "の確認; そうでなければ、曖昧さに関するエラーを発生させなければなりません。" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " @@ -27106,19 +27177,19 @@ msgstr "" "ケージのエントリに他の干渉する源がないということ)の確認; 何らかの問題が見つ" "かったら、エラーを発生させなければなりません。" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "そのパッケージを、インストールするべきパッケージの集合に加えましょう。" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "インストールされるパッケージのそれぞれについて:" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr ":ref:`pylock-packages-vcs` がセットされていれば:" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." @@ -27126,7 +27197,7 @@ msgstr "" ":ref:`pylock-packages-vcs-commit-id` で指定されているコミット ID へリポジトリ" "をクローン しましょう。" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." @@ -27134,20 +27205,20 @@ msgstr "" ":ref:`pylock-packages-vcs-subdirectory` を尊重しつつ、パッケージを :ref:`ビル" "ド ` しましょう。" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr ":ref:`インストール ` しましょう。" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" "そうではなくて、 :ref:`pylock-packages-directory` がセットされている場合:" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." @@ -27155,17 +27226,17 @@ msgstr "" ":ref:`pylock-packages-directory-subdirectory` を尊重しつつ、パッケージ" "を :ref:`ビルド ` しましょう。" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" "そうではなくて、 :ref:`pylock-packages-archive` がセットされている場合:" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "ファイルを取得してください。" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." @@ -27173,7 +27244,7 @@ msgstr "" ":ref:`pylock-packages-archive-size` と :ref:`pylock-packages-archive-hashes` " "を使って検証しましょう。" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." @@ -27181,12 +27252,12 @@ msgstr "" ":ref:`pylock-packages-archive-subdirectory` を尊重しつつ、パッケージを :ref:`" "ビルド ` してください。" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" "そうではなくて、 :ref:`pylock-packages-wheels` のエントリが存在する場合:" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " @@ -27197,17 +27268,17 @@ msgstr "" "プロジェクトのためのソースが欠落していることについてエラーを発生させなければ" "なりません。" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "ファイルを取得しましょう:" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" ":ref:`pylock-packages-wheels-path` がセットされているなら、それを使いましょ" "う。" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -27223,7 +27294,7 @@ msgstr "" "なりません; どのファイルをインストールするのかについては、再現性の確保のため" "に、オフラインの様式で決定されるべきです) 。" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." @@ -27231,7 +27302,7 @@ msgstr "" ":ref:`pylock-packages-wheels-size` や :ref:`pylock-packages-wheels-hashes` を" "用いて、正当性の検証をしましょう。" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" @@ -27239,12 +27310,12 @@ msgstr "" "そうではなくて、 :ref:`pylock-packages-wheels` ファイルが見つからないか、また" "は、 :ref:`pylock-packages-sdist` だけがセットされている場合:" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" ":ref:`pylock-packages-sdist-path` がセットされていれば、それを使いましょう。" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " @@ -27255,7 +27326,7 @@ msgstr "" "使っても構いませんし、 ツールに特有のファイルをダウンロードする何らかのメカニ" "ズムを使っても構いません。" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." @@ -27263,15 +27334,20 @@ msgstr "" ":ref:`pylock-packages-sdist-size` と :ref:`pylock-packages-sdist-hashes` を" "使って正当性を検証しましょう。" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" "パッケージを :ref:`ビルド ` しましょう。" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "2025年4月: :pep:`751` を通じて 初期バージョンが承認されました。" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr ":file:`.pypirc` ファイル" @@ -27335,8 +27411,8 @@ msgid "" "providing the password on the command line." msgstr "" "あなたのパスワードが平文で保存されることに注意してください。より良いセキュリ" -"ティのために `キーリング `_ ・環境変数での設定・コマンドラインでのパ" -"スワード供給のような代替策を検討してください。" +"ティのために、 `keyring`_ ・環境変数での設定・コマンドラインでのパスワード供" +"給のような代替策を検討してください。" #: ../source/specifications/pypirc.rst:52 msgid "" @@ -29139,7 +29215,7 @@ msgid "" msgstr "" "この説明文書では、 \"**MUST**\" ・ \"**MUST NOT**\" ・ \"**REQUIRED**\" ・ " "\"**SHALL**\" ・ \"**SHALL NOT**\", ・ **SHOULD**\" ・ \"**SHOULD NOT**\" ・ " -"\"**RECOMMENDED**\" ・ \"**MAY**\" ・ \"**OPTIONAL**\"\" を :rfc:`2119` で記" +"\"**RECOMMENDED**\" ・ \"**MAY**\" ・ \"**OPTIONAL**\"\" を :rfc:`2119` に記" "述された意味に解釈します。" #: ../source/specifications/simple-repository-api.rst:13 @@ -29150,7 +29226,7 @@ msgid "" msgstr "" "利用可能なパッケージバージョンを問い合わせたり、インデックスサーバからパッ" "ケージを取り出したりするためのインターフェースは、二つの形式: :ref:`HTML " -"` と Jref:`JSON ` " +"` と :ref:`JSON ` " "によってもたらされます。" #: ../source/specifications/simple-repository-api.rst:21 @@ -29196,9 +29272,9 @@ msgstr "" "この仕様は、 \"正規化された\" プロジェクト名称の概念を参照しています。 :ref:`" "名称正規化仕様 ` によれば、名称における正当な文字は、 " "ASCII アルファベット・ ASCII 数字・ ``.`` ・ ``-`` ・ ``_`` だけです。名称" -"は、 `.`` ・ ``-`` ・ ``_`` がいくつ連続していてもそれを単一の ``-`` 文字に置" -"き換え、小文字で統一されているべきです。これは Python の ``re`` モジュールで" -"実装されています::" +"は、 ``.`` ・ ``-`` ・ ``_`` がいくつ連続していてもそれを単一の ``-`` 文字に" +"置き換え、小文字で統一されているべきです。これは Python の ``re`` モジュール" +"で実装されています::" #: ../source/specifications/simple-repository-api.rst:50 msgid "Versioning PyPI's Simple API" @@ -29287,7 +29363,11 @@ msgid "" "This section contains only an abbreviated history of changes, as marked by " "the API version number. For a full history of changes including changes made " "before API versioning, see :ref:`History `." -msgstr "「—" +msgstr "" +"この節は、 API のバージョン番号によって印を付けられたものとして、要約された変" +"更履歴だけを含んでいます。 API にバージョンを付与する前になされた変更も含む完" +"全な変更履歴については、 :ref:`歴史 ` を見てくださ" +"い。" #: ../source/specifications/simple-repository-api.rst:95 msgid "API version 1.0: Initial version of the API, declared with :pep:`629`." @@ -29405,9 +29485,9 @@ msgid "" "``href`` attribute **MUST** link to the URL for that particular project. As " "an example:" msgstr "" -"アンカータグのテキストは、それぞれ、プロジェクトの名称でなければならず、 " -"``href`` アトリビュートはその特定のプロジェクトの URL にリンクされていなけれ" -"ば **なりません** 。例としては:" +"アンカータグのテキストは、それぞれ、プロジェクトの名称で **なければならず" +"** 、 ``href`` アトリビュートはその特定のプロジェクトの URL にリンクされてい" +"なければ **なりません** 。例としては:" #: ../source/specifications/simple-repository-api.rst:156 #: ../source/specifications/simple-repository-api.rst:473 @@ -29469,9 +29549,9 @@ msgid "" "repository **SHOULD** redirect the URLs without a ``/`` to add a ``/`` to " "the end." msgstr "" -"HTML5 ページで応答するすべての URL は ``/`` で終わるものでなければならず、リ" -"ポジトリは ``/`` で終わらない URL の最後に ``/`` を加えたものへリダイレクト " -"**するべき** です。" +"HTML5 ページで応答するすべての URL は ``/`` で終わるもので **なければならず" +"** 、リポジトリは ``/`` で終わらない URL の最後に ``/`` を加えたものへリダイ" +"レクト **するべき** です。" #: ../source/specifications/simple-repository-api.rst:183 msgid "" @@ -29823,11 +29903,11 @@ msgid "" "format to serve, i.e. either HTML or JSON." msgstr "" "ゼロコンフィグレーションディスカバリを有効にして追加的な HTTP リクエストの量" -"を最小化するために、この仕様では HTML:ref:`基本となる HTML API の仕様 " -"` を拡張して、 (ファイル群それ自体を除く) すべて" -"の API エンドポイントが HTTP コンテンツネゴシエーションを使ってクライアントお" -"よびサーバが提供するべき正しいシリアライズのフォーマット、即ち HTML もしくは " -"JSON を選択できるようにしています。" +"を最小化するために、この仕様では :ref:`基本となる HTML API の仕様 ` を拡張して、 (ファイル群それ自体を除く) すべての API エ" +"ンドポイントが HTTP コンテンツネゴシエーションを使ってクライアントおよびサー" +"バが提供するべき正しいシリアライズのフォーマット、即ち HTML もしくは JSON を" +"選択できるようにしています。" #: ../source/specifications/simple-repository-api.rst:351 msgid "" @@ -30213,7 +30293,7 @@ msgstr "" "デフォルトでは、 :py:mod:`hashlib` を経由して利用可能なハッシュアルゴリズム " "(特に、:py:func:`hashlib.new()` に渡すことができて、かつ、追加のパラメータを" "要求しないもの) は、すべて、ハッシュの辞書のキーとして使うことができま" -"す。 :py:`data:`hashlib.algorithms_guaranteed` から選択した少なくともひとつの" +"す。 :py:data:`hashlib.algorithms_guaranteed` から選択した少なくともひとつの" "セキュアなアルゴリズムが、常に、 **含まれているべきです** 。この仕様の時点で" "は、特に ``sha256`` が推奨されます。" @@ -30248,13 +30328,13 @@ msgid "" "boolean to indicate if the file has an associated metadata file, or a " "dictionary mapping hash names to a hex encoded digest of the metadata's hash." msgstr "" -"``core-metadata``: :ref:`API メタデータの仕様 ` で指定されたのと同じ場所 (``{file_url}.metadata``) を通じて当" -"該ファイルに関するメタデータが利用可能であることを示す**オプション** のキー。" -"これが存在する場合には、そのファイルに対応するメタデータファイルがあるか否か" -"を示すブーリアンであるか、または、ハッシュ名称からメタデータのハッシュを16進" -"数にエンコードしたダイジェストへの対応をマッピングする辞書であるか、のいずれ" -"かで **なければなりません** 。" +"``core-metadata``: **オプション** のキーで、 :ref:`API メタデータファイルの仕" +"様 ` で指定されたのと同じ場所 " +"(``{file_url}.metadata``) を通じて当該ファイルに関するメタデータが利用可能で" +"あることを示すもの。これが存在する場合には、そのファイルに対応するメタデータ" +"ファイルがあるか否かを示すブーリアンであるか、または、ハッシュ名称からメタ" +"データのハッシュを16進数にエンコードしたダイジェストへの対応をマッピングする" +"辞書であるか、のいずれかで **なければなりません** 。" #: ../source/specifications/simple-repository-api.rst:568 msgid "" @@ -30523,8 +30603,8 @@ msgid "" "The client makes an HTTP request containing an ``Accept`` header listing all " "of the version+format content types that they are able to understand." msgstr "" -"理解できるコンテント型を全て``Accept`` ヘッダに列挙した HTTP リクエストをクラ" -"イアントが作成します。" +"クライアントは、自身が理解できるコンテント型を version+format の形で全て " +"``Accept`` ヘッダに列挙した HTTP リクエストを作成します。" #: ../source/specifications/simple-repository-api.rst:728 msgid "" @@ -30604,10 +30684,11 @@ msgid "" msgstr "" "しかしながら、 ``300 Multiple Choices`` 応答がどのように解釈され得るかについ" "て標準的なフォーマットは存在しないので、クライアント側が理解して要求するべき" -"別のコンテント型を選択する手段がないので、この仕様ではサーバがこのオプション" -"を採用することを強い非推奨にしています。加えて、クライアントが別のコンテント" -"型を **理解できるであろう** とは思われず、したがって、この応答は ``406 Not " -"Acceptable`` エラーと同じ扱いを受けるのが精々であろうと思われます。" +"別のコンテント型 を選択する手段がないので、この仕様ではサーバ" +"がこのオプションを採用することを強い非推奨にしています。加えて、クライアント" +"が別のコンテント型を *理解できるであろう* とは思われず、したがって、この応答" +"は ``406 Not Acceptable`` エラーと同じ扱いを受けるのが精々であろうと思われま" +"す。" #: ../source/specifications/simple-repository-api.rst:757 msgid "" @@ -30863,8 +30944,8 @@ msgid "" msgstr "" "特定のコンフィグレーションを要求したいと願うクライアントにとっては、ある特定" "のリポジトリ URL にどんな version+format が設定されたかを追跡することができま" -"すし、そのサーバへのリクエストを作成する時に正しいコンテント型 **だけ** を含" -"んだ ``Accept`` ヘッダを発出することができます。" +"すし、そのサーバへのリクエストを作成する時に正しいコンテント型 *だけ* を含ん" +"だ ``Accept`` ヘッダを発出することができます。" #: ../source/specifications/simple-repository-api.rst:918 msgid "" @@ -30969,8 +31050,8 @@ msgstr "" "サーバ側で考慮に入れてもらいたい特定の理由 (例えば、標準ライブラリの HTML " "パーサを使っていて、何らかのエッジケースにおいてパースできない何らかの種類の " "HTML 応答があるかもしれないと心配している場合) のある実装でない限り、一般的に" -"コンテント型にはクオリティ優先度 を含めるべきではありませ" -"ん。" +"コンテント型にはクオリティ優先度 を含めるべきでは *ありま" +"せん* 。" #: ../source/specifications/simple-repository-api.rst:961 msgid "" @@ -30978,9 +31059,9 @@ msgid "" "*should* include a ``;q=0.01`` value on the legacy ``text/html`` content " "type, unless it is the only content type that you are requesting." msgstr "" -"この推奨事項に対する例外のひとつは、それがリクエストしている唯一のコンテント" +"この推奨事項に対するひとつの例外は、それがリクエストしている唯一のコンテント" "型であるという場合を除けば、伝統的な ``text/html`` コンテント型には " -"``;q=0.01`` を含めることが推奨されるということです。" +"``;q=0.01`` の値を *含めるべきである* ことが推奨されるということです。" #: ../source/specifications/simple-repository-api.rst:965 msgid "" @@ -31145,10 +31226,10 @@ msgstr "" "sdist のファイル名は、 :pep:`625` で標準化されています。ファイル名は " "``{name}-{version}.tar.gz`` の形をしていなければならず、この中の ``{name}`` " "はバイナリ配布物のファイル名に関するルールと同様のルールに従って正規化されて" -"いなければならず (:ref:`バイナリ配布物のフォーマット ` を見てください) 、かつ、 ``{version}`` はプロジェクトのバージョンの" -"形に正規化されていなければなりません (:ref:`バージョン指定子 ` を見てください) 。" +"形に正規化されていなければなりません ( :ref:`バージョン指定子 ` を見てください) 。" #: ../source/specifications/source-distribution-format.rst:46 msgid "" @@ -31437,7 +31518,7 @@ msgid "" "August 2023: Source distribution archive features were standardized " "through :pep:`721`." msgstr "" -"2023年8月: : pep:`721` を通じて、ソースコード配布物のアーカイブの機能について" +"2023年8月: :pep:`721` を通じて、ソースコード配布物のアーカイブの機能について" "標準化された。" #: ../source/specifications/source-distribution-format.rst:162 @@ -32235,8 +32316,8 @@ msgid "" "which would be normalized to ``1.1rc1``." msgstr "" "すべてのアスキー文字は、バージョン番号の中では大文字小文字の区別をせずに解釈" -"されるべきであり、標準系は小文字です。これによって、 ``1.1rc1`` に標準化され" -"るであろう `1.1RC1`` のようなバージョン番号を許容します。" +"されるべきであり、標準形式は小文字です。これによって、 ``1.1rc1`` に標準化さ" +"れるであろう ``1.1RC1`` のようなバージョン番号を許容します。" #: ../source/specifications/version-specifiers.rst:433 msgid "Integer Normalization" @@ -32877,7 +32958,7 @@ msgstr "``<``, ``>``: `Exclusive ordered comparison`_ 節" #: ../source/specifications/version-specifiers.rst:814 msgid "``===``: `Arbitrary equality`_ clause." -msgstr "``===``: `Arbitrary equality`_ clause." +msgstr "``===``: `Arbitrary equality`_ 節。" #: ../source/specifications/version-specifiers.rst:816 msgid "" @@ -32905,11 +32986,10 @@ msgid "" "releases are considered as candidate versions SHOULD be handled as described " "in `Handling of pre-releases`_." msgstr "" -"複数の候補バージョンがバージョン識別子に合致する時には、好ましいバージョン" -"は、標準の `バージョン番号枠組み `_ で定義された首尾一貫する" -"順序付けによって決定される最新のバージョンです。プレリリースが候補バージョン" -"だと見做されるか否かは、 `プレリリースの取り扱い `_ に記述されているとおりに扱われるべきです。" +"複数の候補バージョンがバージョン識別子に合致する時には、好ましいバージョンは" +"最新のバージョンで、これは標準の `Version scheme`_ で定義された首尾一貫する順" +"序付けによって決定されます。プレリリースが候補バージョンだと見做されるか否か" +"は、 `Handling of pre-releases`_ に記述されているとおりに扱われるべきです。" #: ../source/specifications/version-specifiers.rst:829 msgid "" @@ -33826,12 +33906,12 @@ msgid "" "in :py:mod:`sysconfig`, will be detected and behave as a Python virtual " "environment." msgstr "" -"``pyvenv.cfg`` ファイルがない場合であっても、 (例えばインストール済みの " +"``pyvenv.cfg`` ファイルがない場合であってさえも、 (例えばインストール済みの " "Python ランタイムにパッチを当てる ``sitecustomize.py`` のような) どんなアプ" -"ローチでも、 :py:data:``sys.prefix`` と :py:data:``sys.base_prefix`` が相異な" -"る値を持つような結果となる一方で、依然として対応するパッケージをインストール" -"する枠組みを :py:mod:``sysconfig`` 内で提供するアプローチであれば、それと認識" -"されて Python 仮想環境として振る舞います。" +"ローチでも、 :py:data:`sys.prefix` と :py:data:`sys.base_prefix` が相異なる値" +"を持つような結果となる一方で、依然として対応するパッケージをインストールする" +"枠組みを :py:mod:`sysconfig` 内で提供するアプローチであれば、それと認識され" +"て Python 仮想環境として振る舞います。" #: ../source/specifications/virtual-environments.rst:56 msgid "May 2012: This specification was approved through :pep:`405`." @@ -34060,7 +34140,7 @@ msgstr "最新の配布物のダウンロード URL で、 ``Download-URL`` と #: ../source/specifications/well-known-project-urls.rst:117 msgid "``changelog`` (Changelog)" -msgstr "``changelog`` (Changelog)" +msgstr "``changelog`` (変更履歴)" #: ../source/specifications/well-known-project-urls.rst:118 msgid "The project's comprehensive changelog" @@ -34092,7 +34172,7 @@ msgstr "``docs``" #: ../source/specifications/well-known-project-urls.rst:126 msgid "``issues`` (Issue Tracker)" -msgstr "``issues`` (Issue Tracker)" +msgstr "``issues`` (課題トラッカー)" #: ../source/specifications/well-known-project-urls.rst:127 msgid "The project's bug tracker" @@ -34406,9 +34486,14 @@ msgstr "" "ロードする" #: ../source/tutorials/installing-packages.rst:139 +#, fuzzy +#| msgid "" +#| "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " +#| "Additionally, it will install :ref:`setuptools` and :ref:`wheel` if " +#| "they're not installed already." msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" "``python get-pip.py`` を実行してください [2]_ 。これで pip をインストールまた" @@ -34431,24 +34516,22 @@ msgstr "" "うことができます。" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +#, fuzzy +#| msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "pip ・ setuptools ・ wheel が最新版であることを確実にする" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -"``pip`` 単体でも事前にビルドされたバイナリアーカイブからインストールを行うに" -"は十分ですが、最新の ``setuptools`` と ``wheel`` があればソースコードアーカイ" -"ブからでも確実にインストールすることができるので便利です:" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "必須ではないが、仮想環境を構築する" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " @@ -34458,7 +34541,7 @@ msgstr "" "いますので、ここでは基本的な :doc:`venv ` [3]_ コマンド" "を典型的な Linux システムで使うやり方を説明します:" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " @@ -34467,11 +34550,11 @@ msgstr "" "これで新しい仮想環境が ``tutorial_env`` サブディレクトリ内に生成され、それを" "現在のシェルのデフォルトの ``python`` 環境として使わせることができます。" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "仮想環境を構築する" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -34480,12 +34563,12 @@ msgid "" "alone-command-line-tools`." msgstr "" "Python の \"仮想環境\" を使えば、 Python の :term:`パッケージ ` をグローバルな環境にインストールする代わりに、特定の" -"アプリケーションのための隔離された場所にインストールすることができます。" -"グローバルなコマンドラインツールを安全にインストールしたいのであれば、 " -":doc:`/guides/installing-stand-alone-command-line-tools` を見てください。" +"Package>` をグローバルな環境にインストールする代わりに、特定のアプリケーショ" +"ンのための隔離された場所にインストールすることができます。グローバルなコマン" +"ドラインツールを安全にインストールしたいのであれば、 :doc:`/guides/" +"installing-stand-alone-command-line-tools` を見てください。" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -34501,7 +34584,7 @@ msgstr "" "アップグレードするべきでないはずのアプリケーションを意図せずアップグレードし" "てしまう結果に終わるでしょう。" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " @@ -34512,7 +34595,7 @@ msgstr "" "ブラリへの何らかの変更や、ライブラリのバージョン問題でアプリケーションが動作" "しなくなってしまうかもしれません。" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." @@ -34521,7 +34604,7 @@ msgstr "" "` をインストールすることができないとしたら、どうでしょ" "うか?例えば、共有ホストのような。" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " @@ -34531,14 +34614,14 @@ msgstr "" "環境にはそれぞれのインストール先ディレクトリが別にあって、他の仮想環境とライ" "ブラリを共有するということがないからです。" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" "現在、ふたつの Python 仮想環境を構築するためのツールがよく知られています:" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -34550,7 +34633,7 @@ msgstr "" "成された仮想環境内にインストールします (3.12 より前の Python のバージョンで" "は :ref:`setuptools` もインストールしていました) 。" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -34564,19 +34647,19 @@ msgstr "" "デフォルトでは ``setuptools`` が最早含まれていないこと (そして " "``virtualenv`` はこの動作に追随しています) に注意してください。" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "基本的な使い方は次の通りです:" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr ":doc:`venv ` を使うと:" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr ":ref:`virtualenv` を使うと:" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." @@ -34584,7 +34667,7 @@ msgstr "" "さらなる説明は、 :doc:`venv ` の説明文書" "や :doc:`virtualenv ` の説明文書をみてください。" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " @@ -34593,7 +34676,7 @@ msgstr "" "Unix のシェル上で :command:`source` を使うとそのシェル内では仮想環境用の変数" "が設定されますが、サブシェルでは設定され (ず、役に立つ効果が残り) ません。" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " @@ -34603,7 +34686,7 @@ msgstr "" "き *ではなく* 、代わりに :command:`activate` スクリプトをコマンドシェルから直" "接に実行するべきで、例えば次のようにします:" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -34616,11 +34699,11 @@ msgstr "" "ンのそれぞれのために作成した個別の仮想環境群を自動的に管理する方法を紹介して" "います。" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "pip を使ってインストールする" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " @@ -34630,11 +34713,11 @@ msgstr "" "挙げます。より詳しくは、 :doc:`リファレンスガイド ` の全体を含" "む :doc:`pip 説明文書 ` を見てください。" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "PyPI からインストールする" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -34652,21 +34735,21 @@ msgstr "" "specifiers>` に、サポートされている識別子の完全な説明があります。以下にいくつ" "かの例を挙げます。" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "\"とあるプロジェクト\" の最新版をインストールするには:" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "特定のバージョンをインストールするには:" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" "あるバージョンと同じか新しいバージョンで、もう一つのものより古いものをインス" "トールするには:" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" @@ -34674,7 +34757,7 @@ msgstr "" "あるバージョンと :ref:`\"互換性がある\" ` バージョンをインストールするには: [4]_" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." @@ -34682,11 +34765,11 @@ msgstr "" "この場合には、 \"==1.4.*\" で、かつ、 \">=1.4.2\" であるバージョンをインス" "トールするという意味になります。" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "ソースコード配布物 vs. Wheels" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -34701,7 +34784,7 @@ msgstr "" "` オプションを使うことで pip のデフォルト動作を上書" "き修正することができます。" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -34713,7 +34796,7 @@ msgstr "" "合には、 :term:`ソースコード配布物 (sdist) ` に比べてより短時間でインストールすることができます。" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " @@ -34723,16 +34806,16 @@ msgstr "" "wheel をビルドして、将来のインストール時に再びソースコード配布物からリビルド" "しないで済むようにキャッシュしておきます。" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" "インストール済みの ``とあるプロジェクト`` を PyPI から最新版に更新する。" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "ユーザサイトへインストールする" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" @@ -34740,7 +34823,7 @@ msgstr "" ":term:`パッケージ ` を現在のユーザだけが使えるように他" "から隔離してインストールするには ``--user`` フラグを使います:" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." @@ -34749,7 +34832,7 @@ msgstr "" "`_ の節を見てくださ" "い。" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." @@ -34757,7 +34840,7 @@ msgstr "" "仮想環境の中では ``--user`` フラグが無効になることに注意してください - すべて" "のインストールコマンドが仮想環境に影響を与えます。" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -34767,15 +34850,15 @@ msgid "" "scripts are not available in your shell after installation, you'll need to " "add the directory to your :envvar:`PATH`:" msgstr "" -"``とあるプロジェクト`` がコマンドラインスクリプトかコンソールエントリポイント" -"をひとつでも定義しているのであれば、 ``--user`` を与えることで 、 `ユーザベー" -"ス `_ のバイナリ置き場、それがシェルの :envvar:`PATH` 変数にあろう" -"がなかろうが、そこにインストールすることになるでしょう (バージョン 10 以降の " -"pip では、スクリプトを :envvar:`PATH` に含まれていないパスにインストールする" -"時には警告を表示します)。インストール後にスクリプトが利用可能でない場合に" +"``とあるプロジェクト `` がコマンドラインスクリプトかコンソールエ" +"ントリポイントをひとつでも定義しているのであれば、 ``--user`` を与えることで " +"`user base`_ のバイナリ置き場、それがシェルの :envvar:`PATH` 変数にあろうがな" +"かろうが、そこにインストールすることになるでしょう (バージョン 10 以降の pip " +"では、スクリプトを :envvar:`PATH` に含まれていないパスにインストールする時に" +"は警告を表示します)。インストール後にスクリプトが利用可能でない場合に" "は、 :envvar:`PATH` にそのディレクトリパスを追加する必要があるでしょう:" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -34788,10 +34871,10 @@ msgstr "" "であるかがわかるでしょう。例えば、このコマンドは大抵の場合に ``~/.local`` " "(の ``~`` をあなたのホームディレクトリの絶対パスに展開したもの) を表示します" "が、すると、 ``PATH`` には ``~/.local/bin`` を追加する必要があるということで" -"す。 `~/.profile を修正する `_ ことで ``PATH`` を恒久的" -"に変更することができます。" +"す。 `modifying ~/.profile`_ ことで ``PATH`` を恒久的に変更することができま" +"す。" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -34812,7 +34895,7 @@ msgstr "" "きるでしょう。 ``PATH`` の修正が効果を持つには、一旦ログアウトする必要がある" "かもしれません。" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." @@ -34820,11 +34903,11 @@ msgstr "" ":ref:`Requirements ファイル ` で指定された一連の必須" "条件となる依存先をインストールしましょう。" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "VCS からインストールする" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." @@ -34833,15 +34916,15 @@ msgstr "" "を全て細かく説明したものについては、 :ref:`VCS サポート ` " "の pip の節を見てください。" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "他のインデックスサイトからインストールする" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "代替となるインデックスサイトからインストールする" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" @@ -34849,11 +34932,11 @@ msgstr "" ":term:`PyPI ` に加えて、追加のインデックスサイト" "をインストール中に探索する" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "ローカルのソースツリーからインストールする" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " @@ -34863,19 +34946,19 @@ msgstr "" "ジェクトがインストールされていて、しかも、ソースツリーからへんしゅうかのうで" "あるような方法でローカルのソースツリーからインストールすること。" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "ソースツリーから通常通りにインストールすることも可能" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "ローカルアーカイブからインストールする" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "特定のソースコードアーカイブファイルをインストールする。" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" @@ -34883,11 +34966,11 @@ msgstr "" "アーカイブを含んだローカルのディレクトリから(しかも :term:`PyPI ` をチェックしないで)インストールする" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "他の場所からインストールする" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -34899,11 +34982,11 @@ msgstr "" "extra-index-url`` フラグでそのインデックスへ向け直すことで、他のデータソース " "(例えば Amazon S3 ストレージ) からインストールすることができます。" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "リリース前のバージョンをインストールする" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." @@ -34911,11 +34994,11 @@ msgstr "" "安定バージョンに加えて、リリース前のバージョンや開発中のバージョンを見つけま" "しょう。デフォルトでは pip は安定バージョンだけを探索します。" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "パッケージの \"Extras\" をインストールする" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -34928,7 +35011,7 @@ msgstr "" "インストールしたいのであれば、次のような pip のインストールコマンドを使うこと" "でそれを追加することができます:" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " @@ -34938,7 +35021,7 @@ msgstr "" "的なブラウザか :command:`curl` のようなツールを使って SSL 証明書を検証するこ" "とを意味しています。" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" @@ -34948,7 +35031,7 @@ msgstr "" "``venv`` があるので、インストール済みの ``pip`` で virtualenv 環境を作成で" "き、それによって :ref:`virtualenv` の同等な代替物となっています。" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" @@ -35044,12 +35127,12 @@ msgid "" "directory to your ``PATH``. See :ref:`Installing to the User Site` for more " "information." msgstr "" -"これは、システムワイドにインストールされたパッケージ群を破壊しないように、 `" -"ユーザインストール `_ を行います。インストール後にシェルか" -"ら ``pipenv`` が利用できない場合は、 :py:data:`ユーザベース " -"` のバイナリディレクトリを ``PATH`` 変数に追加する必要" -"があるでしょう。詳しくは、 :ref:`ユーザサイトにインストールする ` を見てください。" +"これは、システムワイドにインストールされたパッケージ群を破壊しないように、 " +"`user installation`_ を行います。インストール後にシェルから ``pipenv`` が利用" +"できない場合は、 :py:data:`ユーザベース ` のバイナリ" +"ディレクトリを ``PATH`` 変数に追加する必要があるでしょう。詳しくは、 :ref:`" +"ユーザサイトにインストールする ` を見てくださ" +"い。" #: ../source/tutorials/managing-dependencies.rst:62 msgid "Installing packages for your project" @@ -35254,8 +35337,7 @@ msgid "" msgstr "" "このチュートリアルに出てくるコマンドを実行したら問題が発生したという場合に" "は、コマンドと結果出力をコピーして、 GitHub の `packaging-problems`_ リポジト" -"リで `新たな課題 `_ を追加してください。我々が全力であなたをお" -"助けします!" +"リで `open an issue`_ を追加してください。我々が全力であなたをお助けします!" #: ../source/tutorials/packaging-projects.rst:18 msgid "" @@ -35329,9 +35411,8 @@ msgid "" "over the `Python documentation for packages and modules`_." msgstr "" "Python における :term:`モジュール ` や :term:`パッケージのインポート " -"` に馴染みがなければ、数分を費やして `パッケージとモジュール" -"に関する Python の説明文書 `_ " -"を読み通してください。" +"` に馴染みがなければ、数分を費やして `Python documentation " +"for packages and modules`_ を読み通してください。" #: ../source/tutorials/packaging-projects.rst:75 msgid "" @@ -35657,7 +35738,10 @@ msgid "" "in the package." msgstr "" "ほとんどのビルドバックエンドは、パッケージの中にライセンスファイルを自動的に" -"含めます。" +"含めます。もっと詳しくは、そのバックエンドの説明文書を見てください。も" +"し、 :file:`pyproject.toml` の ``license-files`` キーの中にライセンスへのパス" +"を含めておくなら、そして、そのビルドバックエンドが :pep:`639` をサポートして" +"いるなら、当該ファイルは自動的にパッケージの中に含まれることになるでしょう。" #: ../source/tutorials/packaging-projects.rst:290 msgid "Including other files" @@ -36003,6 +36087,43 @@ msgstr "" "りなのであれば、 *通常のパッケージ* と (空のファイルだとしても) " "``__init__.py`` から離れないことをお薦めします。" +#~ msgid "" +#~ "While ``pip`` alone is sufficient to install from pre-built binary " +#~ "archives, up to date copies of the ``setuptools`` and ``wheel`` projects " +#~ "are useful to ensure you can also install from source archives:" +#~ msgstr "" +#~ "``pip`` 単体でも事前にビルドされたバイナリアーカイブからインストールを行う" +#~ "には十分ですが、最新の ``setuptools`` と ``wheel`` があればソースコード" +#~ "アーカイブからでも確実にインストールすることができるので便利です:" + +#~ msgid "" +#~ "`Travis CI `_ provides both a Linux and a macOS " +#~ "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " +#~ "bit while the macOS is 10.9.2 at the time of writing." +#~ msgstr "" +#~ "`Travis CI `_ は Linux と macOS の両方の環境を提供" +#~ "します。本稿執筆時点で、 Linux 環境は Ubuntu 12.04 LTS Server Edition 64 " +#~ "bit で、 macOS 環境は 10.9.2 です。" + +#~ msgid "" +#~ "The Appveyor service is a continuous integration service, much like the " +#~ "better-known `Travis`_ service that is commonly used for testing by " +#~ "projects hosted on `GitHub`_. However, unlike Travis, the build workers " +#~ "on Appveyor are Windows hosts and have the necessary compilers installed " +#~ "to build Python extensions." +#~ msgstr "" +#~ "Appveyor サービスは継続的インテグレーションのサービスであり、 `GitHub`_ に" +#~ "ホストされたプロジェクトをテストするのによく使われよりよく知られている " +#~ "`Travis`_ サービスによく似ています。しかし、 Travis とは異なり、 Appveyor " +#~ "のビルドワーカーは Windows であり、 Python の拡張モジュールをビルドするた" +#~ "めに必要なコンパイラもインストール済みです。" + +#~ msgid "See :ref:`pylock-packages-vcs-url`." +#~ msgstr ":ref:`pylock-packages-vcs-url` を参照のこと。" + +#~ msgid "See :ref:`pylock-packages-vcs-path`." +#~ msgstr ":ref:`pylock-packages-vcs-path` を参照のこと。" + #~ msgid "" #~ "This specification was originally defined in :pep:`518` and :pep:`621`." #~ msgstr "この仕様は、元々は :pep:`518` 及び :pep:`621` で定義されました。" diff --git a/locales/kab/LC_MESSAGES/messages.po b/locales/kab/LC_MESSAGES/messages.po index 1e82f5a12..8e26d69f1 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-10-14 20:08+0000\n" "Last-Translator: ButterflyOfFire \n" "Language-Team: Kabyle `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8813,7 +8812,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8822,15 +8821,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8840,7 +8839,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8849,11 +8848,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8889,15 +8888,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8906,11 +8896,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8918,25 +8908,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8944,7 +8933,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8955,24 +8944,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8983,7 +8972,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8992,19 +8981,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9016,7 +9005,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9024,17 +9013,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9042,7 +9031,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9054,17 +9043,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9075,25 +9064,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9101,7 +9090,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9109,23 +9098,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9134,25 +9123,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9160,7 +9149,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9168,11 +9157,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9180,7 +9169,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9188,17 +9177,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9208,15 +9197,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13485,10 +13474,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13574,7 +13564,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17600,8 +17590,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17681,6 +17671,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19345,8 +19343,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19394,18 +19392,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19433,19 +19431,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19499,8 +19499,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19582,8 +19582,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19696,9 +19696,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19788,11 +19788,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19937,7 +19939,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "Wali :ref:`pylock-packages-vcs-subdirectory`." @@ -19946,6 +19948,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19977,467 +19981,498 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." -msgstr "Wali :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +#, fuzzy +#| msgid "See :ref:`pylock-packages-archive-path`." +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" +msgstr "Wali :ref:`pylock-packages-archive-path`." -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." -msgstr "Wali :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +#, fuzzy +#| msgid "See :ref:`pylock-packages-archive-url`." +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" +msgstr "Wali :ref:`pylock-packages-archive-url`." #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "Wali :ref:`pylock-packages-archive-upload-time`." -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "Wali :ref:`pylock-packages-archive-url`." -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "Wali :ref:`pylock-packages-archive-path`." -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "Wali :ref:`pylock-packages-archive-size`." -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "Wali :ref:`pylock-packages-archive-hashes`." -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "Wali :ref:`pylock-packages-tool`." -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20446,43 +20481,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25686,7 +25726,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25700,39 +25740,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25741,7 +25780,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25750,33 +25789,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25784,7 +25823,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25793,39 +25832,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25833,22 +25872,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25859,35 +25898,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25896,7 +25935,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25904,40 +25943,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25948,7 +25987,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25957,7 +25996,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25969,70 +26008,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26040,21 +26079,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26062,21 +26101,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" @@ -26813,3 +26852,9 @@ msgid "" "recommended to stick with *regular packages* and ``__init__.py`` (even if " "the file is empty)." msgstr "" + +#~ msgid "See :ref:`pylock-packages-vcs-url`." +#~ msgstr "Wali :ref:`pylock-packages-vcs-url`." + +#~ msgid "See :ref:`pylock-packages-vcs-path`." +#~ msgstr "Wali :ref:`pylock-packages-vcs-path`." diff --git a/locales/ko/LC_MESSAGES/messages.po b/locales/ko/LC_MESSAGES/messages.po index 4f9175b72..69e362103 100644 --- a/locales/ko/LC_MESSAGES/messages.po +++ b/locales/ko/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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2026-02-05 03:01+0000\n" "Last-Translator: 스이미 \n" "Language-Team: Korean `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -9012,7 +9011,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -9021,15 +9020,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -9039,7 +9038,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -9048,11 +9047,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -9088,15 +9087,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -9105,11 +9095,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -9117,25 +9107,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -9143,7 +9132,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -9154,24 +9143,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9182,7 +9171,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9191,19 +9180,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9215,7 +9204,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9223,17 +9212,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9241,7 +9230,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9253,17 +9242,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9274,25 +9263,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9300,7 +9289,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9308,23 +9297,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9333,25 +9322,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9359,7 +9348,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9367,11 +9356,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9379,7 +9368,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9387,17 +9376,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9407,15 +9396,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13690,10 +13679,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13779,7 +13769,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17823,8 +17813,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17906,6 +17896,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19577,8 +19575,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19626,18 +19624,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19665,19 +19663,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19731,8 +19731,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19815,8 +19815,8 @@ msgstr "패키지 가져오기" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19931,9 +19931,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -20023,11 +20023,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -20172,7 +20174,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -20181,6 +20183,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20212,468 +20216,495 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 #, fuzzy msgid "``packages.index``" msgstr "패키지 인덱스" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20682,43 +20713,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25937,7 +25973,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25951,39 +25987,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25992,7 +26027,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -26001,33 +26036,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -26035,7 +26070,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -26044,39 +26079,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -26084,22 +26119,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -26110,35 +26145,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -26147,7 +26182,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -26155,40 +26190,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -26199,7 +26234,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -26208,7 +26243,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26220,70 +26255,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26291,21 +26326,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26313,21 +26348,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/lzh/LC_MESSAGES/messages.po b/locales/lzh/LC_MESSAGES/messages.po index b2619577f..79dba03b8 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2024-01-31 06:01+0000\n" "Last-Translator: maker \n" "Language-Team: Chinese (Literary) `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8801,7 +8800,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8810,15 +8809,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8828,7 +8827,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8837,11 +8836,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8877,15 +8876,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8894,11 +8884,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8906,25 +8896,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8932,7 +8921,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8943,24 +8932,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8971,7 +8960,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8980,19 +8969,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9004,7 +8993,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9012,17 +9001,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9030,7 +9019,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9042,17 +9031,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9063,25 +9052,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9089,7 +9078,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9097,23 +9086,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9122,25 +9111,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9148,7 +9137,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9156,11 +9145,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9168,7 +9157,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9176,17 +9165,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9196,15 +9185,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13473,10 +13462,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13562,7 +13552,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17590,8 +17580,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17671,6 +17661,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19333,8 +19331,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19382,18 +19380,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19421,19 +19419,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19487,8 +19487,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19570,8 +19570,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19684,9 +19684,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19776,11 +19776,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19925,7 +19927,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19934,6 +19936,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19965,467 +19969,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20434,43 +20465,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25668,7 +25704,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25682,39 +25718,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25723,7 +25758,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25732,33 +25767,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25766,7 +25801,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25775,39 +25810,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25815,22 +25850,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25841,35 +25876,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25878,7 +25913,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25886,40 +25921,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25930,7 +25965,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25939,7 +25974,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25951,70 +25986,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26022,21 +26057,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26044,21 +26079,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/mk/LC_MESSAGES/messages.po b/locales/mk/LC_MESSAGES/messages.po index 811cbb95a..ec2041c73 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2023-10-21 04:04+0000\n" "Last-Translator: \"Kristijan \\\"Fremen\\\" Velkovski\" \n" "Language-Team: Macedonian `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8807,7 +8806,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8816,15 +8815,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8834,7 +8833,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8843,11 +8842,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8883,15 +8882,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8900,11 +8890,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8912,25 +8902,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8938,7 +8927,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8949,24 +8938,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8977,7 +8966,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8986,19 +8975,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9010,7 +8999,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9018,17 +9007,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9036,7 +9025,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9048,17 +9037,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9069,25 +9058,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9095,7 +9084,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9103,23 +9092,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9128,25 +9117,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9154,7 +9143,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9162,11 +9151,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9174,7 +9163,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9182,17 +9171,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9202,15 +9191,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13481,10 +13470,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13570,7 +13560,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17596,8 +17586,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17677,6 +17667,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19339,8 +19337,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19388,18 +19386,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19427,19 +19425,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19493,8 +19493,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19576,8 +19576,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19690,9 +19690,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19782,11 +19782,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19931,7 +19933,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19940,6 +19942,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19971,467 +19975,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20440,43 +20471,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25674,7 +25710,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25688,39 +25724,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25729,7 +25764,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25738,33 +25773,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25772,7 +25807,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25781,39 +25816,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25821,22 +25856,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25847,35 +25882,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25884,7 +25919,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25892,40 +25927,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25936,7 +25971,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25945,7 +25980,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25957,70 +25992,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26028,21 +26063,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26050,21 +26085,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/mr/LC_MESSAGES/messages.po b/locales/mr/LC_MESSAGES/messages.po index 629b6e69e..35a3be909 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-01-25 14:18+0000\n" "Last-Translator: Prachi Joshi \n" "Language-Team: Marathi `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8798,7 +8797,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8807,15 +8806,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8825,7 +8824,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8834,11 +8833,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8874,15 +8873,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8891,11 +8881,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8903,25 +8893,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8929,7 +8918,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8940,24 +8929,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8968,7 +8957,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8977,19 +8966,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9001,7 +8990,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9009,17 +8998,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9027,7 +9016,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9039,17 +9028,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9060,25 +9049,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9086,7 +9075,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9094,23 +9083,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9119,25 +9108,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9145,7 +9134,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9153,11 +9142,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9165,7 +9154,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9173,17 +9162,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9193,15 +9182,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13470,10 +13459,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13559,7 +13549,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17585,8 +17575,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17666,6 +17656,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19328,8 +19326,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19377,18 +19375,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19416,19 +19414,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19482,8 +19482,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19565,8 +19565,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19679,9 +19679,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19771,11 +19771,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19920,7 +19922,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19929,6 +19931,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19960,467 +19964,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20429,43 +20460,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25663,7 +25699,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25677,39 +25713,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25718,7 +25753,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25727,33 +25762,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25761,7 +25796,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25770,39 +25805,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25810,22 +25845,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25836,35 +25871,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25873,7 +25908,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25881,40 +25916,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25925,7 +25960,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25934,7 +25969,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25946,70 +25981,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26017,21 +26052,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26039,21 +26074,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/pl/LC_MESSAGES/messages.po b/locales/pl/LC_MESSAGES/messages.po index 9d6464797..18558ee91 100644 --- a/locales/pl/LC_MESSAGES/messages.po +++ b/locales/pl/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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2026-02-11 07:09+0000\n" "Last-Translator: Maciej Olko \n" "Language-Team: Polish `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8820,7 +8819,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8829,15 +8828,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8847,7 +8846,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8856,11 +8855,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8896,15 +8895,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8913,11 +8903,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8929,7 +8919,7 @@ msgstr "" "się w dokumentacji Appveyor `__. Bezpłatny " "poziom konta jest w pełni wystarczający dla projektów open source." -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " @@ -8939,21 +8929,25 @@ msgstr "" "projekt jest hostowany w jednej z tych dwóch usług, skonfigurowanie " "integracji Appveyor jest proste." -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 +#, fuzzy +#| msgid "" +#| "Once you have set up your Appveyor account and added your project, " +#| "Appveyor will automatically build your project each time a commit occurs. " +#| "This behaviour will be familiar to users of Travis." msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" "Po skonfigurowaniu konta Appveyor i dodaniu projektu, Appveyor automatycznie " "zbuduje go po każdym zatwierdzeniu. To zachowanie będzie znane użytkownikom " "Travisa." -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "Dodawanie obsługi Appveyor do projektu" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8965,7 +8959,7 @@ msgstr "" "temat zawartości pliku znajdują się w dokumentacji Appveyor. Ten przewodnik " "zawiera informacje niezbędne do skonfigurowania kompilacji Wheel." -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8983,24 +8977,24 @@ msgstr "" "(Od wersji 3.5 używana wersja programu Visual Studio zawiera kompilatory 64-" "bitowe bez konieczności dodatkowej konfiguracji)." -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "appveyor.yml" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9011,7 +9005,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9020,19 +9014,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9044,7 +9038,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9052,17 +9046,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9070,7 +9064,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9082,17 +9076,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9103,25 +9097,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9129,7 +9123,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9137,23 +9131,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9162,25 +9156,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9188,7 +9182,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9196,11 +9190,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9208,7 +9202,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9216,17 +9210,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9236,15 +9230,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13513,10 +13507,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13602,7 +13597,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17628,8 +17623,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17709,6 +17704,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19371,8 +19374,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19420,18 +19423,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19459,19 +19462,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19525,8 +19530,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19608,8 +19613,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19722,9 +19727,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19814,11 +19819,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19963,7 +19970,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19972,6 +19979,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20003,467 +20012,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20472,43 +20508,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25706,7 +25747,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25720,39 +25761,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25761,7 +25801,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25770,33 +25810,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25804,7 +25844,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25813,39 +25853,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25853,22 +25893,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25879,35 +25919,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25916,7 +25956,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25924,40 +25964,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25968,7 +26008,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25977,7 +26017,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25989,70 +26029,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26060,21 +26100,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26082,21 +26122,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/pt_BR/LC_MESSAGES/messages.po b/locales/pt_BR/LC_MESSAGES/messages.po index 45cf12757..8b5f2c411 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-08-07 00:01+0000\n" "Last-Translator: Rafael Fontenelle \n" "Language-Team: Portuguese (Brazil) `_ provides both a Linux and a macOS " -#| "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " -#| "bit while the macOS is 10.9.2 at the time of writing." msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -"`Travis CI `_ fornece um ambiente Linux e macOS. O " -"ambiente Linux é Ubuntu 12.04 LTS Server Edition de 64 bits, enquanto o " -"macOS é 10.9.2 no momento da escrita." -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." @@ -11679,9 +11670,15 @@ msgstr "" "`Appveyor `_ fornece um ambiente Windows (Windows " "Server 2012)." -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 +#, fuzzy +#| msgid "" +#| "Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +#| "formatted file as specification for the instructions for testing. If any " +#| "tests fail, the output log for that specific configuration can be " +#| "inspected." msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" @@ -11690,7 +11687,7 @@ msgstr "" "algum teste falhar, o log de saída para essa configuração específica pode " "ser inspecionado." -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." @@ -11698,11 +11695,11 @@ msgstr "" "Para projetos Python que devem ser implantados em Python 2 e 3 com uma " "estratégia de única fonte, há uma série de opções." -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "Ferramentas para pacotes Python de única fonte" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -11722,7 +11719,7 @@ msgstr "" "desenvolvida por Armin Ronacher, pode ser usada para aplicar automaticamente " "as modificações de código fornecidas por six_." -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -11736,15 +11733,15 @@ msgstr "" "fornecer interoperabilidade entre Python 2 e Python 3 com uma sintaxe de " "linguagem que corresponda a uma das duas versões Python: pode-se usar" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "um módulo Python 2 (por sintaxe) em um projeto Python 3." -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "um módulo Python 3 (por sintaxe) em um projeto *Python 3*." -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -11760,7 +11757,7 @@ msgstr "" "scripts chamados ``futurize`` e ``pasteurize`` que podem ser aplicados a um " "módulo Python 2 ou um módulo Python 3 respectivamente." -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -11775,11 +11772,11 @@ msgstr "" "Quaisquer problemas de compatibilidade remanescentes exigiriam alterações " "manuais." -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "O que há em cada Python?" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -11829,20 +11826,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" -"O serviço Appveyor é um serviço de integração contínua, muito parecido com o " -"serviço `Travis`_ mais conhecido que é comumente usado para testes por " -"projetos hospedados no `GitHub`_. No entanto, ao contrário do Travis, os " -"workers de construção no Appveyor são hosts Windows e têm os compiladores " -"necessários instalados para construir extensões Python." - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -11857,11 +11840,11 @@ msgstr "" "que não seja para teste), é possível para projetos sem um ambiente Windows " "dedicado fornecer binários direcionados ao Windows." -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "Configurando" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -11874,7 +11857,7 @@ msgstr "" "docs/>`__. O nível de conta grátis é perfeitamente adequado para projetos de " "código aberto." -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " @@ -11884,21 +11867,25 @@ msgstr "" "que seu projeto esteja hospedado em um desses dois serviços, configurar a " "integração do Appveyor é simples." -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 +#, fuzzy +#| msgid "" +#| "Once you have set up your Appveyor account and added your project, " +#| "Appveyor will automatically build your project each time a commit occurs. " +#| "This behaviour will be familiar to users of Travis." msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" "Depois de configurar sua conta do Appveyor e adicionar seu projeto, o " "Appveyor construirá automaticamente seu projeto cada vez que ocorrer um " "commit. Esse comportamento será familiar para os usuários do Travis." -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "Adicionando suporte a Appveyor ao seu projeto" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -11911,7 +11898,7 @@ msgstr "" "do Appveyor. Este guia fornecerá os detalhes necessários para configurar a " "configuração dos wheels." -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -11929,11 +11916,11 @@ msgstr "" "encontrar os compiladores de 64 bits. (De 3.5 em diante, a versão do Visual " "Studio usada inclui compiladores de 64 bits sem configuração adicional)." -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "appveyor.yml" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." @@ -11951,7 +11938,7 @@ msgstr "" "O arquivo :file:`appveyor.yml` deve estar localizado no diretório raiz do " "seu projeto. Está no formato ``YAML`` e consiste em várias seções." -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -11970,7 +11957,7 @@ msgstr "" "Python 2 geralmente são capazes de migrar para o Python 2.7 sem muita " "dificuldade)." -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -11984,7 +11971,7 @@ msgstr "" "certas circunstâncias (por exemplo, para instalar pacotes de construção " "adicionais, como ``Cython``, ou ferramentas de teste como ``tox``)." -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." @@ -11992,7 +11979,7 @@ msgstr "" "A seção ``build`` simplesmente desativa as construções -- não há etapa de " "construção necessária para Python, ao contrário de linguagens como ``C#``." -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." @@ -12000,7 +11987,7 @@ msgstr "" "As principais seções que precisarão ser adaptadas ao seu projeto são " "``test_script`` e ``after_test``." -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -12021,7 +12008,7 @@ msgstr "" "existem algumas alterações de configuração adicionais que você precisará " "considerar, que são descritas abaixo." -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -12033,7 +12020,7 @@ msgstr "" "as ferramentas recomendadas (especificamente, ``setuptools``) então o " "comando ``setup.py bdist_wheel`` irá construir seus wheels." -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." @@ -12042,11 +12029,11 @@ msgstr "" "sucedidos. Se você espera que seus testes falhem no Windows, você pode pulá-" "los conforme descrito acima." -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "Script de suporte" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -12059,7 +12046,7 @@ msgstr "" "não oferecem suporte a 3.3 ou 3.4 em Windows 64 bits, apenas o " "arquivo :file:`appveyor.yml` é necessário." -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -12079,7 +12066,7 @@ msgstr "" "compilações de 64 bits de Python 3.3 ou 3.4, portanto, não defina a variável " "de ambiente para quaisquer outras compilações." -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." @@ -12087,11 +12074,11 @@ msgstr "" "Você pode simplesmente baixar o arquivo em lote e incluí-lo em seu projeto " "inalterado." -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "Acesso aos wheels construídos" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -12109,11 +12096,11 @@ msgstr "" "links para os wheels dessa versão Python / arquitetura. Você pode baixar " "esses wheels e enviá-los para PyPI como parte de seu processo de lançamento." -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "Testando com tox" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " @@ -12123,7 +12110,7 @@ msgstr "" "testes. Ele garante que os testes sejam executados em um ambiente isolado " "usando os arquivos exatos que serão distribuídos pelo projeto." -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " @@ -12133,7 +12120,7 @@ msgstr "" "verdade, esses problemas não são específicos do Appveyor e podem afetar " "outros sistemas de CI)." -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -12145,7 +12132,7 @@ msgstr "" "ambiente para controlar o compilador, este recurso de \"isolamento de " "teste\" fará com que os testes usem o compilador errado por padrão." -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -12157,23 +12144,23 @@ msgstr "" "``tox`` para listar as variáveis de ambiente adicionais a serem passadas " "para o subprocesso. Para os compiladores SDK, você precisa" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "``DISTUTILS_USE_SDK``" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "``MSSdk``" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "``INCLUDE``" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "``LIB``" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -12187,15 +12174,24 @@ msgstr "" "ambiente ``TOX_TESTENV_PASSENV``. O script :file:`build.cmd` fornecido faz " "isso por padrão sempre que ``DISTUTILS_USE_SDK`` é definida." -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 +#, fuzzy +#| msgid "" +#| "When used interactively, ``tox`` allows you to run your tests against " +#| "multiple environments (often, this means multiple Python versions). This " +#| "feature is not as useful in a CI environment like Travis or Appveyor, " +#| "where all tests are run in isolated environments for each configuration. " +#| "As a result, projects often supply an argument ``-e ENVNAME`` to ``tox`` " +#| "to specify which environment to use (there are default environments for " +#| "most versions of Python)." msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" "Quando usado interativamente, ``tox`` permite que você execute seus testes " "em vários ambientes (frequentemente, isso significa várias versões do " @@ -12205,7 +12201,7 @@ msgstr "" "argumento ``-e NOMEENV`` para ``tox`` para especificar qual ambiente usar " "(há ambientes padrão para a maioria das versões do Python)." -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" @@ -12215,7 +12211,7 @@ msgstr "" "Appveyor, onde há (por exemplo) duas instalações de Python 3.4 (32 bits e 64 " "bits) disponíveis, mas apenas um ambiente ``py34`` no ``tox``." -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -12228,7 +12224,7 @@ msgstr "" "Appveyor executar os testes, eles serão executados com o interpretador " "configurado." -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -12240,11 +12236,11 @@ msgstr "" "arquivo :file:`tox.ini`. Fazer isso está, no entanto, fora do escopo deste " "documento." -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "Enviando automaticamente wheels" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -12257,7 +12253,7 @@ msgstr "" "instância do Amazon S3. A documentação sobre como fazer isso está incluída " "nos guias do Appveyor." -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -12269,11 +12265,11 @@ msgstr "" "claro se é desejável enviar novos wheels após cada commit (embora alguns " "projetos possam desejar fazer isso)." -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "Dependências externas" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." @@ -12281,7 +12277,7 @@ msgstr "" "Os scripts fornecidos construirão com sucesso qualquer distribuição que não " "dependa de bibliotecas externas de terceiros para a construção." -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -12297,17 +12293,17 @@ msgstr "" "bibliotecas para o compilador. No entanto, esse nível de configuração está " "além do escopo deste documento." -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "Scripts de suporte" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" "Para referência, o script de suporte de configuração do SDK está listado " "aqui:" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "``appveyor-sample/build.cmd``" @@ -17931,10 +17927,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -18030,7 +18027,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "Exemplo" @@ -22925,8 +22922,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -23007,6 +23004,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "Especificações do PyPA" @@ -24822,8 +24827,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 #, fuzzy #| msgid "Requires" msgid "**Required?**: yes" @@ -24877,18 +24882,18 @@ msgstr "Tipo TOML_: vetor de strings" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -24916,10 +24921,12 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 #, fuzzy #| msgid "TOML_ type: string" msgid "**Type**: string" @@ -24928,9 +24935,9 @@ msgstr "Tipo TOML_: string" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -24986,8 +24993,8 @@ msgid "``dependency-groups``" msgstr "``dependencies``" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 #, fuzzy #| msgid ":ref:`pyproject-toml-spec`" msgid "**Inspiration**: :ref:`pyproject-tool-table`" @@ -25077,8 +25084,8 @@ msgstr "``packages``" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 #, fuzzy #| msgid "TOML_ type: array of strings" msgid "**Type**: array of tables" @@ -25212,9 +25219,9 @@ msgstr "``packages``" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 #, fuzzy #| msgid "TOML_ type: table" msgid "**Type**: table" @@ -25316,11 +25323,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -25485,7 +25494,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -25496,6 +25505,8 @@ msgid "``[packages.archive]``" msgstr "``packages``" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -25529,83 +25540,101 @@ msgstr "" msgid "``packages.archive.url``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +#, fuzzy +#| msgid "The source tree" +msgid "The URL_ to the archive." +msgstr "A árvore fonte" + +#: ../source/specifications/pylock-toml.rst:461 #, fuzzy #| msgid "``packages``" msgid "``packages.archive.path``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 #, fuzzy +#| msgid "The name of the project." +msgid "The path to the archive." +msgstr "O nome do projeto." + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 +#, fuzzy #| msgid "``packages``" msgid "``packages.archive.size``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 #, fuzzy #| msgid "The name of the project." msgid "The size of the archive file." msgstr "O nome do projeto." -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 #, fuzzy #| msgid "Where the guide is deployed" msgid "The time the file was uploaded." msgstr "Onde o guia é disponibilizado" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 #, fuzzy #| msgid "TOML_ type: array of strings" msgid "**Type**: Table of strings" msgstr "Tipo TOML_: vetor de strings" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 #, fuzzy #| msgid "" #| "A table of URLs where the key is the URL label and the value is the URL " @@ -25616,429 +25645,442 @@ msgid "" msgstr "" "Uma tabela de URLs onde a chave é o rótulo da URL e o valor é a URL em si." -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 #, fuzzy #| msgid "``packages``" msgid "``packages.index``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 #, fuzzy #| msgid "``packages``" msgid "``[packages.sdist]``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.name``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.upload-time``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 #, fuzzy #| msgid "``packages``" msgid "``packages.sdist.url``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.path``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 #, fuzzy #| msgid "``packages``" msgid "``packages.sdist.size``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.hashes``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 #, fuzzy #| msgid "``packages``" msgid "``[[packages.wheels]]``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.name``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.url``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.path``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.size``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.hashes``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 #, fuzzy #| msgid ":ref:`pyproject-toml-spec`" msgid "**Inspiration**: :ref:`provenance-object`" msgstr ":ref:`pyproject-toml-spec`" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 #, fuzzy #| msgid "``packages``" msgid "``[packages.tool]``" msgstr "``packages``" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 #, fuzzy #| msgid "Binary distribution format" msgid ":ref:`Install `." msgstr "Formato de distribuição binária" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -26047,43 +26089,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "O arquivo :file:`.pypirc`" @@ -31873,9 +31920,14 @@ msgstr "" "Baixe com segurança `get-pip.py `_ [1]_" #: ../source/tutorials/installing-packages.rst:139 +#, fuzzy +#| msgid "" +#| "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " +#| "Additionally, it will install :ref:`setuptools` and :ref:`wheel` if " +#| "they're not installed already." msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" "Execute ``python get-pip.py``. [2]_ Isso vai instalar ou atualizar o pip. " @@ -31897,25 +31949,22 @@ msgstr "" "``/usr/local`` que é projetado para software instalado localmente." #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +#, fuzzy +#| msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "Certifique-se que pip, setuptools e wheel estejam atualizados" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -"Embora ``pip`` sozinho seja suficiente para instalar a partir de arquivos " -"binários pré-compilados, cópias atualizadas dos projetos ``setuptools`` e " -"``wheel`` são úteis para garantir que você também possa instalar a partir de " -"arquivos fonte:" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "Opcionalmente, crie um ambiente virtual" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " @@ -31925,7 +31974,7 @@ msgstr "" "detalhes, mas aqui está o comando básico de :doc:`venv ` [3]_ para usar em um sistema Linux típico:" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " @@ -31934,11 +31983,11 @@ msgstr "" "Isso criará um novo ambiente virtual no subdiretório ``tutorial_env`` e " "configurará o shell atual para usá-lo como o ambiente ``python`` padrão." -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "Criando ambientes virtuais" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -31952,7 +32001,7 @@ msgstr "" "deseja instalar ferramentas de linha de comando globais com segurança, " "consulte :doc:`/guides/installing-stand-alone-command-line-tools`." -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -31967,7 +32016,7 @@ msgstr "" "situação em que você atualiza acidentalmente uma aplicação que não deveria " "ser atualizada." -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " @@ -31977,7 +32026,7 @@ msgstr "" "como está? Se uma aplicação funcionar, qualquer alteração em suas " "bibliotecas ou nas versões dessas bibliotecas pode interromper a aplicação." -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." @@ -31986,7 +32035,7 @@ msgstr "" "Distribuição>` no diretório global site-packages? Por exemplo, em um host " "compartilhado." -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " @@ -31996,7 +32045,7 @@ msgstr "" "próprios diretórios de instalação e não compartilham bibliotecas com outros " "ambientes virtuais." -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" @@ -32004,7 +32053,7 @@ msgstr "" "Atualmente, existem duas ferramentas comuns para a criação de ambientes " "virtuais Python:" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 #, fuzzy msgid "" ":doc:`venv ` is available by default in Python 3.3 and " @@ -32016,7 +32065,7 @@ msgstr "" "posterior, e instala :ref:`pip` e :ref:`setuptools` em ambientes virtuais " "criados no Python 3.4 e posterior." -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 #, fuzzy #| msgid "" #| ":ref:`virtualenv` needs to be installed separately, but supports Python " @@ -32035,19 +32084,19 @@ msgstr "" "são sempre instalados em ambientes virtuais criados por padrão " "(independentemente da versão Python)." -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "O uso básico é assim:" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "Usando :doc:`venv `:" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "Usando :ref:`virtualenv`:" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." @@ -32055,7 +32104,7 @@ msgstr "" "Para mais informações, veja a documentação do :doc:`venv ` ou do :doc:`virtualenv `." -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " @@ -32065,7 +32114,7 @@ msgstr "" "ambiente virtual sejam definidas dentro do shell atual, e não em um " "subprocesso (que então desaparece, sem nenhum efeito útil)." -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 #, fuzzy msgid "" "In both of the above cases, Windows users should *not* use " @@ -32076,7 +32125,7 @@ msgstr "" "comando :command:`source`, mas devem executar o script :command:`activate` " "diretamente do shell de comando assim:" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -32089,11 +32138,11 @@ msgstr "" "gerencia automaticamente um ambiente virtual separado para cada projeto e " "aplicação no qual você trabalha." -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "Usar pip para instalação" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " @@ -32104,11 +32153,11 @@ msgstr "" "pip `, que inclui um :doc:`Guia de Referências ` " "completo." -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "Instalando a partir do PyPI" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -32127,19 +32176,19 @@ msgstr "" "na :ref:`especificação de especificadores de versão `. " "Abaixo estão alguns exemplos." -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "Para instalar a versão mais recente de \"SomeProject\":" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "Para instalar uma versão específica:" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "Para instalar maior ou igual a uma versão e menor que outra:" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 #, fuzzy msgid "" "To install a version that's :ref:`compatible ` com uma determinada versão: [4]_" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." @@ -32156,11 +32205,11 @@ msgstr "" "Nesse caso, isso significa instalar qualquer versão \"==1.4.*\" que também " "seja \">=1.4.2\"." -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "Distribuições de fonte vs Wheels" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -32174,7 +32223,7 @@ msgstr "" "compatível. Você pode substituir o comportamento padrão do pip, por exemplo " "usando sua opção :ref:`--no-binary `." -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -32186,7 +32235,7 @@ msgstr "" "comparação com :term:`Distribuições Fonte (sdist) `, especialmente quando um projeto contém extensões compiladas." -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " @@ -32196,15 +32245,15 @@ msgstr "" "wheel localmente e armazená-lo em cache para instalações futuras, ao invés " "de reconstruir a distribuição fonte no futuro." -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "Atualize um ``SomeProject`` já instalado para o mais recente do PyPI." -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "Instalando para o site do usuário" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" @@ -32212,7 +32261,7 @@ msgstr "" "Para instalar :term:`pacotes ` que são isolados para " "o usuário atual, use o sinalizador ``--user``:" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." @@ -32220,7 +32269,7 @@ msgstr "" "Para obter mais informações, consulte a seção `User Installs `_ da documentação do pip." -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." @@ -32229,7 +32278,7 @@ msgstr "" "ambiente virtual -- todos os comandos de instalação afetarão o ambiente " "virtual." -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -32247,7 +32296,7 @@ msgstr "" "scripts não estiverem disponíveis em seu shell após a instalação, você " "precisará adicionar o diretório ao seu :envvar:`PATH`:" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -32262,7 +32311,7 @@ msgstr "" "precisará adicionar ``~/.local/bin`` para seu ``PATH``. Você pode definir " "seu ``PATH`` permanentemente `modificando ~/.profile`_." -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -32282,7 +32331,7 @@ msgstr "" "seu usuário ``PATH`` permanentemente no `Painel de Controle`_. Você pode " "precisar encerrar a sessão para que as alterações de ``PATH`` tenham efeito." -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." @@ -32290,11 +32339,11 @@ msgstr "" "Instale uma lista de requisitos especificados em um :ref:`arquivo de " "requisitos `." -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "Instalando a partir de VCS" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." @@ -32303,15 +32352,15 @@ msgstr "" "instrução completa da sintaxe, veja a seção do pip em :ref:`VCS Support " "`." -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "Instalando a partir de outros índices" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "Instalar a partir de um índice alternativo" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" @@ -32319,11 +32368,11 @@ msgstr "" "Pesquise um índice adicional durante a instalação, além do :term:`PyPI " "`" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "Instalando a partir de uma árvore de fontes local" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " @@ -32334,19 +32383,19 @@ msgstr "" "projeto parece estar instalado, mas ainda seja editável a partir da árvore " "de fontes." -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "Você também pode instalar normalmente a partir dos fontes" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "Instalando de arquivos locais" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "Instale um arquivo de pacote fonte em particular." -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" @@ -32354,11 +32403,11 @@ msgstr "" "Instale de um pacote contendo diretório local (e não verifique o :term:`PyPI " "`)" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "Instalando a partir de outras fontes" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -32371,11 +32420,11 @@ msgstr "" "repository-api>`, e usar o sinalizador ``--extra-index-url`` para direcionar " "o pip para usar esse índice." -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "Instalando pré-lançamentos" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." @@ -32383,11 +32432,11 @@ msgstr "" "Encontre versões de pré-lançamento e desenvolvimento, além de versões " "estáveis. Por padrão, pip só encontra versões estáveis." -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "Instalando \"Extras\"" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -32399,7 +32448,7 @@ msgstr "" "pacote. Se você deseja instalar um extra para um pacote que você sabe que " "publica um, você pode incluí-lo no comando de instalação pip:" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " @@ -32409,7 +32458,7 @@ msgstr "" "ferramenta como :command:`curl` que verifica os certificados SSL ao baixar " "de URLs https." -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" @@ -32419,7 +32468,7 @@ msgstr "" "para :ref:`virtualenv`) criará ambientes do virtualenv com ``pip`` pré-" "instalado, tornando-o uma alternativa igual a :ref:`virtualenv`." -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" @@ -33450,6 +33499,43 @@ msgid "" "the file is empty)." msgstr "" +#~ msgid "" +#~ "While ``pip`` alone is sufficient to install from pre-built binary " +#~ "archives, up to date copies of the ``setuptools`` and ``wheel`` projects " +#~ "are useful to ensure you can also install from source archives:" +#~ msgstr "" +#~ "Embora ``pip`` sozinho seja suficiente para instalar a partir de arquivos " +#~ "binários pré-compilados, cópias atualizadas dos projetos ``setuptools`` e " +#~ "``wheel`` são úteis para garantir que você também possa instalar a partir " +#~ "de arquivos fonte:" + +#, fuzzy +#~| msgid "" +#~| "`Travis CI `_ provides both a Linux and a macOS " +#~| "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " +#~| "bit while the macOS is 10.9.2 at the time of writing." +#~ msgid "" +#~ "`Travis CI `_ provides both a Linux and a macOS " +#~ "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " +#~ "bit while the macOS is 10.9.2 at the time of writing." +#~ msgstr "" +#~ "`Travis CI `_ fornece um ambiente Linux e macOS. O " +#~ "ambiente Linux é Ubuntu 12.04 LTS Server Edition de 64 bits, enquanto o " +#~ "macOS é 10.9.2 no momento da escrita." + +#~ msgid "" +#~ "The Appveyor service is a continuous integration service, much like the " +#~ "better-known `Travis`_ service that is commonly used for testing by " +#~ "projects hosted on `GitHub`_. However, unlike Travis, the build workers " +#~ "on Appveyor are Windows hosts and have the necessary compilers installed " +#~ "to build Python extensions." +#~ msgstr "" +#~ "O serviço Appveyor é um serviço de integração contínua, muito parecido " +#~ "com o serviço `Travis`_ mais conhecido que é comumente usado para testes " +#~ "por projetos hospedados no `GitHub`_. No entanto, ao contrário do Travis, " +#~ "os workers de construção no Appveyor são hosts Windows e têm os " +#~ "compiladores necessários instalados para construir extensões Python." + #~ msgid "" #~ "Refer to the `pkg_resources documentation \n" "Language-Team: Romanian `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8803,7 +8802,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8812,15 +8811,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8830,7 +8829,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8839,11 +8838,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8879,15 +8878,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8896,11 +8886,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8908,25 +8898,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8934,7 +8923,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8945,24 +8934,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8973,7 +8962,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8982,19 +8971,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9006,7 +8995,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9014,17 +9003,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9032,7 +9021,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9044,17 +9033,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9065,25 +9054,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9091,7 +9080,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9099,23 +9088,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9124,25 +9113,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9150,7 +9139,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9158,11 +9147,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9170,7 +9159,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9178,17 +9167,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9198,15 +9187,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13475,10 +13464,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13564,7 +13554,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17590,8 +17580,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17671,6 +17661,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19333,8 +19331,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19382,18 +19380,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19421,19 +19419,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19487,8 +19487,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19570,8 +19570,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19684,9 +19684,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19776,11 +19776,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19925,7 +19927,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19934,6 +19936,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19965,467 +19969,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20434,43 +20465,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25668,7 +25704,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25682,39 +25718,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25723,7 +25758,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25732,33 +25767,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25766,7 +25801,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25775,39 +25810,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25815,22 +25850,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25841,35 +25876,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25878,7 +25913,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25886,40 +25921,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25930,7 +25965,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25939,7 +25974,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25951,70 +25986,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26022,21 +26057,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26044,21 +26079,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/ru/LC_MESSAGES/messages.po b/locales/ru/LC_MESSAGES/messages.po index c74a06140..f39c3900b 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-06-07 08:01+0000\n" "Last-Translator: da070116 \n" "Language-Team: Russian `_ provides both a Linux and a macOS " -#| "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " -#| "bit while the macOS is 10.9.2 at the time of writing." msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -"В системе Travis CI `_ есть как Linux, так и macOS. " -"Среда Linux - это Ubuntu 12.04 LTS Server Edition 64 bit, а macOS на момент " -"написания статьи - 10.9.2." -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." @@ -11797,9 +11788,15 @@ msgstr "" "`Appveyor `_ предоставляет среду Windows (Windows " "Server 2012)." -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 +#, fuzzy +#| msgid "" +#| "Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +#| "formatted file as specification for the instructions for testing. If any " +#| "tests fail, the output log for that specific configuration can be " +#| "inspected." msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" @@ -11808,7 +11805,7 @@ msgstr "" "провалены, можно просмотреть журнал вывода для данной конкретной " "конфигурации." -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." @@ -11817,11 +11814,11 @@ msgstr "" "так и на Python 3 с использованием стратегии единого источника, есть " "несколько вариантов." -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "Инструменты для создания пакетов Python с одним источником" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -11842,7 +11839,7 @@ msgstr "" "использован для автоматического применения модификаций кода, предоставляемых " "six_." -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -11856,15 +11853,15 @@ msgstr "" "совместимости между Python 2 и Python 3 с синтаксисом языка, соответствующим " "одной из двух версий Python: можно использовать" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "модуль Python 2 (по синтаксису) в проекте Python 3." -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "модуль Python 3 (по синтаксису) в проекте *Python 2*." -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -11880,7 +11877,7 @@ msgstr "" "``futurize`` и ``pasteurize``, которые могут быть применены как к модулю " "Python 2, так и к модулю Python 3 соответственно." -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -11894,11 +11891,11 @@ msgstr "" "которые Python 2.6+ уже обеспечивает для прямой совместимости с Python 3. " "Любые оставшиеся проблемы совместимости потребуют внесения изменений вручную." -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "Что находится в каком Python?" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -11949,20 +11946,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" -"Сервис Appveyor - это сервис непрерывной интеграции, подобный более " -"известному сервису `Travis`_, который обычно используется для тестирования " -"проектов, размещенных на `GitHub`_. Однако, в отличие от Travis, рабочие " -"сборщики Appveyor являются хостами Windows и имеют необходимые компиляторы " -"для сборки расширений Python." - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -11978,11 +11961,11 @@ msgstr "" "имеющим выделенной среды Windows, предоставлять двоичные файлы, " "ориентированные на Windows." -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "Настройка" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -11995,7 +11978,7 @@ msgstr "" ">`__. Бесплатный уровень учетной записи вполне подходит для проектов с " "открытым исходным кодом." -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " @@ -12005,21 +11988,25 @@ msgstr "" "ваш проект размещен на одном из этих двух сервисов, настройка интеграции с " "Appveyor не составит труда." -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 +#, fuzzy +#| msgid "" +#| "Once you have set up your Appveyor account and added your project, " +#| "Appveyor will automatically build your project each time a commit occurs. " +#| "This behaviour will be familiar to users of Travis." msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" "После того, как вы настроили свой аккаунт Appveyor и добавили проект, " "Appveyor будет автоматически собирать ваш проект каждый раз, когда " "происходит коммит. Такое поведение будет знакомо пользователям Travis." -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "Добавление поддержки Appveyor в ваш проект" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -12031,7 +12018,7 @@ msgstr "" "том, что может быть включено в этот файл, описаны в документации Appveyor. В " "этом руководстве мы расскажем о том, как настроить сборку колес." -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -12049,11 +12036,11 @@ msgstr "" "используемая версия Visual Studio включает 64-битные компиляторы без " "дополнительных настроек)." -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr ":file:`appveyor.yml`" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." @@ -12071,7 +12058,7 @@ msgstr "" "Файл :file:`appveyor.yml` должен находиться в корневом каталоге вашего " "проекта. Он имеет формат ``YAML`` и состоит из нескольких секций." -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -12090,7 +12077,7 @@ msgstr "" "использующие Python 2, обычно могут перейти на Python 2.7 без особых " "проблем)." -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -12105,7 +12092,7 @@ msgstr "" "установки дополнительных пакетов сборки, таких как ``Cython``, или " "инструментов тестирования, таких как ``tox``)." -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." @@ -12113,7 +12100,7 @@ msgstr "" "Секция ``build`` просто отключает сборку - в отличие от таких языков, как " "``C#``, для Python не требуется никаких действий по сборке." -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." @@ -12121,7 +12108,7 @@ msgstr "" "Основные секции, которые необходимо адаптировать под ваш проект, - это " "``тестовый_скрипт`` и ``после_теста``." -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -12142,7 +12129,7 @@ msgstr "" "используете ``tox``, вам придется внести некоторые дополнительные изменения " "в конфигурацию, которые описаны ниже." -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -12154,7 +12141,7 @@ msgstr "" "инструменты (в частности, ``setuptools``), то команда ``setup.py " "bdist_wheel'' соберет ваши колеса." -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." @@ -12163,11 +12150,11 @@ msgstr "" "тесты пройдут успешно. Если вы ожидаете, что ваши тесты не пройдут под " "Windows, вы можете пропустить их, как описано выше." -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "Скрипт поддержки" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -12180,7 +12167,7 @@ msgstr "" "которые не поддерживают 3.3 или 3.4 на 64-битной Windows, необходим только " "файл :file:`appveyor.yml`." -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -12200,7 +12187,7 @@ msgstr "" "устанавливает SDK, необходимый для 64-битных сборок Python 3.3.3 или 3.4, " "поэтому не устанавливайте переменную окружения для других сборок." -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." @@ -12208,11 +12195,11 @@ msgstr "" "Вы можете просто загрузить пакетный файл и включить его в свой проект без " "изменений." -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "Доступ к собранным колёсам" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -12230,11 +12217,11 @@ msgstr "" "можете скачать эти колеса и загрузить их в PyPI как часть вашего процесса " "выпуска." -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "Тестирование с помощью tox" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " @@ -12244,7 +12231,7 @@ msgstr "" "своих тестов. Он обеспечивает запуск тестов в изолированном окружении с " "использованием именно тех файлов, которые будут распространяться проектом." -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " @@ -12254,7 +12241,7 @@ msgstr "" "(на самом деле, эти вопросы не относятся к Appveyor и вполне могут " "затрагивать другие CI-системы)." -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -12267,7 +12254,7 @@ msgstr "" "тестов\" приведет к тому, что тесты по умолчанию будут использовать " "неправильный компилятор." -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -12279,23 +12266,23 @@ msgstr "" "список дополнительных переменных окружения, которые нужно передать " "подпроцессу. Для компиляторов SDK необходимо" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "``DISTUTILS_USE_SDK``" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "``MSSdk``" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "``INCLUDE``" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "``LIB``" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -12309,15 +12296,24 @@ msgstr "" "``TOX_TESTENV_PASSENV``. Поставляемый в комплекте скрипт :file:`build.cmd` " "делает это по умолчанию, когда установлено значение ``DISTUTILS_USE_SDK``." -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 +#, fuzzy +#| msgid "" +#| "When used interactively, ``tox`` allows you to run your tests against " +#| "multiple environments (often, this means multiple Python versions). This " +#| "feature is not as useful in a CI environment like Travis or Appveyor, " +#| "where all tests are run in isolated environments for each configuration. " +#| "As a result, projects often supply an argument ``-e ENVNAME`` to ``tox`` " +#| "to specify which environment to use (there are default environments for " +#| "most versions of Python)." msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" "При интерактивном использовании ``tox`` позволяет запускать тесты в " "нескольких окружениях (часто это означает несколько версий Python). Эта " @@ -12327,7 +12323,7 @@ msgstr "" "указать, какое окружение использовать (есть окружения по умолчанию для " "большинства версий Python)." -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" @@ -12337,7 +12333,7 @@ msgstr "" "где (например) доступны две установки Python 3.4 (32-битная и 64-битная), но " "только одно окружение ``py34`` в ``tox``." -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -12350,7 +12346,7 @@ msgstr "" "что когда Appveyor запустит тесты, они будут запущены с настроенным " "интерпретатором." -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -12361,11 +12357,11 @@ msgstr "" "конфигурацией ``tox`` потребуется изменить свой файл :file:`tox.ini`. Однако " "это выходит за рамки данного документа." -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "Автоматическая загрузка колёс" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -12378,7 +12374,7 @@ msgstr "" "или в экземпляр Amazon S3. Документация о том, как это сделать, включена в " "руководства по Appveyor." -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -12390,11 +12386,11 @@ msgstr "" "неясно, насколько желательна загрузка новых колес после каждого коммита " "(хотя некоторые проекты могут захотеть это сделать)." -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "Внешние зависимости" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." @@ -12402,7 +12398,7 @@ msgstr "" "Прилагаемые скрипты успешно соберут любой дистрибутив, который не зависит от " "сторонних внешних библиотек для сборки." -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -12417,15 +12413,15 @@ msgstr "" "для сборки, чтобы указать компилятору местоположение этих библиотек. Однако " "такой уровень конфигурации выходит за рамки данного документа." -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "Скрипты поддержки" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "Для справки, сценарий поддержки установки SDK приведен здесь:" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "``appveyor-sample/build.cmd``" @@ -18125,10 +18121,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -18225,7 +18222,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "Пример" @@ -23572,9 +23569,13 @@ msgid "" msgstr "" #: ../source/specifications/glob-patterns.rst:18 +#, fuzzy +#| msgid "" +#| "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " +#| "(``.``) MUST be matched verbatim." msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" "Буквенно-цифровые символы, подчеркивания (``_``), дефисы (``-``) и точки " "(``.``) ДОЛЖНЫ совпадать дословно." @@ -23688,6 +23689,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "Спецификации PyPA" @@ -25874,8 +25883,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 #, fuzzy #| msgid "Requires" msgid "**Required?**: yes" @@ -25929,18 +25938,18 @@ msgstr "Тип TOML_: массив строк" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -25968,10 +25977,12 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 #, fuzzy #| msgid "TOML_ type: string" msgid "**Type**: string" @@ -25980,9 +25991,9 @@ msgstr "Тип TOML_: строка" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -26038,8 +26049,8 @@ msgid "``dependency-groups``" msgstr "Таблица ``[dependency-groups]``" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 #, fuzzy #| msgid ":ref:`pyproject-toml-spec`" msgid "**Inspiration**: :ref:`pyproject-tool-table`" @@ -26130,8 +26141,8 @@ msgstr "``пакеты``" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 #, fuzzy #| msgid "TOML_ type: array of strings" msgid "**Type**: array of tables" @@ -26274,9 +26285,9 @@ msgstr "``пакеты``" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 #, fuzzy #| msgid "TOML_ type: table" msgid "**Type**: table" @@ -26378,11 +26389,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -26547,7 +26560,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -26558,6 +26571,8 @@ msgid "``[packages.archive]``" msgstr "``пакеты``" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -26591,83 +26606,101 @@ msgstr "" msgid "``packages.archive.url``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +#, fuzzy +#| msgid "The source tree" +msgid "The URL_ to the archive." +msgstr "Дерево исходного кода" + +#: ../source/specifications/pylock-toml.rst:461 #, fuzzy #| msgid "``packages``" msgid "``packages.archive.path``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 #, fuzzy +#| msgid "The name of the project." +msgid "The path to the archive." +msgstr "Название проекта." + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 +#, fuzzy #| msgid "``packages``" msgid "``packages.archive.size``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 #, fuzzy #| msgid "The name of the project." msgid "The size of the archive file." msgstr "Название проекта." -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 #, fuzzy #| msgid "Where the guide is deployed" msgid "The time the file was uploaded." msgstr "Где развёрнуто руководство" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 #, fuzzy #| msgid "TOML_ type: array of strings" msgid "**Type**: Table of strings" msgstr "Тип TOML_: массив строк" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 #, fuzzy #| msgid "" #| "A table of URLs where the key is the URL label and the value is the URL " @@ -26678,429 +26711,442 @@ msgid "" msgstr "" "Таблица URL-адресов, где ключом является метка URL, а значением - сам URL." -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 #, fuzzy #| msgid "``packages``" msgid "``packages.index``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 #, fuzzy #| msgid "``packages``" msgid "``[packages.sdist]``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.name``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.upload-time``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 #, fuzzy #| msgid "``packages``" msgid "``packages.sdist.url``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.path``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 #, fuzzy #| msgid "``packages``" msgid "``packages.sdist.size``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.hashes``" msgstr "``package_data``" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 #, fuzzy #| msgid "``packages``" msgid "``[[packages.wheels]]``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.name``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.url``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.path``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.size``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.hashes``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 #, fuzzy #| msgid ":ref:`pyproject-toml-spec`" msgid "**Inspiration**: :ref:`provenance-object`" msgstr ":ref:`pyproject-toml-spec`" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 #, fuzzy #| msgid "``packages``" msgid "``[packages.tool]``" msgstr "``пакеты``" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 #, fuzzy #| msgid "Binary distribution format" msgid ":ref:`Install `." msgstr "Формат распространения двоичных пакетов" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -27109,40 +27155,40 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 #, fuzzy #| msgid "" #| "API version 1.0: Initial version of the API, declared with :pep:`629`." @@ -27150,6 +27196,11 @@ msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" "Версия API 1.0: Начальная версия API, объявленная с помощью :pep:`629`." +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "Файл :file:`.pypirc`" @@ -34391,9 +34442,14 @@ msgstr "" "Безопасная загрузка `get-pip.py `_ [1]_" #: ../source/tutorials/installing-packages.rst:139 +#, fuzzy +#| msgid "" +#| "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " +#| "Additionally, it will install :ref:`setuptools` and :ref:`wheel` if " +#| "they're not installed already." msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" "Запустите ``python get-pip.py``. [2]_ Это приведет к установке или " @@ -34416,25 +34472,23 @@ msgstr "" "для локально установленного программного обеспечения." #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +#, fuzzy +#| msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" "Убедитесь, что pip, setuptools и wheel находятся в актуальном состоянии" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -"Хотя одного ``pip`` достаточно для установки из предварительно собранных " -"бинарных архивов, актуальные копии проектов ``setuptools`` и ``wheel`` " -"полезны для обеспечения возможности установки из исходных архивов:" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "По желанию создайте виртуальную среду" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " @@ -34444,7 +34498,7 @@ msgstr "" "сред>`, а вот основная :doc:`venv ` [3]_ команда для " "использования в типичной системе Linux:" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " @@ -34454,11 +34508,11 @@ msgstr "" "настроит текущую оболочку на использование его в качестве окружения по " "умолчанию ``python``." -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "Создание виртуальных окружений" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -34472,7 +34526,7 @@ msgstr "" "инструменты командной строки, смотрите :doc:`/guides/installing-stand-alone-" "command-line-tools`." -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -34487,7 +34541,7 @@ msgstr "" "когда вы непреднамеренно обновите приложение, которое не должно быть " "обновлено." -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " @@ -34497,7 +34551,7 @@ msgstr "" "работает, любое изменение в его библиотеках или их версиях может привести к " "поломке приложения." -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." @@ -34506,7 +34560,7 @@ msgstr "" "` в глобальный каталог site-packages? Например, на " "общем хосте." -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " @@ -34516,7 +34570,7 @@ msgstr "" "собственные каталоги установки, и они не обмениваются библиотеками с другими " "виртуальными средами." -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" @@ -34524,7 +34578,7 @@ msgstr "" "В настоящее время существует два распространенных инструмента для создания " "виртуальных сред Python:" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -34535,7 +34589,7 @@ msgstr "" "выше, и устанавливает : ссылка:`pip` в созданные виртуальные среды в Python " "3.4 и выше (версии Python до 3.12 также устанавливали :ссылка:`setuptools`)." -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 #, fuzzy #| msgid "" #| ":ref:`virtualenv` needs to be installed separately, but supports Python " @@ -34554,19 +34608,19 @@ msgstr "" "устанавливаются в созданные виртуальные среды по умолчанию (независимо от " "версии Python)." -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "Основное использование выглядит следующим образом:" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "Использование :doc:`venv `:" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "Использование :ref:`virtualenv`:" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." @@ -34574,7 +34628,7 @@ msgstr "" "Дополнительную информацию можно найти в документах :doc:`venv " "` или :doc:`virtualenv `." -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " @@ -34585,7 +34639,7 @@ msgstr "" "подпроцессе (который затем исчезает, не оказывая никакого полезного " "воздействия)." -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " @@ -34595,7 +34649,7 @@ msgstr "" "команду :command:`source`, а лучше запустить скрипт :command:`activate` " "непосредственно из командной оболочки, как показано выше:" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -34608,11 +34662,11 @@ msgstr "" "который автоматически управляет отдельной виртуальной средой для каждого " "проекта и приложения, над которым вы работаете." -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "Используйте pip для установки" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " @@ -34623,11 +34677,11 @@ msgstr "" "можно найти в :doc:`pip docs `, который включает в себя " "полное :doc:`Reference Guide `." -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "Установка из PyPI" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -34646,19 +34700,19 @@ msgstr "" "спецификации :ref:`Version specifier `. Ниже приведены " "некоторые примеры." -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "Чтобы установить последнюю версию \"SomeProject\":" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "Для установки определенной версии:" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "Чтобы установить версию больше или равную одной и меньше другой:" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" @@ -34666,7 +34720,7 @@ msgstr "" "Чтобы установить версию, которая :ref:`совместима ` с определенной версией: [4]_" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." @@ -34674,11 +34728,11 @@ msgstr "" "В данном случае это означает установку любой версии \"==1.4.*\", которая " "также \">=1.4.2\"." -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "Дистрибутивы источников против колес" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -34693,7 +34747,7 @@ msgstr "" "умолчанию, например, используя его опцию :ref:`--no-binary `." -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -34706,7 +34760,7 @@ msgstr "" "Distribution (или \"sdist\")>`, особенно когда проект содержит " "скомпилированные расширения." -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " @@ -34716,16 +34770,16 @@ msgstr "" "и кэширует его для будущих установок, вместо того, чтобы пересобирать " "исходный дистрибутив в будущем." -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" "Обновление уже установленного ``SomeProject`` до последней версии из PyPI." -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "Установка в пользовательский каталог :file:`site`" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" @@ -34733,7 +34787,7 @@ msgstr "" "Чтобы установить :term:`пакеты `, которые изолированы " "от текущего пользователя, используйте флаг ``--user``:" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." @@ -34742,7 +34796,7 @@ msgstr "" "`_ из документации " "pip." -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." @@ -34750,7 +34804,7 @@ msgstr "" "Обратите внимание, что флаг ``--user`` не влияет на виртуальную среду - все " "команды установки будут влиять на виртуальную среду." -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -34768,7 +34822,7 @@ msgstr "" "вне :envvar:`PATH`). Если скрипты недоступны в вашей оболочке после " "установки, вам нужно добавить каталог в :envvar:`PATH`:" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -34783,7 +34837,7 @@ msgstr "" "добавить ``~/.local/bin`` в ваш ``PATH``. Вы можете установить свой " "``PATH`` постоянно, ``изменив ~/.profile``." -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -34804,7 +34858,7 @@ msgstr "" "Чтобы изменения ``PATH'' вступили в силу, вам может потребоваться выйти из " "системы." -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." @@ -34812,11 +34866,11 @@ msgstr "" "Установка списка требований, указанных в :ref:`Requirements File " "`." -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "Установка из СКВ" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." @@ -34824,15 +34878,15 @@ msgstr "" "Установка проекта из VCS в \"редактируемом\" режиме. Полное описание " "синтаксиса см. в разделе pip по :ref:`VCS Support `." -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "Установка из других индексов" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "Установка из альтернативного индекса" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" @@ -34840,11 +34894,11 @@ msgstr "" "Поиск дополнительного индекса во время установки, в дополнение к :term:`PyPI " "`" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "Установка из локального дерева исходных кодов" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " @@ -34854,19 +34908,19 @@ msgstr "" "development_mode>`, т.е. таким образом, что проект кажется установленным, но " "при этом его можно редактировать из дерева src." -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "Вы также можете установить обычную установку из src" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "Установка из локальных архивов" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "Установка определенного файла исходного архива." -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" @@ -34874,11 +34928,11 @@ msgstr "" "Установите из локальной директории, содержащей архивы (и не " "проверяйте :term:`PyPI `)" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "Установка из других источников" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -34891,11 +34945,11 @@ msgstr "" "и использовать флаг ``--extra-index-url``, чтобы направить pip на " "использование этого индекса." -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "Установка предварительных выпусков" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." @@ -34903,11 +34957,11 @@ msgstr "" "Найдите предварительные версии и версии для разработки в дополнение к " "стабильным версиям. По умолчанию pip находит только стабильные версии." -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "Установка \"Дополнений\"" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -34920,7 +34974,7 @@ msgstr "" "расширение для пакета, который, как вы знаете, его публикует, вы можете " "включить его в команду установки pip:" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " @@ -34930,7 +34984,7 @@ msgstr "" "браузера или такого инструмента, как :command:`curl`, который проверяет SSL-" "сертификаты при загрузке с https-адресов." -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" @@ -34940,7 +34994,7 @@ msgstr "" "создавать виртуальные среды virtualenv с предустановленным ``pip``, что " "делает его равноправной альтернативой :ref:`virtualenv``." -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" @@ -36011,6 +36065,42 @@ msgstr "" "Если вы только начинаете с Python упаковки, рекомендуется придерживаться " "*регулярных пакетов* и ``__init__.py`` (даже если файл пуст)." +#~ msgid "" +#~ "While ``pip`` alone is sufficient to install from pre-built binary " +#~ "archives, up to date copies of the ``setuptools`` and ``wheel`` projects " +#~ "are useful to ensure you can also install from source archives:" +#~ msgstr "" +#~ "Хотя одного ``pip`` достаточно для установки из предварительно собранных " +#~ "бинарных архивов, актуальные копии проектов ``setuptools`` и ``wheel`` " +#~ "полезны для обеспечения возможности установки из исходных архивов:" + +#, fuzzy +#~| msgid "" +#~| "`Travis CI `_ provides both a Linux and a macOS " +#~| "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " +#~| "bit while the macOS is 10.9.2 at the time of writing." +#~ msgid "" +#~ "`Travis CI `_ provides both a Linux and a macOS " +#~ "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " +#~ "bit while the macOS is 10.9.2 at the time of writing." +#~ msgstr "" +#~ "В системе Travis CI `_ есть как Linux, так и " +#~ "macOS. Среда Linux - это Ubuntu 12.04 LTS Server Edition 64 bit, а macOS " +#~ "на момент написания статьи - 10.9.2." + +#~ msgid "" +#~ "The Appveyor service is a continuous integration service, much like the " +#~ "better-known `Travis`_ service that is commonly used for testing by " +#~ "projects hosted on `GitHub`_. However, unlike Travis, the build workers " +#~ "on Appveyor are Windows hosts and have the necessary compilers installed " +#~ "to build Python extensions." +#~ msgstr "" +#~ "Сервис Appveyor - это сервис непрерывной интеграции, подобный более " +#~ "известному сервису `Travis`_, который обычно используется для " +#~ "тестирования проектов, размещенных на `GitHub`_. Однако, в отличие от " +#~ "Travis, рабочие сборщики Appveyor являются хостами Windows и имеют " +#~ "необходимые компиляторы для сборки расширений Python." + #~ msgid "" #~ "This specification was originally defined in :pep:`518` and :pep:`621`." #~ msgstr "" diff --git a/locales/sai/LC_MESSAGES/messages.po b/locales/sai/LC_MESSAGES/messages.po index ba2ae7995..7de2bfbd6 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1524,7 +1524,7 @@ msgid "" msgstr "" #: ../source/discussions/install-requires-vs-requirements.rst:62 -#: ../source/tutorials/installing-packages.rst:464 +#: ../source/tutorials/installing-packages.rst:463 msgid "Requirements files" msgstr "" @@ -5356,7 +5356,7 @@ msgid "" msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:589 -#: ../source/tutorials/installing-packages.rst:670 +#: ../source/tutorials/installing-packages.rst:669 msgid "" "Depending on your platform, this may require root or Administrator " "access. :ref:`pip` is currently considering changing this by `making user " @@ -5609,7 +5609,7 @@ msgstr "" #: ../source/guides/hosting-your-own-index.rst:65 #: ../source/guides/index-mirrors-and-caches.rst:56 -#: ../source/guides/supporting-windows-using-appveyor.rst:146 +#: ../source/guides/supporting-windows-using-appveyor.rst:139 msgid "Additional notes" msgstr "" @@ -6621,7 +6621,7 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:434 -#: ../source/tutorials/installing-packages.rst:393 +#: ../source/tutorials/installing-packages.rst:392 msgid "Upgrading packages" msgstr "" @@ -8684,7 +8684,7 @@ msgid "Hosting" msgstr "" #: ../source/guides/section-install.rst:3 -#: ../source/specifications/pylock-toml.rst:729 +#: ../source/specifications/pylock-toml.rst:744 msgid "Installation" msgstr "" @@ -8755,35 +8755,34 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:65 msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8795,7 +8794,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8804,15 +8803,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8822,7 +8821,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8831,11 +8830,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8871,15 +8870,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8888,11 +8878,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8900,25 +8890,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8926,7 +8915,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8937,24 +8926,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8965,7 +8954,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8974,19 +8963,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -8998,7 +8987,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9006,17 +8995,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9024,7 +9013,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9036,17 +9025,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9057,25 +9046,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9083,7 +9072,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9091,23 +9080,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9116,25 +9105,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9142,7 +9131,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9150,11 +9139,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9162,7 +9151,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9170,17 +9159,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9190,15 +9179,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13467,10 +13456,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13556,7 +13546,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17582,8 +17572,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17663,6 +17653,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19325,8 +19323,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19374,18 +19372,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19413,19 +19411,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19479,8 +19479,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19562,8 +19562,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19676,9 +19676,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19768,11 +19768,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19917,7 +19919,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19926,6 +19928,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19957,467 +19961,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20426,43 +20457,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25660,7 +25696,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25674,39 +25710,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25715,7 +25750,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25724,33 +25759,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25758,7 +25793,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25767,39 +25802,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25807,22 +25842,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25833,35 +25868,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25870,7 +25905,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25878,40 +25913,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25922,7 +25957,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25931,7 +25966,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25943,70 +25978,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26014,21 +26049,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26036,21 +26071,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/si/LC_MESSAGES/messages.po b/locales/si/LC_MESSAGES/messages.po index ce7fbaebf..5dd02b7ca 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2022-06-11 08:19+0000\n" "Last-Translator: Kushan Gunasekera \n" "Language-Team: Sinhala `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8799,7 +8798,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8808,15 +8807,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8826,7 +8825,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8835,11 +8834,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8875,15 +8874,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8892,11 +8882,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8904,25 +8894,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8930,7 +8919,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8941,24 +8930,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8969,7 +8958,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8978,19 +8967,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9002,7 +8991,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9010,17 +8999,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9028,7 +9017,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9040,17 +9029,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9061,25 +9050,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9087,7 +9076,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9095,23 +9084,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9120,25 +9109,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9146,7 +9135,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9154,11 +9143,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9166,7 +9155,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9174,17 +9163,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9194,15 +9183,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13471,10 +13460,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13560,7 +13550,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17586,8 +17576,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17667,6 +17657,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19329,8 +19327,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19378,18 +19376,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19417,19 +19415,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19483,8 +19483,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19566,8 +19566,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19680,9 +19680,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19772,11 +19772,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19921,7 +19923,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19930,6 +19932,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19961,467 +19965,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20430,43 +20461,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25664,7 +25700,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25678,39 +25714,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25719,7 +25754,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25728,33 +25763,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25762,7 +25797,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25771,39 +25806,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25811,22 +25846,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25837,35 +25872,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25874,7 +25909,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25882,40 +25917,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25926,7 +25961,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25935,7 +25970,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25947,70 +25982,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26018,21 +26053,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26040,21 +26075,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/sk/LC_MESSAGES/messages.po b/locales/sk/LC_MESSAGES/messages.po index 1d79dbe9d..ed42d7852 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2024-11-02 00:54+0000\n" "Last-Translator: Milan Šalka \n" "Language-Team: Slovak `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8957,7 +8956,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8966,15 +8965,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8984,7 +8983,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8993,11 +8992,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -9033,15 +9032,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -9050,11 +9040,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -9062,25 +9052,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -9088,7 +9077,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -9099,24 +9088,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9127,7 +9116,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9136,19 +9125,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9160,7 +9149,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9168,17 +9157,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9186,7 +9175,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9198,17 +9187,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9219,25 +9208,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9245,7 +9234,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9253,23 +9242,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9278,25 +9267,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9304,7 +9293,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9312,11 +9301,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9324,7 +9313,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9332,17 +9321,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9352,15 +9341,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13635,10 +13624,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13724,7 +13714,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17766,8 +17756,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17849,6 +17839,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19519,8 +19517,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19568,18 +19566,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19607,19 +19605,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19673,8 +19673,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 #, fuzzy #| msgid "Project name" msgid "**Inspiration**: :ref:`pyproject-tool-table`" @@ -19758,8 +19758,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19874,9 +19874,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19966,11 +19966,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -20115,7 +20117,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -20124,6 +20126,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20155,471 +20159,498 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 #, fuzzy #| msgid "Where the guide is deployed" msgid "The time the file was uploaded." msgstr "Kde je sprievodca nasadený" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 #, fuzzy #| msgid "Project name" msgid "**Inspiration**: :ref:`provenance-object`" msgstr "Meno projektu" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20628,43 +20659,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25876,7 +25912,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25890,39 +25926,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25931,7 +25966,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25940,33 +25975,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25974,7 +26009,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25983,39 +26018,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -26023,22 +26058,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -26049,35 +26084,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -26086,7 +26121,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -26094,40 +26129,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -26138,7 +26173,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -26147,7 +26182,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26159,70 +26194,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26230,21 +26265,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26252,21 +26287,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/ta/LC_MESSAGES/messages.po b/locales/ta/LC_MESSAGES/messages.po index f3816c8f3..3caa4bb61 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-07-19 06:36+0000\n" "Last-Translator: தமிழ்நேரம் \n" "Language-Team: Tamil `_ provides both a Linux and a macOS " -#| "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " -#| "bit while the macOS is 10.9.2 at the time of writing." msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -"`டிராவிச் சி ` _ லினக்ச் மற்றும் மேகோச் சூழல் இரண்டையும் " -"வழங்குகிறது. லினக்ச் சூழல் உபுண்டு 12.04 எல்.டி.எச் சர்வர் பதிப்பு 64 பிட் ஆகும், அதே " -"நேரத்தில் மேகோச் 10.9.2 ஆகும்." -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." @@ -11386,9 +11377,15 @@ msgstr "" "`Appveyor ` _ சாளரங்கள் சூழலை வழங்குகிறது (விண்டோச் " "சர்வர் 2012)." -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 +#, fuzzy +#| msgid "" +#| "Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +#| "formatted file as specification for the instructions for testing. If any " +#| "tests fail, the output log for that specific configuration can be " +#| "inspected." msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" @@ -11397,7 +11394,7 @@ msgstr "" "ஏதேனும் சோதனைகள் தோல்வியுற்றால், அந்த குறிப்பிட்ட உள்ளமைவுக்கான வெளியீட்டு பதிவை ஆய்வு " "செய்யலாம்." -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." @@ -11405,11 +11402,11 @@ msgstr "" "ஒற்றை மூல மூலோபாயத்துடன் பைதான் 2 மற்றும் 3 இரண்டிலும் பயன்படுத்தப்பட வேண்டிய பைதான் " "திட்டங்களுக்கு, பல விருப்பங்கள் உள்ளன." -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "ஒற்றை மூல பைதான் தொகுப்புகளுக்கான கருவிகள்" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -11428,7 +11425,7 @@ msgstr "" "modernize>` _, அர்மின் ரோனாச்சரால் உருவாக்கப்பட்டது, ஆறு_ வழங்கிய குறியீடு மாற்றங்களை " "தானாகவே பயன்படுத்த பயன்படுத்தலாம்." -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -11442,15 +11439,15 @@ msgstr "" "இடையில் இரண்டு பைதான் பதிப்புகளில் ஒன்றோடு பொருந்தக்கூடிய மொழி தொடரியல் மூலம் " "இயங்குதளத்தை வழங்குவதை நோக்கமாகக் கொண்டுள்ளது: ஒருவர் பயன்படுத்தலாம்" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "பைதான் 3 திட்டத்தில் ஒரு பைதான் 2 (தொடரியல் மூலம்) தொகுதி." -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "* பைதான் 2 * திட்டத்தில் ஒரு பைதான் 3 (தொடரியல் மூலம்) தொகுதி." -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -11466,7 +11463,7 @@ msgstr "" "மற்றும் `` பேசூரைச்`` என அழைக்கப்படுகிறது, இது முறையே பைதான் 2 தொகுதி அல்லது பைதான் " "3 தொகுதிக்கு பயன்படுத்தப்படலாம்." -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -11480,11 +11477,11 @@ msgstr "" "பைதானுக்கு முன்னோக்கி-இணக்கத்தன்மைக்கு ஏற்கனவே வழங்குகிறது. மீதமுள்ள பொருந்தக்கூடிய " "சிக்கல்களுக்கு கையேடு மாற்றங்கள் தேவைப்படும்." -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "எந்த பைதான் என்ன?" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -11530,20 +11527,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" -"AppVeair பணி என்பது தொடர்ச்சியான ஒருங்கிணைப்பு சேவையாகும், இது நன்கு அறியப்பட்ட " -"`டிராவிச்`_ சேவையைப் போன்றது, இது பொதுவாக` கிதுப்`_ இல் வழங்கப்பட்ட திட்டங்களால் " -"சோதனைக்கு பயன்படுத்தப்படுகிறது. இருப்பினும், டிராவிசைப் போலல்லாமல், ஆப்சியரில் உள்ள " -"தொழிலாளர்கள் சாளரங்கள் ஓச்ட்கள் மற்றும் பைதான் நீட்டிப்புகளை உருவாக்க தேவையான கம்பைலர்கள் " -"நிறுவப்பட்டுள்ளன." - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -11558,11 +11541,11 @@ msgstr "" "பிரத்யேக சாளரங்கள் சூழல் இல்லாத திட்டங்களுக்கு விண்டோச்-இலக்கு கொண்ட இருமங்களை வழங்க " "முடியும்." -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "அமைத்தல்" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -11574,7 +11557,7 @@ msgstr "" "ஆவணத்தில் __ __ இல் கொடுக்கப்பட்டுள்ளன. திறந்த மூல " "திட்டங்களுக்கு கணக்கின் இலவச அடுக்கு போதுமானது." -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " @@ -11584,21 +11567,25 @@ msgstr "" "திட்டம் அந்த இரண்டு சேவைகளில் ஒன்றில் புரவலன் செய்யப்படும் வரை, AppWeair ஒருங்கிணைப்பை " "அமைப்பது நேரடியானது." -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 +#, fuzzy +#| msgid "" +#| "Once you have set up your Appveyor account and added your project, " +#| "Appveyor will automatically build your project each time a commit occurs. " +#| "This behaviour will be familiar to users of Travis." msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" "உங்கள் ஆப்சேயர் கணக்கை அமைத்து, உங்கள் திட்டத்தைச் சேர்த்தவுடன், ஒவ்வொரு முறையும் ஒரு கமிட் " "நிகழும் போது AppWeyor தானாகவே உங்கள் திட்டத்தை உருவாக்கும். இந்த நடத்தை டிராவிசின் " "பயனர்களுக்கு தெரிந்திருக்கும்." -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "உங்கள் திட்டத்தில் AppWeyor ஆதரவைச் சேர்ப்பது" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -11610,7 +11597,7 @@ msgstr "" "என்பதற்கான முழு விவரங்களும் AppWayor ஆவணத்தில் உள்ளன. இந்த வழிகாட்டி சக்கர கட்டமைப்புகளை " "அமைக்க தேவையான விவரங்களை வழங்கும்." -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -11628,11 +11615,11 @@ msgstr "" "பயன்படுத்தப்படும் விசுவல் ச்டுடியோவின் பதிப்பில் கூடுதல் அமைப்பு இல்லாத 64-பிட் கம்பைலர்கள் " "உள்ளன)." -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "appweyor.yml" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here __." -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." @@ -11649,7 +11636,7 @@ msgstr "" "தி: கோப்பு: `appveyor.yml` கோப்பு உங்கள் திட்டத்தின் ரூட் கோப்பகத்தில் இருக்க வேண்டும். " "இது `` யம்ல்` `வடிவத்தில் உள்ளது, மேலும் பல பிரிவுகளைக் கொண்டுள்ளது." -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -11667,7 +11654,7 @@ msgstr "" "ஆதரிக்கவில்லை (விண்டோச் பயனர்கள் இன்னும் பைதான் 2 ஐப் பயன்படுத்துவதால் பொதுவாக பைதான் 2.7 " "க்கு அதிக தொல்லை இல்லாமல் செல்ல முடியும்)." -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -11681,7 +11668,7 @@ msgstr "" "சைதான்`` போன்ற கூடுதல் பில்ட் தொகுப்புகளை நிறுவ அல்லது `` போன்ற சோதனைக் கருவிகளை " "நிறுவவும் விரும்பலாம் நச்சு``)." -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." @@ -11689,7 +11676,7 @@ msgstr "" "`` பில்ட்`` பிரிவு வெறுமனே கட்டமைப்பை அணைக்க வேண்டும் - பைத்தானுக்கு எந்த கட்டமைப்பும் " "தேவையில்லை, `` சி#`` போன்ற மொழிகளைப் போலல்லாமல்." -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." @@ -11697,7 +11684,7 @@ msgstr "" "உங்கள் திட்டத்திற்கு ஏற்ப வடிவமைக்க வேண்டிய முக்கிய பிரிவுகள் `` டெச்ட்_ச்கிரிப்ட்`` மற்றும் " "`` பிறகு_டெச்ட்``." -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -11717,7 +11704,7 @@ msgstr "" "இருப்பினும் நீங்கள் `` டோக்ச்`` ஐப் பயன்படுத்துகிறீர்கள் என்றால், நீங்கள் கருத்தில் கொள்ள வேண்டிய " "சில கூடுதல் உள்ளமைவு மாற்றங்கள் உள்ளன, அவை கீழே விவரிக்கப்பட்டுள்ளன." -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -11729,7 +11716,7 @@ msgstr "" "setuptools``) பின்னர் `` setup.py.py bdist_wheel`` கட்டளை உங்கள் சக்கரங்களை " "உருவாக்கும்." -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." @@ -11738,11 +11725,11 @@ msgstr "" "சாளரங்களில் உங்கள் சோதனைகள் தோல்வியடையும் என்று நீங்கள் எதிர்பார்த்தால், மேலே " "விவரிக்கப்பட்டபடி அவற்றைத் தவிர்க்கலாம்." -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "ச்கிரிப்ட் உதவி" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -11754,7 +11741,7 @@ msgstr "" "ஒரு கம்பைலர் தேவையில்லை, அல்லது 64-பிட் சாளரங்களில் 3.3 அல்லது 3.4 ஐ ஆதரிக்காத " "திட்டங்களுக்கு, மட்டுமே: கோப்பு: `appveyor.yml` கோப்பு தேவை." -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -11771,18 +11758,18 @@ msgstr "" "பிட் கட்டங்களுக்கு தேவையான SDK ஐ அமைக்கிறது, எனவே வேறு எந்த கட்டமைப்பிற்கும் சூழல் " "மாறியை அமைக்க வேண்டாம்." -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" "நீங்கள் வெறுமனே தொகுதி கோப்பை பதிவிறக்கம் செய்து அதை மாற்றாமல் உங்கள் திட்டத்தில் சேர்க்கலாம்." -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "கட்டப்பட்ட சக்கரங்களுக்கான அணுகல்" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -11799,11 +11786,11 @@ msgstr "" "சக்கரங்களுக்கான இணைப்புகளின் பட்டியல் இருக்கும். உங்கள் வெளியீட்டு செயல்முறையின் ஒரு " "பகுதியாக அந்த சக்கரங்களை பதிவிறக்கம் செய்து அவற்றை PYPI இல் பதிவேற்றலாம்." -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "டாக்சுடன் சோதனை" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " @@ -11813,7 +11800,7 @@ msgstr "" "பயன்படுத்துகின்றன. திட்டத்தால் விநியோகிக்கப்படும் சரியான கோப்புகளைப் பயன்படுத்தி " "தனிமைப்படுத்தப்பட்ட சூழலில் சோதனைகள் இயக்கப்படுவதை இது உறுதி செய்கிறது." -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " @@ -11823,7 +11810,7 @@ msgstr "" "(உண்மையில், இந்த சிக்கல்கள் AppWeyor க்கு குறிப்பிட்டவை அல்ல, மேலும் பிற தொஒ அமைப்புகளை " "பாதிக்கலாம்)." -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -11835,7 +11822,7 @@ msgstr "" "மாறிகளைப் பயன்படுத்துவதால், இந்த \"சோதனை தனிமைப்படுத்தல்\" நற்பொருத்தம் சோதனைகள் " "இயல்புநிலையாக தவறான தொகுப்பைப் பயன்படுத்தும்." -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -11847,23 +11834,23 @@ msgstr "" "டோக்ச்` உள்ளமைவு விருப்பத்தை `` பயணிகள்`` அமைக்க வேண்டும். SDK கம்பைலர்களுக்கு, உங்களுக்கு " "தேவை" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "`` Distutils_use_sdk``" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "`` Mssdk``" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "`` சேர்க்கவும்``" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "`` லிப்``" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -11876,15 +11863,24 @@ msgstr "" "`Tox_testenv_passenv`` சுற்றுச்சூழல் மாறி. வழங்கப்பட்ட: கோப்பு: `` `` " "`distutils_use_sdk`` அமைக்கும்போதெல்லாம் இயல்புநிலையாக இதைச் செய்கிறது." -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 +#, fuzzy +#| msgid "" +#| "When used interactively, ``tox`` allows you to run your tests against " +#| "multiple environments (often, this means multiple Python versions). This " +#| "feature is not as useful in a CI environment like Travis or Appveyor, " +#| "where all tests are run in isolated environments for each configuration. " +#| "As a result, projects often supply an argument ``-e ENVNAME`` to ``tox`` " +#| "to specify which environment to use (there are default environments for " +#| "most versions of Python)." msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" "ஊடாடும் வகையில் பயன்படுத்தும்போது, `` டோக்ச்`` பல சூழல்களுக்கு எதிராக உங்கள் சோதனைகளை " "இயக்க உங்களை அனுமதிக்கிறது (பெரும்பாலும், இதன் பொருள் பல பைதான் பதிப்புகள்). டிராவிச் " @@ -11894,7 +11890,7 @@ msgstr "" "`` -e envname`` க்கு `` டோக்ச்`` க்கு வழங்குகின்றன (பைத்தானின் பெரும்பாலான " "பதிப்புகளுக்கு இயல்புநிலை சூழல்கள் உள்ளன)." -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" @@ -11904,7 +11900,7 @@ msgstr "" "பைதான் 3.4 (32-பிட் மற்றும் 64-பிட்) இரண்டு நிறுவல்கள் உள்ளன, ஆனால் ஒரு `` py34`` சூழல் " "மட்டுமே `` டாக்ச்``." -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -11917,7 +11913,7 @@ msgstr "" "இயக்கும்போது, அவை உள்ளமைக்கப்பட்ட மொழிபெயர்ப்பாளருடன் இயக்கப்படும் என்பதை இது உறுதி " "செய்யும்." -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -11928,11 +11924,11 @@ msgstr "" "திட்டங்கள் அவற்றின்: கோப்பு: `Tox.ini` கோப்பை மாற்ற வேண்டியிருக்கலாம். இருப்பினும், " "அவ்வாறு செய்வது இந்த ஆவணத்தின் எல்லைக்கு வெளியே உள்ளது." -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "தானாகவே சக்கரங்களை பதிவேற்றும்" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -11945,7 +11941,7 @@ msgstr "" "உதாரணமாகவோ. இதை எப்படி செய்வது என்பது குறித்த ஆவணங்கள் AppWayer வழிகாட்டிகளில் " "சேர்க்கப்பட்டுள்ளன." -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -11957,11 +11953,11 @@ msgstr "" "சக்கரங்களை பதிவேற்றுவது விரும்பத்தக்கது என்பது தெளிவாகத் தெரியவில்லை (சில திட்டங்கள் " "இதைச் செய்ய விரும்பினாலும்)." -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "வெளிப்புற சார்புநிலைகள்" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." @@ -11969,7 +11965,7 @@ msgstr "" "வழங்கப்பட்ட ச்கிரிப்ட்கள் 3 வது தரப்பு வெளிப்புற நூலகங்களை நம்பாத எந்தவொரு விநியோகத்தையும் " "வெற்றிகரமாக உருவாக்கும்." -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -11984,15 +11980,15 @@ msgstr "" "வழங்குவதற்கு கூடுதல் உள்ளமைவைச் சேர்க்க முடியும். இருப்பினும், இந்த நிலை உள்ளமைவு இந்த " "ஆவணத்தின் எல்லைக்கு அப்பாற்பட்டது." -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "ச்கிரிப்ட்களை ஆதரிக்கவும்" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "குறிப்புக்கு, SDK அமைவு உதவி ச்கிரிப்ட் இங்கே பட்டியலிடப்பட்டுள்ளது:" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "`` appweyor-sample/build.cmd``" @@ -17573,10 +17569,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -17672,7 +17669,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "எடுத்துக்காட்டு" @@ -22862,9 +22859,13 @@ msgid "" msgstr "" #: ../source/specifications/glob-patterns.rst:18 +#, fuzzy +#| msgid "" +#| "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " +#| "(``.``) MUST be matched verbatim." msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" "எண்ணெழுத்து எழுத்துக்கள், அடிக்கோடிட்டு (`` _``), ஐபன்கள் (`` -``) மற்றும் புள்ளிகள் " "(`` .``) ஆகியவை சொற்களஞ்சியத்துடன் பொருந்த வேண்டும்." @@ -22975,6 +22976,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "PYPA விவரக்குறிப்புகள்" @@ -25000,8 +25009,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 #, fuzzy #| msgid "Requires" msgid "**Required?**: yes" @@ -25055,18 +25064,18 @@ msgstr "டாம்_ வகை: சரங்களின் வரிசை" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -25094,10 +25103,12 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 #, fuzzy #| msgid "TOML_ type: string" msgid "**Type**: string" @@ -25106,9 +25117,9 @@ msgstr "TOML_ வகை: சரம்" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -25164,8 +25175,8 @@ msgid "``dependency-groups``" msgstr "`` [சார்பு-குழுக்கள்] `` அட்டவணை" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 #, fuzzy #| msgid ":ref:`pyproject-toml-spec`" msgid "**Inspiration**: :ref:`pyproject-tool-table`" @@ -25255,8 +25266,8 @@ msgstr "`` தொகுப்புகள்``" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 #, fuzzy #| msgid "TOML_ type: array of strings" msgid "**Type**: array of tables" @@ -25399,9 +25410,9 @@ msgstr "`` தொகுப்புகள்``" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 #, fuzzy #| msgid "TOML_ type: string or table" msgid "**Type**: table" @@ -25503,11 +25514,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -25671,7 +25684,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -25682,6 +25695,8 @@ msgid "``[packages.archive]``" msgstr "`` தொகுப்புகள்``" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -25715,511 +25730,542 @@ msgstr "" msgid "``packages.archive.url``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +#, fuzzy +#| msgid "The source tree" +msgid "The URL_ to the archive." +msgstr "மூல மரம்" + +#: ../source/specifications/pylock-toml.rst:461 #, fuzzy #| msgid "``packages``" msgid "``packages.archive.path``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 #, fuzzy +#| msgid "The name of the project." +msgid "The path to the archive." +msgstr "திட்டத்தின் பெயர்." + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 +#, fuzzy #| msgid "``packages``" msgid "``packages.archive.size``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 #, fuzzy #| msgid "The name of the project." msgid "The size of the archive file." msgstr "திட்டத்தின் பெயர்." -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 #, fuzzy #| msgid "Where the guide is deployed" msgid "The time the file was uploaded." msgstr "வழிகாட்டி பயன்படுத்தப்படும் இடத்தில்" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 #, fuzzy #| msgid "TOML_ type: array of strings" msgid "**Type**: Table of strings" msgstr "டாம்_ வகை: சரங்களின் வரிசை" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 #, fuzzy #| msgid "``packages``" msgid "``packages.index``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 #, fuzzy #| msgid "``packages``" msgid "``[packages.sdist]``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.name``" msgstr "`` தொகுப்பு_டேட்டா``" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.upload-time``" msgstr "`` தொகுப்பு_டேட்டா``" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 #, fuzzy #| msgid "``packages``" msgid "``packages.sdist.url``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.path``" msgstr "`` தொகுப்பு_டேட்டா``" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 #, fuzzy #| msgid "``packages``" msgid "``packages.sdist.size``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 #, fuzzy #| msgid "``package_data``" msgid "``packages.sdist.hashes``" msgstr "`` தொகுப்பு_டேட்டா``" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 #, fuzzy #| msgid "``packages``" msgid "``[[packages.wheels]]``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.name``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.url``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.path``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.size``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 #, fuzzy #| msgid "``packages``" msgid "``packages.wheels.hashes``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 #, fuzzy #| msgid ":ref:`pyproject-toml-spec`" msgid "**Inspiration**: :ref:`provenance-object`" msgstr ": ref: `pyproject-toml-spec`" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 #, fuzzy #| msgid "``packages``" msgid "``[packages.tool]``" msgstr "`` தொகுப்புகள்``" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 #, fuzzy #| msgid "Binary distribution format" msgid ":ref:`Install `." msgstr "பைனரி விநியோக வடிவம்" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -26228,40 +26274,40 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 #, fuzzy #| msgid "" #| "April 2018: The ``manylinux2010`` tag was approved through :pep:`571`." @@ -26269,6 +26315,11 @@ msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" "ஏப்ரல் 2018: `` மேனிலினக்ச் 2010`` குறிச்சொல் மூலம் அங்கீகரிக்கப்பட்டது: PEP: `571`." +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "தி: கோப்பு: `.pypirc` கோப்பு" @@ -33194,9 +33245,14 @@ msgid "" msgstr "பாதுகாப்பாக பதிவிறக்குங்கள்" #: ../source/tutorials/installing-packages.rst:139 +#, fuzzy +#| msgid "" +#| "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " +#| "Additionally, it will install :ref:`setuptools` and :ref:`wheel` if " +#| "they're not installed already." msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" "`` பைதான் get-pip.py`` ஐ இயக்கவும். [2] _ இது PIP ஐ நிறுவும் அல்லது மேம்படுத்தும். " @@ -33218,24 +33274,22 @@ msgstr "" "pip.py-/USR/`` ஆகியவற்றைப் பயன்படுத்தலாம்." #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +#, fuzzy +#| msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "பிப், செட்டுப்டூல்கள் மற்றும் சக்கரம் புதுப்பித்த நிலையில் இருப்பதை உறுதிசெய்க" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -"முன்பே கட்டப்பட்ட பைனரி காப்பகங்களிலிருந்து நிறுவுவதற்கு `` பிப்`` மட்டும் போதுமானது " -"என்றாலும், `` செடிப்டூல்ச்`` மற்றும் `` வீல்`` திட்டங்களின் புதுப்பித்த நகல்கள் மூல " -"காப்பகங்களிலிருந்து நிறுவ முடியும் என்பதை உறுதிப்படுத்த பயனுள்ளதாக இருக்கும்:" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "விருப்பமாக, மெய்நிகர் சூழலை உருவாக்கவும்" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " @@ -33245,7 +33299,7 @@ msgstr "" "பயன்படுத்துதல்>` விவரங்களுக்கு, ஆனால் இங்கே அடிப்படை: ஆவணம்: `வெவி <பைதான்: நூலகம்/" "வென்வ்>` [3] _ ஒரு பொதுவான லினக்ச் கணினியில் பயன்படுத்த கட்டளை:" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " @@ -33254,11 +33308,11 @@ msgstr "" "இது `` டுடோரியல்_என்வ்`` துணை அடைவில் ஒரு புதிய மெய்நிகர் சூழலை உருவாக்கும், மேலும் " "தற்போதைய செல்லை இயல்புநிலை `` பைதான்`` சூழலாகப் பயன்படுத்தவும்." -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "மெய்நிகர் சூழல்களை உருவாக்குதல்" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -33272,7 +33326,7 @@ msgstr "" "பாதுகாப்பாக நிறுவ நீங்கள் விரும்பினால், காண்க: DOC: `/வழிகாட்டிகள்/நிறுவுதல்-தனித்த-" "கட்டளை-கோட்டுகளை நிறுவுதல்." -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -33286,7 +33340,7 @@ msgstr "" "தளத்தின் நிலையான இருப்பிடம் எதுவாக இருந்தாலும்) நிறுவினால், மேம்படுத்தப்படாத ஒரு " "பயன்பாட்டை நீங்கள் தற்செயலாக மேம்படுத்தும் சூழ்நிலையில் முடிவடைவது எளிது." -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " @@ -33296,7 +33350,7 @@ msgstr "" "ஒரு பயன்பாடு செயல்பட்டால், அதன் நூலகங்களில் ஏதேனும் மாற்றம் அல்லது அந்த நூலகங்களின் " "பதிப்புகள் பயன்பாட்டை உடைக்கலாம்." -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." @@ -33304,7 +33358,7 @@ msgstr "" "மேலும், நீங்கள் நிறுவ முடியாவிட்டால்: கால: `தொகுப்புகள் <விநியோக தொகுப்பு>` உலகளாவிய " "தள-பேக்கேச்கள் கோப்பகத்தில் என்ன செய்வது? உதாரணமாக, பகிரப்பட்ட ஓச்டில்." -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " @@ -33314,13 +33368,13 @@ msgstr "" "நிறுவல் கோப்பகங்களைக் கொண்டுள்ளன, மேலும் அவை பிற மெய்நிகர் சூழல்களுடன் நூலகங்களைப் " "பகிர்ந்து கொள்ளாது." -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "தற்போது, பைதான் மெய்நிகர் சூழல்களை உருவாக்க இரண்டு பொதுவான கருவிகள் உள்ளன:" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -33332,7 +33386,7 @@ msgstr "" "பைதான் 3.4 and later (Python versions prior பெறுநர் 3.12 also " "installed :ref:`setuptools`)." -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 #, fuzzy #| msgid "" #| ":ref:`virtualenv` needs to be installed separately, but supports Python " @@ -33351,19 +33405,19 @@ msgstr "" "எப்போதும் installed into உருவாக்கப்பட்டது virtual environments by இயல்புநிலை " "(regardless of பைதான் version)." -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "அடிப்படை பயன்பாடு அவ்வாறு உள்ளது:" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "பயன்படுத்துதல்: DOC: `vev `:" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "பயன்படுத்துதல்: ref: `Virtualenv`:" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." @@ -33371,7 +33425,7 @@ msgstr "" "மேலும் தகவலுக்கு, டி.ஓ.சி: `வெவி <பைதான்: நூலகம்/வென்வ்>` டாக்ச் அல்லது தி: டாக்: " "`மெய்நிகர் ஈவ் <மெய்நிகர் ஈன்வ்: குறியீட்டு>` டாக்ச் ஆகியவற்றைக் காண்க." -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " @@ -33381,7 +33435,7 @@ msgstr "" "செல்லுக்குள் அமைக்கப்பட்டிருப்பதை உறுதி செய்கிறது, ஆனால் ஒரு துணை செயலாக்கத்தில் அல்ல " "(பின்னர் அது மறைந்துவிடும், பயனுள்ள விளைவு இல்லை)." -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " @@ -33391,7 +33445,7 @@ msgstr "" "பயன்படுத்தக்கூடாது: கட்டளை: `மூல` கட்டளை, மாறாக: கட்டளையை இயக்க வேண்டும்:` ச்கிரிப்டை " "நேரடியாக கட்டளை செல்லிலிருந்து நேரடியாக ச்கிரிப்டை இயக்கவும்:" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -33403,11 +33457,11 @@ msgstr "" "அறிமுகப்படுத்துகிறது,: re: `பைபென்வ்`, நீங்கள் பணிபுரியும் ஒவ்வொரு திட்டத்திற்கும் " "பயன்பாட்டிற்கும் ஒரு தனி மெய்நிகர் சூழலை தானாக நிர்வகிக்கிறது." -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "நிறுவ PIP ஐப் பயன்படுத்தவும்" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " @@ -33418,11 +33472,11 @@ msgstr "" "இன்டெக்ச்>`, இதில் முழுமையானது: டாக்: `குறிப்பு வழிகாட்டி <பிஐபி: சிஎல்ஐ/குறியீட்டு>` " "ஐப் பார்க்கவும்." -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "PYPI இலிருந்து நிறுவுகிறது" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -33440,21 +33494,21 @@ msgstr "" "விவரக்குறிப்பு விவரக்குறிப்பு <பதிப்பு-விவரக்குறிப்புகள்>` இல் காணலாம். சில " "எடுத்துக்காட்டுகள் கீழே." -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "\"Forproject\" இன் அண்மைக் கால பதிப்பை நிறுவ:" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "ஒரு குறிப்பிட்ட பதிப்பை நிறுவ:" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" "ஒரு பதிப்பை விட அதிகமாகவோ அல்லது சமமாகவோ நிறுவவும், மற்றொன்றை விட குறைவாகவும் " "நிறுவுதல்:" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" @@ -33462,7 +33516,7 @@ msgstr "" "ஒரு பதிப்பை நிறுவ: குறிப்பு: `இணக்கமான <பதிப்பு-விவரிப்பாளர்கள்-இணக்கமான-வெளியீடு>` " "ஒரு குறிப்பிட்ட பதிப்போடு: [4] _" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." @@ -33470,11 +33524,11 @@ msgstr "" "இந்த வழக்கில், \"== 1.4.*\" பதிப்பையும் நிறுவ வேண்டும் என்பதே இதன் பொருள் \"> = " "1.4.2\"." -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "மூல வழங்கல் Vs சக்கரங்கள்" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -33485,7 +33539,7 @@ msgstr "" ". பைப்பின் இயல்புநிலை நடத்தை எ.கா. அதைப் பயன்படுத்துதல்: ref: `-no-entar ` விருப்பம்." -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -33497,7 +33551,7 @@ msgstr "" "Distributions (sdist) `, especially when a திட்டம் " "contains compiled extensions." -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " @@ -33507,16 +33561,16 @@ msgstr "" "விநியோகத்தை மீண்டும் கட்டியெழுப்புவதற்குப் பதிலாக, உள்நாட்டில் ஒரு சக்கரத்தை உருவாக்கி " "எதிர்கால நிறுவல்களுக்கு தற்காலிகமாக சேமிக்கும்." -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" "ஏற்கனவே நிறுவப்பட்ட `` someproject`` ஐ பைபியிலிருந்து சமீபத்தியதாக மேம்படுத்தவும்." -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "பயனர் தளத்திற்கு நிறுவுதல்" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" @@ -33524,7 +33578,7 @@ msgstr "" "நிறுவ: கால: `தொகுப்புகள் <விநியோக தொகுப்பு>` தற்போதைய பயனருக்கு தனிமைப்படுத்தப்பட்ட, " "`` --user`` கொடியைப் பயன்படுத்தவும்:" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." @@ -33532,7 +33586,7 @@ msgstr "" "மேலும் தகவலுக்கு, `பயனர் நிறுவல்கள் ` _ பிரிவு பிப் டாக்சிலிருந்து." -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." @@ -33540,7 +33594,7 @@ msgstr "" "மெய்நிகர் சூழலுக்குள் இருக்கும்போது `` --user`` கொடி எந்த விளைவையும் ஏற்படுத்தாது " "என்பதை நினைவில் கொள்க-அனைத்து நிறுவல் கட்டளைகளும் மெய்நிகர் சூழலை பாதிக்கும்." -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -33555,7 +33609,7 @@ msgstr "" "நிறுவப்படும், இது ஏற்கனவே உங்கள் செல்லில் இருக்கலாம் அல்லது இல்லாமல் இருக்கலாம்: envvar: " "`பாதை`. ." -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -33569,7 +33623,7 @@ msgstr "" "பாதைக்கு விரிவாக்கப்படும்) எனவே உங்கள்` `பாதை`` இல்` `~/.local/bin`` ஐ சேர்க்க " "வேண்டும். `மாற்றியமைப்பதன் மூலம் உங்கள்` `பாதையை` நிரந்தரமாக அமைக்கலாம்." -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -33588,7 +33642,7 @@ msgstr "" "`கட்டுப்பாட்டு குழு`_ இல் நிரந்தரமாக அமைக்கலாம். நடைமுறைக்கு வருவதற்கான `` பாதை` " "`மாற்றங்களுக்கு நீங்கள் வெளியேற வேண்டியிருக்கலாம்." -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." @@ -33596,11 +33650,11 @@ msgstr "" "A இல் குறிப்பிடப்பட்டுள்ள தேவைகளின் பட்டியலை நிறுவவும்: ref: `தேவைகள் கோப்பு `." -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "பகஅ இலிருந்து நிறுவுகிறது" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." @@ -33609,15 +33663,15 @@ msgstr "" "முறிவுக்கு, பைப்பின் பகுதியைப் பார்க்கவும்: குறிப்பு: `வி.சி.எச் உதவி <பிஐபி: " "வி.சி.எச் ஆதரவு>`." -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "பிற குறியீடுகளிலிருந்து நிறுவுகிறது" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "மாற்று குறியீட்டிலிருந்து நிறுவவும்" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" @@ -33625,11 +33679,11 @@ msgstr "" "நிறுவலின் போது கூடுதல் குறியீட்டைத் தேடுங்கள், கூடுதலாக: கால: `பைபி <பைதான் தொகுப்பு " "அட்டவணை (பைபி)>`" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "உள்ளக எச்.ஆர்.சி மரத்திலிருந்து நிறுவுகிறது" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " @@ -33639,19 +33693,19 @@ msgstr "" "வழிகாட்டி/மேம்பாட்டு பயன்முறை>`, ஐ.எச்.எச். திட்டம் நிறுவப்பட்டதாகத் தோன்றும் வகையில், " "ஆனால் இன்னும் எச்.ஆர்.சி மரத்திலிருந்து திருத்தக்கூடியது." -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "நீங்கள் பொதுவாக SRC இலிருந்து நிறுவலாம்" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "உள்ளக காப்பகங்களிலிருந்து நிறுவுதல்" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "ஒரு குறிப்பிட்ட மூல காப்பக கோப்பை நிறுவவும்." -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" @@ -33659,11 +33713,11 @@ msgstr "" "காப்பகங்களைக் கொண்ட உள்ளக கோப்பகத்திலிருந்து நிறுவவும் (மற்றும் சரிபார்க்க வேண்டாம்: சொல்: " "`பைபி <பைதான் தொகுப்பு குறியீட்டு (பைபி)>`)" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "பிற மூலங்களிலிருந்து நிறுவுகிறது" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -33675,11 +33729,11 @@ msgstr "" "`எளிய களஞ்சிய பநிஇ <எளிய-ரோபோசிட்டரி-ஏபிஐ>`:, மற்றும் ``-எக்ச்ட்ரா-இன்டெக்ச்-உர்எல்``` " "கொடியை அந்த குறியீட்டைப் பயன்படுத்துவதற்கு நேரடியாகப் பயன்படுத்தவும்." -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "முன்நிபந்தனைகளை நிறுவுதல்" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." @@ -33687,11 +33741,11 @@ msgstr "" "நிலையான பதிப்புகளுக்கு கூடுதலாக, முன் வெளியீடு மற்றும் மேம்பாட்டு பதிப்புகளைக் " "கண்டறியவும். இயல்பாக, பிஐபி நிலையான பதிப்புகளை மட்டுமே காண்கிறது." -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "\"கூடுதல்\" நிறுவுதல்" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -33703,7 +33757,7 @@ msgstr "" "வெளியிடுவது உங்களுக்குத் தெரிந்த ஒரு தொகுப்புக்கு கூடுதல் நிறுவ விரும்பினால், நீங்கள் " "அதை PIP நிறுவல் கட்டளையில் சேர்க்கலாம்:" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " @@ -33713,7 +33767,7 @@ msgstr "" "பயன்படுத்துவதாகும்: கட்டளை: `சுருட்டை` இது HTTPS முகவரி களில் இருந்து பதிவிறக்கும் " "போது SSL சான்றிதழ்களை சரிபார்க்கிறது." -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" @@ -33723,7 +33777,7 @@ msgstr "" "மெய்நிகர் ஈட்டிங் சூழல்களை முன் நிறுவப்பட்ட` `பிஐபி`` உடன் உருவாக்கும், இதனால் இது சமமான " "மாற்றாக அமைகிறது: குறிப்பு:` மெய்நிகர் ஈன்வ்`." -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" @@ -34764,6 +34818,42 @@ msgstr "" "மட்டுமே தொடங்கினால், * வழக்கமான தொகுப்புகள் * மற்றும் `__init __. பை`` (கோப்பு " "காலியாக இருந்தாலும் கூட) ஒட்டிக்கொள்ள பரிந்துரைக்கப்படுகிறது." +#~ msgid "" +#~ "While ``pip`` alone is sufficient to install from pre-built binary " +#~ "archives, up to date copies of the ``setuptools`` and ``wheel`` projects " +#~ "are useful to ensure you can also install from source archives:" +#~ msgstr "" +#~ "முன்பே கட்டப்பட்ட பைனரி காப்பகங்களிலிருந்து நிறுவுவதற்கு `` பிப்`` மட்டும் போதுமானது " +#~ "என்றாலும், `` செடிப்டூல்ச்`` மற்றும் `` வீல்`` திட்டங்களின் புதுப்பித்த நகல்கள் மூல " +#~ "காப்பகங்களிலிருந்து நிறுவ முடியும் என்பதை உறுதிப்படுத்த பயனுள்ளதாக இருக்கும்:" + +#, fuzzy +#~| msgid "" +#~| "`Travis CI `_ provides both a Linux and a macOS " +#~| "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " +#~| "bit while the macOS is 10.9.2 at the time of writing." +#~ msgid "" +#~ "`Travis CI `_ provides both a Linux and a macOS " +#~ "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " +#~ "bit while the macOS is 10.9.2 at the time of writing." +#~ msgstr "" +#~ "`டிராவிச் சி ` _ லினக்ச் மற்றும் மேகோச் சூழல் இரண்டையும் " +#~ "வழங்குகிறது. லினக்ச் சூழல் உபுண்டு 12.04 எல்.டி.எச் சர்வர் பதிப்பு 64 பிட் ஆகும், அதே " +#~ "நேரத்தில் மேகோச் 10.9.2 ஆகும்." + +#~ msgid "" +#~ "The Appveyor service is a continuous integration service, much like the " +#~ "better-known `Travis`_ service that is commonly used for testing by " +#~ "projects hosted on `GitHub`_. However, unlike Travis, the build workers " +#~ "on Appveyor are Windows hosts and have the necessary compilers installed " +#~ "to build Python extensions." +#~ msgstr "" +#~ "AppVeair பணி என்பது தொடர்ச்சியான ஒருங்கிணைப்பு சேவையாகும், இது நன்கு அறியப்பட்ட " +#~ "`டிராவிச்`_ சேவையைப் போன்றது, இது பொதுவாக` கிதுப்`_ இல் வழங்கப்பட்ட திட்டங்களால் " +#~ "சோதனைக்கு பயன்படுத்தப்படுகிறது. இருப்பினும், டிராவிசைப் போலல்லாமல், ஆப்சியரில் உள்ள " +#~ "தொழிலாளர்கள் சாளரங்கள் ஓச்ட்கள் மற்றும் பைதான் நீட்டிப்புகளை உருவாக்க தேவையான கம்பைலர்கள் " +#~ "நிறுவப்பட்டுள்ளன." + #~ msgid "" #~ "This specification was originally defined in :pep:`518` and :pep:`621`." #~ msgstr "" diff --git a/locales/th/LC_MESSAGES/messages.po b/locales/th/LC_MESSAGES/messages.po index f1f5aab88..6c36e077f 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -1524,7 +1524,7 @@ msgid "" msgstr "" #: ../source/discussions/install-requires-vs-requirements.rst:62 -#: ../source/tutorials/installing-packages.rst:464 +#: ../source/tutorials/installing-packages.rst:463 msgid "Requirements files" msgstr "" @@ -5356,7 +5356,7 @@ msgid "" msgstr "" #: ../source/guides/distributing-packages-using-setuptools.rst:589 -#: ../source/tutorials/installing-packages.rst:670 +#: ../source/tutorials/installing-packages.rst:669 msgid "" "Depending on your platform, this may require root or Administrator " "access. :ref:`pip` is currently considering changing this by `making user " @@ -5609,7 +5609,7 @@ msgstr "" #: ../source/guides/hosting-your-own-index.rst:65 #: ../source/guides/index-mirrors-and-caches.rst:56 -#: ../source/guides/supporting-windows-using-appveyor.rst:146 +#: ../source/guides/supporting-windows-using-appveyor.rst:139 msgid "Additional notes" msgstr "" @@ -6621,7 +6621,7 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:434 -#: ../source/tutorials/installing-packages.rst:393 +#: ../source/tutorials/installing-packages.rst:392 msgid "Upgrading packages" msgstr "" @@ -8684,7 +8684,7 @@ msgid "Hosting" msgstr "" #: ../source/guides/section-install.rst:3 -#: ../source/specifications/pylock-toml.rst:729 +#: ../source/specifications/pylock-toml.rst:744 msgid "Installation" msgstr "" @@ -8755,35 +8755,34 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:65 msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8795,7 +8794,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8804,15 +8803,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8822,7 +8821,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8831,11 +8830,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8871,15 +8870,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8888,11 +8878,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8900,25 +8890,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8926,7 +8915,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8937,24 +8926,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8965,7 +8954,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -8974,19 +8963,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -8998,7 +8987,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9006,17 +8995,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9024,7 +9013,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9036,17 +9025,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9057,25 +9046,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9083,7 +9072,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9091,23 +9080,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9116,25 +9105,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9142,7 +9131,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9150,11 +9139,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9162,7 +9151,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9170,17 +9159,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9190,15 +9179,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13467,10 +13456,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13556,7 +13546,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17582,8 +17572,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17663,6 +17653,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19325,8 +19323,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19374,18 +19372,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19413,19 +19411,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19479,8 +19479,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19562,8 +19562,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19676,9 +19676,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19768,11 +19768,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19917,7 +19919,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19926,6 +19928,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19957,467 +19961,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20426,43 +20457,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25660,7 +25696,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25674,39 +25710,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25715,7 +25750,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25724,33 +25759,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25758,7 +25793,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25767,39 +25802,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25807,22 +25842,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25833,35 +25868,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25870,7 +25905,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25878,40 +25913,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25922,7 +25957,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25931,7 +25966,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25943,70 +25978,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26014,21 +26049,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26036,21 +26071,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/tr/LC_MESSAGES/messages.po b/locales/tr/LC_MESSAGES/messages.po index abef18066..b210f3e8e 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-09-29 04:02+0000\n" "Last-Translator: Rüzgar Hünerel \n" "Language-Team: Turkish `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8822,7 +8821,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8831,15 +8830,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8849,7 +8848,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8858,11 +8857,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8898,15 +8897,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8915,11 +8905,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -8927,25 +8917,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -8953,7 +8942,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -8964,24 +8953,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -8992,7 +8981,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9001,19 +8990,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9025,7 +9014,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9033,17 +9022,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9051,7 +9040,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9063,17 +9052,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9084,25 +9073,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9110,7 +9099,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9118,23 +9107,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9143,25 +9132,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9169,7 +9158,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9177,11 +9166,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9189,7 +9178,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9197,17 +9186,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9217,15 +9206,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13494,10 +13483,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13583,7 +13573,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17609,8 +17599,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17690,6 +17680,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19352,8 +19350,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19401,18 +19399,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19440,19 +19438,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19506,8 +19506,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19589,8 +19589,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19703,9 +19703,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19795,11 +19795,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -19944,7 +19946,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -19953,6 +19955,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -19984,467 +19988,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20453,43 +20484,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25687,7 +25723,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25701,39 +25737,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25742,7 +25777,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25751,33 +25786,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25785,7 +25820,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25794,39 +25829,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -25834,22 +25869,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -25860,35 +25895,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -25897,7 +25932,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -25905,40 +25940,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -25949,7 +25984,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -25958,7 +25993,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -25970,70 +26005,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26041,21 +26076,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26063,21 +26098,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/uk/LC_MESSAGES/messages.po b/locales/uk/LC_MESSAGES/messages.po index 4f6c1a667..8377f4dc6 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2024-03-01 20:00+0000\n" "Last-Translator: Sviatoslav Sydorenko \n" "Language-Team: Ukrainian `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -9307,7 +9306,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -9316,15 +9315,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -9334,7 +9333,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -9343,11 +9342,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -9383,15 +9382,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -9400,11 +9390,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -9412,25 +9402,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -9438,7 +9427,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -9449,24 +9438,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "appveyor.yml" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9477,7 +9466,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9486,19 +9475,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9510,7 +9499,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9518,17 +9507,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9536,7 +9525,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9548,17 +9537,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9569,25 +9558,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9595,7 +9584,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9603,23 +9592,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "``DISTUTILS_USE_SDK``" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "``MSSdk``" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "``INCLUDE``" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "``LIB``" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9628,25 +9617,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9654,7 +9643,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9662,11 +9651,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9674,7 +9663,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9682,17 +9671,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9702,15 +9691,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "``appveyor-sample/build.cmd``" @@ -14038,10 +14027,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -14127,7 +14117,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 #, fuzzy msgid "Example" msgstr "Приклади" @@ -18240,8 +18230,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -18323,6 +18313,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "Специфікації PyPA" @@ -20017,8 +20015,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 #, fuzzy #| msgid "Requirements files" msgid "**Required?**: yes" @@ -20070,18 +20068,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -20109,19 +20107,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -20176,8 +20176,8 @@ msgid "``dependency-groups``" msgstr "Перевизначення залежностей" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 #, fuzzy #| msgid "pyproject.toml" msgid "**Inspiration**: :ref:`pyproject-tool-table`" @@ -20263,8 +20263,8 @@ msgstr "пакунок" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -20385,9 +20385,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -20477,11 +20477,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -20626,7 +20628,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -20635,6 +20637,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20666,473 +20670,500 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 #, fuzzy #| msgid "Where the guide is deployed" msgid "The time the file was uploaded." msgstr "Куди це керівництво публікується" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 #, fuzzy #| msgid "Package Index" msgid "``packages.index``" msgstr "Реєстр Пакунків" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 #, fuzzy #| msgid "pyproject.toml" msgid "**Inspiration**: :ref:`provenance-object`" msgstr "pyproject.toml" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -21141,43 +21172,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "Файл :file:`.pypirc`" @@ -26464,7 +26500,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -26478,39 +26514,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -26519,7 +26554,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -26528,33 +26563,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -26562,7 +26597,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -26571,39 +26606,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -26611,22 +26646,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -26637,35 +26672,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -26674,7 +26709,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -26682,40 +26717,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -26726,7 +26761,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -26735,7 +26770,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26747,70 +26782,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26818,22 +26853,22 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 #, fuzzy msgid "Installing \"Extras\"" msgstr "Встановлення пакунків" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26841,21 +26876,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/vi/LC_MESSAGES/messages.po b/locales/vi/LC_MESSAGES/messages.po index 1bf82d356..b523e9867 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: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2025-09-23 05:02+0000\n" "Last-Translator: Lenny Tran \n" "Language-Team: Vietnamese `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8942,7 +8941,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8951,15 +8950,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8969,7 +8968,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8978,11 +8977,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -9018,15 +9017,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -9035,11 +9025,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -9047,25 +9037,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -9073,7 +9062,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -9084,24 +9073,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9112,7 +9101,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9121,19 +9110,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9145,7 +9134,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9153,17 +9142,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9171,7 +9160,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9183,17 +9172,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9204,25 +9193,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9230,7 +9219,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9238,23 +9227,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9263,25 +9252,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9289,7 +9278,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9297,11 +9286,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9309,7 +9298,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9317,17 +9306,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9337,15 +9326,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "" @@ -13686,10 +13675,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13775,7 +13765,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17800,10 +17790,16 @@ msgid "" msgstr "" #: ../source/specifications/glob-patterns.rst:18 +#, fuzzy +#| msgid "" +#| "Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " +#| "(``.``) will be matched verbatim." msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." 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/specifications/glob-patterns.rst:21 msgid "" @@ -17882,6 +17878,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19546,8 +19550,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "" @@ -19595,18 +19599,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19634,19 +19638,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19700,8 +19706,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "" @@ -19783,8 +19789,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19897,9 +19903,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19989,11 +19995,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -20138,7 +20146,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -20147,6 +20155,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20178,467 +20188,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" +msgstr "" + +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20647,43 +20684,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25883,7 +25925,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25897,39 +25939,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25938,7 +25979,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25947,33 +25988,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25981,7 +26022,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25990,39 +26031,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -26030,22 +26071,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -26056,35 +26097,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -26093,7 +26134,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -26101,40 +26142,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -26145,7 +26186,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -26154,7 +26195,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26166,70 +26207,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26237,21 +26278,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26259,21 +26300,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" diff --git a/locales/zh_Hans/LC_MESSAGES/messages.po b/locales/zh_Hans/LC_MESSAGES/messages.po index 28cd87624..5feeece53 100644 --- a/locales/zh_Hans/LC_MESSAGES/messages.po +++ b/locales/zh_Hans/LC_MESSAGES/messages.po @@ -41,7 +41,7 @@ msgid "" msgstr "" "Project-Id-Version: Python Packaging User Guide\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-05 06:32+0000\n" +"POT-Creation-Date: 2026-04-20 19:36+0000\n" "PO-Revision-Date: 2026-03-03 14:09+0000\n" "Last-Translator: 大王叫我来巡山 " "\n" @@ -1838,7 +1838,7 @@ msgstr "" "用 :ref:`pip` 选项确定在哪里(即如何使它们“Concrete”)。 [1]_" #: ../source/discussions/install-requires-vs-requirements.rst:62 -#: ../source/tutorials/installing-packages.rst:464 +#: ../source/tutorials/installing-packages.rst:463 msgid "Requirements files" msgstr "必需文件" @@ -6144,7 +6144,7 @@ msgstr "" "需要一两分钟才能出现在网站上。" #: ../source/guides/distributing-packages-using-setuptools.rst:589 -#: ../source/tutorials/installing-packages.rst:670 +#: ../source/tutorials/installing-packages.rst:669 msgid "" "Depending on your platform, this may require root or Administrator " "access. :ref:`pip` is currently considering changing this by `making user " @@ -6402,7 +6402,7 @@ msgstr "" #: ../source/guides/hosting-your-own-index.rst:65 #: ../source/guides/index-mirrors-and-caches.rst:56 -#: ../source/guides/supporting-windows-using-appveyor.rst:146 +#: ../source/guides/supporting-windows-using-appveyor.rst:139 msgid "Additional notes" msgstr "" @@ -7474,7 +7474,7 @@ msgid "" msgstr "" #: ../source/guides/installing-using-pip-and-virtual-environments.rst:434 -#: ../source/tutorials/installing-packages.rst:393 +#: ../source/tutorials/installing-packages.rst:392 msgid "Upgrading packages" msgstr "升级软件包" @@ -9564,7 +9564,7 @@ msgid "Hosting" msgstr "" #: ../source/guides/section-install.rst:3 -#: ../source/specifications/pylock-toml.rst:729 +#: ../source/specifications/pylock-toml.rst:744 msgid "Installation" msgstr "安装" @@ -9635,15 +9635,11 @@ msgstr "" #: ../source/guides/supporting-multiple-python-versions.rst:65 msgid "" -"`Travis CI `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -"`Travis CI `_ 提供了一个 Linux 和一个 macOS 环境。" -"Linux 环境是 Ubuntu 12.04 LTS 服务器版 64 位,而在撰写本文时 macOS 的版本是 " -"10.9.2。" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." @@ -9651,26 +9647,32 @@ msgstr "" "`Appveyor `_ 提供一个 Windows 环境(Windows " "Server 2012)。" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 +#, fuzzy +#| msgid "" +#| "Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +#| "formatted file as specification for the instructions for testing. If any " +#| "tests fail, the output log for that specific configuration can be " +#| "inspected." msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" "`Travis CI`_ 和 Appveyor_ 都需要一个 `YAML `_ 格式的文件作" "为测试的说明规范。如果任何测试失败,可以检查该特定配置的输出日志。" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -9682,7 +9684,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -9691,15 +9693,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -9709,7 +9711,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -9718,11 +9720,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -9758,15 +9760,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -9775,11 +9768,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -9787,25 +9780,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -9813,7 +9805,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -9824,24 +9816,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9852,7 +9844,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9861,19 +9853,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9885,7 +9877,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9893,17 +9885,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9911,7 +9903,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9923,17 +9915,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9944,25 +9936,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9970,7 +9962,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9978,23 +9970,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "``DISTUTILS_USE_SDK``" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "``MSSdk``" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "``INCLUDE``" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "``LIB``" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -10003,25 +9995,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -10029,7 +10021,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -10037,11 +10029,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -10049,7 +10041,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -10057,17 +10049,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -10077,15 +10069,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "``appveyor-sample/build.cmd``" @@ -14496,10 +14488,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -14585,7 +14578,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "例子" @@ -18617,8 +18610,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -18698,6 +18691,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -20360,8 +20361,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 msgid "**Required?**: yes" msgstr "**必需吗?**: 是" @@ -20409,18 +20410,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -20448,19 +20449,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -20514,8 +20517,8 @@ msgid "``dependency-groups``" msgstr "``dependency-groups``" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 msgid "**Inspiration**: :ref:`pyproject-tool-table`" msgstr "**灵感**: :ref:`pyproject-tool-table`" @@ -20597,8 +20600,8 @@ msgstr "``[[packages]]``" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -20711,9 +20714,9 @@ msgstr "``[packages.vcs]``" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -20803,11 +20806,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -20952,7 +20957,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -20961,6 +20966,8 @@ msgid "``[packages.archive]``" msgstr "``[packages.archive]``" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20992,467 +20999,494 @@ msgstr "" msgid "``packages.archive.url``" msgstr "``packages.archive.url``" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "``packages.archive.path``" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "``packages.archive.size``" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "文件上传时间。" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 msgid "``packages.index``" msgstr "``packages.index``" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "``[packages.sdist]``" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "``packages.sdist.name``" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "``packages.sdist.upload-time``" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "``packages.sdist.url``" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "``packages.sdist.path``" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "``packages.sdist.size``" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "``packages.sdist.hashes``" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "``[[packages.wheels]]``" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "``packages.wheels.name``" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "``packages.wheels.url``" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "``packages.wheels.path``" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "``packages.wheels.size``" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "``packages.wheels.hashes``" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 msgid "**Inspiration**: :ref:`provenance-object`" msgstr "**灵感**: :ref:`provenance-object`" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "``[packages.tool]``" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -21461,43 +21495,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -26701,7 +26740,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -26715,39 +26754,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -26756,7 +26794,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -26765,33 +26803,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -26799,7 +26837,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -26808,39 +26846,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -26848,22 +26886,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -26874,35 +26912,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -26911,7 +26949,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -26919,40 +26957,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -26963,7 +27001,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -26972,7 +27010,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26984,70 +27022,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "从其他来源安装" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -27055,21 +27093,21 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 msgid "Installing \"Extras\"" msgstr "安装\"附加功能\"" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -27077,21 +27115,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0" @@ -27833,6 +27871,15 @@ msgid "" "the file is empty)." msgstr "" +#~ msgid "" +#~ "`Travis CI `_ provides both a Linux and a macOS " +#~ "environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 " +#~ "bit while the macOS is 10.9.2 at the time of writing." +#~ msgstr "" +#~ "`Travis CI `_ 提供了一个 Linux 和一个 macOS 环境。" +#~ "Linux 环境是 Ubuntu 12.04 LTS 服务器版 64 位,而在撰写本文时 macOS 的版本" +#~ "是 10.9.2。" + #~ msgid "" #~ "Refer to the `pkg_resources documentation \n" "Language-Team: Chinese (Traditional Han script) `_ provides both a Linux and a macOS " -"environment. The Linux environment is Ubuntu 12.04 LTS Server Edition 64 bit " -"while the macOS is 10.9.2 at the time of writing." +"`GitHub Actions `_ provides Windows, " +"Linux and a macOS environments." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:68 +#: ../source/guides/supporting-multiple-python-versions.rst:67 msgid "" "`Appveyor `_ provides a Windows environment " "(Windows Server 2012)." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:79 +#: ../source/guides/supporting-multiple-python-versions.rst:78 msgid "" -"Both `Travis CI`_ and Appveyor_ require a `YAML `_-" +"Both `GitHub Actions`_ and Appveyor_ require a `YAML `_-" "formatted file as specification for the instructions for testing. If any " "tests fail, the output log for that specific configuration can be inspected." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:84 +#: ../source/guides/supporting-multiple-python-versions.rst:83 msgid "" "For Python projects that are intended to be deployed on both Python 2 and 3 " "with a single-source strategy, there are a number of options." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:88 +#: ../source/guides/supporting-multiple-python-versions.rst:87 msgid "Tools for single-source Python packages" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:90 +#: ../source/guides/supporting-multiple-python-versions.rst:89 msgid "" "`six `_ is a tool developed by Benjamin " "Peterson for wrapping over the differences between Python 2 and Python 3. " @@ -8899,7 +8898,7 @@ msgid "" "provided by six_." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:99 +#: ../source/guides/supporting-multiple-python-versions.rst:98 msgid "" "Similar to six_, `python-future `_ " "is a package that provides a compatibility layer between Python 2 and Python " @@ -8908,15 +8907,15 @@ msgid "" "matches one of the two Python versions: one may use" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:106 +#: ../source/guides/supporting-multiple-python-versions.rst:105 msgid "a Python 2 (by syntax) module in a Python 3 project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:107 +#: ../source/guides/supporting-multiple-python-versions.rst:106 msgid "a Python 3 (by syntax) module in a *Python 2* project." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:109 +#: ../source/guides/supporting-multiple-python-versions.rst:108 msgid "" "Because of the bi-directionality, python-future_ offers a pathway to " "converting a Python 2 package to Python 3 syntax module-by-module. However, " @@ -8926,7 +8925,7 @@ msgid "" "module or a Python 3 module respectively." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:116 +#: ../source/guides/supporting-multiple-python-versions.rst:115 msgid "" "Use of six_ or python-future_ adds an additional runtime dependency to your " "package: with python-future_, the ``futurize`` script can be called with the " @@ -8935,11 +8934,11 @@ msgid "" "problems would require manual changes." msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:123 +#: ../source/guides/supporting-multiple-python-versions.rst:122 msgid "What's in which Python?" msgstr "" -#: ../source/guides/supporting-multiple-python-versions.rst:125 +#: ../source/guides/supporting-multiple-python-versions.rst:124 msgid "" "Ned Batchelder provides a list of changes in each Python release for `Python " "2 `__, " @@ -8975,15 +8974,6 @@ msgstr "" #: ../source/guides/supporting-windows-using-appveyor.rst:23 msgid "" -"The Appveyor service is a continuous integration service, much like the " -"better-known `Travis`_ service that is commonly used for testing by projects " -"hosted on `GitHub`_. However, unlike Travis, the build workers on Appveyor " -"are Windows hosts and have the necessary compilers installed to build Python " -"extensions." -msgstr "" - -#: ../source/guides/supporting-windows-using-appveyor.rst:29 -msgid "" "Windows users typically do not have access to a C compiler, and therefore " "are reliant on projects that use C extensions distributing binary wheels on " "PyPI in order for the distribution to be installable via ``python -m pip " @@ -8992,11 +8982,11 @@ msgid "" "environment to provide Windows-targeted binaries." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:37 +#: ../source/guides/supporting-windows-using-appveyor.rst:31 msgid "Setting up" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:39 +#: ../source/guides/supporting-windows-using-appveyor.rst:33 msgid "" "In order to use Appveyor to build Windows wheels for your project, you must " "have an account on the service. Instructions on setting up an account are " @@ -9004,25 +8994,24 @@ msgid "" "The free tier of account is perfectly adequate for open source projects." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:44 +#: ../source/guides/supporting-windows-using-appveyor.rst:38 msgid "" "Appveyor provides integration with `GitHub`_ and `Bitbucket`_, so as long as " "your project is hosted on one of those two services, setting up Appveyor " "integration is straightforward." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:48 +#: ../source/guides/supporting-windows-using-appveyor.rst:42 msgid "" "Once you have set up your Appveyor account and added your project, Appveyor " -"will automatically build your project each time a commit occurs. This " -"behaviour will be familiar to users of Travis." +"will automatically build your project each time a commit occurs." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:53 +#: ../source/guides/supporting-windows-using-appveyor.rst:46 msgid "Adding Appveyor support to your project" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:55 +#: ../source/guides/supporting-windows-using-appveyor.rst:48 msgid "" "In order to define how Appveyor should build your project, you need to add " "an :file:`appveyor.yml` file to your project. The full details of what can " @@ -9030,7 +9019,7 @@ msgid "" "guide will provide the details necessary to set up wheel builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:60 +#: ../source/guides/supporting-windows-using-appveyor.rst:53 msgid "" "Appveyor includes by default all of the compiler toolchains needed to build " "extensions for Python. For Python 2.7, 3.5+ and 32-bit versions of 3.3 and " @@ -9041,24 +9030,24 @@ msgid "" "setup)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:68 +#: ../source/guides/supporting-windows-using-appveyor.rst:61 msgid "appveyor.yml" msgstr "appveyor.yml" -#: ../source/guides/supporting-windows-using-appveyor.rst:74 +#: ../source/guides/supporting-windows-using-appveyor.rst:67 msgid "" "This file can be downloaded from `here `__." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:76 +#: ../source/guides/supporting-windows-using-appveyor.rst:69 msgid "" "The :file:`appveyor.yml` file must be located in the root directory of your " "project. It is in ``YAML`` format, and consists of a number of sections." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:79 +#: ../source/guides/supporting-windows-using-appveyor.rst:72 msgid "" "The ``environment`` section is the key to defining the Python versions for " "which your wheels will be created. Appveyor comes with Python 2.6, 2.7, 3.3, " @@ -9069,7 +9058,7 @@ msgid "" "generally able to move to Python 2.7 without too much difficulty)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:87 +#: ../source/guides/supporting-windows-using-appveyor.rst:80 msgid "" "The ``install`` section uses pip to install any additional software that the " "project may require. The only requirement for building wheels is the " @@ -9078,19 +9067,19 @@ msgid "" "``Cython``, or test tools such as ``tox``)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:93 +#: ../source/guides/supporting-windows-using-appveyor.rst:86 msgid "" "The ``build`` section simply switches off builds - there is no build step " "needed for Python, unlike languages like ``C#``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:96 +#: ../source/guides/supporting-windows-using-appveyor.rst:89 msgid "" "The main sections that will need to be tailored to your project are " "``test_script`` and ``after_test``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:99 +#: ../source/guides/supporting-windows-using-appveyor.rst:92 msgid "" "The ``test_script`` section is where you will run your project's tests. The " "supplied file runs your test suite using ``setup.py test``. If you are only " @@ -9102,7 +9091,7 @@ msgid "" "changes you will need to consider, which are described below." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:108 +#: ../source/guides/supporting-windows-using-appveyor.rst:101 msgid "" "The ``after_test`` runs once your tests have completed, and so is where the " "wheels should be built. Assuming your project uses the recommended tools " @@ -9110,17 +9099,17 @@ msgid "" "will build your wheels." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:113 +#: ../source/guides/supporting-windows-using-appveyor.rst:106 msgid "" "Note that wheels will only be built if your tests succeed. If you expect " "your tests to fail on Windows, you can skip them as described above." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:118 +#: ../source/guides/supporting-windows-using-appveyor.rst:111 msgid "Support script" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:120 +#: ../source/guides/supporting-windows-using-appveyor.rst:113 msgid "" "The :file:`appveyor.yml` file relies on a single support script, which sets " "up the environment to use the SDK compiler for 64-bit builds on Python 3.3 " @@ -9128,7 +9117,7 @@ msgid "" "3.3 or 3.4 on 64-bit Windows, only the :file:`appveyor.yml` file is needed." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:125 +#: ../source/guides/supporting-windows-using-appveyor.rst:118 msgid "" "`build.cmd `__ is a Windows batch " @@ -9140,17 +9129,17 @@ msgid "" "builds." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:132 +#: ../source/guides/supporting-windows-using-appveyor.rst:125 msgid "" "You can simply download the batch file and include it in your project " "unchanged." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:136 +#: ../source/guides/supporting-windows-using-appveyor.rst:129 msgid "Access to the built wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:138 +#: ../source/guides/supporting-windows-using-appveyor.rst:131 msgid "" "When your build completes, the built wheels will be available from the " "Appveyor control panel for your project. They can be found by going to the " @@ -9161,25 +9150,25 @@ msgid "" "of your release process." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:149 +#: ../source/guides/supporting-windows-using-appveyor.rst:142 msgid "Testing with tox" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:151 +#: ../source/guides/supporting-windows-using-appveyor.rst:144 msgid "" "Many projects use the :doc:`Tox ` tool to run their tests. It " "ensures that tests are run in an isolated environment using the exact files " "that will be distributed by the project." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:155 +#: ../source/guides/supporting-windows-using-appveyor.rst:148 msgid "" "In order to use ``tox`` on Appveyor there are a couple of additional " "considerations (in actual fact, these issues are not specific to Appveyor, " "and may well affect other CI systems)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:159 +#: ../source/guides/supporting-windows-using-appveyor.rst:152 msgid "" "By default, ``tox`` only passes a chosen subset of environment variables to " "the test processes. Because ``distutils`` uses environment variables to " @@ -9187,7 +9176,7 @@ msgid "" "to use the wrong compiler by default." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:164 +#: ../source/guides/supporting-windows-using-appveyor.rst:157 msgid "" "To force ``tox`` to pass the necessary environment variables to the " "subprocess, you need to set the ``tox`` configuration option ``passenv`` to " @@ -9195,23 +9184,23 @@ msgid "" "For the SDK compilers, you need" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:169 +#: ../source/guides/supporting-windows-using-appveyor.rst:162 msgid "``DISTUTILS_USE_SDK``" msgstr "``DISTUTILS_USE_SDK``" -#: ../source/guides/supporting-windows-using-appveyor.rst:170 +#: ../source/guides/supporting-windows-using-appveyor.rst:163 msgid "``MSSdk``" msgstr "``MSSdk``" -#: ../source/guides/supporting-windows-using-appveyor.rst:171 +#: ../source/guides/supporting-windows-using-appveyor.rst:164 msgid "``INCLUDE``" msgstr "``INCLUDE``" -#: ../source/guides/supporting-windows-using-appveyor.rst:172 +#: ../source/guides/supporting-windows-using-appveyor.rst:165 msgid "``LIB``" msgstr "``LIB``" -#: ../source/guides/supporting-windows-using-appveyor.rst:174 +#: ../source/guides/supporting-windows-using-appveyor.rst:167 msgid "" "The ``passenv`` option can be set in your :file:`tox.ini`, or if you prefer " "to avoid adding Windows-specific settings to your general project files, it " @@ -9220,25 +9209,25 @@ msgid "" "``DISTUTILS_USE_SDK`` is set." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:180 +#: ../source/guides/supporting-windows-using-appveyor.rst:173 msgid "" "When used interactively, ``tox`` allows you to run your tests against " "multiple environments (often, this means multiple Python versions). This " -"feature is not as useful in a CI environment like Travis or Appveyor, where " -"all tests are run in isolated environments for each configuration. As a " -"result, projects often supply an argument ``-e ENVNAME`` to ``tox`` to " -"specify which environment to use (there are default environments for most " -"versions of Python)." +"feature is not as useful in a CI environment like Appveyor, where all tests " +"are run in isolated environments for each configuration. As a result, " +"projects often supply an argument ``-e ENVNAME`` to ``tox`` to specify which " +"environment to use (there are default environments for most versions of " +"Python)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:187 +#: ../source/guides/supporting-windows-using-appveyor.rst:180 msgid "" "However, this does *not* work well with a Windows CI system like Appveyor, " "where there are (for example) two installations of Python 3.4 (32-bit and 64-" "bit) available, but only one ``py34`` environment in ``tox``." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:191 +#: ../source/guides/supporting-windows-using-appveyor.rst:184 msgid "" "In order to run tests using ``tox``, therefore, projects should probably use " "the default ``py`` environment in ``tox``, which uses the Python interpreter " @@ -9246,7 +9235,7 @@ msgid "" "tests, they will be run with the configured interpreter." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:196 +#: ../source/guides/supporting-windows-using-appveyor.rst:189 msgid "" "In order to support running under the ``py`` environment, it is possible " "that projects with complex ``tox`` configurations might need to modify " @@ -9254,11 +9243,11 @@ msgid "" "document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:202 +#: ../source/guides/supporting-windows-using-appveyor.rst:195 msgid "Automatically uploading wheels" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:204 +#: ../source/guides/supporting-windows-using-appveyor.rst:197 msgid "" "It is possible to request Appveyor to automatically upload wheels. There is " "a ``deployment`` step available in :file:`appveyor.yml` that can be used to " @@ -9266,7 +9255,7 @@ msgid "" "instance. Documentation on how to do this is included in the Appveyor guides." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:209 +#: ../source/guides/supporting-windows-using-appveyor.rst:202 msgid "" "Alternatively, it would be possible to add a ``twine upload`` step to the " "build. The supplied :file:`appveyor.yml` does not do this, as it is not " @@ -9274,17 +9263,17 @@ msgid "" "some projects may wish to do this)." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:215 +#: ../source/guides/supporting-windows-using-appveyor.rst:208 msgid "External dependencies" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:217 +#: ../source/guides/supporting-windows-using-appveyor.rst:210 msgid "" "The supplied scripts will successfully build any distribution that does not " "rely on 3rd party external libraries for the build." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:220 +#: ../source/guides/supporting-windows-using-appveyor.rst:213 msgid "" "It is possible to add steps to the :file:`appveyor.yml` configuration " "(typically in the \"install\" section) to download and/or build external " @@ -9294,15 +9283,15 @@ msgid "" "this document." msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:229 +#: ../source/guides/supporting-windows-using-appveyor.rst:222 msgid "Support scripts" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:231 +#: ../source/guides/supporting-windows-using-appveyor.rst:224 msgid "For reference, the SDK setup support script is listed here:" msgstr "" -#: ../source/guides/supporting-windows-using-appveyor.rst:233 +#: ../source/guides/supporting-windows-using-appveyor.rst:226 msgid "``appveyor-sample/build.cmd``" msgstr "``appveyor-sample/build.cmd``" @@ -13588,10 +13577,11 @@ msgstr "" #: ../source/specifications/direct-url.rst:67 #: ../source/specifications/entry-points.rst:164 #: ../source/specifications/externally-managed-environments.rst:472 +#: ../source/specifications/glob-patterns.rst:118 #: ../source/specifications/inline-script-metadata.rst:213 #: ../source/specifications/name-normalization.rst:50 #: ../source/specifications/platform-compatibility-tags.rst:440 -#: ../source/specifications/pylock-toml.rst:826 +#: ../source/specifications/pylock-toml.rst:841 #: ../source/specifications/pyproject-toml.rst:632 #: ../source/specifications/recording-installed-packages.rst:278 #: ../source/specifications/simple-repository-api.rst:974 @@ -13677,7 +13667,7 @@ msgstr "" #: ../source/specifications/build-details/index.rst:28 #: ../source/specifications/build-details/v1.0.rst:16 #: ../source/specifications/inline-script-metadata.rst:100 -#: ../source/specifications/pylock-toml.rst:722 +#: ../source/specifications/pylock-toml.rst:737 msgid "Example" msgstr "" @@ -17743,8 +17733,8 @@ msgstr "" #: ../source/specifications/glob-patterns.rst:18 msgid "" -"Alphanumeric characters, underscores (``_``), hyphens (``-``) and dots " -"(``.``) MUST be matched verbatim." +"Alphanumeric characters, spaces (`` ``), underscores (``_``), hyphens (``-" +"``), and dots (``.``) MUST be matched verbatim." msgstr "" #: ../source/specifications/glob-patterns.rst:21 @@ -17826,6 +17816,14 @@ msgstr "" msgid "The code below is as a simple reference implementation:" msgstr "" +#: ../source/specifications/glob-patterns.rst:120 +msgid "January 2025: Initial version" +msgstr "" + +#: ../source/specifications/glob-patterns.rst:121 +msgid "March 2026: Treat spaces as a verbatim character" +msgstr "" + #: ../source/specifications/index.rst:4 msgid "PyPA specifications" msgstr "" @@ -19502,8 +19500,8 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:298 #: ../source/specifications/pylock-toml.rst:348 #: ../source/specifications/pylock-toml.rst:397 -#: ../source/specifications/pylock-toml.rst:494 -#: ../source/specifications/pylock-toml.rst:689 +#: ../source/specifications/pylock-toml.rst:505 +#: ../source/specifications/pylock-toml.rst:704 #, fuzzy #| msgid "Requires" msgid "**Required?**: yes" @@ -19553,18 +19551,18 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:334 #: ../source/specifications/pylock-toml.rst:362 #: ../source/specifications/pylock-toml.rst:435 -#: ../source/specifications/pylock-toml.rst:469 -#: ../source/specifications/pylock-toml.rst:482 -#: ../source/specifications/pylock-toml.rst:519 -#: ../source/specifications/pylock-toml.rst:674 -#: ../source/specifications/pylock-toml.rst:700 +#: ../source/specifications/pylock-toml.rst:480 +#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:530 +#: ../source/specifications/pylock-toml.rst:689 #: ../source/specifications/pylock-toml.rst:715 +#: ../source/specifications/pylock-toml.rst:730 msgid "**Required?**: no" msgstr "" #: ../source/specifications/pylock-toml.rst:85 -#: ../source/specifications/pylock-toml.rst:520 -#: ../source/specifications/pylock-toml.rst:538 +#: ../source/specifications/pylock-toml.rst:531 +#: ../source/specifications/pylock-toml.rst:549 msgid "**Inspiration**: uv_" msgstr "" @@ -19592,19 +19590,21 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:347 #: ../source/specifications/pylock-toml.rst:361 #: ../source/specifications/pylock-toml.rst:396 -#: ../source/specifications/pylock-toml.rst:518 -#: ../source/specifications/pylock-toml.rst:551 -#: ../source/specifications/pylock-toml.rst:620 -#: ../source/specifications/pylock-toml.rst:688 +#: ../source/specifications/pylock-toml.rst:452 +#: ../source/specifications/pylock-toml.rst:463 +#: ../source/specifications/pylock-toml.rst:529 +#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:703 msgid "**Type**: string" msgstr "" #: ../source/specifications/pylock-toml.rst:99 #: ../source/specifications/pylock-toml.rst:190 #: ../source/specifications/pylock-toml.rst:256 -#: ../source/specifications/pylock-toml.rst:555 -#: ../source/specifications/pylock-toml.rst:608 -#: ../source/specifications/pylock-toml.rst:624 +#: ../source/specifications/pylock-toml.rst:566 +#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:637 msgid "**Inspiration**: PDM_, Poetry_, uv_" msgstr "" @@ -19658,8 +19658,8 @@ msgid "``dependency-groups``" msgstr "" #: ../source/specifications/pylock-toml.rst:134 -#: ../source/specifications/pylock-toml.rst:701 #: ../source/specifications/pylock-toml.rst:716 +#: ../source/specifications/pylock-toml.rst:731 #, fuzzy #| msgid "Project name" msgid "**Inspiration**: :ref:`pyproject-tool-table`" @@ -19745,8 +19745,8 @@ msgstr "套件索引" #: ../source/specifications/pylock-toml.rst:188 #: ../source/specifications/pylock-toml.rst:254 -#: ../source/specifications/pylock-toml.rst:605 -#: ../source/specifications/pylock-toml.rst:673 +#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:688 msgid "**Type**: array of tables" msgstr "" @@ -19863,9 +19863,9 @@ msgstr "" #: ../source/specifications/pylock-toml.rst:274 #: ../source/specifications/pylock-toml.rst:376 #: ../source/specifications/pylock-toml.rst:434 -#: ../source/specifications/pylock-toml.rst:535 -#: ../source/specifications/pylock-toml.rst:699 +#: ../source/specifications/pylock-toml.rst:546 #: ../source/specifications/pylock-toml.rst:714 +#: ../source/specifications/pylock-toml.rst:729 msgid "**Type**: table" msgstr "" @@ -19955,11 +19955,13 @@ msgid "The path to the local directory of the source tree." msgstr "" #: ../source/specifications/pylock-toml.rst:323 +#: ../source/specifications/pylock-toml.rst:467 msgid "" "If a relative path is used it MUST be relative to the location of this file." msgstr "" #: ../source/specifications/pylock-toml.rst:324 +#: ../source/specifications/pylock-toml.rst:468 msgid "" "If the path is relative it MAY use POSIX-style path separators explicitly " "for portability." @@ -20104,7 +20106,7 @@ msgid "``packages.directory.subdirectory``" msgstr "" #: ../source/specifications/pylock-toml.rst:426 -#: ../source/specifications/pylock-toml.rst:510 +#: ../source/specifications/pylock-toml.rst:521 msgid "See :ref:`pylock-packages-vcs-subdirectory`." msgstr "" @@ -20113,6 +20115,8 @@ msgid "``[packages.archive]``" msgstr "" #: ../source/specifications/pylock-toml.rst:436 +#: ../source/specifications/pylock-toml.rst:454 +#: ../source/specifications/pylock-toml.rst:465 msgid "**Inspiration**: :ref:`direct-url-data-structure-archive`" msgstr "" @@ -20144,471 +20148,498 @@ msgstr "" msgid "``packages.archive.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:452 -msgid "See :ref:`pylock-packages-vcs-url`." +#: ../source/specifications/pylock-toml.rst:453 +msgid "**Required?**: if :ref:`pylock-packages-archive-path` is not specified" msgstr "" -#: ../source/specifications/pylock-toml.rst:458 +#: ../source/specifications/pylock-toml.rst:455 +msgid "The URL_ to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:461 msgid "``packages.archive.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:460 -msgid "See :ref:`pylock-packages-vcs-path`." +#: ../source/specifications/pylock-toml.rst:464 +msgid "**Required?**: if :ref:`pylock-packages-archive-url` is not specified" msgstr "" #: ../source/specifications/pylock-toml.rst:466 +msgid "The path to the archive." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:470 +msgid "" +"If :ref:`pylock-packages-archive-url` is also specified, the filename as " +"specified by this key takes precedence." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:477 msgid "``packages.archive.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:468 +#: ../source/specifications/pylock-toml.rst:479 msgid "**Type**: integer" msgstr "" -#: ../source/specifications/pylock-toml.rst:470 +#: ../source/specifications/pylock-toml.rst:481 msgid "**Inspiration**: uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:471 +#: ../source/specifications/pylock-toml.rst:482 msgid "The size of the archive file." msgstr "" -#: ../source/specifications/pylock-toml.rst:472 +#: ../source/specifications/pylock-toml.rst:483 msgid "" "Tools SHOULD provide the file size when reasonably possible (e.g. the file " "size is available via the Content-Length_ header from a HEAD_ HTTP request)." msgstr "" -#: ../source/specifications/pylock-toml.rst:479 +#: ../source/specifications/pylock-toml.rst:490 msgid "``packages.archive.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:481 +#: ../source/specifications/pylock-toml.rst:492 msgid "**Type**: datetime" msgstr "" -#: ../source/specifications/pylock-toml.rst:483 +#: ../source/specifications/pylock-toml.rst:494 msgid "**Inspiration**: :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:484 +#: ../source/specifications/pylock-toml.rst:495 msgid "The time the file was uploaded." msgstr "" -#: ../source/specifications/pylock-toml.rst:485 +#: ../source/specifications/pylock-toml.rst:496 msgid "The date and time MUST be recorded in UTC." msgstr "" -#: ../source/specifications/pylock-toml.rst:491 +#: ../source/specifications/pylock-toml.rst:502 msgid "``[packages.archive.hashes]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:493 +#: ../source/specifications/pylock-toml.rst:504 msgid "**Type**: Table of strings" msgstr "" -#: ../source/specifications/pylock-toml.rst:495 +#: ../source/specifications/pylock-toml.rst:506 msgid "**Inspiration**: PDM_, Poetry_, uv_, :ref:`simple-repository-api`" msgstr "" -#: ../source/specifications/pylock-toml.rst:496 +#: ../source/specifications/pylock-toml.rst:507 msgid "" "A table listing known hash values of the file where the key is the hash " "algorithm and the value is the hash value." msgstr "" -#: ../source/specifications/pylock-toml.rst:498 +#: ../source/specifications/pylock-toml.rst:509 msgid "The table MUST contain at least one entry." msgstr "" -#: ../source/specifications/pylock-toml.rst:499 +#: ../source/specifications/pylock-toml.rst:510 msgid "Hash algorithm keys SHOULD be lowercase." msgstr "" -#: ../source/specifications/pylock-toml.rst:500 +#: ../source/specifications/pylock-toml.rst:511 msgid "" "At least one secure algorithm from :py:data:`hashlib.algorithms_guaranteed` " "SHOULD always be included (at time of writing, sha256 specifically is " "recommended." msgstr "" -#: ../source/specifications/pylock-toml.rst:508 +#: ../source/specifications/pylock-toml.rst:519 msgid "``packages.archive.subdirectory``" msgstr "" -#: ../source/specifications/pylock-toml.rst:516 +#: ../source/specifications/pylock-toml.rst:527 #, fuzzy #| msgid "Package Index" msgid "``packages.index``" msgstr "套件索引" -#: ../source/specifications/pylock-toml.rst:521 +#: ../source/specifications/pylock-toml.rst:532 msgid "" "The base URL for the package index from :ref:`simple-repository-api` where " "the sdist and/or wheels were found (e.g. ``https://pypi.org/simple/``)." msgstr "" -#: ../source/specifications/pylock-toml.rst:523 +#: ../source/specifications/pylock-toml.rst:534 msgid "" "When possible, this SHOULD be specified to assist with generating `software " "bill of materials`_ -- aka SBOMs -- and to assist in finding a file if a URL " "ceases to be valid." msgstr "" -#: ../source/specifications/pylock-toml.rst:526 +#: ../source/specifications/pylock-toml.rst:537 msgid "" "Tools MAY support installing from an index if the URL recorded for a " "specific file is no longer valid (e.g. returns a 404 HTTP error code)." msgstr "" -#: ../source/specifications/pylock-toml.rst:533 +#: ../source/specifications/pylock-toml.rst:544 msgid "``[packages.sdist]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:536 -#: ../source/specifications/pylock-toml.rst:606 +#: ../source/specifications/pylock-toml.rst:547 +#: ../source/specifications/pylock-toml.rst:619 msgid "" "**Required?**: no; mutually-exclusive with :ref:`pylock-packages-" "vcs`, :ref:`pylock-packages-directory`, and :ref:`pylock-packages-archive`" msgstr "" -#: ../source/specifications/pylock-toml.rst:539 +#: ../source/specifications/pylock-toml.rst:550 msgid "Details of a :ref:`source-distribution-format-sdist` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:541 +#: ../source/specifications/pylock-toml.rst:552 msgid "" "Tools MAY choose to not support sdist files, both from a locking and/or " "installation perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:543 +#: ../source/specifications/pylock-toml.rst:554 msgid "" "Tools SHOULD provide a way for users to opt in/out of using sdist files." msgstr "" -#: ../source/specifications/pylock-toml.rst:549 +#: ../source/specifications/pylock-toml.rst:560 msgid "``packages.sdist.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:552 +#: ../source/specifications/pylock-toml.rst:563 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "sdist-path`/ :ref:`pylock-packages-sdist-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:556 +#: ../source/specifications/pylock-toml.rst:567 msgid "The file name of the :ref:`source-distribution-format-sdist` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:562 +#: ../source/specifications/pylock-toml.rst:568 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-sdist-url` or :ref:`pylock-packages-sdist-path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:575 msgid "``packages.sdist.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:564 -#: ../source/specifications/pylock-toml.rst:633 +#: ../source/specifications/pylock-toml.rst:577 +#: ../source/specifications/pylock-toml.rst:648 msgid "See :ref:`pylock-packages-archive-upload-time`." msgstr "" -#: ../source/specifications/pylock-toml.rst:570 +#: ../source/specifications/pylock-toml.rst:583 msgid "``packages.sdist.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:572 -#: ../source/specifications/pylock-toml.rst:641 +#: ../source/specifications/pylock-toml.rst:585 +#: ../source/specifications/pylock-toml.rst:656 msgid "See :ref:`pylock-packages-archive-url`." msgstr "" -#: ../source/specifications/pylock-toml.rst:578 +#: ../source/specifications/pylock-toml.rst:591 msgid "``packages.sdist.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:580 -#: ../source/specifications/pylock-toml.rst:649 +#: ../source/specifications/pylock-toml.rst:593 +#: ../source/specifications/pylock-toml.rst:664 msgid "See :ref:`pylock-packages-archive-path`." msgstr "" -#: ../source/specifications/pylock-toml.rst:586 +#: ../source/specifications/pylock-toml.rst:599 msgid "``packages.sdist.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:588 -#: ../source/specifications/pylock-toml.rst:657 +#: ../source/specifications/pylock-toml.rst:601 +#: ../source/specifications/pylock-toml.rst:672 msgid "See :ref:`pylock-packages-archive-size`." msgstr "" -#: ../source/specifications/pylock-toml.rst:594 +#: ../source/specifications/pylock-toml.rst:607 msgid "``packages.sdist.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:596 -#: ../source/specifications/pylock-toml.rst:665 +#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:680 msgid "See :ref:`pylock-packages-archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:603 +#: ../source/specifications/pylock-toml.rst:616 msgid "``[[packages.wheels]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:609 +#: ../source/specifications/pylock-toml.rst:622 msgid "" "For recording the wheel files as specified by :ref:`binary-distribution-" "format` for the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:611 +#: ../source/specifications/pylock-toml.rst:624 msgid "" "Tools MUST support wheel files, both from a locking and installation " "perspective." msgstr "" -#: ../source/specifications/pylock-toml.rst:618 +#: ../source/specifications/pylock-toml.rst:631 msgid "``packages.wheels.name``" msgstr "" -#: ../source/specifications/pylock-toml.rst:621 +#: ../source/specifications/pylock-toml.rst:634 msgid "" "**Required?**: no, not when the last component of :ref:`pylock-packages-" "wheels-path`/ :ref:`pylock-packages-wheels-url` would be the same value" msgstr "" -#: ../source/specifications/pylock-toml.rst:625 +#: ../source/specifications/pylock-toml.rst:638 msgid "The file name of the :ref:`binary-distribution-format` file." msgstr "" -#: ../source/specifications/pylock-toml.rst:631 +#: ../source/specifications/pylock-toml.rst:639 +msgid "" +"If specified, this key's value takes precedence over the file name found in " +"either :ref:`pylock-packages-wheels-url` or :ref:`pylock-packages-wheels-" +"path`." +msgstr "" + +#: ../source/specifications/pylock-toml.rst:646 msgid "``packages.wheels.upload-time``" msgstr "" -#: ../source/specifications/pylock-toml.rst:639 +#: ../source/specifications/pylock-toml.rst:654 msgid "``packages.wheels.url``" msgstr "" -#: ../source/specifications/pylock-toml.rst:647 +#: ../source/specifications/pylock-toml.rst:662 msgid "``packages.wheels.path``" msgstr "" -#: ../source/specifications/pylock-toml.rst:655 +#: ../source/specifications/pylock-toml.rst:670 msgid "``packages.wheels.size``" msgstr "" -#: ../source/specifications/pylock-toml.rst:663 +#: ../source/specifications/pylock-toml.rst:678 msgid "``packages.wheels.hashes``" msgstr "" -#: ../source/specifications/pylock-toml.rst:671 +#: ../source/specifications/pylock-toml.rst:686 msgid "``[[packages.attestation-identities]]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:675 #: ../source/specifications/pylock-toml.rst:690 +#: ../source/specifications/pylock-toml.rst:705 #, fuzzy #| msgid "Project name" msgid "**Inspiration**: :ref:`provenance-object`" msgstr "專案名稱" -#: ../source/specifications/pylock-toml.rst:676 +#: ../source/specifications/pylock-toml.rst:691 msgid "" "A recording of the attestations for **any** file recorded for this package." msgstr "" -#: ../source/specifications/pylock-toml.rst:677 +#: ../source/specifications/pylock-toml.rst:692 msgid "If available, tools SHOULD include the attestation identities found." msgstr "" -#: ../source/specifications/pylock-toml.rst:678 +#: ../source/specifications/pylock-toml.rst:693 msgid "" "Publisher-specific keys are to be included in the table as-is (i.e. top-" "level), following the spec at :ref:`index-hosted-attestations`." msgstr "" -#: ../source/specifications/pylock-toml.rst:686 +#: ../source/specifications/pylock-toml.rst:701 msgid "``packages.attestation-identities.kind``" msgstr "" -#: ../source/specifications/pylock-toml.rst:691 +#: ../source/specifications/pylock-toml.rst:706 msgid "The unique identity of the Trusted Publisher." msgstr "" -#: ../source/specifications/pylock-toml.rst:697 +#: ../source/specifications/pylock-toml.rst:712 msgid "``[packages.tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:702 +#: ../source/specifications/pylock-toml.rst:717 msgid "" "Similar usage as that of the :ref:`pylock-tool` table from " "the :ref:`pyproject-toml-spec`, but at the package version level instead of " "at the lock file level (which is also available via :ref:`pylock-tool`)." msgstr "" -#: ../source/specifications/pylock-toml.rst:705 +#: ../source/specifications/pylock-toml.rst:720 msgid "" "Data recorded in the table MUST be disposable (i.e. it MUST NOT affect " "installation)." msgstr "" -#: ../source/specifications/pylock-toml.rst:712 +#: ../source/specifications/pylock-toml.rst:727 msgid "``[tool]``" msgstr "" -#: ../source/specifications/pylock-toml.rst:717 +#: ../source/specifications/pylock-toml.rst:732 msgid "See :ref:`pylock-packages-tool`." msgstr "" -#: ../source/specifications/pylock-toml.rst:731 +#: ../source/specifications/pylock-toml.rst:746 msgid "" "The following outlines the steps to be taken to install from a lock file " "(while the requirements are prescriptive, the general steps and order are a " "suggestion):" msgstr "" -#: ../source/specifications/pylock-toml.rst:735 +#: ../source/specifications/pylock-toml.rst:750 msgid "" "Gather the extras and dependency groups to install and set ``extras`` and " "``dependency_groups`` for marker evaluation, respectively." msgstr "" -#: ../source/specifications/pylock-toml.rst:738 +#: ../source/specifications/pylock-toml.rst:753 msgid "``extras`` SHOULD be set to the empty set by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:739 +#: ../source/specifications/pylock-toml.rst:754 msgid "" "``dependency_groups`` SHOULD be the set created from :ref:`pylock-default-" "groups` by default." msgstr "" -#: ../source/specifications/pylock-toml.rst:742 +#: ../source/specifications/pylock-toml.rst:757 msgid "" "Check if the metadata version specified by :ref:`pylock-lock-version` is " "supported; an error or warning MUST be raised as appropriate." msgstr "" -#: ../source/specifications/pylock-toml.rst:744 +#: ../source/specifications/pylock-toml.rst:759 msgid "" "If :ref:`pylock-requires-python` is specified, check that the environment " "being installed for meets the requirement; an error MUST be raised if it is " "not met." msgstr "" -#: ../source/specifications/pylock-toml.rst:747 +#: ../source/specifications/pylock-toml.rst:762 msgid "" "If :ref:`pylock-environments` is specified, check that at least one of the " "environment marker expressions is satisfied; an error MUST be raised if no " "expression is satisfied." msgstr "" -#: ../source/specifications/pylock-toml.rst:750 +#: ../source/specifications/pylock-toml.rst:765 msgid "For each package listed in :ref:`pylock-packages`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:752 +#: ../source/specifications/pylock-toml.rst:767 msgid "" "If :ref:`pylock-packages-marker` is specified, check if it is satisfied; if " "it isn't, skip to the next package." msgstr "" -#: ../source/specifications/pylock-toml.rst:754 +#: ../source/specifications/pylock-toml.rst:769 msgid "" "If :ref:`pylock-packages-requires-python` is specified, check if it is " "satisfied; an error MUST be raised if it isn't." msgstr "" -#: ../source/specifications/pylock-toml.rst:756 +#: ../source/specifications/pylock-toml.rst:771 msgid "" "Check that no other conflicting instance of the package has been slated to " "be installed; an error about the ambiguity MUST be raised otherwise." msgstr "" -#: ../source/specifications/pylock-toml.rst:758 +#: ../source/specifications/pylock-toml.rst:773 msgid "" "Check that the source of the package is specified appropriately (i.e. there " "are no conflicting sources in the package entry); an error MUST be raised if " "any issues are found." msgstr "" -#: ../source/specifications/pylock-toml.rst:761 +#: ../source/specifications/pylock-toml.rst:776 msgid "Add the package to the set of packages to install." msgstr "" -#: ../source/specifications/pylock-toml.rst:763 +#: ../source/specifications/pylock-toml.rst:778 msgid "For each package to be installed:" msgstr "" -#: ../source/specifications/pylock-toml.rst:765 +#: ../source/specifications/pylock-toml.rst:780 msgid "If :ref:`pylock-packages-vcs` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:767 +#: ../source/specifications/pylock-toml.rst:782 msgid "" "Clone the repository to the commit ID specified in :ref:`pylock-packages-vcs-" "commit-id`." msgstr "" -#: ../source/specifications/pylock-toml.rst:769 +#: ../source/specifications/pylock-toml.rst:784 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-vcs-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:771 -#: ../source/specifications/pylock-toml.rst:777 #: ../source/specifications/pylock-toml.rst:786 -#: ../source/specifications/pylock-toml.rst:806 +#: ../source/specifications/pylock-toml.rst:792 +#: ../source/specifications/pylock-toml.rst:801 #: ../source/specifications/pylock-toml.rst:821 +#: ../source/specifications/pylock-toml.rst:836 msgid ":ref:`Install `." msgstr "" -#: ../source/specifications/pylock-toml.rst:773 +#: ../source/specifications/pylock-toml.rst:788 msgid "Else if :ref:`pylock-packages-directory` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:775 +#: ../source/specifications/pylock-toml.rst:790 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-directory-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:779 +#: ../source/specifications/pylock-toml.rst:794 msgid "Else if :ref:`pylock-packages-archive` is set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:781 -#: ../source/specifications/pylock-toml.rst:811 +#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:826 msgid "Get the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:782 +#: ../source/specifications/pylock-toml.rst:797 msgid "" "Validate using :ref:`pylock-packages-archive-size` and :ref:`pylock-packages-" "archive-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:784 +#: ../source/specifications/pylock-toml.rst:799 msgid "" ":ref:`Build ` the package, " "respecting :ref:`pylock-packages-archive-subdirectory`." msgstr "" -#: ../source/specifications/pylock-toml.rst:788 +#: ../source/specifications/pylock-toml.rst:803 msgid "Else if there are entries for :ref:`pylock-packages-wheels`:" msgstr "" -#: ../source/specifications/pylock-toml.rst:790 +#: ../source/specifications/pylock-toml.rst:805 msgid "" "Look for the appropriate wheel file based on :ref:`pylock-packages-wheels-" "name`; if one is not found then move on to :ref:`pylock-packages-sdist` or " "an error MUST be raised about a lack of source for the project." msgstr "" -#: ../source/specifications/pylock-toml.rst:794 +#: ../source/specifications/pylock-toml.rst:809 msgid "Get the file:" msgstr "" -#: ../source/specifications/pylock-toml.rst:796 +#: ../source/specifications/pylock-toml.rst:811 msgid "If :ref:`pylock-packages-wheels-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:797 +#: ../source/specifications/pylock-toml.rst:812 msgid "" "Else if :ref:`pylock-packages-wheels-url` is set, try to use it; optionally " "tools MAY use :ref:`pylock-packages-index` or some tool-specific mechanism " @@ -20617,43 +20648,48 @@ msgid "" "determined in an offline fashion for reproducibility)." msgstr "" -#: ../source/specifications/pylock-toml.rst:804 +#: ../source/specifications/pylock-toml.rst:819 msgid "" "Validate using :ref:`pylock-packages-wheels-size` and :ref:`pylock-packages-" "wheels-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:808 +#: ../source/specifications/pylock-toml.rst:823 msgid "" "Else if no :ref:`pylock-packages-wheels` file is found or :ref:`pylock-" "packages-sdist` is solely set:" msgstr "" -#: ../source/specifications/pylock-toml.rst:813 +#: ../source/specifications/pylock-toml.rst:828 msgid "If :ref:`pylock-packages-sdist-path` is set, use it." msgstr "" -#: ../source/specifications/pylock-toml.rst:814 +#: ../source/specifications/pylock-toml.rst:829 msgid "" "Else if :ref:`pylock-packages-sdist-url` is set, try to use it; tools MAY " "use :ref:`pylock-packages-index` or some tool-specific mechanism to download " "the file." msgstr "" -#: ../source/specifications/pylock-toml.rst:818 +#: ../source/specifications/pylock-toml.rst:833 msgid "" "Validate using :ref:`pylock-packages-sdist-size` and :ref:`pylock-packages-" "sdist-hashes`." msgstr "" -#: ../source/specifications/pylock-toml.rst:820 +#: ../source/specifications/pylock-toml.rst:835 msgid ":ref:`Build ` the package." msgstr "" -#: ../source/specifications/pylock-toml.rst:828 +#: ../source/specifications/pylock-toml.rst:843 msgid "April 2025: Initial version, approved via :pep:`751`." msgstr "" +#: ../source/specifications/pylock-toml.rst:844 +msgid "" +"March 2026: Clarify file name precedence for archives, sdists, and wheels." +msgstr "" + #: ../source/specifications/pypirc.rst:6 msgid "The :file:`.pypirc` file" msgstr "" @@ -25880,7 +25916,7 @@ msgstr "" #: ../source/tutorials/installing-packages.rst:139 msgid "" "Run ``python get-pip.py``. [2]_ This will install or upgrade pip. " -"Additionally, it will install :ref:`setuptools` and :ref:`wheel` if they're " +"Additionally, it may install :ref:`setuptools` and :ref:`wheel` if they're " "not installed already." msgstr "" @@ -25894,39 +25930,38 @@ msgid "" msgstr "" #: ../source/tutorials/installing-packages.rst:154 -msgid "Ensure pip, setuptools, and wheel are up to date" +msgid "Ensure pip is up to date" msgstr "" #: ../source/tutorials/installing-packages.rst:156 msgid "" -"While ``pip`` alone is sufficient to install from pre-built binary archives, " -"up to date copies of the ``setuptools`` and ``wheel`` projects are useful to " -"ensure you can also install from source archives:" +"Make sure you have the latest features and fixes, and support for the latest " +"Python packaging specifications." msgstr "" -#: ../source/tutorials/installing-packages.rst:173 +#: ../source/tutorials/installing-packages.rst:172 msgid "Optionally, create a virtual environment" msgstr "" -#: ../source/tutorials/installing-packages.rst:175 +#: ../source/tutorials/installing-packages.rst:174 msgid "" "See :ref:`section below ` for " "details, but here's the basic :doc:`venv ` [3]_ command " "to use on a typical Linux system:" msgstr "" -#: ../source/tutorials/installing-packages.rst:192 +#: ../source/tutorials/installing-packages.rst:191 msgid "" "This will create a new virtual environment in the ``tutorial_env`` " "subdirectory, and configure the current shell to use it as the default " "``python`` environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:199 +#: ../source/tutorials/installing-packages.rst:198 msgid "Creating Virtual Environments" msgstr "" -#: ../source/tutorials/installing-packages.rst:201 +#: ../source/tutorials/installing-packages.rst:200 msgid "" "Python \"Virtual Environments\" allow Python :term:`packages ` to be installed in an isolated location for a particular " @@ -25935,7 +25970,7 @@ msgid "" "alone-command-line-tools`." msgstr "" -#: ../source/tutorials/installing-packages.rst:207 +#: ../source/tutorials/installing-packages.rst:206 msgid "" "Imagine you have an application that needs version 1 of LibFoo, but another " "application requires version 2. How can you use both these applications? If " @@ -25944,33 +25979,33 @@ msgid "" "where you unintentionally upgrade an application that shouldn’t be upgraded." msgstr "" -#: ../source/tutorials/installing-packages.rst:213 +#: ../source/tutorials/installing-packages.rst:212 msgid "" "Or more generally, what if you want to install an application and leave it " "be? If an application works, any change in its libraries or the versions of " "those libraries can break the application." msgstr "" -#: ../source/tutorials/installing-packages.rst:217 +#: ../source/tutorials/installing-packages.rst:216 msgid "" "Also, what if you can’t install :term:`packages ` into " "the global site-packages directory? For instance, on a shared host." msgstr "" -#: ../source/tutorials/installing-packages.rst:220 +#: ../source/tutorials/installing-packages.rst:219 msgid "" "In all these cases, virtual environments can help you. They have their own " "installation directories and they don’t share libraries with other virtual " "environments." msgstr "" -#: ../source/tutorials/installing-packages.rst:224 +#: ../source/tutorials/installing-packages.rst:223 msgid "" "Currently, there are two common tools for creating Python virtual " "environments:" msgstr "" -#: ../source/tutorials/installing-packages.rst:226 +#: ../source/tutorials/installing-packages.rst:225 msgid "" ":doc:`venv ` is available by default in Python 3.3 and " "later, and installs :ref:`pip` into created virtual environments in Python " @@ -25978,7 +26013,7 @@ msgid "" "installed :ref:`setuptools`)." msgstr "" -#: ../source/tutorials/installing-packages.rst:229 +#: ../source/tutorials/installing-packages.rst:228 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 " @@ -25987,39 +26022,39 @@ msgid "" "(and ``virtualenv`` follows this behavior)." msgstr "" -#: ../source/tutorials/installing-packages.rst:234 +#: ../source/tutorials/installing-packages.rst:233 msgid "The basic usage is like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:236 +#: ../source/tutorials/installing-packages.rst:235 msgid "Using :doc:`venv `:" msgstr "" -#: ../source/tutorials/installing-packages.rst:252 +#: ../source/tutorials/installing-packages.rst:251 msgid "Using :ref:`virtualenv`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:268 +#: ../source/tutorials/installing-packages.rst:267 msgid "" "For more information, see the :doc:`venv ` docs or " "the :doc:`virtualenv ` docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:271 +#: ../source/tutorials/installing-packages.rst:270 msgid "" "The use of :command:`source` under Unix shells ensures that the virtual " "environment's variables are set within the current shell, and not in a " "subprocess (which then disappears, having no useful effect)." msgstr "" -#: ../source/tutorials/installing-packages.rst:276 +#: ../source/tutorials/installing-packages.rst:275 msgid "" "In both of the above cases, Windows users should *not* use " "the :command:`source` command, but should rather run the :command:`activate` " "script directly from the command shell like so:" msgstr "" -#: ../source/tutorials/installing-packages.rst:286 +#: ../source/tutorials/installing-packages.rst:285 msgid "" "Managing multiple virtual environments directly can become tedious, so " "the :ref:`dependency management tutorial ` introduces " @@ -26027,22 +26062,22 @@ msgid "" "virtual environment for each project and application that you work on." msgstr "" -#: ../source/tutorials/installing-packages.rst:293 +#: ../source/tutorials/installing-packages.rst:292 msgid "Use pip for Installing" msgstr "" -#: ../source/tutorials/installing-packages.rst:295 +#: ../source/tutorials/installing-packages.rst:294 msgid "" ":ref:`pip` is the recommended installer. Below, we'll cover the most common " "usage scenarios. For more detail, see the :doc:`pip docs `, which " "includes a complete :doc:`Reference Guide `." msgstr "" -#: ../source/tutorials/installing-packages.rst:301 +#: ../source/tutorials/installing-packages.rst:300 msgid "Installing from PyPI" msgstr "" -#: ../source/tutorials/installing-packages.rst:303 +#: ../source/tutorials/installing-packages.rst:302 msgid "" "The most common usage of :ref:`pip` is to install from the :term:`Python " "Package Index ` using a :term:`requirement " @@ -26053,35 +26088,35 @@ msgid "" "specification `. Below are some examples." msgstr "" -#: ../source/tutorials/installing-packages.rst:311 +#: ../source/tutorials/installing-packages.rst:310 msgid "To install the latest version of \"SomeProject\":" msgstr "" -#: ../source/tutorials/installing-packages.rst:325 +#: ../source/tutorials/installing-packages.rst:324 msgid "To install a specific version:" msgstr "" -#: ../source/tutorials/installing-packages.rst:339 +#: ../source/tutorials/installing-packages.rst:338 msgid "To install greater than or equal to one version and less than another:" msgstr "" -#: ../source/tutorials/installing-packages.rst:354 +#: ../source/tutorials/installing-packages.rst:353 msgid "" "To install a version that's :ref:`compatible ` with a certain version: [4]_" msgstr "" -#: ../source/tutorials/installing-packages.rst:369 +#: ../source/tutorials/installing-packages.rst:368 msgid "" "In this case, this means to install any version \"==1.4.*\" version that's " "also \">=1.4.2\"." msgstr "" -#: ../source/tutorials/installing-packages.rst:374 +#: ../source/tutorials/installing-packages.rst:373 msgid "Source Distributions vs Wheels" msgstr "" -#: ../source/tutorials/installing-packages.rst:376 +#: ../source/tutorials/installing-packages.rst:375 msgid "" ":ref:`pip` can install from either :term:`Source Distributions (sdist) " "` or :term:`Wheels `, but if both " @@ -26090,7 +26125,7 @@ msgid "" "` option." msgstr "" -#: ../source/tutorials/installing-packages.rst:382 +#: ../source/tutorials/installing-packages.rst:381 msgid "" ":term:`Wheels ` are a pre-built :term:`distribution ` format that provides faster installation compared to :term:`Source " @@ -26098,40 +26133,40 @@ msgid "" "a project contains compiled extensions." msgstr "" -#: ../source/tutorials/installing-packages.rst:387 +#: ../source/tutorials/installing-packages.rst:386 msgid "" "If :ref:`pip` does not find a wheel to install, it will locally build a " "wheel and cache it for future installs, instead of rebuilding the source " "distribution in the future." msgstr "" -#: ../source/tutorials/installing-packages.rst:395 +#: ../source/tutorials/installing-packages.rst:394 msgid "Upgrade an already installed ``SomeProject`` to the latest from PyPI." msgstr "" -#: ../source/tutorials/installing-packages.rst:412 +#: ../source/tutorials/installing-packages.rst:411 msgid "Installing to the User Site" msgstr "" -#: ../source/tutorials/installing-packages.rst:414 +#: ../source/tutorials/installing-packages.rst:413 msgid "" "To install :term:`packages ` that are isolated to the " "current user, use the ``--user`` flag:" msgstr "" -#: ../source/tutorials/installing-packages.rst:429 +#: ../source/tutorials/installing-packages.rst:428 msgid "" "For more information see the `User Installs `_ section from the pip docs." msgstr "" -#: ../source/tutorials/installing-packages.rst:433 +#: ../source/tutorials/installing-packages.rst:432 msgid "" "Note that the ``--user`` flag has no effect when inside a virtual " "environment - all installation commands will affect the virtual environment." msgstr "" -#: ../source/tutorials/installing-packages.rst:436 +#: ../source/tutorials/installing-packages.rst:435 msgid "" "If ``SomeProject`` defines any command-line scripts or console entry points, " "``--user`` will cause them to be installed inside the `user base`_'s binary " @@ -26142,7 +26177,7 @@ msgid "" "add the directory to your :envvar:`PATH`:" msgstr "" -#: ../source/tutorials/installing-packages.rst:444 +#: ../source/tutorials/installing-packages.rst:443 msgid "" "On Linux and macOS you can find the user base binary directory by running " "``python -m site --user-base`` and adding ``bin`` to the end. For example, " @@ -26151,7 +26186,7 @@ msgid "" "``PATH``. You can set your ``PATH`` permanently by `modifying ~/.profile`_." msgstr "" -#: ../source/tutorials/installing-packages.rst:450 +#: ../source/tutorials/installing-packages.rst:449 msgid "" "On Windows you can find the user base binary directory by running ``py -m " "site --user-site`` and replacing ``site-packages`` with ``Scripts``. For " @@ -26163,70 +26198,70 @@ msgid "" "for the ``PATH`` changes to take effect." msgstr "" -#: ../source/tutorials/installing-packages.rst:466 +#: ../source/tutorials/installing-packages.rst:465 msgid "" "Install a list of requirements specified in a :ref:`Requirements File " "`." msgstr "" -#: ../source/tutorials/installing-packages.rst:482 +#: ../source/tutorials/installing-packages.rst:481 msgid "Installing from VCS" msgstr "" -#: ../source/tutorials/installing-packages.rst:484 +#: ../source/tutorials/installing-packages.rst:483 msgid "" "Install a project from VCS in \"editable\" mode. For a full breakdown of " "the syntax, see pip's section on :ref:`VCS Support `." msgstr "" -#: ../source/tutorials/installing-packages.rst:506 +#: ../source/tutorials/installing-packages.rst:505 msgid "Installing from other Indexes" msgstr "" -#: ../source/tutorials/installing-packages.rst:508 +#: ../source/tutorials/installing-packages.rst:507 msgid "Install from an alternate index" msgstr "" -#: ../source/tutorials/installing-packages.rst:522 +#: ../source/tutorials/installing-packages.rst:521 msgid "" "Search an additional index during install, in addition to :term:`PyPI " "`" msgstr "" -#: ../source/tutorials/installing-packages.rst:538 +#: ../source/tutorials/installing-packages.rst:537 msgid "Installing from a local src tree" msgstr "" -#: ../source/tutorials/installing-packages.rst:541 +#: ../source/tutorials/installing-packages.rst:540 msgid "" "Installing from local src in :doc:`Development Mode `, i.e. in such a way that the project appears to be " "installed, but yet is still editable from the src tree." msgstr "" -#: ../source/tutorials/installing-packages.rst:558 +#: ../source/tutorials/installing-packages.rst:557 msgid "You can also install normally from src" msgstr "" -#: ../source/tutorials/installing-packages.rst:573 +#: ../source/tutorials/installing-packages.rst:572 msgid "Installing from local archives" msgstr "" -#: ../source/tutorials/installing-packages.rst:575 +#: ../source/tutorials/installing-packages.rst:574 msgid "Install a particular source archive file." msgstr "" -#: ../source/tutorials/installing-packages.rst:589 +#: ../source/tutorials/installing-packages.rst:588 msgid "" "Install from a local directory containing archives (and don't " "check :term:`PyPI `)" msgstr "" -#: ../source/tutorials/installing-packages.rst:609 +#: ../source/tutorials/installing-packages.rst:608 msgid "Installing from other sources" msgstr "" -#: ../source/tutorials/installing-packages.rst:611 +#: ../source/tutorials/installing-packages.rst:610 msgid "" "To install from other data sources (for example Amazon S3 storage) you can " "create a helper application that presents the data in a format compliant " @@ -26234,22 +26269,22 @@ msgid "" "``--extra-index-url`` flag to direct pip to use that index." msgstr "" -#: ../source/tutorials/installing-packages.rst:623 +#: ../source/tutorials/installing-packages.rst:622 msgid "Installing Prereleases" msgstr "" -#: ../source/tutorials/installing-packages.rst:625 +#: ../source/tutorials/installing-packages.rst:624 msgid "" "Find pre-release and development versions, in addition to stable versions. " "By default, pip only finds stable versions." msgstr "" -#: ../source/tutorials/installing-packages.rst:641 +#: ../source/tutorials/installing-packages.rst:640 #, fuzzy msgid "Installing \"Extras\"" msgstr "安裝軟體套件" -#: ../source/tutorials/installing-packages.rst:643 +#: ../source/tutorials/installing-packages.rst:642 msgid "" "Extras are optional \"variants\" of a package, which may include additional " "dependencies, and thereby enable additional functionality from the package. " @@ -26257,21 +26292,21 @@ msgid "" "you can include it in the pip installation command:" msgstr "" -#: ../source/tutorials/installing-packages.rst:666 +#: ../source/tutorials/installing-packages.rst:665 msgid "" "\"Secure\" in this context means using a modern browser or a tool " "like :command:`curl` that verifies SSL certificates when downloading from " "https URLs." msgstr "" -#: ../source/tutorials/installing-packages.rst:675 +#: ../source/tutorials/installing-packages.rst:674 msgid "" "Beginning with Python 3.4, ``venv`` (a stdlib alternative " "to :ref:`virtualenv`) will create virtualenv environments with ``pip`` pre-" "installed, thereby making it an equal alternative to :ref:`virtualenv`." msgstr "" -#: ../source/tutorials/installing-packages.rst:680 +#: ../source/tutorials/installing-packages.rst:679 msgid "" "The compatible release specifier was accepted in :pep:`440` and support was " "released in :ref:`setuptools` v8.0 and :ref:`pip` v6.0"