Python - AshokBhat/notes GitHub Wiki

About

  • Interpreted, high-level, general-purpose programming language
  • Dynamically typed and garbage-collected
  • Allows procedural, object-oriented, and functional programming
  • Comprehensive standard library

Key tools

  • Open source distributions: [CPython]] ](/AshokBhat/notes/wiki/[PyPy) | [Jython]] | WinPython
  • Package manager: pip | conda
  • Commercial distributions: [Anaconda]] ](/AshokBhat/notes/wiki/[[ActivePython)
  • Repository: PyPI
  • Libraries: [NumPy]] ](/AshokBhat/notes/wiki/[[SciPy) | Pandas
  • Free Editors: Visual Studio Code | Spyder | PyDev | IDLE
  • Paid Editors: PyCharm
  • Debugger: pdb - The Python Debugger

Python Standards

Python 3

  • Released in 2008
  • Major revision, Not completely backward-compatible
Version Latest micro version Release date End of full support End of security fixes
3.0 3.0.1 2008-12-03 2009-02
3.5 3.5.9 2015-09-13 2017-08 2020-09
3.6 3.6.10 2016-12-23 2018-12 2021-12
3.7 3.7.7 2018-06-27 2020-06 2023-06
3.8 3.8.3 2019-10-14 2021-04 2024-10
3.9 3.9.0 2020-10-05 2022-05 2025-10
3.10 2021-10-25 2023-05 2026-10

Python 2

  • Released in 2000
  • End of support on Jan 1, 2020
Version Latest micro version Release date End of full support End of security fixes
2.6 2.6.9 2008-10-01 2010-08-24 2013-10-29
2.7 2.7.18 2010-07-03 2020-01-01

Packaging formats

Wheels packaging format

  • Packaging format for Python distribution
  • Introduced by PEP (Python Enhancement Proposal) 427 in 2012
  • Replaced eggs, an unofficial standard from setuptools in 2004.
  • .whl extension

Distributions

Open source

  • CPython: Default, no JIT, slow
  • PyPy: JIT, can be used in place of CPython
  • Jython: Allows Java users to interop with Python. Converts Python to JVM Bytecode.
  • IronPython: Allows C# users to interop with Python.
  • WinPython: Free Windows Python Distribution
  • Python Portable: CPython runtime in a self-contained package

Commercially backed

  • Anaconda: Distribution backed by a commercial company. Uses conda packaging manager.
  • [ActivePython]]: Commercial distribution. Uses [pip

See also