March 1st, 2021 · 8 min read
15th issue! If you missed the previous ones, you can read the previous issues of my monthly Python newsletter here.
Being a Python developer is a fantastic career option. Python is now the most popular language with lots of growing job demand (especially in the fields of Web, Data Science and Machine Learning). You have many job opportunities, you can work around the world, and you get to solve hard problems.
One thing that is hard, however, is staying up to date with the constantly evolving ecosystem. You want to be a top-performing python developer, coder, programmer, software developer, but you don’t have time to select from hundreds of articles, videos and podcasts each day.
This is the best Python newsletter for you if you want to keep up to date with the industry and keep your skills sharp, without wasting your valuable time.
I curate and share the most important articles, news, resources, podcasts and videos of the month.
This was an interesting article. Python has become the most popular language in the world because it is so beginner friendly. However, as more and more people use it, the need to include more advanced features grows as well. This is a challenge that all technical projects face as time passes and they grow.
Rich is a python tool that allows you to beautify CLIs. This weekend, spend some time making all of your CLIs beautiful so you look like you are doing important work at your home or coffee shop or when your boss walks behind you (you know, once people go back to offices of course).
Every programming language aims to be performant in its niche and achieving superior performance requires a lot of compiler level optimizations. One famous optimization technique is Constant Folding where during compile time the engine tries to recognize constant expressions, evaluate them, and replaces the expression with this newly evaluated value, making the runtime leaner. Learn all about it in this tutorial.
Integers require no introduction. They are so ubiquitous and seem so basic that you may doubt whether it's worth discussing how they are implemented at all. Yet, Python integers are interesting because they are not just 32-bit or 64-bit integers that CPUs work with natively. Python integers are arbitrary-precision integers, also known as bignums. No idea what any of that means? Read all about integers here.
Pyston 2.1 Is Blowing Past Python 3.8/3.9 Performance. With this past week's release of Pyston 2.1 as an alternative Python interpreter I was curious to see how the performance compared to that of upstream Python... So here are some weekend benchmarks with a Ryzen 9 5900X system.
Python, being a beautifully designed high-level and interpreter-based programming language, provides us with many features for the programmer's comfort. But sometimes, the outcomes of a Python snippet may not seem obvious at first sight.
Here's a fun project attempting to explain what exactly is happening under the hood for some counter-intuitive snippets and lesser-known features in Python.
Google has become a visionary sponsor for the Python Software Foundation. You do that by donating a lot of money. Nice to see the support!
The Python steering council has, after some discussion, accepted the controversial proposal to add a pattern-matching primitive to the language. The pattern matching process takes as input a pattern (following
case) and a subject value (following
match). Learn all about it here.
Each time you make a change to a string variable, you are actually producing a brand new string. Because of this, tutorials out there warn you to avoid string concatenation inside a loop and advise using join instead for performance reasons. Even the official documentation says so!
This is wrong. Sort of.
Once you are confused by that one, read this.
A great strategy to use when faced with a tricky data analysis problem is to reshape the dataset into a format that turns it into an easy problem. In this article we will look at an example involving a simple calculation and extensive reshaping. Here is a walkthrough of how to do it.
Microservices are a way to organize complex software systems. Instead of putting all your code into one app, you break your app into microservices that are deployed independently and communicate with each other. This tutorial teaches you how to get up and running with Python microservices using gRPC, one of the most popular frameworks.
I highly recommend this read. The summary? If your python service is receiving 100,000 requests a second, it's likely that the specific Python framework you use is not going to be the bottleneck. Especially if your API is stateless and you can scale it via Kubernetes or similar. At that point, a good database, with decent schema design and good architecture are going to matter far more. Having said that, if you do want more processing power, use PyPy... just don't worry about the web frameworks you use.
An exploration of threads, processes, and coroutines in Python, with interesting examples that illuminate the differences between each. Enjoy!
You should probably keep your
pip up to date. Here is why.
When the legend, Martin Fowler speaks, we all must listen. For those that don't know, Martin has been around for a while and is one of the most respected programmers you will ever meet. His writings have had tremendous impact on the industry and his latest article gives a great insight into how smart people feel about Monolith vs Microservices. Follow his advice, and you won't be led astray.
If you're not sure what Monoliths, Microservices and Modules are, then you should read this first.
See you next month everyone!
If you haven't already, subscribe below to receive the best monthly Python Newsletter (not biased at all) next month along with exclusive ZTM posts and offers. If you're already subscribed, please share it with someone (use those little widgets on the left) who might find it useful, they'll love you and so will we!
By the way, I teach people how to code and get hired in the most efficient way possible as the Lead Instructor of Zero To Mastery Academy. You can see a few of my courses below or see all ZTM courses here.