- Python Weekly
- Posts
- Python Weekly (Issue 662 August 8 2024)
Python Weekly (Issue 662 August 8 2024)
Python Weekly - Issue 662
Python Weekly
Welcome to issue 662 of Python Weekly. Let's get straight to the links this week.
Articles, Tutorials and Talks
This video discusses how Python 3.13 is revolutionizing performance by making the Global Interpreter Lock (GIL) optional! Learn what the GIL is, why it exists, and the potential impacts of its removal on your Python projects.
The article introduces "Knuckledragger," a semi-automated Python proof assistant based on Z3, detailing its design, core principles, and various theoretical applications such as intervals, complex numbers, set theory, and linear algebra. It emphasizes leveraging Z3's existing API to minimize custom code, while adding features like tactics and systematic induction principles to enhance usability and efficiency.
The article discusses the implementation of a "Knownbits" abstract domain for the Toy optimizer, which tracks individual bits of a variable as "known zero," "known one," or "unknown" to optimize integer operations. It details the construction of the domain, transfer functions, and correctness proofs using property-based testing and automated proofs, with plans to apply a more complex version to the PyPy JIT compiler.
This article discusses the limitations and pitfalls of using the __all__ attribute in Python for defining public APIs, emphasizing how it fails to enforce module boundaries and can lead to tightly coupled codebases. The author proposes an alternative solution involving a custom import hook to ensure stricter module interface enforcement.
The video demonstrates using Djeno database for natural language to SQL queries via embeddings, emphasizing semantic search, and integration with Django. It covers setting up PostgreSQL, creating Django models, embedding for efficient search, and caching for performance, while addressing bugs and customizing prompts in the SQL engine.
The article explains how to implement log context propagation in Python ASGI applications using middleware to automatically tag log messages with contextual information like user ID and platform. This approach simplifies logging by eliminating the need for manual context passing across different layers of an application, ensuring all logs within a request-response cycle are consistently tagged.
This course will guide you through the basics of Retrieval-Augmented Generation (RAG), starting with its fundamental concepts and components. You'll learn how to build a RAG system for chatting with documents, explore advanced techniques, and understand the pitfalls of naive RAG.
Interesting Projects, Tools and Libraries
An LLM-based Multi-agent Framework of Web Search Engine (like Perplexity.ai Pro and SearchGPT)
A vector search SQLite extension that runs anywhere!
Chat with your current directory's files using a local or API LLM.
CPython API for asynchronous functions.
nanoGPT style version of Llama 3.1
DCPerf benchmark suite for hyperscale cloud applications,
AudioSample is an optimized numpy-like audio manipulation library, created for researchers, used by developers.
Generate dynamic UI forms from text using OpenAI's structured output API.
AI-First Process Automation with Large Multimodal Models (LMMs).
New Releases
Django 5.1 introduces LoginRequiredMiddleware for easier authentication enforcement, accessibility enhancements like improved screen reader support and better HTML semantics, and a new querystring template tag for simpler URL handling in templates.
Upcoming Events and Webinars
There will be following talks
Measuring garbage collection latency impact
GitHub Copilot - Research, Roadmap, and Studies
There will be following talks
LLM Based Applications - Building Agentic RAG Workshop
Scaling Vector Search in Production Without Breaking the Bank: Quantization and Adaptive Retrieval
There will be a talk, Packing rust code using pyo3 and maturin.
There will be following talks
Foundation models for complete beginners
Retrieval-Augmented Generation
There will be following talks
To AI or Not to AI: Is It the Right Solution for Your Problem?
Patching and Splitting Python Wheels
Formalizing a Language
There will be following talks
Creating a Raspberry Pi Cluster for Parallel Python Application Testing
Agile and Data Product Teams - Surely that doesn't work?
There will be following talks
Building an LLM Agent to talk to the Berlin Parliament with Ollama
Bayes by Hand
Our Other Newsletters
- A free weekly newsletter for programmers.
- A free weekly newsletter for entrepreneurs featuring best curated content, must read articles, how to guides, tips and tricks, resources, events and more.