Python HubInteresting articles and projects for Python developers.
— twitter.com/PythonHub
— telegram.me/PythonHub
— mastodon.social/@pythonhub
— bluesky/@pythonhub.dev
— Discord Python Hub Channel
— WhatsApp Python Hub Channel
— On Patreon, just $1 per month
Share a news, article or interesting project. Link will be published after manual review.
Subscribe to Python Hub Weekly Digest
Making friendly classes
A friendly class accepts sensible arguments, has a nice string representation, and supports ...
Timesliced reservoir sampling: a new(?) algorithm for profilers
Reservoir sampling lets you pick a sample from an unlimited stream of events; learn how it works, and a new variant useful for profilers.
OpenSpace
Make Your Agents: Smarter, Low-Cost, Self-Evolving.
From zero to a RAG system: successes and failures
Building a production RAG system is far more about data pipelines, indexing strategy, and infrastructure tradeoffs than model choice, with most failures coming from scaling, retrieval quality, and compute constraints. The key lesson is that RAG success depends on iterative engineering and system design discipline, not just plugging in an LLM, with real-world performance shaped by bottlen...
ATLAS
Adaptive Test-time Learning and Autonomous Specialization.
Making friendly classes
A friendly class accepts sensible arguments, has a nice string representation, and supports ...
NumPy as Synth Engine
NumPy can be used as a real time sound synthesis engine, generating all audio directly from mathematical functions like waves, noise, and filters without any pre recorded samples. The broader idea is that powerful general purpose tools like NumPy can be pushed far beyond their intended use, enabling complex systems like music generation through pure computation.
Rewriting a 20-year-old Python library
The article covers a full rewrite of the Akismet Python client to add async support, modern HTTP handling, and a richer response model while preserving usability. It emphasizes API ergonomics, testing support, and maintainability, while honoring the original author and evolving the library for modern Python.
Stop Passing Primitives Everywhere (Use Value Objects)
By replacing primitives with immutable Value Objects, you can centralize validation and eliminate domain ambiguity for types like prices and percentages. This pattern ensures that invalid states are impossible to represent, creating a self-documenting and more reliable codebase without the overhead of heavy frameworks.
2026-04-05 · 2026-03-29 · 2026-03-22 · 2026-03-15 · 2026-03-08 · 2026-03-01 · 2026-02-22 · 2026-02-15 · 2026-02-08 · 2026-02-01 · 2026-01-25 · 2026-01-18 · 2026-01-11 · 2026-01-04 · 2025-12-28 · 2025-12-21 · 2025-12-14 · 2025-12-07 · 2025-11-30 · 2025-11-23 · 2025-11-16 · 2025-11-09 · 2025-11-02 · 2025-10-26 · 2025-10-19 · 2025-10-12 · 2025-10-05 · 2025-09-28 · 2025-09-21 · 2025-09-14 · 2025-09-07 · 2025-08-31 · 2025-08-24 · 2025-08-17 · 2025-08-10 · 2025-08-03 · 2025-07-27 · 2025-07-20 · 2025-07-13 · 2025-07-06 · 2025-06-29 · 2025-06-22 · 2025-06-15 · 2025-06-08 · 2025-06-01 · 2025-05-25 · 2025-05-18 · 2025-05-11 · 2025-05-04 · 2025-04-27 · 2025-04-20 · 2025-04-13 · 2025-04-06 · 2025-03-30 · 2025-03-23 · 2025-03-16 · 2025-03-09 · 2025-03-02 · 2025-02-23 · 2025-02-16 · 2025-02-09 · 2025-02-02 · 2025-01-26 · 2025-01-19 · 2025-01-12 · 2025-01-05 · 2024-12-29 · 2024-12-22 · 2024-12-15 · 2024-12-08 · 2024-12-01 · 2024-11-24 · 2024-11-17 · 2024-11-10 · 2024-11-03 · 2024-10-27 · 2024-10-20 · 2024-10-13 · 2024-10-06 · 2024-09-29 · 2024-09-22 · 2024-09-15 · 2024-09-08 · 2024-09-01 · 2024-08-25 · 2024-08-18 · 2024-08-11 · 2024-08-04 · 2024-07-28 · 2024-07-21 · 2024-07-14 · 2024-07-07 · 2024-06-30 · 2024-06-23 · 2024-06-16 · 2024-06-09 · 2024-06-02 · 2024-05-26 · 2024-05-19 · 2024-05-12 · 2024-05-05 · 2024-04-28 · 2024-04-21 · 2024-04-14 · 2024-04-07 · 2024-03-31 · 2024-03-24 · 2024-03-17 · 2024-03-10 · 2024-03-03 · 2024-02-25 · 2024-02-18 · 2024-02-11 · 2024-02-04 · 2024-01-28 · 2024-01-21 · 2024-01-14 · 2024-01-07 · 2023-12-31 · 2023-12-24 · 2023-12-17 · 2023-12-10 · 2023-12-03 · 2023-11-26 · 2023-11-19 · 2023-11-12 · 2023-11-05 · 2023-10-29 · 2023-10-22 · 2023-10-15 · 2023-10-08 · 2023-10-01 · 2023-09-24 · 2023-09-17 · 2023-09-10 · 2023-09-03 · 2023-08-27 · 2023-08-20 · 2023-08-13 · 2023-08-06 · 2023-07-30 · 2023-07-23 · 2023-07-16 · 2023-07-09 · 2023-07-02 · 2023-06-25 · 2023-06-18 · 2023-06-11 · 2023-06-04 · 2023-05-28 · 2023-05-21 · 2023-05-14 · 2023-05-07 · 2023-04-30 · 2023-04-23 · 2023-04-16 · 2023-04-09 · 2023-04-02 · 2023-03-26 · 2023-03-19 · 2023-03-12 · 2023-03-05 · 2023-02-26 · 2023-02-19 · 2023-02-12 · 2023-02-05 · 2023-01-29 · 2023-01-22 · 2023-01-15 · 2023-01-08 · 2023-01-01 · 2022-12-25 · 2022-12-18 · 2022-12-11 · 2022-12-04 · 2022-11-27 · 2022-11-20 · 2022-11-13 · 2022-11-06 · 2022-10-30 · 2022-10-23 · 2022-10-16 · 2022-10-09 · 2022-10-02 · 2022-09-25 · 2022-09-18 · 2022-09-11 · 2022-09-04 · 2022-08-28 · 2022-08-21 · 2022-08-14 · 2022-08-07 · 2022-07-31 · 2022-07-24 · 2022-07-17 · 2022-07-10 · 2022-07-03 · 2022-06-26 · 2022-06-19 · 2022-06-12 · 2022-06-05 · 2022-05-29 · 2022-05-22 · 2022-05-15 · 2022-05-08 · 2022-05-01 · 2022-04-24 · 2022-04-17 · 2022-04-10 · 2022-04-03 · 2022-03-27 · 2022-03-20 · 2022-03-13 · 2022-03-06 · 2022-02-27 · 2022-02-20 · 2022-02-13 · 2022-02-06 · 2022-01-30 · 2022-01-23 · 2022-01-16 · 2022-01-09 · 2022-01-02 · 2021-12-26 · 2021-12-19 · 2021-12-12 · 2021-12-05 · 2021-11-28 · 2021-11-21 · 2021-11-14 · 2021-11-07 · 2021-10-31 · 2021-10-24 · 2021-10-17 · 2021-10-10 · 2021-10-03 · 2021-09-26 · 2021-09-19 · 2021-09-12 · 2021-09-05 · 2021-08-29 · 2021-08-22 · 2021-08-15 · 2021-08-08 · 2021-08-01 · 2021-07-25 · 2021-07-18 · 2021-07-11 · 2021-07-04 · 2021-06-27 · 2021-06-20 · 2021-06-13 · 2021-06-06 · 2021-05-30 · 2021-05-23 · 2021-05-16 · 2021-05-09 · 2021-05-02 · 2021-04-25 · 2021-04-18 · 2021-04-11 · 2021-04-04 · 2021-03-28 · 2021-03-21 · 2021-03-14 · 2021-03-07 · 2021-02-28 · 2021-02-21 · 2021-02-14 · 2021-02-07 · 2021-01-31 · 2021-01-24 · 2021-01-17 · 2021-01-10 · 2021-01-03 · 2020-12-27 · 2020-12-20 · 2020-12-13 · 2020-12-06 · 2020-11-29 · 2020-11-22 · 2020-11-15 · 2020-11-08 · 2020-11-01 · 2020-10-25 · 2020-10-18 · 2020-10-11 · 2020-10-04 · 2020-09-27 · 2020-09-20 · 2020-09-13 · 2020-09-06 · 2020-08-30 · 2020-08-23 · 2020-08-16 · 2020-08-09 · 2020-08-02 · 2020-07-26 · 2020-07-19 · 2020-07-12 · 2020-07-05 · 2020-06-28 · 2020-06-21 · 2020-06-14 · 2020-06-07 · 2020-05-31 · 2020-05-24 · 2020-05-17 · 2020-05-10 · 2020-05-03 · 2020-04-26 · 2020-04-19 · 2020-04-12 · 2020-04-05 · 2020-03-29 · 2020-03-22 · 2020-03-15 · 2020-03-08 · 2020-03-01 · 2020-02-23 · 2020-02-16 · 2020-02-09 · 2020-02-02 · 2020-01-26 · 2020-01-19 · 2020-01-12 · 2020-01-05 · 2019-12-29 · 2019-12-22 · 2019-12-15 · 2019-12-08 · 2019-12-01 · 2019-11-24 · 2019-11-17 · 2019-11-10 · 2019-11-03 · 2019-10-27 · 2019-10-20 · 2019-10-13 · 2019-10-06 · 2019-09-29 · 2019-09-22 · 2019-09-15 · 2019-09-08 · 2019-09-01 · 2019-08-25 · 2019-08-18 · 2019-08-11 · 2019-08-04 · 2019-07-28 · 2019-07-21
Project by Ruslan Keba. Since 2012. Powered by Python. Made in πΊπ¦Ukraine.