Python Weekly (Issue 595 April 6 2023)

Python Weekly - Issue 595

Python Weekly

Welcome to issue 595 of Python Weekly. Let's get straight to the links this week.

From Our Sponsor 

One of the commonly used ways to implement mass assignment, a category of vulnerabilities, in Python is the inbuilt setattr() function.

by Snyk at the potential dangers of the setattr function and how to avoid mass assignment vulnerabilities.

News

Bloomberg's OSPO and Corporate Philanthropy teams partnered to enable direct employee engagement to help sustain open source projects critical to our work. The three open source projects chosen as the recipients of the company’s inaugural FOSS Contributor Fund grants are Apache Arrow, Curl and Celery.

Articles, Tutorials and Talks

There's a popular programming trope that if the solution to your problem involves parsing text with a regular expression, you now have two problems. Some programmers read this and think to try a different approach. Perhaps you don't actually need a regex. Maybe the problem can be solved with a simple string split or something. However, others might think a bit harder and wonder "what if I did something so audacious that it resulted in three problems?" This post is in the spirit of that!

Not sure if you should use Raw SQL, a SQL query builder, or an ORM for your next project? This video explores the pros and cons of each option, allowing you to make an informed decision based on your specific needs. Choosing the wrong technology for your project can be a costly mistake, so it's crucial to understand these tools.

Learn about how structural pattern matching works in Python and how it can help you write cleaner, more maintainable, and more understandable code.

Here I unravel the mysteries behind the omnipotent and overwhelmingly complicated read_csv() function, including new features added in Pandas 2.0.

The author shows how to use rust to speed up the Python implementation of the "poly_match" algorithm. by 100x

The article provides a tutorial on using Unpoly, a JavaScript library for seamless and fast dynamic web applications, with Django. It covers how to install and configure Unpoly, integrate it with Django views and templates, and use its various features, such as remote forms, partial page updates, and navigation.

A post about using Python and FastAPI with vector databases and semantic search.

In this post, we describe a design for a Python monorepo: how we structure it; which tools we favor; alternatives that were considered; and some possible improvements.

Interesting Projects, Tools and Libraries

e2b (english2bits) is an IDE powered by AI agents. Developers describe what they want to build by writing documentation. Then let AI agents with access to tools do the coding work. 

Python Streaming Video Analytics Framework With Batteries Included.

An experimental open-source attempt to make GPT-4 fully autonomous.

A simple, fast, high performance and low latency Python framework (RPC like) for building microservices or distributed servers.

A powerful and beautiful CLI scheduler.

An LLM playground you can run on your laptop.

Distributed task queue with full async support.

Tiny and efficient C++/Python bindings.

Reactive user interfaces with pure Python.

Python package containing root-finding methods written in Cython.

A fluent design widgets library based on PyQt5.

Vocode is an open source library that makes it easy to build voice-based LLM apps.

An open platform for training, serving, and evaluating large language model based chatbots.

Speed up Stable Diffusion with this one simple trick!

New Releases

This release includes the following announcements:

  • Data Wrangler available for Visual Studio Code Insiders

  • Move symbol refactoring

  • Create Environment button embedded in dependency files

  • Environments API for extension authors

  • Kernel Picker Improvements for Python Environments

Django 4.2 is designated as a long-term support release. It will receive security updates for at least three years after its release. Support for the previous LTS, Django 3.2, will end in April 2024.

Upcoming Events and Webinars

There will be a talk, Intro to Airflow covering everything you need to know to get started with Airflow.

There will be a talk, Recipe Generator: Web Scraping and ChatGPT.

There will be following talks

  • FOLLISCAN: how to automate an ultrasound examination with deep learning?

  • Limitations of content generation with AI (spoiler: the sky's the limit)

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.