Python Monthly News

Python News Roundup: February 2025

by Geir Arne Hjelle Feb 17, 2025 community

The new year has brought a flurry of activity to the Python community. New bugfix releases of Python 3.12 and 3.13 show that the developers seemingly never sleep. A new type of interpreter is slated for the upcoming Python 3.14 as part of ongoing efforts to improve Python’s performance.

Poetry takes a giant leap toward compatibilty with other project management tools with the release of version 2. If you’re interested in challenging yourself with some programming puzzles, check out the new season of Coding Quest.

Time to jump in! Enjoy this tour of what’s happening in the world of Python!

Poetry Version 2 Adds Compatibility

Poetry is a trusted and powerful project and dependency manager for Python. Initially created by Sébastien Eustace in 2018, it reached its Version 1 milestone in 2019. Since then, it has grown to be one of the most commonly used tools for managing Python projects.

On January 5, 2025, the Poetry team announced the release of Poetry 2.0.0. This major release comes with many updates. One of the most requested changes is compatibility with PEP 621, which describes how to specify project metadata in pyproject.toml.

Most of the common tools for project management, including setuptools, uv, Hatch, Flit, and PDM, use pyproject.toml and the project table in a consistent way, as defined in PEP 621. With Poetry on board as well, you can more simply migrate your project from one tool to another.

This improved compatibility with the rest of the Python eco-system comes with a price. There are a few breaking changes in Poetry 2 compared to earlier versions. If you’re already using Poetry, you should take care when updating to the latest version.

The changelog describes all changes, and you can read the documentation for advice on how to migrate your existing projects to the new style of configuration.

The Python Team Releases Bugfix Versions for 3.12 and 3.13

New major releases of Python often get the spotlight, highlighting new exciting features. However, the life of a Python version lasts far beyond those celebrations. The core developers fully support each version of Python for two years, providing regular bugfix releases.

The full supported lifetime of a Python version is five years. You can trust the developers to fix known security issues until a release reaches its end of life five years after its initial release:

The life cycle of Python releases
Click the image to see more details.

This diagram shows the life cycles of Python 3.13, 3.14, and 3.15.

Currently, Python 3.12 and 3.13 are actively supported, and they recently received bugfix updates in Python 3.12.9 and Python 3.13.2. Such bugfix releases never come with new features, and they shouldn’t break backwards compatibility except in extraordinary circumstances.

Python 3.13.2 contains about 250 bugfixes, but chances are that you won’t notice any of these changes. These are usually minor updates to less used code. Still, updating to the latest bugfix release should give you a safer environment.

To see an example of the kind of bugfix included, consider the f-string = specifier:

Python
>>> number = 42

>>> f"{number = }"
'number = 42'

>>> f"{number * 2 = }"
'number * 2 = 84'

If you end the expression inside curly braces with an equal sign (=), then the full expression will be rendered inside the f-string in addition to its value. This provides you with a quick and readable way to check the values of your variables.

One minor issue with this feature has been that it doesn’t render the expression correctly if it contains the character sequence != which is used to check whether two values are different:

Python
>>> f"{number != 42 = }"
'number False'

On Python 3.13.1 and earlier, only number and not number != 42 is included in the string. This has been fixed in Python 3.13.2:

Python
>>> number = 42

>>> f"{number != 42 = }"
'number != 42 = False'

On the newest Python version, you can see the full expression and its evaluated value. While you’re unlikely to run into this issue in the wild, it’s great that it now works correctly. This bugfix is just one of the hundreds of fixes included in the newest release of Python.

Python 3.14 Comes With a New Type of Interpreter

The work on Python 3.14 continues as the developers have their eyes on the feature freeze deadline in May. Recently, a new type of interpreter was added to the codebase. To try the new interpreter yourself, you need to compile Python 3.14 with a special build flag.

The Python interpreter is the program that interprets and runs Python programs. For most intents and purposes, you can think of it as a single program, but it actually comprises three separate types of interpreters. These are optimized for different kinds of architectures and environments.

Ken Jin has implemented a so-called tail-calling interpreter as a fourth type of interpreter. The initial benchmarks are promising, and indicate that certain code can run about 10% faster with the new interpreter.

The capabilities of the different types of interpreters are all equal. The only visible difference to you as a developer or a user should be potential performance differences. Check out the discussion on GitHub as well as Josh Haberman’s A Tail Calling Interpreter for Python for more details.

Coding Quest Welcomes Students to Programmming Puzzles

In December 2024, more than 250,000 programmers solved one or more challenges at the tenth edition of Advent of Code. Due to its success, other similar programming competitions have cropped up, including Everybody Codes, Hanukkah of Data, Advent of SQL, and others.

Coding Quest is an annual competition started in 2022 by Paul Baumgarten. It’s specifically aimed at secondary students to let them practice and showcase their knowledge and understanding of algorithm design, data structures, and computational thinking.

The 2025 season of Coding Quest kicks off on March 3. You can read more and sign up at the Coding Quest website. The challenges from earlier years are available, so you can use those to get warmed up.

EuroSciPy Returns to Poland in August

EuroSciPy is the annual conference of the European scientific Python community. The conference has run most years since its inaugural meeting in Leipzig, Germany in 2008.

EuroSciPy 2024 was held in Szczecin, in western Poland. For the next edition, the gathering will take place in Kraków, Poland, from August 18 to August 22, 2025.

The conference combines two days of tutorials and workshops with two days of shorter presentations. If you attend, you’ll meet both users and developers of scientific tools, as well as academic researchers and people from the industry.

Check out the conference website to learn when the call for proposals goes live.

What’s Next for Python?

There’s always something happening in the world of Python! The core developers are busy fixing bugs and developing new features, while the bigger community brings a lot of value through tons of libraries and applications. On top of this effort, many take the time to challenge themselves or join meetups and conference to meet other developers.

It’s great to see that the language and community continues to thrive and grow. What’s your favorite Python news story from the last month? Let us know in the comments. Happy Pythoning!

🐍 Python Tricks 💌

Get a short & sweet Python Trick delivered to your inbox every couple of days. No spam ever. Unsubscribe any time. Curated by the Real Python team.

Python Tricks Dictionary Merge

About Geir Arne Hjelle

Geir Arne is an avid Pythonista and a member of the Real Python tutorial team.

» More about Geir Arne

Each tutorial at Real Python is created by a team of developers so that it meets our high quality standards. The team members who worked on this tutorial are:

Master Real-World Python Skills With Unlimited Access to Real Python

Locked learning resources

Join us and get access to thousands of tutorials, hands-on video courses, and a community of expert Pythonistas:

Level Up Your Python Skills »

Master Real-World Python Skills
With Unlimited Access to Real Python

Locked learning resources

Join us and get access to thousands of tutorials, hands-on video courses, and a community of expert Pythonistas:

Level Up Your Python Skills »

What Do You Think?

Rate this article:

What’s your #1 takeaway or favorite thing you learned? How are you going to put your newfound skills to use? Leave a comment below and let us know.

Commenting Tips: The most useful comments are those written with the goal of learning from or helping out other students. Get tips for asking good questions and get answers to common questions in our support portal.


Looking for a real-time conversation? Visit the Real Python Community Chat or join the next “Office Hours” Live Q&A Session. Happy Pythoning!