PythonHub
2.64K subscribers
2.35K photos
50.5K links
Human-curated Python news, projects, articles & tools.

https://pythonhub.dev/
Download Telegram
Turn SQLite Into A Vector Database For RAG

This video demonstrates how to turn SQLite into a vector database for AI applications using the sqlite-vec and sqlite-ai-vector extensions. It covers setting up both packages in Python with OpenAI embeddings, implementing similarity search and metadata filtering, and benchmarking their performance, memory efficiency, and quantization capabilities.

https://www.youtube.com/watch?v=VlEoSzkd2gQ
numba-metal

An out-of-tree GPU backend that lets you write a constrained subset of Numba-style Python kernels and run them on the GPU of Apple-silicon Macs through Metal.

https://github.com/eviking/numba-metal
Nifty Django Feature: Q() Objects

Part of the Nifty Django features series: Django’s Q() objects allow you to some fancy filtering!

https://www.better-simple.com/django/2026/09/09/nifty-feature-q-objects/
Plugin Architecture Across Service Boundaries: An API Contract with Pydantic & FastAPI - Pt. 1

This articles shows how to build a service-level plugin architecture with Pydantic and FastAPI. I will be using an API contract package that plugin providers implement and our platform validates the contract during registration.

https://patrickm.de/plugin-architecture-across-service-boundaries-an-api-contract-with-pydantic-fastapi-pt-1/
guardlist: a list that raises an error when modified during iteration

Python protects dicts and sets from mutation during iteration, but not lists. GuardedList fills that gap with a clear error.

https://pypi.org/project/guardlist/
Playing with a Badgeware Badger

Ben Tasker shares his experience customizing the Badgeware Badger—a Raspberry Pi RP2350-powered e-ink name badge running MicroPython. He details troubleshooting image formatting, color-depth, and font sizing issues to display his custom avatar, a Fediverse social handle, and logo on the device.

https://www.bentasker.co.uk/posts/blog/general/playing-with-an-eink-badge.html
Jitter is the cheapest reliability fix you are not using

Distributed systems synchronise themselves without being told to: every client that retries on a fixed interval, restarts after a deploy, or reconnects after a network blip ends up firing at the same moment as every other client. The resulting spike is a self-inflicted denial of service that no single component is responsible for. Adding randomness to any repeating interval breaks the al...

https://ankit-rana.com/logs/49-jitter-synchronised-clients/
Django: serve the change password well-known URL

Adam Johnson explains how to implement the standard /.well-known/change-password URL redirect in Django using RedirectView, helping password managers direct users to their password change pages. He also covers testing the endpoint, checking for server misconfigurations that could interfere with password managers, and setting the correct autocomplete attributes on password fields.

https://adamj.eu/tech/2026/09/16/django-change-password-url/