PythonHub Logo Python Hub Weekly Digest for 2026-06-28

Python Hub Weekly Digest cover

This week in Python, we're getting crafty with a GitHub Pages alternative built entirely with standard library magic — it's like the Hogwarts of static site hosting, only without the Sorting Hat (but with HTTPS support). If that's not enough to tickle your developer fancy, there's also a guide to snagging LLM API keys without the usual credit card gymnastics. Spoiler: it's as easy as copy-pasting. So buckle up, because whether you're coding or conjuring, it's shaping up to be a week of wizardry in the world of Python. Happy coding!

💖 Most Popular

GitHub Pages alternative with native Python
This article shows how to recreate core GitHub Pages functionality using only Python's standard library, including static file serving, automated deployments, and HTTPS support. By extending http.server in just a few dozen lines of code, it demonstrates how native Python tools can power a lightweight static website hosting platform.

free-llm-api-keys
The easiest way to access LLM APIs for free - no credit card, no registration. Copy a key from the table below, paste it into your app, and start building.

pyappdist – Build installers for Python apps

whichllm
Find the local LLM that actually runs and performs best on your hardware. Ranked by real, recency-aware benchmarks, not parameter count. One command, run it instantly.

Pyodide 314.0: Python packages can now publish WebAssembly wheels to PyPI


📖 Articles

Testing in Python with pytest: from the basics to advanced techniques
This comprehensive guide covers pytest from basic testing concepts to advanced techniques such as fixtures, parametrization, mocking, and asynchronous testing. It provides practical patterns for building maintainable, scalable Python test suites and leveraging pytest effectively in production environments.

Scikit-learn 1.9
Scikit-learn 1.9 release is out, and it comes with solid improvements to many existing estimators, making them faster, more stable, handling missing values, adding GPU support… The release also enhances the estimator displays in notebooks, and introduces a callback mechanism that opens the door to progress bars or advanced monitoring of convergence.

Libraries for your Python Polars workflows
The post highlights a set of Python libraries that work natively with Polars, letting you stay in the Polars ecosystem for validation, tables, visualization, and LLM-assisted analysis.

dograh-hq / dograh
Open source voice AI platform. Self-hosted alternative to Vapi and Retell. On Prem, BYOK across Speech to Speech or LLM/STT/TTS, with a visual workflow builder, MCP native and telephony support.

debpalash / OmniVoice-Studio
The open-source ElevenLabs alternative for local voice cloning, design, create, dubbing and dictation Desktop App

Plugins case study: Pluggy
The post explains how Pluggy works as a reusable Python library for building plugin systems, centered on hooks that hosts define and plugins implement. It also highlights the design tradeoffs Pluggy handles well, including registration, signature validation, ordering, and hook wrappers, while leaving plugin discovery largely up to the application.

Ordered key sharding in DynamoDB
So, you want to keep a sorted index in DynamoDB, but for whatever reason – usually throughput-related – it won't fit on a single partition. What do you do? Today, we look at the available solutions, do the math, and find out which is best.

Showcasing allauth IdP: build an MCP server
This article demonstrates how to build a Model Context Protocol (MCP) server using Django and django-allauth, with OpenID Connect (OIDC) authentication handled by the allauth.idp package. It shows how MCP hosts such as Claude can dynamically register and authenticate clients without relying on separate third-party identity providers.

Python Pro Hub – Python Error Fixes, Data Science & AI Tutorials
Fix Python errors fast. Tutorials covering data science, AI projects, Flask, Django, and automation for all skill levels.

SRE for AI Agents: Error Budgets, Trust, and 90 Trials
90 trials, 1.7 phantom files per change. Python shadow-replay experiment with reproducible dataset. DOI: 10.5281/zenodo.20645992

Panniantong / Agent-Reach
Give your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.

NVlabs / Sana
SANA: Efficient High-Resolution Image Synthesis with Linear Diffusion Transformer

How and why to run modified Python code using the ast module
Learn how to use Python's ast module to parse, transform, and execute code at runtime, using eval-type-backport as a real-world Python metaprogramming example.

How I made dependency injection in Python 130× faster: from reflection to compiling the graph
The post shows how a Python dependency injection container was optimized from ~53 µs to 0.40 µs per resolve by caching plans, eliminating unnecessary checks, and compiling dependency graphs into generated code. Along the way, it demonstrates practical performance engineering techniques, including code generation, common-subexpression elimination, fuzz testing, and reproducible benchmarking

The 2026 way of using importmaps in Django
The post explains a modern Django approach to JavaScript using import maps, native browser modules, and a shared import map rendered by Django templates. It argues that import maps can eliminate the need for bundlers in many applications while still supporting cache-busted static assets and reusable third-party app JavaScript.

Jupyter Enterprise Gateway: From Notebook to Kubernetes Cluster Admin
Security researchers at elttam uncovered three critical vulnerabilities in Jupyter Enterprise Gateway that allow notebook users to escalate privileges and potentially take over an entire Kubernetes cluster. The post walks through the attack chain from a Jupyter notebook to cluster-wide compromise, highlighting the risks of running multi-tenant notebook infrastructure without strong isola...

Python Hub Weekly Digest for 2026-06-21


⚙️ Projects

defending-code-reference-harness
Skills for threat modeling, scanning, triage, patching, plus an autonomous scanning harness you can customize.

OpenMed
Local-first healthcare AI that never leaves the device.

Odysseus
Self-hosted AI workspace.

turbovec
A vector index built on TurboQuant, written in Rust with Python bindings.

SkillSpector
Security scanner for AI agent skills. Detect vulnerabilities, malicious patterns, and security risks before installing agent skills.

Symbolica
Symbolica is a high-performance computer algebra library for Python and Rust. Manipulate large expressions, match patterns, and generate optimized numerical code — at unprecedented speed.

Marin
Open-source framework for the research and development of foundation models.

obsidian-wiki
Framework for AI agents to build and maintain a digital brain through Obsidian wiki using Karpathy's LLM Wiki pattern.

BugHunter
AI-powered bug bounty hunting from your terminal - recon, 20 vuln classes, autonomous hunting, and report generation. All inside Claude Code.

agent-toolkit-for-aws
Official, AWS-supported MCP servers, skills, and plugins to help AI agents build on AWS.

sia
SIA is a Self Improving AI framework to autonomously improve the performance of any AI system (Model / Agent) on a benchmark task.

OpenMontage
World's first open-source, agentic video production system. 12 pipelines, 52 tools, 500+ agent skills. Turn your AI coding assistant into a full video production studio.

tracesage
tracesage adds local, zero-infra tracing to LangChain/LangGraph agents in two lines, it captures every chain, tool, and LLM call to SQLite and shows the run as a live graph and timeline in your browser. Open source, pip install, MIT licensed.



🎬 Videos

django-q2 with Redis & Docker - for Background Tasks!
In this video, we'll look at how to setup django-q2 using a Redis task broker running in a Docker container. This gives a more efficient and production-ready setup than using the ORM.

Nested Loops Aren’t the Problem. This Is.
This video explains why nested loops are often a design problem rather than an algorithmic necessity, typically resulting from poor data structures or misplaced responsibilities. Using a real-world refactoring example, it shows how restructuring code can reduce complexity and improve maintainability.

Django Internationalization - translate your app to multiple languages!
This video explains how Django's internationalization framework enables applications to support multiple languages by detecting a user's active language and serving the appropriate translations. It also demonstrates the makemessages and compilemessages commands, along with common localization approaches such as language cookies and URL-based language prefixes.

PyData London 26
The videos from PyData London 2026 are now available.


👾 Reddits

Choosing a Python task queue library in 2026: Celery vs Dramatiq vs FastStream vs Taskiq vs Repid

Are we happy with SQLAlchemy?

Python is harder than R

Talks from the PyCon US Typing Summit - Intersections, Tensor Shapes, and more!


← Previous

Project by Ruslan Keba. Since 2012. Powered by Python. Made in 🇺🇦Ukraine.