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!

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.

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 →

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.

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.

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… 🥶

CircuitPython 6.2.0 Released

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.

Python Jobs

Intermediate Python Developer (Boulder, CO, USA)

Data Engineer (Seattle, WA, USA)

Software Development Engineer (Indianapolis, IN, USA)

Full-Stack Django Developer (Oslo, Norway)

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.

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!

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 →

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?

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.

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.)

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.

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

japronto: Screaming-Fast Python 3.5+ HTTP Toolkit

result: A Rust-Like Result Type for Python 3

Lunatic Python: LUA in Python and Vice Versa

server-text: Run Server Commands via Text Message

📆🐍 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.