Issue #467

Buying a House With Python, OOP in Python vs. Java, What is Werkzeug, and More

April 6, 2021

Buying a House With Python, OOP in Python vs. Java, What is Werkzeug, and More
#467 – APRIL 6, 2021 VIEW IN BROWSER
The PyCoder’s Weekly Logo
How I Beat the Berlin Rental Market With a Python Script
Learn how one Python developer used a Python script to analyze the housing market in Berlin and predict when a property would be sold or when the price would be decreased. While the article doesn’t include a lot of technical details, it’s a great case study of how Python, its rich ecosystem, and a little creativity can turn solving a banal problem — like searching for a new house in a crowded market — into something fun and intellectually rewarding!
GIAN SEGATO

Python vs Java: Object Oriented Programming
You may have heard that “everything is an object in Python.” But what does that mean for doing object oriented programming? If you’re coming to Python with a Java background, you’ll want to check out this course to learn how to reinterpret your understanding of Java objects to Python, and use objects in a Pythonic way.
REAL PYTHON course

Ray Summit | June 22-24: Scalable Python & ML for Everyone
Ray is growing faster than ever—join the global community of developers, ML practitioners, data scientists, DevOps, and cloud-native architects at Ray Summit. See how Ray, the open-source Python framework, makes distributed computing simple and flexible. Register free to join live & on-demand →
ANYSCALEsponsor

What is Werkzeug?
Have you ever noticed that when you install Flask a dependency called Werkzeug is also installed? Werkzeug provides a set of utilities for building a WSGI interface in Python, which is an important part of any web application. This article will take you on a deep dive of Werkzeug and show you exactly how it works so you can have a deeper understanding of Flask applications.
PATRICK KENNEDY • Shared by Patrick Kennedy

Python 3.9.4 Hotfix Is Now Available
Python 3.9.3 has been recalled and a new hotfix released. All users are encouraged to upgrade. See the announcement for more information.
CPYTHON DEV BLOG

Django 3.2 Released
The next version in the Django 3 series is now available and has been designated a long-term support (LTS) release.
DJANGO SOFTWARE FOUNDATION

Python 3.10.0a7 Is Now Available
This is the last planned alpha release of Python 3.10.0! Next stop: The first beta, and a feature freeze… 🥶
PYTHON.ORG

CircuitPython 6.2.0 Released
ADAFRUIT.COM

TLDR Newsletter: Byte Sized News for Techies
TLDR is a daily, curated newsletter with links and TLDRs of the most interesting stories in tech, science, and programming.
TLDRNEWSLETTER.COM


Python Jobs


Intermediate Python Developer (Boulder, CO, USA)
UPLIGHT

Data Engineer (Seattle, WA, USA)
DOXO

Software Development Engineer (Indianapolis, IN, USA)
TOC LOGISTICS INTERNATIONAL, INC.

Full-Stack Django Developer (Oslo, Norway)
UNIFAI

More Python Jobs >>>


Articles & Tutorials


Python News: What’s New From March 2021?
March 2021 was full of exciting Python news! Quickly get up to speed on what’s been happening in the world of Python in the past month. You’ll see everything from structural pattern matching to the 2020 Python Developers Survey.
REAL PYTHON

Loading SQL Data Into Pandas Without Running Out of Memory
If you need to load a bunch of SQL query results into a Pandas DataFrame, then you might run into a problem if there are enough rows in the SQL query’s results: it won’t fit in RAM. Panda’s read_sql() function has a batching option, but it loads all of the data into memory, too. So, how do you handle larger-than-memory queries with Pandas? This article will show you how!
ITAMAR TURNER-TRAURING

Beyond the Cache With Python
If caching is all you’re using Redis for, you’re missing out. Learn how to operate redis at scale at RedisConf 2021. Click here to register now →
REDIS LABSsponsor

The Weird Walrus
Python 3.8 introduced the world to the “walrus” operator, which is a colloquial term for the := operator used in the new assignment expressions. The expression a := 2 does two things: it assigns the value 2 to the name a and then returns the value 2. There’s something a little weird with assignment expressions, though. Try to execute a := 2 in a REPL and you’ll get a SyntaxError. But wrap the expression in parentheses (a := 2) and everything works like a charm. What? Why?
ARPIT BHAYANI

Writing Makefiles for Python Projects
Makefiles provide an entry point for project contributors to build, test, and deploy projects with simplified commands. Often, Makefiles in Python projects are written so that they expect a virtual environment to be activated before invoking any of the make targets. Read this article to see one way of getting around this, then check out this discussion for even more Makefile ideas.
BASTIAN VENTHUR

Datetime Changes in Python 4.0
Have you heard about the newest backward-incompatible change planned for Python 4? Well, if you haven’t, you’ll want to get the inside scoop by reading what the core development team has planned for the datetime module. (And, as a side note, you might want to check the publication date after you’ve read the article and studied the PEP.)
TOMASZ WESOŁOWSKI

Using %autoreload to Speed Up IPython and Jupyter Work
One of the problems with working with a shell or notebook is that you have to restart the kernel before any changes made to an imported module or package are recognized. Thanks to IPython’s %autoreload magic, though, you don’t have to let kernel restarts slow down your development.
MATT WRIGHT


Projects & Code


Brought to you by Real Python for Teamssponsor
Online Python training created by a community of experts. Give your team the real-world Python skills they need to succeed →

evalml: An AutoML Library Written in Python
GITHUB.COM/ALTERYX

japronto: Screaming-Fast Python 3.5+ HTTP Toolkit
GITHUB.COM/SQUEAKY-PL

result: A Rust-Like Result Type for Python 3
GITHUB.COM/DBRGN

Lunatic Python: LUA in Python and Vice Versa
LABIX.ORG

server-text: Run Server Commands via Text Message
GITHUB.COM/MTDEVSS

📆🐍 Upcoming Python Events


⋅ Real Python Office Hours (Virtual) April 7, 2021

⋅ Python for ML and AI Global Summit ‘21 April 8 – 10, 2021

⋅ PyCon Israel 2021 (Virtual) May 2 – 3, 2021

⋅ PyCon 2021 (Virtual) May 12 – 18, 2021

⋅ DjangoCon Europe 2021 (Virtual) June 2 – 6, 2021

⋅ PyCon India 2021 September 17 – 20, 2021
Happy Pythoning!
Copyright © 2021 PyCoder’s Weekly, All rights reserved.