Issue #424

Web Scraping Tools & Legality, How Async Should've Been, 90% Python Wheels Adoption, and More

June 9, 2020

Web Scraping Tools & Legality, How Async Should've Been, 90% Python Wheels Adoption, and More
#424 – JUNE 9, 2020 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Web Scraping in Python: Tools, Techniques, and Legality
Do you want to get started with web scraping using Python? Are you concerned about the potential legal implications? What are the tools required and what are some of the best practices? This week Kimberly Fessel is a guest on the Real Python Podcast to discuss her excellent tutorial created for PyCon 2020 online titled “It’s Officially Legal so Let’s Scrape the Web.”

Pedantic Configuration Management with Pydantic
Dealing with multiple configuration files for a Python application can be stressful. Learn how to take the edge off with a custom workflow centered around the Pydantic library.
REDOWAN NAFI • Shared by Redowan Delowar

Find Performance Bottlenecks in Python Code
“We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.” - Donald Knuth Blackfire is built to let you find the 3%. Quick install, appealing and user-friendly UI. →

How Async Should Have Been
Sometimes synchronous and asynchronous code can look very similar. The only difference might be the use of async and await keywords. In this opinion piece, Nikita Sobolev argues that the potential for repeated code is a design fault of Python’s asyncio framework, and describes a solution that allows synchronous Python to execute asynchronous code.
NIKITA SOBOLEV • Shared by Nikita Sobolev opinion

Our Python Monorepo
Opendoor, a residential real-estate startup, has quite a few Python services. These services were spread across several git repositories, but Opendoor’s engineering team recently moved them all into a single monorepo. Learn about the challenges the team faced with many repositories and how they set-up their monorepo to solve their problems.

Fastest Way to Flatten a List in Python
Explore six different was to flatten a list of lists in Python and how their performance compares. The fastest of the six methods mentioned might surprise you!

Nominees for 2020 Python Software Foundation Board Election
Ballots were sent out on June 8th.


Classifying Values Based on Ranges That Contain Them
Avoid big if/else blocks by using the bisect module!

Can You Change the Value of the Integer 1 in Python?
Spoiler alert: yes! But you probably shouldn’t do that.

Python Jobs

Senior Python Engineer

Software Engineer Python

Senior Backend Engineer Python/Django/PostgreSQL

More Python Jobs >>>

Articles & Tutorials

Python Wheels Crosses 90% Adoption
Wheels are the new standard of Python distribution and are intended to replace “eggs.” This site shows the top 360 most-downloaded packages on PyPI showing which have been uploaded as wheel archives. As of today, 90% of the top Python packages are now available as wheels on PyPI.

15 Amazing pytest Plugins
pytest plugins are an amazing way to supercharge your test suites, leveraging great solutions from people solving test problems all over the world. In this episode of the Test & Code Podcast, Michael Kennedy and Brian Okken discuss 15 favorite plugins that you should know about.

Python 2 to 3 Migration: A Developer’s Experience
Still haven’t migrated your Python 2 application to Python 3? This article provides guidelines, strategies and tips to make the process as easy as possible, along with a ready-to-use Python 2-to-3 runtime containing the most relevant packages. Check it out! →

Regular Expressions: Regexes in Python (Part 2)
In the previous tutorial in this series, you learned how to perform sophisticated pattern matching using regular expressions, or regexes, in Python. This tutorial explores more regex tools and techniques that are available in Python.

Getting the Most Out of a Python Traceback
Learn how to read and understand the information you can get from a Python stack traceback. You’ll walk through several examples and see some of the most common tracebacks in Python.

Python Community Interview With Kattni Rembor
Kattni Rembor is a creative engineer at Adafruit Industries. In this interview, she talks about her work developing CircuitPython and the role mentorship has played in her career to date. She also shares her advice for anyone looking to start their first hardware project using CircuitPython.

Combining Flask and Vue
Learn about three ways to combine Flask and Vue, the pros and cons of each, and some guidelines for when to use each method.
JACE MEDLIN • Shared by Jace Medlin

What is Python Redis? Enhance Python with Redis – The Fastest In-Memory Cloud Database
Install redis-py & Python Redis Client. Explore how Redis can enhance Python capabilities. Learn how to use Connection Pooling, SSL, Reading & Writing, & Opening a Connection with redis-py.

Django Stripe Tutorial
Learn how to configure a new Django website from scratch to accept one-time payments with Stripe Checkout.
MICHAEL HERMAN • Shared by Michael Herman

Why You Should Use More Enums in Python
Learn about Python’s Enum type and why you should consider using them in your own programs.
FLORIAN DAHLITZ • Shared by Florian Dahlitz

Python Debugging Tips

Projects & Code

pydantic: Data Parsing and Validation Using Python Type Hints

altair: Declarative Statistical Visualization Library for Python

pyinfra: Automate Infrastructure Super Fast at Massive Scale

falcon: The No-Nonsense, Minimalist Web Services and App Backend Framework

icl: An Interactive Memory Aid for One-Liners

falconify: Falcon Microservice Template for Quick Bootstrapping

Happy Pythoning!
Copyright © 2020 PyCoder’s Weekly, All rights reserved.