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.
...record. Release Schedule [revised 5 Oct 2000] 26-Sep-2000: 2.0 beta 2 9-Oct-2000: 2.0 release candidate 1 (2.0c1) 16-Oct-2000: 2.0 final Previous milestones 14-Aug-2000: All 2.0 PEPs finished / feature freeze 5-Sep-2000: 2.0 beta 1 What is release candidate 1? We believe that release candidate 1 will fix all known bugs that we intend to fix for the 2.0 final release. This release should be a bit more stable than the previous betas. We would like to see even more widespread testing be...
...record=True) as w: await foo() assert len(w) == 1 assert "xyzzy" in w[0].message And notice that this last example isn't artificial at all -- this is exactly how you write a test that an async/await-using coroutine correctly raises a warning. Similar issues arise for pretty much any use of warnings.catch_warnings, decimal.localcontext, or numpy.errstate in async/await-using code. So there's clearly a real problem to solve here, and the growing prominence of async code makes it...
...definitions indicates that they use a new "existence checking" protocol rather than the established truth-checking protocol used by if statements, while loops, comprehensions, generator expressions, conditional expressions, logical conjunction, and logical disjunction. This new protocol would be made available as operator.exists, with the following characteristics: types can define a new __exists__ magic method (Python) or tp_exists slot (C) to override the default behaviour. This optional meth...
...definitions can require a lot of special-handling in type checkers. Given that it also goes against the rest of the PEP to use Self outside a class definition, we believe the added convenience of aliases is not worth it: TupleSelf = Tuple[Self, Self] # Rejected class Alias: def return_tuple(self) -> TupleSelf: # Rejected return (self, self) Note that we reject Self in staticmethods. Self does not add much value since there is no self or cls to return. The only possible use ca...
...definition of the concepts, but you should consult the individual system's glossaries for details. Here are some basic references for terminology, from some of the standard web-based references on each VCS. You can also refer to glossaries for each DVCS: Subversion : http://svnbook.red-bean.com/en/1.5/svn.basic.html Bazaar : http://bazaar-vcs.org/BzrGlossary Mercurial : http://www.selenic.com/mercurial/wiki/index.cgi/UnderstandingMercurial git : http://book.git-scm.com/1_the_git_object_model.ht...
...Definitions Maximum Security Model End-to-End Signing Metadata Signatures, Key Management, and Signing Distributions Cryptographic Signature Scheme: Ed25519 Cryptographic Key Files Key Management: miniLock Third-party Upload Tools: Twine Build backends Automated Signing Solution Snapshot Process Producing Consistent Snapshots Auditing Snapshots Key Compromise Analysis In the Event of a Key Compromise Appendix A: PyPI Build Farm and End-to-End Signing References Acknowledgements Copyright ...
...definition in the nearest enclosing function scope will be used. One consequence of this change is that lambda statements could reference variables in the namespaces where the lambda is defined. In some unusual cases, this change will break code. In all previous version of Python, names were resolved in exactly three namespaces -- the local namespace, the global namespace, and the builtin namespace. According to this old definition, if a function A is defined within a function B, the names bo...
...definition with a platform- specific spelling in that platform's pyconfig.h. You can also override pyport.h's default Py_IS_INFINITY definition now. C API SF patch 1044089: New function PyEval_ThreadsInitialized() returns non-zero if PyEval_InitThreads() has been called. The undocumented and unused extern int _PyThread_Started was removed. The C API calls PyInterpreterState_New() and PyThreadState_New() are two of the very few advertised as being safe to call without holding the GIL. Howe...
...RECORD or signatures. The hook MAY also create other files inside this directory, and a build frontend MUST preserve, but otherwise ignore, such files; the intention here is that in cases where the metadata depends on build-time decisions, the build backend may need to record these decisions in some convenient format for re-use by the actual wheel-building step. This must return the basename (not the full path) of the .dist-info directory it creates, as a unicode string. If a build frontend need...
...Definitions Version scheme Public version identifiers Local version identifiers Final releases Pre-releases Post-releases Developmental releases Version epochs Normalization Case sensitivity Integer Normalization Pre-release separators Pre-release spelling Implicit pre-release number Post release separators Post release spelling Implicit post release number Implicit post releases Development release separators Implicit development release number Local version segments Preceding v character Leadi...
...definitions in use in the Python ecosystem today is provided in an appendix of this PEP, and license documentation in a variety of other packaging systems, Linux distros, languages ecosystems and applications is surveyed in another appendix. There are a few takeaways from the survey: Most package formats use a single License field. Many modern package systems use some form of license expression syntax to optionally combine more than one license identifier together. SPDX and SPDX-like syntaxes a...
...recorded as mappings with the following subfields: name: the name of an individual or group email: an email address (this may be a mailing list) url: a URL (such as a profile page on a source code hosting service) role: one of "author", "maintainer" or "contributor" The name subfield is required, the other subfields are optional. If no specific role is stated, the default is contributor. Email addresses must be in the form local-part@domain where the local-part may be up to 64 characters long ...
...record of the June 2012 meeting. Approved, 6-0-0. 3 Votes Taken Between Meetings There were no votes taken between meetings. 4 Votes Taken Over Email There were two votes taken over email: 4.1 PyCon UK 2012 Conference Grant RESOLVED, that the PSF provide conference grant funding of USD $2320 to sponsor the PyCon UK Conference 2012, to be held in Coventry UK, and sprints held at the conference. Approved on 2012-07-26, 11-0-0. RESOLVED, tha...
...definitions as appropriate. Applications should check for the presence of any variables they require, and have a fallback plan in the event such a variable is absent. Note: missing variables (such as REMOTE_USER when no authentication has occurred) should be left out of the environ dictionary. Also note that CGI-defined variables must be strings, if they are present at all. It is a violation of this specification for a CGI variable's value to be of any type other than str. In addition to the ...
...definitions as appropriate. Applications should check for the presence of any variables they require, and have a fallback plan in the event such a variable is absent. Note that CGI variable values must be bytes instances, if they are present at all. It is a violation of this specification for a CGI variable's value to be of any type other than bytes. On Python 2, this means they will be of type str. On Python 3, this means they will be of type bytes. They keys of all CGI and non-CGI variables...
...definitions as appropriate. Applications should check for the presence of any variables they require, and have a fallback plan in the event such a variable is absent. Note: missing variables (such as REMOTE_USER when no authentication has occurred) should be left out of the environ dictionary. Also note that CGI-defined variables must be native strings, if they are present at all. It is a violation of this specification for any CGI variable's value to be of any type other than str. In additio...
...Definitions Overview of TUF Integrating PyPI with TUF What Additional Repository Files are Required on PyPI? PyPI and TUF Metadata Signing Metadata and Repository Management How to Establish Initial Trust in the PyPI Root Keys Minimum Security Model Metadata Expiry Times Metadata Scalability PyPI and Key Requirements Number and Type Of Keys Recommended Managing online keys Managing offline keys How Should Metadata be Generated? Consistent Snapshots Producing Consistent Snapshots Cleaning u...
...Definitions Overview of TUF Integrating PyPI with TUF What Additional Repository Files are Required on PyPI? PyPI and TUF Metadata Signing Metadata and Repository Management How to Establish Initial Trust in the PyPI Root Keys Minimum Security Model Metadata Expiry Times Metadata Scalability PyPI and Key Requirements Number and Type Of Keys Recommended Managing online keys Managing offline keys How Should Metadata be Generated? Consistent Snapshots Producing Consisten...
...definition. A design pattern where a group of record-like classes is combined into a union is popular in other languages that support pattern matching and is known under a name of algebraic data types [2]. We propose to add a special decorator class @sealed to the typing module [6], that will have no effect at runtime, but will indicate to static type checkers that all subclasses (direct and indirect) of this class should be defined in the same module as the base class. The idea is that since al...