Python Implementations - Development

Development

Python's development is conducted largely through the Python Enhancement Proposal (PEP) process. The PEP process is the primary mechanism for proposing major new features, for collecting community input on an issue, and for documenting the design decisions that have gone into Python. Outstanding PEPs are reviewed and commented upon by the Python community and by Van Rossum, the Python project's Benevolent Dictator for Life (leader / language architect).

Enhancement of the language goes along with development of the CPython reference implementation. The mailing list python-dev is the primary forum for discussion about the language's development; specific issues are discussed in the Roundup bug tracker maintained at python.org. Development takes place on a self-hosted source code repository running Mercurial.

CPython's public releases come in three types, distinguished by which part of the version number is incremented:

  • Backwards-incompatible versions, where code is expected to break and must be manually ported. The first part of the version number is incremented. These releases happen infrequently—for example, version 3.0 was released 8 years after 2.0.
  • Major or "feature" releases, which are largely compatible but introduce new features. The second part of the version number is incremented. These releases are scheduled to occur roughly every 18 months, and each major version is supported by bugfixes for several years after its release.
  • Bugfix releases, which introduce no new features but fix bugs. The third and final part of the version number is incremented. These releases are made whenever a sufficient number of bugs have been fixed upstream since the last release, or roughly every 3 months. Security vulnerabilities are also patched in bugfix releases.

A number of alpha, beta, and release-candidates are also released as previews and for testing before the final release is made. Although there is a rough schedule for each release, this is often pushed back if the code is not ready. The development team monitor the state of the code by running the large unit test suite during development, and using the BuildBot continuous integration system.

The community of Python developers has also contributed over 25,000 software modules to the Python Package Index (called pypi), the official repository of third-party libraries for python.

The major academic conference on Python is named PyCon. There are special mentoring programmes like the Pyladies.

Read more about this topic:  Python Implementations

Famous quotes containing the word development:

    Fascism, the more it considers and observes the future and the development of humanity, quite apart from political considerations of the moment, believes neither in the possibility nor the utility of perpetual peace.
    Benito Mussolini (1883–1945)

    I can see ... only one safe rule for the historian: that he should recognize in the development of human destinies the play of the contingent and the unforeseen.
    —H.A.L. (Herbert Albert Laurens)

    The American has dwindled into an Odd Fellow—one who may be known by the development of his organ of gregariousness.
    Henry David Thoreau (1817–1862)