Medellín and the Aburrá Valley · Monday to Friday, 8:00 a.m. to 4:00 p.m. · Saturday, 8:00 a.m. to 1:00 p.m.

Technology

Python 3.15 arrives with lazy imports and Python 3.10 is no longer supported

Screens with code and programming terminals on a desk

Python 3.15 brings lazy imports, frozendict, UTF-8 by default and a faster JIT. At the same time, Python 3.10 stopped receiving security patches: it is time to review your scripts and data pipelines.

Python 3.15 arrives with lazy imports, a faster JIT and UTF-8 as the default encoding. This version of one of the most widely used languages in data analytics, automation and artificial intelligence was released on October 9, 2026, brings together 5,643 changes from 1,012 contributors and has already received its first bugfix release, 3.15.1. A few days earlier, on October 1, Python 3.10 reached its end of life: it is no longer supported and gets no more security patches.

What's new in Python 3.15

  • Explicit lazy imports (PEP 810): modules are loaded only when they are used, which speeds up the startup of scripts and applications.
  • A new frozendict type, an immutable dictionary (PEP 814), and sentinel for special values (PEP 661).
  • Unpacking inside list comprehensions (PEP 798) and new typing improvements.
  • Tachyon, a sampling profiler for finding bottlenecks (PEP 799).
  • A JIT compiler that is 7 to 8% faster on x86-64 Linux and 11 to 12% faster on macOS with ARM processors. On 64-bit Windows, a more efficient interpreter is used.
  • The macOS installers include by default the build without the global lock (free-threading), which makes better use of multi-core processors.

UTF-8 by default: watch out if you process files on Windows

With PEP 686, Python 3.15 uses UTF-8 as the default encoding. The change mainly affects Windows, where the regional encoding was used before. A CSV exported from Excel or from an accounting system with ANSI encoding may display accented letters and the ñ incorrectly if the script does not specify the encoding. The solution is to always declare it, for example encoding="cp1252" or encoding="utf-8", when opening each file.

Python 3.10 no longer receives security patches

On October 1, security fixes were released for several branches: 3.10.22 (the last one for that branch), 3.11.17, 3.12.15, 3.13.16 and 3.14.8. From now on, any new flaw in Python 3.10 will remain unfixed. Python 3.11 will be supported until October 2027 and Python 3.15 until October 2031.

What to do in your company

  1. Take inventory of the scripts, data loading processes (ETL), dashboards and servers that still use Python 3.10 or earlier, and plan their migration.
  2. Apply the October 1 security updates on branches 3.11 through 3.14.
  3. Test in a separate environment before moving to Python 3.15 and verify that your libraries are already compatible.
  4. Declare the encoding when reading and writing files, especially CSV files exported from other systems.
  5. If you use macOS 27.0, keep in mind that IDLE and tkinter applications may freeze on this version.

How we help you

We migrate and maintain Python data processes as part of our data analytics and artificial intelligence services, and we update applications with our custom software development team.

Sources

Source: Python.org

Keep reading

Laptop showing a data analytics dashboard with bar and pie charts

Technology

BigQuery and Oracle bring AI agents to data analytics

In October, Google BigQuery made new AI functions and conversational agent improvements production-ready, and Oracle announced a semantic layer so its agents understand the business. What it means for companies.

Close-up of a rack server under blue light

Cybersecurity

OpenSSH flaw on Alpine Linux allows passwordless logins

A flaw in OpenSSH lets attackers log into accounts on Alpine Linux servers and other musl-based systems without a password, in a single connection. OpenSSH and Alpine have fixed it: who is exposed and what to do.

Chat with Pronetsys on WhatsApp