Notice: While JavaScript is not essential for this website, your interaction with the content will be limited. Please turn JavaScript on for the full experience.
...versions of a project to determine which versions it should install. These requirements necessitate a standardization across one parsing mechanism to be used for all versions of a project. Due to the above, this PEP MUST be used for all versions of metadata and supersedes PEP 386 even for metadata v1.2. Tools SHOULD ignore any versions which cannot be parsed by the rules in this PEP, but MAY fall back to implementation defined version parsing and ordering schemes if no versions complying with th...
...versions for "pre-releases" (such as "alpha", "beta", "rc"), and these have widely used aliases ("a" stands for "alpha", "b" for "beta" and "c" for "rc"). And these pre-release versions make it impossible to use a simple alphanumerical ordering of the version string components. (Example: 3.1a1 < 3.1) some projects also need "post-releases" of regular versions, mainly for installer work which can't be clearly expressed otherwise. development versions allow packagers of unreleased work to avoid...
...versions of her packages, she specifies the version numbers in the namespace package's setup.py file. Because Carol wants to have to update one version number per package, she specifies the version number in her module and has the setup.py extract the module version number when she builds the sdist archive. David maintains a package in the standard library, and also produces standalone versions for other versions of Python. The standard library copy defines the version number in the module, an...
...versions to invalidate the cache if the globals dictionary or the builtins dictionary has been modified. The cache also requires that the dictionary version is globally unique. It is possible to define a function in a namespace and call it in a different namespace, using exec() with the globals parameter for example. In this case, the globals dictionary was replaced and the cache must also be invalidated. Specialized functions using guards PEP 510 proposes an API to support specialized functio...
...versions (e.g. a hypothetical simple api v2 that lived at /v2/, but which would be confusing if the repository-version was set to a version >= 2). This PEP sets the current API version to "1.0", and expects that future PEPs that further evolve the simple API will increment the minor version number. Clients Clients interacting with the simple API SHOULD introspect each response for the repository version, and if that data does not exist MUST assume that it is version 1.0. When encountering a ...
...versions of Python. Given these two developments and the level of engagement throughout the Python 3.4 release cycle, the PEP author no longer feels it would be appropriate to make such a fundamental change to the standard library development process. Abstract This PEP proposes the adoption of a separate versioning scheme for the standard library (distinct from, but coupled to, the existing language versioning scheme) that allows accelerated releases of the Python standard library, while maint...
...versions. Scope This PEP doesn't try to change the maintenance period or release scheme for the 2.7 branch. Only 3.x versions are considered. Proposal Under the proposed scheme, there would be two kinds of feature versions (sometimes dubbed "minor versions", for example 3.2 or 3.3): normal feature versions and long-term support (LTS) versions. Normal feature versions would get either zero or at most one bugfix release; the latter only if needed to fix critical issues. Security fix handling...
...versions that starts with the same value. For example, the "2.5" version of Python will include versions like "2.5.2" or "2.5.3". Pre and post releases in that case are excluded. So in our example, versions like "2.5a1" are not included when "2.5" is used. If the first version of the range is required, it has to be explicitly given. In our example, it will be "2.5.0". Notice that some projects might omit the ".0" suffix for the first release of the "2.5.x" series: 2.5 2.5.1 2.5.2 etc. In that ...
...versions of the launcher. The launcher installation is registered in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CurrentVersion\SharedDLLs with a reference counter. It contains a version resource matching the version number of the pythonXY.dll with which it is distributed. Independent installations will overwrite older version of the launcher with newer versions. Stand-alone releases use a release level of 0x10 in FIELD3 of the CPython release on which they are based. Once installed, the "console" ver...
...versions of Python, both for the CPython interpreter tag and the generic, interpreter-agnostic interpreter tag (e.g. cp39 and py39, respectively). This also applies to the ABI tag (e.g. cp39). Thanks to both the major and minor versions being single digits, it has been unambiguous what which digit in e.g. 39 represented. But starting with Python 3.10, ambiguity comes up as 310 does not clearly delineate whether the Python version is 3.10, 31.0, or 310 as the major-only version of Python. Thus us...
...versions 1.2 and 2.1 of the core metadata specification for Python packages. Version 1.2 is specified in PEP 345. It also changes to the canonical source for field specifications to the Core Metadata Specification reference document, which includes specifics of the field names, and their semantics and usage. Fields The canonical source for the names and semantics of each of the supported metadata fields is the Core Metadata Specification document. Fields marked with "(Multiple use)" may be spe...
...versions of application software such as office suites tend to be more capable than earlier versions with respect to their support for loading different versions of their data file formats. The pattern is usually that the newer application versions can transparently load data from either their newer or their older data formats, and that the newer version defaults to saving data in the newer format. Newer application software versions tend to be backward-compatible by default. Forward compatibili...
PEP 633 -- Dependency specification in pyproject.toml using an exploded TOML table PEP:633 Title:Dependency specification in pyproject.toml using an exploded TOML table Author:Laurie Opperman <laurie_opperman at hotmail.com>, Arun Babu Neelicattu <arun.neelicattu at gmail.com> Sponsor:Brett Cannon <brett at python.org> Discussions-To:https://discuss.python.org/t/dependency-specification-in-pyproject-toml-using-an-exploded-toml-table/5123/ Status:Rejected Type:Standa...
...versions, including scientific computing modules, not open source), or build from source if you have a C compiler. UNIX Packages has a variety of Python versions for a variety of Solaris versions. These use the standard Sun pkgadd. Python for UEFI Environment Standard CPython version 3.6.8 port for the Unified Extensible Firmware Interface (UEFI) shell environment is available through the Tianocore open source project. This provides the standard Python scripting capabilities on UEFI environme...
PEP 314 -- Metadata for Python Software Packages v1.1 PEP:314 Title:Metadata for Python Software Packages v1.1 Author:A.M. Kuchling, Richard Jones Status:Final Type:Standards Track Created:12-Apr-2003 Python-Version:2.5 Post-History:29-Apr-2003 Replaces:241 Contents Introduction Including Metadata in Packages Fields Metadata-Version Name Version Platform (multiple use) Supported-Platform (multiple use) Summary Description (optional) Keywords (optional) Home-page (optional) Do...
...versions of this PEP used separate lists for conditional and unconditional dependencies. This turned out to be annoying to handle in automated tools and removing it also made the PEP and metadata schema substantially shorter, suggesting it was actually harder to explain as well. Separate lists for semantic dependencies Earlier versions of this PEP used separate fields rather than the extras system for test, build, documentation, and development dependencies. This turned out to be annoying to h...
...versions as a tradeoff to fit both use cases. The main issue with the migration from Python 2 to Python 3 is not that Python 3 is backward incompatible, but how incompatible changes were introduced. Partial compatibility to minimize the Python maintenance burden While technically it would be possible to provide full compatibility with old Python versions, this PEP proposes to minimize the number of functions handling backward compatibility to reduce the maintenance burden of the Python project...
...versions is needed in order to be able to compare performance between Python versions. New features may still be used in new tests, which may then be configured to fail gracefully on import by the tool in older Python versions. Copyright This document has been placed in the public domain. Source: https://github.com/python/peps/blob/master/pep-0291.txt
...versions, zero padding, etc. Yanked files are always ignored, unless they are the only file that matches what a lock file (such as Pipfile.lock or poetry.lock) specifies to be installed. In this case, a yanked file SHOULD not be used when creating or updating a lock file from some input file or command. Regardless of the specific strategy that an installer chooses for deciding when to install yanked files, an installer SHOULD emit a warning when it does decide to install a yanked file. That war...
...versions of Python prior to 3.3), the corresponding marker variable MUST be considered equivalent to the empty string. If a particular version number value is not available (such as sys.implementation.version in versions of Python prior to 3.3) the corresponding marker variable MUST be considered equivalent to 0 Version numbers python_version: platform.python_version()[:3] python_full_version: see definition below platform_version: platform.version() implementation_version: see definition bel...