skip to navigation
skip to content

Planet Python

Last update: May 07, 2026 04:43 PM UTC

May 07, 2026


Real Python

Quiz: Qt Designer and Python: Build Your GUI Applications Faster

Test your knowledge of Qt Designer for Python. Build PyQt GUIs visually with drag-and-drop, signals and slots, and .ui files.

May 07, 2026 12:00 PM UTC


PyCharm

Python Unplugged on PyTV: Key Takeaways From Our Community Conference

What happens when a global community with a love for Python meets a splash of 90s nostalgia? You get Python Unplugged on PyTV, our first-ever fully online community conference. On March 4, 2026, Python Unplugged on PyTV set out to capture the magic of a full, in-person conference experience for people watching remotely all over […]

May 07, 2026 11:27 AM UTC

May 06, 2026


Talk Python to Me

#547: Parallel Python at Anyscale with Ray

When OpenAI trained GPT-3, they didn't roll their own orchestration layer. They used Ray, an open source Python framework born out of the same Berkeley research lab lineage that gave us Apache Spark. And here's the twist: Ray was originally built for reinforcement learning research, then quietly faded as RL hit a wall. Until ChatGPT showed up. Suddenly reinforcement learning was back, as the post-training step that turns a raw language model into something genuinely useful. Edward Oakes and Richard Liaw, two founding engineers behind Ray and Anyscale, join me on Talk Python to tell that story. We'll trace Ray from its RISE Lab origins at UC Berkeley to powering some of the largest training runs in the world. We'll talk about what Ray actually is, a distributed execution engine for AI workloads, and how a few lines of Python become work running across hundreds of GPUs. We'll cover Ray Data for multimodal pipelines, the dashboard, the VS Code remote debugger, KubRay for Kubernetes, and where Ray fits alongside Dask, multiprocessing, and asyncio. If you've ever stared at a single-machine Python script and thought, "there has to be a better way to scale this", this one's for you

May 06, 2026 08:40 PM UTC


Talk Python Blog

Announcing German Subtitles on Courses

If you’re a native German speaker who is taking our courses over at Talk Python Training, we have excellent news for you. We now offer German transcripts and subtitles for our course videos.

They’re incredibly easy to enable. Just click the CC for closed captions in the player and switch your language to Deutsch.

That’s it! Now you’re enjoying closed captions in your language.

What if I don’t speak German?

If you don’t speak German, well, maybe these subtitles are not for you. But there are still some very cool updates to the website as well.

May 06, 2026 06:05 PM UTC


Real Python

ChatterBot: Build a Chatbot With Python

Build a Python chatbot with the ChatterBot library. Clean real conversation data, train on custom datasets, and add local AI with Ollama.

May 06, 2026 02:00 PM UTC


Mike Driscoll

Textual – An Intro to DOM Queries (Part II)

Last month, you learned the basics of Textual’s DOM queries. If you missed it, you can read the article now! In this tutorial you will be learning about the following topics: The DOMQuery object Getting the first or last widget Query filters Query exclusions Other query methods Let’s get started! The DOMQuery Object The DOMQuery object gets […]

The post Textual – An Intro to DOM Queries (Part II) appeared first on Mouse Vs Python.

May 06, 2026 12:47 PM UTC


Real Python

Quiz: Python & APIs: A Winning Combo for Reading Public Data

Test your understanding of working with web APIs in Python, from reading responses and handling status codes to authentication and rate limiting.

May 06, 2026 12:00 PM UTC

Quiz: How to Use OpenCode for AI-Assisted Python Coding

Quiz yourself on OpenCode: install it, connect an AI provider, and use it to analyze and refactor Python from your terminal.

May 06, 2026 12:00 PM UTC


Python GUIs

Sorting and Filtering a QTableView with QSortFilterProxyModel — Learn how to add interactive sorting and filtering to your PyQt/PySide table views without touching your underlying data

I'm using QTableView to show some data, which works well. But I would like to be able to sort the data by different columns. How can I do this without sorting the data manually?

May 06, 2026 06:00 AM UTC


Django Weblog

Announcing the Google Summer of Code 2026 contributors for Django

The Django Software Foundation is happy to share the contributors selected for Google Summer of Code 2026.

This year, we received over 200 proposals from contributors across the world. The level of detail and thought in these proposals made the selection process both exciting and challenging.

Accepted Projects

We’re pleased to announce the following projects:

Implementing an experimental API framework for Django core

Contributor: Praful Gulani
Mentor: Andrew Miller

This project explores an approach to introducing experimental APIs in Django by modernizing DEP 2 and defining an opt-in model.

Add support for table-valued expressions in the ORM

Contributor: p-r-a-v-i-n
Mentors: Bhuvnesh Sharma, Jacob Walls

This project develops a way to join against table-valued expressions such as Subquery() or PostgreSQL functions like generate_series() within the ORM.

Unified dark mode and UI consistency for Django’s issue tracker

Contributor: Keha Chandrakar
Mentors: Saptak S, Sarah A

This project adds dark mode support to Django’s issue tracker and brings it closer in visual consistency to the main Django website.

Switch to Playwright tests for integration testing

Contributor: Varun Kasyap Pentamaraju
Mentor: Sarah Boyce

This project focuses on improving Django’s browser integration testing by transitioning from Selenium to Playwright.


Each of these projects focuses on areas of Django that we’re looking to improve over the coming months. Contributors will work closely with their mentors, participate in regular check-ins, and engage with the broader Django community.

To everyone who applied

Thank you to everyone who submitted a proposal this year.

We know the effort it takes to explore ideas, write proposals, and engage with the community. Not being selected this time does not reflect the overall quality or potential of your work.

Given the number of applications and that the program is run by a small group of volunteers, we’re not able to provide individual feedback on proposals. Selections are based on a combination of factors including alignment with project goals, feasibility within the program timeline, prior contributions, and clarity of the proposal.

We encourage you to stay involved. Many contributors to Django started in similar positions. Keep building, keep contributing, and stay connected with the community. There will always be more opportunities.

What’s next

The community bonding period has begun, and contributors will soon start working on their projects. We’ll share updates as the program progresses and highlight the work along the way.

Please join us in welcoming the selected contributors and supporting them during the program.

May 06, 2026 12:34 AM UTC

May 05, 2026


PyCoder’s Weekly

Issue #733: marimo pair, Finding Bugs With LLMs, httpxy, and More (2026-05-05)

May 05, 2026 07:30 PM UTC


Django Weblog

Django security releases issued: 6.0.5 and 5.2.14

In accordance with our security release policy, the Django team is issuing releases for Django 6.0.5 and Django 5.2.14. These releases address the security issues detailed below. We encourage all users of Django to upgrade as soon as possible.

CVE-2026-5766: Potential denial-of-service vulnerability in ASGI requests via file upload limit bypass

ASGI requests with a missing or understated Content-Length header could bypass the FILE_UPLOAD_MAX_MEMORY_SIZE limit, potentially loading large files into memory and causing service degradation.

As a reminder, Django expects a limit to be configured at the web server level rather than solely relying on FILE_UPLOAD_MAX_MEMORY_SIZE.

This issue has severity "low" according to the Django security policy.

This issue was originally highlighted by Kyle Agronick in Trac. Thanks to Jacob Walls for following up and reporting it.

CVE-2026-35192: Session fixation via public cached pages and SESSION_SAVE_EVERY_REQUEST

Response headers did not vary on cookies if a session was not modified, but SESSION_SAVE_EVERY_REQUEST was True. A remote attacker could steal a user's session after that user visits a cached public page.

This issue has severity "low" according to the Django security policy.

CVE-2026-6907: Potential exposure of private data due to incorrect handling of Vary: * in UpdateCacheMiddleware

Previously, django.middleware.cache.UpdateCacheMiddleware would erroneously cache requests where the Vary header contained an asterisk ('*'). This could lead to private data being stored and served.

This issue has severity "low" according to the Django security policy.

Thanks to Ahmad Sadeddin for the report.

Affected supported versions

Resolution

Patches to resolve the issue have been applied to Django's main, 6.0, and 5.2 branches. The patches may be obtained from the following changesets.

CVE-2026-5766: Potential denial-of-service vulnerability in ASGI requests via file upload limit bypass

CVE-2026-35192: Session fixation via public cached pages and SESSION_SAVE_EVERY_REQUEST

CVE-2026-6907: Potential exposure of private data due to incorrect handling of Vary: * in UpdateCacheMiddleware

The following releases have been issued

The PGP key ID used for this release is Sarah Boyce: 3955B19851EA96EF

General notes regarding security reporting

As always, we ask that potential security issues be reported via private email to security@djangoproject.com, and not via Django's Trac instance, nor via the Django Forum. Please see our security policies for further information.

May 05, 2026 02:00 PM UTC


Real Python

Use Codex CLI to Enhance Your Python Projects

Learn how to use Codex CLI to add features to Python projects directly from your terminal, without needing a browser or IDE plugins.

May 05, 2026 02:00 PM UTC

Quiz: Python Application Layouts: A Reference

Test your knowledge of Python project layouts for one-off scripts, installable packages, internal packages, and Django and Flask web applications.

May 05, 2026 12:00 PM UTC


ListenData

How to Automate Cloudflare Usage Monitoring

May 05, 2026 06:42 AM UTC

May 04, 2026


Real Python

A New Python Packaging Council and Other News for May 2026

A new Python Packaging Council, PEP 803 stabilizes the free-threaded ABI, the incremental GC gets reverted, and Astral changes hands.

May 04, 2026 02:00 PM UTC


PyCon

Everything You Always Wanted to Know About Sprints!

May 04, 2026 01:49 PM UTC


Real Python

Quiz: Data Management With Python, SQLite, and SQLAlchemy

Test your knowledge of SQLite and SQLAlchemy in Python, from flat files and SQL to ORM models and many-to-many relationships.

May 04, 2026 12:00 PM UTC


The Python Coding Stack

Do You Get It Now?

Python's `.__getitem__()`, `.__getattr__()`, `.__getattribute__()`, and `.__get__()` • What's The Difference? • Let's clear the confusion

May 04, 2026 11:59 AM UTC


Daniel Roy Greenfeld

Word counter that ignores Markdown

For when I want a word count that ignores Markdown symbols

May 04, 2026 11:55 AM UTC


PyCharm

PyTorch vs. TensorFlow: Choosing the Right Framework in 2026

Choosing between PyTorch and TensorFlow isn’t about finding the “better” framework – it’s about finding the right fit for your project. Both power cutting-edge AI systems, but they excel in different domains. PyTorch dominates research and experimentation, while TensorFlow leads in production deployment at scale. The frameworks have evolved significantly since their early days, each […]

May 04, 2026 10:07 AM UTC


Python Bytes

#478 Iodine tablets and potable water

Topics include profiling-explorer, Reverting the incremental GC in Python 3.14 and 3.15, , and django freeze.

May 04, 2026 08:00 AM UTC


Python Engineering at Microsoft

Introducing Apache Arrow Support in mssql-python

Reviewed by Sumit Sarabhai Fetching a million rows from SQL Server into a Polars DataFrame used to mean a million Python objects, a million GC allocations, and then throwing it all away to build a DataFrame. Not anymore. mssql-python now supports fetching SQL Server data directly as Apache Arrow structures – a faster and more […]

The post Introducing Apache Arrow Support in mssql-python appeared first on Microsoft for Python Developers Blog.

May 04, 2026 04:33 AM UTC


Armin Ronacher

Content for Content’s Sake

May 04, 2026 12:00 AM UTC

May 03, 2026


"Michiel's Blog"

Talk at PyGrunn on httpxyz

I'm giving yet another talk on our new Python package httpxyz!

May 03, 2026 08:00 PM UTC