What’s new in Python¶

Portrait Veit Schiele

Veit Schiele
Cusy GmbH, Berlin
Python Users Berlin, 14 April 2022


slides.cusy.io/pub/pub_2022-04.html

Python 3.10.4 and 3.9.12 are available out of schedule¶

Shortly after the release of 3.10.3 and 3.9.11, a regression was found which meant that Python could no longer be built on Red Hat Enterprise Linux 6. Our new versions fix this problem.

See also:
  • Python 3.10.4 and 3.9.12 are now available out of schedule

PEP 685 – Comparison of extra names for optional distribution dependencies¶

Extras of a package should be standardised to avoid ambiguity

See also:
  • PEP 685 – Comparison of extra names for optional distribution dependencies

PEP 594 – Removing dead batteries from the standard library¶

This PEP proposes a list of modules that should be removed from the standard library.

The modules are mostly historical data formats, for example

  • Commodore and SUN file formats

    • The chunk module provides support for reading and writing Electronic Arts' Interchange File Format an old audio file format originally introduced for Commodore and Amiga.
    • The xdrlib module supports the Sun External Data Representation Standard XDR, an old binary serialisation format from 1987.

PEP 594 – Removing dead batteries from the standard library¶

This PEP proposes a list of modules that should be removed from the standard library.

  • APIs and operating systems that have long been deprecated, e.g.

    • The nis module provides support for Network Information Service/Yellow Pages, an obsolete directory service protocol that never caught on against libc's Name Service Switch, LDAP and Kerberos/GSSAPI.
    • The spwd module, which provides direct access to the Unix shadow password database using non-standard APIs.

PEP 594 – Removing dead batteries from the standard library¶

This PEP proposes a list of modules that should be removed from the standard library.

  • Modules that have security implications and better alternatives, e.g.

    • the crypt module implements password hashing based on the crypt(3) function from libcrypt or libxcrypt on Unix-like platforms. The algorithms are mostly old, of poor quality and insecure. Alternatives are legacycrypt, bcrypt, argon2-cffi, hashlib and passlib.

Python Performance¶

Pyston just added ARM support¶

The main feature of this version is 64-bit ARM support, which makes Pyston available on

  • ARM servers
  • M1 Macs via Docker
  • Raspberry Pis with a 64-bit operating system
  • and other 64-bit ARM systems
See also:
  • Pyston v2.3.3: ARM support

Python Performance¶

Sciagraph¶

  • New profiler for Python batch jobs that creates performance and memory profiles in production to achieve the most realistic results possible
  • Proprietary licence
See also:
  • Speed up production Python data-processing jobs with always-on profiling
  • Docs

Python Performance¶

perflint¶

perflint is a linter for performance anti-patterns

Python Performance¶

airspeed velocity¶

airspeed velocity (asv) is a tool for benchmarking Python packages over their lifetime.

See also:
  • Docs
  • Example NumPy Benchmarks
  • Repository

Python in Visual Studio Code – April 2022 Release¶

  • The one Python extension is split into several separate extensions

    • Pylint was the first expansion to be taken out
    • The current version of Pylint uses the proprietary Language Server Protocol
  • Easily create Jupyter Notebooks
  • The regression when using Conda Environments is fixed
See also:
  • Python in Visual Studio Code – April 2022 Release

BeeWare is now supported by Anaconda¶

On 21 March, Russell Keith-Magee became Principal Engineer and Team Lead at Anaconda - and the team he will lead will focus 100% on BeeWare.

See also:
  • Exciting news for the future of BeeWare

News from the Python Software Foundation¶

Meta strengthens investment in the Python ecosystem¶

Meta uses Python in many of their services - from Instagram to their Ai and data infrastructure:

  • PyTorch is an ML framework that accelerates the workflow from research prototypes into production
  • Cinder is a performance-optimised version of CPython 3.8
  • Pyre is a A performant type-checker for Python 3

News from the Python Software Foundation¶

Meta strengthens investment in the Python ecosystem¶

Meta’s funding of a second year of the Developer-in-Residence programme stabilises ongoing development. This allows Łukasz Langa to take a broader perspective with the Steering Council and the PSF.

News from the Python Software Foundation¶

Deb Nicholson becomes the new Executive Director¶

See also:
  • PSF Welcomes New Executive Director Deb Nicholson