Skip to content
This repository has been archived by the owner on Dec 11, 2023. It is now read-only.
/ typing-spec Public archive

Draft specification for the Python type system

Notifications You must be signed in to change notification settings

JelleZijlstra/typing-spec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 

Repository files navigation

This is a historical repository that was used to create the spec that is now available at https://typing.readthedocs.io/en/latest/spec/index.html. This repo will be archived.

Typing Specification

This is a draft specification for the Python type system. It accompanies a proposal to create a Typing Council that has the authority to create and maintain a spec.

The spec itself is in a separate file: spec/spec.rst.

I am creating the spec by collating the typing PEPs, essentially copy-pasting their "Specification" sections and editing them only to the extent necessary to keep the document coherent.

The aim for now is to keep the normative specification the same as the PEPs, so no edits should be made that affect the content of the specification. Once the Typing Council exists, it can start making more substantive changes.

Editorial contributions are welcome. Those can include:

  • Incorporating more PEPs. I am going through the list chronologically; check the git log for the latest PEPs covered.
  • Making sure the text reads as a specification, not as a proposal, e.g. by removing references to how something "will" work, or to "this PEP".
  • Reorganizing the text to make the entire document more coherent.
  • Removing or rewriting clearly obsolete material.

No substantive changes should be made yet, not even if they seem uncontroversial. I expect that once the Typing Council exists, one of its first actions will be to adopt this document as the official specification. Subsequently, the Council will consider changes to improve the specification.

However, feel free to open issues on this repo for cases where a spec change seems warranted. Discussion should be kept to a minimum, though; this is not the place to discuss controversial issues.

About

Draft specification for the Python type system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •