Issue #470

The Social Contract of Open Source, Python's map() Function, Incrementally Teaching Python with Hedy, and More

April 27, 2021

The Social Contract of Open Source, Python's map() Function, Incrementally Teaching Python with Hedy, and More
#470 – APRIL 27, 2021 VIEW IN BROWSER
The PyCoder’s Weekly Logo
The Social Contract of Open Source
What is open source software, and what is the relationship between a maintainer and a user? Python core developer and steering council member Brett Cannon tackles some questions about the open source, raises concerns about bad actors, and shares some thoughts about handling abuse.
BRETT CANNON opinion

Python’s map() Function: Transforming Iterables
Learn how Python’s map() works and how to use it effectively in your programs in this video course. You’ll also learn how to use list comprehension and generator expressions to replace map() in a Pythonic and efficient way.
REAL PYTHON course

Find Out Why Scout’s a Developer’s Best Friend with a Free 14-Day Trial, no Credit Card Needed
Scout uses tracing logic to tie bottlenecks to source code so developers can get back to building great products instead of wasting time fixing performance issues. Real-time alerting gives you the insights you need in 4 min or less! Deploy today and we’ll donate $5 to the OSS project of your choice →
SCOUT APMsponsor

Teach Anyone How to Code With Hedy
Hedy is a new programming language designed specifically for teaching people to code. What makes Hedy special is its notion of “levels” that start with the most basics concepts and gradually introduce new features that eventually become more Python-like. Hedy is not designed to compete with languages designed for real-world projects. It is 100% focused on teaching.
JOSHUA ALLEN HOLM

Pyodide Spin Out and 0.17 Release
The Pyodide project consists of CPython 3.8 compiled to WebAssembly so that Python can run in the browser. Originally developed by Mozilla, Pyodide is now a fully independent project. The latest version 0.17 brings asyncio support and error handling, as well as other improvements.
MOZILLA.ORG

PEP 563 Default String-Based Type Annotations Delayed Until Python 3.11
The Python steering council has decided to roll back changes that made PEP 563’s string-based type annotations the default in Python 3.10. The PEP’s default change is now slated to roll out in Python 3.11.
PYTHON.ORG

EuroPython 2021 Call for Proposals Open
Proposals for talks will be accepted until May 9. If you’re a new speaker, be sure to check out the Speaker Mentorship Program.
EUROPYTHON.EU


Discussions


What Routine Tasks Do You Automate With Python Programs?
Do you use Python to automate anything in your day-to-day life? This Reddit discussion thread is full of ideas for automation and has tons of links to GitHub repos where you can explore ideas get some inspiration.
REDDIT


Python Jobs


Intermediate Python Developer (Boulder, CO, USA)
UPLIGHT

Software Engineer (New York, NY, USA)
TRUVERIS

Data Engineer (Seattle, WA, USA)
DOXO

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

More Python Jobs >>>


Articles & Tutorials


Building a Python Analog Clock With Animations and Transformations in QtQuick
Qt is a powerful cross-platform GUI toolkit and you can develop with it in Python using PyQt. In this article, you’ll learn how to work with animations and transformations by drawing a live analog clock face. The tutorial builds upon concepts explained in the companion article about creating applications with QtQuick and the Qt Modeling Language.
MARTIN FITZPATRICK

Taking the Next Step in Python Game Development
Are you interested in creating video games but feel limited in what you can accomplish within Python? Is there a platform where you can take advantage of your Python skills and provide the benefits of a dedicated game engine? Real Python author Paweł Fertyk discusses all of this and his game studio Miskatonic Studio in this episode of the Real Python Podcast.
REAL PYTHON podcast

Understand the Architecture Around your Python Apps in Containers and Serverless Environments
Epsagon lets dev teams see and understand dependencies and API integrations in microservices architecture. It’s a Microservices Observability SaaS with monitoring and investigative tools to “drill-down” and explore modern workloads. Setup Epsagon and see your Python services in minutes.
EPSAGONsponsor

Some Ways That PyPy Uses Graphviz
Graphviz is an open-source graph — or, network — visualization tool. You can use Graphviz to visualize the structure of your applications and programs, and it’s a great way to better understand how code works. In this article, you’ll learn how PyPy uses Graphviz to visualize everything from control flow to parse trees. While the article doesn’t include any source code, there are a number of illustrations and links to whet your appetite and point you to more information.
CARL FRIEDRICH BOLZ-TEREICK

For-Else: A Weird but Useful Feature in Python
Python for loops have an unusual feature: they support an else block that only executes if there is no break in the loop. The pattern isn’t used very often with the argument against it being that it is a bit weird and potentially difficult to understand. But there may be times when for/else makes sense. This article presents three situations where for/else is useful and argues that, in these situations, the pattern makes the code more readable.
YANG ZHOU

Python Basics: Paperback Now Available!
After years of writing, reviewing, and testing, we’re delighted to announce that Python Basics: A Practical Introduction to Python 3 is now available in paperback! In this article, you’ll see how you can level up your Python with Python Basics and how other Pythonistas have already been doing it.
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 →

natsort: Simple Yet Flexible Natural Sorting in Python
GITHUB.COM/SETHMMORTON

PythonPlantsVsZombies: A Plants Vs Zombies Game Built with Pygame
GITHUB.COM/MARBLEXU

hedy: Hedy Is a Gradual Programming Language, Which Increases in Syntactic Elements Level by Level
GITHUB.COM/FELIENNE

secure: Secure Headers for Python Web Frameworks
GITHUB.COM/TYPEERROR

wasp-os: A MicroPython Based Development Environment for Smart Watches
GITHUB.COM/DANIEL-THOMPSON

📆🐍 Upcoming Python Events


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

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

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

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

⋅ EuroPython 2021 (Virtual) July 26 – August 1, 2021

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