Issue #463

Poison Packages on PyPI, Python Synthesizers, Monoliths to Managed Architecture, and More

March 9, 2021

Poison Packages on PyPI, Python Synthesizers, Monoliths to Managed Architecture, and More
#463 – MARCH 9, 2021 VIEW IN BROWSER
The PyCoder’s Weekly Logo
Poison Packages: User Hits Python Community With 4000 Fake Modules
Recently, a PyPI user going by the name “Remind Supply Chain Risks” uploaded nearly 4000 fake modules to the index, many of which were named as common misspellings of popular packages. Learn about the incident in this article, and read all the way to the end for four tips every Python developer should follow.
PAUL DUCKLIN

Atlas: Our Journey From a Python Monolith to a Managed Platform
See how dropbox migrated their internal systems from a monolith architecture to something more service-oriented without disrupting their users while also minimizing the operation cost that typically comes with owning a service.
NAPHAT SANGUANSIN AND UTSAV SHAH

Detect, Diagnose, and Resolve Code Level Issues Faster to Optimize Python Application Performance
Datadog’s Continuous Profiler allows you to find the most resource-consuming parts in your production code all the time, at any scale, with minimal overhead. Improve MTTR, enhance user experience and reduce cloud provider costs with Datadog APM. Start troubleshooting your Python apps today →
DATADOGsponsor

Django View Authorization: Restricting Access
Learn how to restrict your web pages to users with different roles through Django view authorization. You’ll learn about HttpRequest.user objects, view decorators that authenticate, and how to notify your users with the Django messages framework.
REAL PYTHON course

Exciting New Features in Django 3.2
Django 3.2 is just around the corner and it’s packed with new features. Django versions are usually not that exciting — and that’s a good thing — but this time many features were added to the ORM.
HAKI BENITA

PEP 621 Is Final
In the near future, you’ll be able to store project metadata in pyproject.toml.
PYTHON.ORG

Python 3.10.0a6 Is Now Available for Testing
Test it out today and take structural pattern matching for a spin!
PYTHON.ORG


Discussions


Accidentally Quadratic: When Python Is Faster Than C++
Seemingly trivial choices in programming language design can lead to pretty surprising results. If you like time complexity, check out the research paper behind the discussion.
HACKER NEWS

An Interesting Use of self and reduce()
REDDIT


Python Jobs


How Strong Is Your Resume?sponsor
Get a free, confidential review from a resume expert →

Senior Backend Developer
ORDERBIRD AG 📍 BERLIN, GERMANY

Full-Stack Django Developer
UNIFAI 📍 OSLO, NORWAY

Senior Python Engineer
EAB 📍 REMOTE

Web Developer
DER FREITAG MEDIENGESELLSCHAFT MBH & CO. KG 📍 BERLIN, GERMANY

More Python Jobs >>>


Articles & Tutorials


Making a Synth With Python: Oscillators
Learn how to create oscillators using Python as a foundation for creating your own software synthesizers. This article is one of a three-part series. The other articles cover modulators and controllers.
ALAN

RSVP for the 3rd Annual Python Web Conference (Virtual) | March 22–26, 2021
International experts share best practices for hard Python problems. 50+ talks on Machine Learning, AI, Big Data, Django, Plone, CI/CD, Containers, Serverless, web security, etc. Join JetBrains and Six Feet Up to see what the future holds →
SIX FEET UPsponsor

How to Remove a Column From a DataFrame, With Some Extra Detail
Learn several ways to remove a column from a pandas DataFrame and take a peek at how column deletion works under the hood.
MATTHEW WRIGHT

Consuming APIs With Python and Building Microservices With gRPC
Have you wanted to get your Python code to consume data from web-based APIs? Maybe you’ve dabbled with the requests package, but you don’t know what steps to take next. This week on the show, David Amos is back, and he’s brought another batch of PyCoder’s Weekly articles and projects.
REAL PYTHON podcast

Finding Mona Lisa in the Game of Life
Could you find an initial state for Conway’s Game of Life that, after a few iterations, displays the Mona Lisa?
ATUL VINAYAK

Get Started with Distributed Tracing in Python and Django Using OpenTelemetry
Learn how to get instrumented with OpenTelemetry in under 10 minutes, common distributed tracing use cases, and why tracing is the foundation for observability.
LIGHTSTEPsponsor

Alternative Syntax for Python’s lambda?
Some discussion crept up this week among core developers about adding an arrow operator for simplifying lambda functions. No plans have been made yet for a PEP, but some developers acknowledged some benefits of the idea.
JAKE EDGE

Five Django Packages We Love at Monadical
The folks at Monadical love Django, and they’ve put together a list of some of their favorite packages.
KARIM • Shared by Karim

The Real Python Podcast: It’s Been a Year!
The Real Python Podcast just reached a major milestone: its fiftieth episode! In this article, you’ll look at some of the awesome guests we’ve had and topics we’ve covered, and you’ll get a preview of the exciting things happening in the future.
REAL PYTHON


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 →

dgl: Deep Learning on Graphs
GITHUB.COM/DMLC

django-lifecycle: Declarative Model Lifecycle Hooks, an Alternative to Signals
GITHUB.COM/RSINGER86

django-polymorphic: Improved Django Model Inheritance With Automatic Downcasting
GITHUB.COM/DJANGO-POLYMORPHIC

jax: Composable Transformations of Python + NumPy Programs
GITHUB.COM/GOOGLE

C-is-for-Camera: A 35mm Camera Simulated in Python
GITHUB.COM/EVILDMP

📆🐍 Upcoming Python Events


Real Python Office Hours (Virtual)
March 10, 2020

Python Web Conference 2021 (Virtual)
March 22 – 26, 2021

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

PyCon 2021 (Virtual)
May 12 – 18, 2021

DjangoCon Europe 2021 (Virtual)
June 2 – 6, 2021
Happy Pythoning!
Copyright © 2021 PyCoder’s Weekly, All rights reserved.