Python Weekly - Python Weekly - Issue 611

View this email in your browser

Python Weekly

Welcome to issue 611 of Python Weekly. Let's get straight to the links this week.
From Our Sponsor 
Get Your Weekly Dose of Programming
A weekly newsletter featuring the best hand curated news, articles, tutorials, talks, tools and libraries etc for programmers.
Join For Free

News

A Steering Council notice about PEP 703 (Making the Global Interpreter Lock Optional in CPython)
CPython’s global interpreter lock (“GIL”) prevents multiple threads from executing Python code at the same time. The GIL is an obstacle to using multi-core CPUs from Python efficiently. This PEP proposes adding a build configuration (--disable-gil) to CPython to let it run Python code without the global interpreter lock and with the necessary changes needed to make the interpreter thread-safe.


Articles, Tutorials and Talks

Patterns for Building LLM-based Systems & Products
This post is about practical patterns for integrating large language models (LLMs) into systems and products. We’ll draw from academic research, industry resources, and practitioner know-how, and try to distill them into key ideas and practices.

When to (Not) Use Dunder Methods? 
This video discusses dunder methods, when to use them, and when to avoid them. Dunder methods are also called magic methods because they allow you to basically change everything that Python does under the hood. But if you're not careful with them, they can lead to confusing code.

LPython: Novel, Fast, Retargetable Python Compiler
LPython is a Python compiler that can compile type-annotated Python code to optimized machine code. LPython offers several backends such as LLVM, C, C++, WASM, Julia and x86. LPython features quick compilation and runtime performance, as we show in the benchmarks in this blog. LPython also offers Just-In-Time (JIT) compilation and seamless interoperability with CPython.

Not-so-casual Performance Optimization in Python
My previous post (which was honestly created to test out the theme for this site), provided a few code snippets that computed N terms of the sum of inverse squares. I wrote the code in my 4 favorite languages—Python, C, Rust, and Haskell—but when I ran the Python code, it was embarrassingly slow. Compared to the ≈950 ms it took sequential Rust, Python took 70 seconds! So, in this post, we’re going to attempt to get Python some more reasonable numbers.

Bridging the Python async gap from the other side
So, you're doing some sync stuff. But you also need to do some async stuff, without making *everything* async. Hint: asyncio.Runner will get you at least part of the way there.

How to create async Django forms in 2 minutes (with Alpine.js) 
Here's a video showing you how to add async forms to a Django templates (no page reload) in 2 minutes. The guide uses Alpine.js to add minimal, neat Javascript.

Python ConfigParser Tutorial
A complete guide that equips you with the knowledge and skills to work with configuration files using Python effectively.

Escaping the template pattern hellscape in Python
In the first portion, the post will explain what the template pattern is and how it gradually leads to an intractable mess as the code grows. In the latter segments, I’ll demonstrate how I’ve designed a real-world service by adopting the obvious and natural path of inheritance-driven architecture. Then, I’ll explain how the service can be refactored to escape the quagmire that I’ve now started to refer to as the template pattern hellscape.

PyTorch Memory Tuning
This article will focus on minimizing GPU memory footprint — for both optimization and inference workloads. Throughput and latency usually get all the attention, but reducing memory consumption without making architecture sacrifices is often just as valuable.

Coefficient of Variation in Python with Pandas & NumPy
Learn how to calculate the coefficient of variation in Python using NumPy and Pandas. Analyze data variability with ease!

Running Untrusted Python Code
Using seccomp and setrlimit to build a Python sandbox.

Overloading arithmetic operators with dunder methods

Large Language Models and Nearest Neighbors

Generative AI in Jupyter

python quirks


Interesting Projects, Tools and Libraries

USearch
Smaller & Faster Single-File Vector Search Engine.

Continue
Continue is the open-source autopilot for software development—a VS Code extension that brings the power of ChatGPT to your IDE

Retake
Real-Time Universal Search Infra for Developers.

Resume-Matcher
Open Source Free ATS Tool to compare Resumes with Job Descriptions and create a score to rank them.

llm-attacks
Universal and Transferable Attacks on Aligned Language Models.

FinanceToolkit
An open-source toolkit in which all relevant financial ratios (50+), indicators and performance measurements are written down in the most simplistic way allowing for complete transparency of the calculation method.

Coldtype
Cross-platform display typography in Python.

DotDict
A simple Python library to make chained attributes possible.

Mentat
The AI Coding Assistant.

PythonMonkey
A Mozilla SpiderMonkey JavaScript engine embedded into the Python VM, using the Python engine to provide the JS host environment.


New Releases

Jupyter Notebook 7
Jupyter Notebook 7 is the most significant release of the Jupyter Notebook in years. Some highlights of this release include real-time collaboration, interactive debugging, table of contents, theming and dark mode, internationalization, improved accessibility, compact view on mobile devices.

Django bugfix release: 4.2.4
 
Our Other Newsletters
Programmer Weekly - A free weekly newsletter for programmers.

Founder Weekly - A free weekly newsletter for entrepreneurs featuring best curated content, must read articles, how to guides, tips and tricks, resources, events and more.
 
Copyright © 2023 Python Weekly, All rights reserved.
You are receiving our weekly newsletter because you signed up at http://www.PythonWeekly.com.

Our mailing address is:
Python Weekly
Brooklyn
Brooklyn, NY 11209

Add us to your address book


Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list.

Older messages

Python Weekly - Issue 610

Thursday, July 27, 2023

View this email in your browser Python Weekly Welcome to issue 610 of Python Weekly. Let's get straight to the links this week. From Our Sponsor Get Your Weekly Dose of Programming A weekly

Python Weekly - Issue 609

Thursday, July 20, 2023

View this email in your browser Python Weekly Welcome to issue 609 of Python Weekly. Let's get straight to the links this week. Articles, Tutorials and Talks Python Tkinter GUI Design Using

Python Weekly - Issue 608

Sunday, July 16, 2023

View this email in your browser Python Weekly Welcome to issue 608 of Python Weekly. Let's get straight to the links this week. From Our Sponsor Get Your Weekly Dose of Programming A weekly

Python Weekly - Issue 607

Thursday, July 6, 2023

View this email in your browser Python Weekly Welcome to issue 607 of Python Weekly. Let's get straight to the links this week. From Our Sponsor Get Your Weekly Dose of Programming A weekly

Python Weekly - Issue 606

Thursday, June 29, 2023

View this email in your browser Python Weekly Welcome to issue 606 of Python Weekly. Let's get straight to the links this week. Articles, Tutorials and Talks Geospatial Data in your Graph In this

You Might Also Like

Recording: 'Data Storytelling: What Organizations Need to Know Going Into 2025'

Friday, November 22, 2024

Thank you for your interest in our latest webinar. As promised here is your recording of the event. View email in browser Recording Now Available Thank you for your interest in receiving a recording of

💻 Issue 437 - Introducing local Azure Service Bus Emulator

Thursday, November 21, 2024

This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 437 Release Date Nov 21, 2024 Your weekly report of the most popular .NET news, articles and projects

💎 Issue 444 - Why did people rub snow on frozen feet? (2017)

Thursday, November 21, 2024

This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 444 Release Date Nov 21, 2024 Your weekly report of the most popular Ruby news, articles and

💻 Issue 444 - JavaScript Dos and Donts

Thursday, November 21, 2024

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 444 Release Date Nov 21, 2024 Your weekly report of the most popular JavaScript news, articles

📱 Issue 438 - Reverse Engineering iOS 18 Inactivity Reboot

Thursday, November 21, 2024

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 438 Release Date Nov 21, 2024 Your weekly report of the most popular iOS news, articles and projects Popular

💻 Issue 362 - React Anti-Pattern: Stop Passing Setters Down the Components Tree

Thursday, November 21, 2024

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 362 Release Date Nov 21, 2024 Your weekly report of the most popular React news, articles and projects

💻 Issue 444 - Building simple event-driven applications with Pub/Sub

Thursday, November 21, 2024

This week's Awesome Node.js Weekly Read this email on the Web The Awesome Node.js Weekly Issue » 444 Release Date Nov 21, 2024 Your weekly report of the most popular Node.js news, articles and

📱 Issue 441 - Shift Left Is the Tip of the Iceberg

Thursday, November 21, 2024

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 441 Release Date Nov 21, 2024 Your weekly report of the most popular Swift news, articles and projects

💻 Issue 439 - Async/Await Is Real And Can Hurt You

Thursday, November 21, 2024

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 439 Release Date Nov 21, 2024 Your weekly report of the most popular Rust news, articles and projects

📲 Why I Ditched Linux for Samsung DeX — Buy This Instead of a Gaming Headset

Thursday, November 21, 2024

Also: Taking Instagram Stories to the Next Level, and More! How-To Geek Logo November 21, 2024 Did You Know Thurl Ravenscroft was both the voice behind the Christmas song "You're a Mean One,