The latest Python developments all point to the same thing—Python is currently thriving. The recent GitHub Octoverse 2024 report has revealed that Python is now the most used language on GitHub. Also, last month saw the release of Python 3.13, which is already laying the groundwork for some exciting future improvements.
While Python core developers have been busy exploring the language’s features as they tinker with upcoming enhancements, it’s good to know that working on Python’s source code isn’t the only way you can contribute to Python’s future. Another way to shape the focus of upcoming releases is to join the Python Developers Survey 2024.
And with the end of the year in sight, you may want to venture a look at next year’s calendar and mark some dates, such as the PyCon US conference in May or the Python 3.14 release in October 2025.
Now that you know the highlights, it’s time to dive into the most important Python news for November.
Join Now: Click here to join the Real Python Newsletter and you'll never miss another Python tutorial, course update, or post.
Python’s Popularity Shines in GitHub’s Octoverse 2024
The latest Octoverse report for 2024 shows that Python remains one of the most widely used languages on GitHub, securing its place as a core language in open-source and professional development. Python ranked among the top three most-used languages, demonstrating its continued appeal across industries and experience levels:
As GitHub’s annual report illustrates, Python’s popularity is fueled by its solid role in developing machine learning and artificial intelligence frameworks.
Another takeaway from the Octoverse survey is Python’s strong community engagement. Python developers are not only active in contributing code but also in participating in discussions, filing issues, and reviewing pull requests.
These characteristics make Python popular and accessible, and also drive the development of new releases.
Python 3.13 Released
The latest version of Python, 3.13, came out on October 7. You can read more about the release in last month’s newsletter.
If you haven’t tried Python 3.13 for yourself yet, then you should give it a quick spin! If you’re working on a library or an application, it’s especially important to check that it works on the latest version of Python. You can install several versions of Python on your computer to try them side by side.
The biggest challenge with upgrading a project to a brand-new version of Python is that some of your dependencies may not be ready yet. In general, pure Python libraries should continue to work well, but you may experience issues with extension modules that need to be compiled specifically for Python 3.13. However, most of the popular libraries are on the ball and are already providing compatible wheels.
Python 3.14 Alpha 1 Available
Even though Python 3.13 has just been released, the core developers have already been working on Python 3.14 for several months. You can expect the next version of Python to be released in October 2025.
The first alpha version of Python 3.14 is now available. As it’s still early in development, you won’t find many new features yet.
Instead, the main differences between Python 3.13 and 3.14 so far are deprecations and a new module named annotationlib
. The annotationlib
module was introduced in PEP 749 to provide tools for introspecting annotations.
Note: Python 3.7 introduced postponed evaluation of annotations using a from __future__ import annotations
directive. This allows the use of forward references in type annotations, where you can refer to an object that hasn’t been defined yet.
Consider the following partial implementation of a node in a linked list:
>>> from __future__ import annotations
>>> class Node:
... def __init__(self, data: int, next_node: None | Node = None):
... self.data = data
... self.next_node = next_node
...
>>> Node.__init__.__annotations__
{'data': 'int', 'next_node': 'None | Node'}
You refer to Node
in the annotation of next_node
even though Node
isn’t completely defined yet. This is a forward reference made possible by the __future__
directive. Note, however, that the annotations are stored as strings.
In Python 3.14, deferred annotations become the default. You can now write the same example as follows:
>>> class Node:
... def __init__(self, data: int, next_node: None | Node = None):
... self.data = data
... self.next_node = next_node
...
>>> import annotationlib
>>> annotationlib.get_annotations(Node.__init__)
{'data': <class 'int'>, 'next_node': None | __main__.Node}
The forward reference works by default. Also, the annotations are proper code objects and not strings.
Converting annotations to strings was an elegant fix to the problem of forward references. The downside was that this made it hard to use annotations at runtime, which is done by popular libaries like Pydantic and FastAPI. This change to how annotations are handled has been in the works for several years, and is finally coming in Python 3.14. You can read more about these developments in previous newsletters:
- PEP 563, PEP 649, and the Future of Python Type Annotations
- PEP 649 Delayed Until the Python 3.14 Release
Currently, you can use the .__annotations__
attribute or inspect.get_annotations()
to access annotations. With the release of Python 3.14, using annotationlib.get_annotations()
will be considered best practice for inspecting annotations at runtime.
Python Developers Survey Open for Responses
In an effort to gain insights into the current state of Python development, the Python Software Foundation (PSF), in collaboration with JetBrains, runs the Python Developers Survey every year.
The 2024 version is the eighth iteration of this survey. You can fill out the Python Developers Survey and share your insights about how, where, and when you use Python. Answering the questions will take around ten to fifteen minutes.
Twenty lucky winners are randomly selected from the participants who complete the survey. Each winner will receive a $100 Amazon gift card or a local equivalent. After completing the survey, you’ll be able to view the aggregated results. Here are the results for 2022 and 2023.
Regardless of your current level of knowledge or involvement in the Python community, participating in the Python Developers Survey is essential for the growth of Python as a language. It also helps the PSF support the big community behind Python.
If you’d like to participate more actively in the community, then joining a small local meetup is a great start. If you want to aim high, then you might even consider sharing your knowledge by giving a talk at a big conference!
PyCon US 2025 Opens Call for Proposals
PyCon US is the largest annual gathering of Python developers. In 2025, the conference will once again take place in Pittsburgh, Pennsylvania, from May 14 to 22. The main conference happens from May 16 to 18, following two days of tutorials and preceding four days of sprints.
The 2024 edition of PyCon US featured more than one hundred talks and tutorials that you can now watch online.
In 2025, there will be a few important changes to the conference that the organizers shared on the PyCon blog:
- Adjusted ticket prices: Individual and corporate rates will increase by $50 USD, and the student rate will increase by $25 USD.
- No online event: There won’t be any online streams of the conference this year. However, all the talks held on the main days (Friday to Sunday) will be recorded and made available for online viewing afterward.
- No tutorial recordings: Tutorials will no longer be recorded, in the hopes of encouraging higher participation in the tutorials onsite.
- Limited speaker travel grants: There will be a limit of two travel grant-funded speakers per accepted proposal across all tracks.
These changes are occurring mainly because of higher costs and to make the onsite experience more worthwhile. You can read more about the reasons behind the decision to make these changes here.
If you want to take part in next year’s PyCon US conference, then you should have a look at the call for proposals, which is now open. You can propose a poster, a tutorial, or a talk—in either English or Spanish. The call for proposals closes on December 19, 2024.
Presenting at PyCon is a great opportunity to share your experiences and expertise. If you want to submit a proposal, then you can also take advantage of PyCon’s mentorship program. This means that you’ll be paired with an experienced mentor who can help answer questions you may have about your proposal. Your mentor will support you in compiling all the necessary information.
What’s Next for Python?
With Python continuing to lead on GitHub and the recent release of Python 3.13, there’s a lot to look forward to. Between the upcoming Python 3.14 release and community initiatives like the Python Developers Survey and PyCon US 2025, there’s no shortage of ways to get involved and contribute to the future of Python. Whether you’re a seasoned developer or just starting out, your input, feedback, and collaboration make a difference.
So, mark your calendars, try out the latest Python versions, and if you feel inspired, consider submitting a talk for PyCon or simply sharing your thoughts in the survey. Your involvement in the Python community not only enhances your skills but also helps shape the future of this dynamic programming language.
Join Now: Click here to join the Real Python Newsletter and you'll never miss another Python tutorial, course update, or post.