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

#424 – JUNE 9, 2020
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.”
REAL PYTHON podcast

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. →
BLACKFIREsponsor

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.
DAN HIPSCHMAN

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!
CHRIS CONLAN

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


Discussions


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

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


Python Jobs


Senior Python Engineer (Remote)
GORGIAS

Software Engineer Python (Remote)
NETIZEN CORPORATION

Senior Backend Engineer Python/Django/PostgreSQL (Remote)
CYBERCODERS

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.
PYTHONWHEELS.COM

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.
TESTANDCODE.COM podcast

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! →
ACTIVESTATEsponsor

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.
REAL 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.
REAL PYTHON video

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.
REAL PYTHON

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.
REDIS LABSsponsor

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
MARTIN HEINZ


Projects & Code


pydantic: Data Parsing and Validation Using Python Type Hints
GITHUB.COM/SAMUELCOLVIN

altair: Declarative Statistical Visualization Library for Python
GITHUB.COM/ALTAIR-VIZ

pyinfra: Automate Infrastructure Super Fast at Massive Scale
GITHUB.COM/FIZZADAR

falcon: The No-Nonsense, Minimalist Web Services and App Backend Framework
GITHUB.COM/FALCONRY

icl: An Interactive Memory Aid for One-Liners
GITHUB.COM/PLAINAS

falconify: Falcon Microservice Template for Quick Bootstrapping
GITLAB.COM/RAPHACOSTA

Happy Pythoning!
Copyright © 2020 PyCoder’s Weekly, All rights reserved.
You are receiving this email because you opted in on our website at pycoders.com
Our mailing address: DevCademy Media Inc. · #720-999 West Broadway, Vancouver BC V5Z 1K5, Canada

 | 

Older messages

Python 3.9 PEPs, Dependency Mgmt & Injection, Python on the Raspberry Pi, and More

Tuesday, June 2, 2020

The Many Ways to Pass Code to Python From the Terminal #423 – JUNE 2, 2020 VIEW IN BROWSER The PyCoder's Weekly Logo The Many Ways to Pass Code to Python From the Terminal You might know about

Async Python Tips, The Hypermodern Python Dev Setup, Job Hunting in a Pandemic, and More

Tuesday, May 26, 2020

Waiting in `asyncio` #422 – MAY 26, 2020 VIEW IN BROWSER The PyCoder's Weekly Logo Waiting in asyncio There are many ways to wait on the results of a coroutine in Python's asyncio framework.

Python vs JavaScript, Python Dev Survey 2019 Results, CPython 3.8.3 Released, and More

Tuesday, May 19, 2020

Python vs JavaScript for Pythonistas #421 – MAY 19, 2020 VIEW IN BROWSER The PyCoder's Weekly Logo Python vs JavaScript for Pythonistas Python and JavaScript are two of the most popular programming

Python Performance, Moving Django Models, the 2020 Python Language Summit, and More

Tuesday, May 12, 2020

Under Discussion: The Performance of Python #420 – MAY 12, 2020 VIEW IN BROWSER The PyCoder's Weekly Logo Under Discussion: The Performance of Python Victor Stinner and Julien Danjou sat down (

Python 3.9 Release Schedule, Documenting Tests, RegExes, Pythonic Lightsabers, and More

Tuesday, May 5, 2020

Python 3.9 Release Schedule #419 – MAY 5, 2020 VIEW IN BROWSER The PyCoder's Weekly Logo Python 3.9 Release Schedule In last week's episode we had the dates mixed up, here are the correct ones:

You Might Also Like

💻 Issue 416 - The new disposable APIs in Javascript

Thursday, May 9, 2024

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

💻 Issue 409 - Making a 3D modeler in C in a week

Thursday, May 9, 2024

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

📱 Issue 410 - FDA recalls defective iOS app that injured over 200 insulin pump users

Thursday, May 9, 2024

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

💎 Issue 416 - Ruby typing 2024: RBS, Steep, RBS Collections, subjective feelings

Thursday, May 9, 2024

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

💻 Issue 416 - Part 5: Building a Simple Web Server with Node.js

Thursday, May 9, 2024

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

💻 Issue 334 - Why React Query?

Thursday, May 9, 2024

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

📱 Issue 413 - Swift’s native Clocks are very inefficient

Thursday, May 9, 2024

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

💻 Issue 411 - Microsoft's $1M Vote of Confidence in Rust's Future

Thursday, May 9, 2024

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

LW 132 - Using JavaScript to manage a Shopify cart

Thursday, May 9, 2024

Using JavaScript to manage a Shopify cart Shopify Development news and articles Confused? Yes, normally these go out on Tuesday. This week only enjoy a special Thursday issue! Issue 132 - 05/07/2024

⛅️ Things to Know Before Buying iCloud Storage — How Many Open Tabs it Takes to Slow a Browser

Thursday, May 9, 2024

Also: We Review the Fairphone Fairbuds, and More! How-To Geek Logo May 9, 2024 Did You Know Charles M. Shulz, best known as the cartoonist behind the Peanuts comic strip, penned the comic right up