September 2024 – Real Python
As the autumn leaves start to fall and signal the transition to cooler weather, the Python community has warmed up to a series of noteworthy developments. Last month, a new maintenance release of Python 3.12.5 was introduced, reinforcing the language’s ongoing commitment to stability and security.
On a parallel note, Python continues its reign as the top programming language according to IEEE Spectrum’s annual rankings. This sentiment is echoed by the Python Developers Survey 2023 results, which reveal intriguing trends and preferences within the community.
Looking ahead, PEP 750 has proposed the addition of tag strings in Python 3.14, inspired by JavaScript’s tagged template literals. This feature aims to enhance string processing, offering developers more control and expressiveness.
Also, EuroSciPy 2024 recently concluded in Poland after successfully fostering cross-disciplinary collaboration and learning. The event featured insightful talks and hands-on tutorials, spotlighting innovative tools and libraries that are advancing scientific computing with Python.
Let’s dive into the most significant Python news from the past month!
Python 3.12.5 Released
Early last month, Python 3.12.5 was released as the fifth maintenance update for the 3.12 series. Since the previous patch update in June, this release packs over 250 bug fixes, performance improvements, and documentation enhancements.
Here are the most important highlights:
- Standard Library: Many modules in the standard library received crucial updates, such as fixes for crashes in
ssl
when the main interpreter restarts, and various corrections for error-handling mechanisms. - Core Python: The core Python runtime has several enhancements, including improvements to dictionary watchers, error messages, and fixes for edge-case crashes involving f-strings and multithreading.
- Security: Key security improvements include the addition of missing audit events for interactive Python use and socket connection authentication within a fallback implementation on platforms such as Windows, where Unix inter-process communication is unavailable.
- Tests: New test cases have been added and bug fixes have been applied to prevent random memory leaks during testing.
- Documentation: Python documentation has been updated to remove discrepancies and clarify edge cases in multithreaded queues.
Additionally, Python 3.12.5 comes equipped with pip 24.2 by default, bringing a slew of significant improvements to enhance security, efficiency, and functionality. One of the most notable upgrades is that pip now defaults to using system certificates, bolstering security measures when managing and installing third-party packages.
A noteworthy change in pip 24.2 is the deprecation of legacy editable installations, which were traditionally handled using setup.py develop
. This move marks a progressive shift towards more modern and secure practices. You can read a blog post explaining what’s new in pip 24.2 to get more insight into these changes and why they’ve been made.
Overall, Python 3.12.5 demonstrates the language’s ongoing commitment to security, performance, and developer convenience, marking another significant step forward for one of the world’s most widely used programming languages. For detailed information about all the changes, you can review the full release notes available in the official Python documentation.
Python Remains the Top Language of 2024
Python continues to dominate the programming world in 2024, maintaining its spot as the top language according to IEEE Spectrum’s annual rankings:
Python clinching the top spot in the rankings again this year marks yet another victory for a language that has evolved from humble beginnings to become the backbone of various fields, including data science, artificial intelligence, automation, web development, and many more.
Despite fierce competition from stalwarts like Java and C++, and the emergence of newer, more specialized languages like Go and Rust, Python’s versatility has ensured that it remains the most sought-after of languages. Java, the second-ranked language, is a formidable player in the enterprise space, but its utility is more specialized. Python, on the other hand, remains ubiquitous—used in everything from automation scripts to large-scale software systems.
As 2024 progresses, Python’s future looks brighter than ever. The increasing demand for data-related jobs, AI research, and web development ensures that Python will continue to dominate both industry and academia. With active support from a massive open-source community and a continuous stream of enhancements, Python shows no signs of slowing down.
Python Developers Survey 2023 Results Are In
The Python Developers Survey 2023, jointly conducted by the Python Software Foundation and JetBrains, has gathered insights from over 25,000 Python developers and enthusiasts across nearly 200 countries. The survey highlights key trends in the Python ecosystem, shedding light on general Python usage, tools, and frameworks.
One of the major findings is that 85% of developers use Python as their primary language, while a notable 15% use it as a secondary tool, often alongside languages like JavaScript, HTML/CSS, and SQL. The survey also reveals a growing interest in Go and Rust for developing low-latency, memory-safe applications.
In terms of development, web development (21%) and data science (19%) remain the most common use cases for Python. Popular frameworks like Django, Flask, and the rapidly rising FastAPI continue to dominate the web development space, while pandas and NumPy lead in data exploration and processing.
Among the most popular developer tools, Visual Studio Code maintained its dominance, with 41% of respondents selecting it as their primary editor. This was followed closely by PyCharm, which was chosen by 31% of developers, showing its strong presence among Python users. Interestingly, a large portion of Python developers (40%) reported using three or more editors for their Python work, a testament to the varied workflows within the community.
Python’s role in data science remains prominent, with 48% of developers engaging in data exploration and processing. The most widely used tools for these tasks continue to be pandas and NumPy, with 77% and 72% of respondents relying on them, respectively. The survey also indicates the growing popularity of distributed data processing tools like Spark and Dask, especially among those working with big data. These trends reflect Python’s strength in both traditional data science and the emerging field of machine learning, where libraries like scikit-learn and PyTorch are becoming standard.
In addition to technical preferences, the survey shed light on open-source contributions, with 37% of respondents actively participating in open-source projects. This marks an encouraging sign for the Python community, which has long emphasized the importance of collaboration and shared development. Many contributors focus on writing code, documentation, and tests, while others participate in governance or community-building efforts.
From web development and data science to its increasing adoption in machine learning, Python remains a preferred choice for many. The survey not only underscores Python’s technological diversity but also highlights the community’s ongoing commitment to open-source collaboration and learning. As Python continues to evolve, its user base is likely to remain highly engaged and adaptable.
PEP 750 Draft Introduces Tag Strings
One proposal for Python’s upcoming version 3.14 is to bring a powerful new feature in the form of tag strings, detailed in PEP 750. Inspired by JavaScript’s tagged template literals, tag strings build on Python’s f-strings, allowing developers to customize string processing in novel ways. By placing a tag function in place of the f
prefix, you can create reusable and flexible templates for various domains, such as web templating or data validation.
Tag strings extend Python’s capabilities by intercepting string expressions, allowing for delayed evaluation or transformation before the final output is constructed. This opens up possibilities for creating domain-specific languages (DSLs), making templating more powerful and expressive while keeping everything within Python’s syntax.
Key motivations for introducing tag strings include overcoming the limitations of f-strings, such as the inability to intercept interpolated values, thus providing more control and security. The implementation of tag strings may reduce the need for external templating systems, streamlining code and enabling seamless integration of business logic.
It’s exciting news that PEP 750 is proposing this useful feature, which will enhance flexibility and control in string formatting and beyond.
EuroSciPy 2024 Wraps Up
The 16th edition of the European Conference on Python in Science (EuroSciPy) chose Szczecin, Poland as its venue for 2024. Originally launched in Leipzig in 2008, EuroSciPy has become a cornerstone event for cross-disciplinary collaboration among Python enthusiasts in scientific research. The 2024 edition was as fun and interesting as ever, spanning two days of intensive tutorials, two days of insightful talks, and a day dedicated to development sprints.
Attracting maintainers and top contributors from across Europe, EuroSciPy has always been a unique opportunity to engage with the developers behind pivotal data science libraries, which this year included scikit-learn, pandas, Polars, and NumPy, among others. This year’s itinerary highlights included 60 speakers over five days, 16 specialized workshops, and the participation of delegates from all over Europe.
One standout session was an engaging 90-minute introduction to Polars by Real Python team member Geir Arne Hjelle. Polars is emerging as a formidable tool in the data science arena due to its blazing speed and streamlined, intuitive API. This new library is built for efficiency and employs lazy evaluation and an advanced query planner, making it an excellent resource for data analysts and engineers looking to manipulate structured data more effectively.
Polars simplifies data transformation tasks like selection, filtering, and aggregation through its powerful syntax and expression-based commands. The session participants gained foundational knowledge in how to read and write data with Polars, organize data workflows, and harness the library’s full potential through its lazy API.
For those who couldn’t attend, the supporting materials and full tutorial are available as a GitHub repository. The Polars library offers robust flexibility and an impressive performance boost, making it an exciting addition to the Python data science ecosystem. You can also follow EuroSciPy’s channel on YouTube to be alerted when recordings from the conference are posted.
Planning for next year’s edition of EuroSciPy has already started and the organizing team is currently looking at where to host the conference in 2025. If you want to bring EuroSciPy to your city and be one of the local organizers, then you can signal your interest.
What’s Next for Python?
Some notable insights and updates have recently landed in the Python community. The maintenance release of Python 3.12.5 is focused on stability and security, delivering a host of bug fixes and enhancements. Python topped IEEE Spectrum’s annual programming language rankings once again this year, and the Python Developers Survey 2023 offered insights into trends and preferences within the developer community.
Additionally, PEP 750 proposed the introduction of tag strings in Python 3.14, promising enhanced string processing capabilities. And to top it all off, the EuroSciPy 2024 event in Poland fostered next-level collaboration and learning by highlighting advancements in scientific computing.
The Python ecosystem continues to evolve and advance, and we’re excited to see what’s next on the horizon. Share your thoughts on these developments in the comments below!
Happy Pythoning!