Skip to content

Weblog

๐Ÿ“ก Python radar - January/February 2024

A personal selection of Python-related news and projects that caught my attention this month (note: leading emojis are mine).

๐Ÿ”’ TIL: Forcing pip to use virtualenv (feldroy.com)
A useful "Today I Learned" for protecting yourself from accidentally installing packages in your system's Python installation (like when you forget to activate your virtual environment...).

๐Ÿ“Š Fastest Way to Read Excel in Python (hakibenita.com)
The author presents 6 tools/packages for quickly importing data from an Excel file... and in the end, Rust wins!

๐ŸŒ Microdot: Yet Another Python Web Framework (miguelgrinberg.com)
A micro web framework with an API similar to Flask that runs on MicroPython, the implementation of Python for small devices/IoT.

๐Ÿงฎ NumPy 2 is coming: preventing breakage, updating your code (pythonspeed.com)
The arrival of NumPy 2 brings its own compatibility issues with the previous major version; this article provides tips to anticipate and prevent potential breakage.

๐Ÿ“ก Python radar - December 2023

A personal selection of Python-related news and projects that caught my attention this month (note: leading emojis are mine).

๐Ÿ—ƒ๏ธ Serialize Your Data With Python (realpython.com)
A long article that thoroughly covers the various ways to serialize Python objects (i.e., convert them into a transferable format) depending on the type of object and application.

โš™๏ธ Configuration in Python Applications: No Magic, Just Necessary Practice (robertrode.com)
A very good article detailing best practices for configuring Python code, with a special mention for pydantic-settings (which I discovered while reading this article).

๐Ÿงฉ Real-world match/case (nedbatchelder.com)
A small example of using the "structural pattern matching" mechanism introduced in Python 3.10, but the main interest of this article is to enable me to share the link to this much more interesting piece: Structural pattern matching in Python 3.10 (benhoyt.com).

๐Ÿ“ Python, C, Assembly - 2,500x Faster Cosine Similarity ๐Ÿ“ (ashvardanian.com)
Another step-by-step optimization exercise of a very common algorithm these days; it's very technical and goes deep but will surely interest quite a few people.

๐Ÿ“ก Python radar - October/November 2023

A personal selection of Python-related news and projects that caught my attention this month (note: leading emojis are mine).

๐Ÿ Python 3.12: Cool New Features for You to Try (realpython.com)
The big event in October was the release of Python 3.12; hereโ€™s a review of the new features.

๐Ÿ”ฌ Python 3.12 Preview: Subinterpreters (realpython.com)
A deep dive into the inner workings of Python (specifically CPython) to understand "subinterpreters," the key to "true" parallelism in Python that has been hindered for ages by the infamous Global Interpreter Lock (GIL). Itโ€™s technical and lengthy; I admit I didnโ€™t read everything...

โฑ๏ธ 5 Ways to Measure Execution Time in Python (superfastpython.com)
Itโ€™s easy โ€” just use time.time()... actually, no. This article presents other more reliable standard functions to measure the execution time of a piece of code.

๐Ÿ” Python 3.12: what didnโ€™t make the headlines (bitecode.dev)
More on Python 3.12, this time featuring some little nuggets that flew under the radar.

๐Ÿ“ก Python radar - September 2023

A personal selection of Python-related news and projects that caught my attention this month (note: leading emojis are mine).

๐Ÿง  Understanding Automatic Differentiation in 30 Lines of Python (vmartin.fr)
A very educational article in French (which is quite rare to note) about the pedagogical implementation of an algorithm that underpins many optimization techniques, informative with interesting Python code.

๐Ÿค– Making Large Language Models Work for You (simonwillison.net)
An excellent presentation (video and transcription) to understand the current state of "Large Language Models" (LLMs) and how it is now possible to make use of them.

๐Ÿ› ๏ธ Writing a C Compiler in 500 Lines of Python (vgel.me)
Everything is in the title... I enjoy these seemingly trivial challenges that intersect technologies and push us out of our comfort zones.

๐Ÿ” Introducing flake8-logging (adamj.eu)
A new plugin for the code checking tool flake8 to ensure the correct usage of the standard module logging.

๐Ÿ“ก Python radar - June/July 2023

A personal selection of Python-related news and projects that caught my attention this month (note: leading emojis are mine).

PS: I'm putting aside the news about Large Language Models (LLM) for now; there are some very interesting things (open models, local execution, embeddings), but there is a profusion of tools/libs/packages, and it's all over the place. Let's wait for the dust to settle a bitโ€ฆ

๐ŸŽฅ PyCon US 2023 (youtube.com)
The videos of the keynotes, talks, and tutorials from the annual Python conference PyCon US are available.

๐Ÿผ SQL Databases with Pandas and Python (youtube.com)
A video by our colleague Rob Mulla explaining how to interact with an SQL database directly from Pandas; it can be very convenient.

โšก AsyncIO: Why I Hate it (charlesleifer.com)
A frank opinion on the Python API asyncio and why it is preferable to use an alternative like gevent.

โš ๏ธ Using and Creating Global Variables (realpython.com)
To thoroughly understand the concepts of "scope" of variables and the impact of using global variables in your code (hint: not good).

๐Ÿ“ก Python radar - May 2023

A personal selection of Python-related news and projects that caught my attention this month (note: leading emojis are mine).

๐Ÿ› ๏ธ SOLID Principles: Improve Object-Oriented Design in Python (realpython.com)
After the GRASP object-oriented programming principles that we covered two months ago, here comes its big brother: the SOLID principles. A good practice is to try to tie your design decisions to one of these principles.

๐Ÿ“ How to Document Your Code Like a Pro (youtube.com)
A new video from ArjanCodes to enhance your coding documentation practices, including the classic comments and docstrings, but also the use of type annotations (which I personally fully approve of).

๐Ÿ’พ basnijholt/rsync-time-machine.py: Time Machine-style backups using rsync (github.com)
A unique and dependency-free Python script (except for rsync!) for creating and managing incremental backups of your folders to any machine.

๐Ÿค– ChatGPT: Your Personal Python Coding Mentor (realpython.com)
A tutorial on how to use ChatGPT as a personal mentor to develop your Python skills, with examples of "prompts" to learn the language, help debug a piece of code, assist with refactoring, etc.

๐Ÿ“ก Python radar - April 2023

A personal selection of Python-related news and projects that caught my attention this month (note: leading emojis are mine).

๐Ÿ›ก๏ธ GitHub - SourceCode-AI/aura: Python source code auditing and static analysis on a large scale (github.com)
A command-line tool to detect potentially malicious Python packages, useful for scanning your project's dependencies.

๐Ÿค– GitHub - biobootloader/wolverine (github.com)
A project that demonstrates the ability to automatically fix a buggy Python script using GPT-4.

๐Ÿงฐ Improve your Django Code with pre-commit (builtwithdjango.com)
An article introducing the pre-commit tool that allows you to automatically run code checking commands before each commit. Don't let the Django aspect, which is really minor in the article, stop you.

๐Ÿ GitHub - hsaunders1904/pyautoenv (github.com)
To avoid getting confused between all your virtual environments, this project enables the automatic activation of the virtual environment in the folder you navigate to using cd, compatible with major shells including PowerShell.

๐Ÿ“ก Python radar - March 2023

A personal selection of Python-related news and projects that caught my attention this month (note: leading emojis are mine).

๐Ÿงช pytest tips and tricks (pythontest.com)
A series of practical and pragmatic recommendations to improve your use of pytest.

๐Ÿ•ธ๏ธ pynecone-io/pynecone: ๐Ÿ•ธ Web apps in pure Python ๐Ÿ (github.com)
After Streamlit, Dash/plotly, panel (and Iโ€™m forgetting some), hereโ€™s a new project that allows you to build web apps without touching HTML, CSS, or JavaScript.

๐Ÿ“š Asabeneh/30-Days-Of-Python: 30 days of Python programming challenge (github.com)
To learn Python in a methodical and somewhat playful way.

๐ŸŽฅ GRASP Design Principles: Why They Matter (And How to Use Them) - YouTube (youtube.com)
A very good educational video on important software design principles, still very instructive even after years of practice!

๐Ÿ“ก Python radar - February 2023

A personal selection of Python-related news and projects that caught my attention this month (note: leading emojis are mine).

๐Ÿ–ฅ๏ธ Introducing the new JupyterLab Desktop! (blog.jupyter.org)
The Desktop version of JupyterLab, easily installable on your machine via a simple executable.

๐Ÿค– GPT in 60 Lines of NumPy (jaykmody.com)
An extremely detailed article on building a small educational GPT model using only NumPy.

๐Ÿฆ€ Ruff: An extremely fast Python linter, written in Rust (beta.ruff.rs)
To check the code quality of your Python project in record time, just a few seconds for large projects according to the documentation.

๐Ÿ“Š Kanaries/pygwalker: Turn your pandas dataframe into a Tableau-style UI for visual analysis (github.com)
A new and very promising project that allows you to explore a dataset by easily creating drag-and-drop visualizations, definitely worth trying!

๐Ÿผ pandas 2.0 and the Arrow revolution (part I) (datapythonista.me)
One of the core developers of pandas explains the advantages that the Apache Arrow library brings as a backend for pandas in managing in-memory data.

๐Ÿ“ก Python radar - January 2023

A personal selection of Python-related news and projects that caught my attention this month (note: leading emojis are mine).

๐Ÿ—บ๏ธ Python Folium: Create Web Maps From Your Data (realpython.com)
A quality tutorial (as always with Real Python) to generate interactive geospatial visualizations

๐Ÿง  Why Polars uses less memory than Pandas (pythonspeed.com)
A small step-by-step demonstration of reducing the memory footprint of a dataframe calculation with Pandas and then with the Polars library (which I am discovering through this article...)

๐Ÿ–ฅ๏ธ zauberzeug/nicegui: Create web-based UI with Python. The nice way. (github.com)
In the same spirit as Streamlit, here is another tool for designing a web UI in pure Python

๐Ÿงช Getting Started With Property-Based Testing in Python With Hypothesis and Pytest (semaphoreci.com)
A very interesting article describing a testing method based on the intrinsic properties of a function (which must be defined) and allowing, through the Hypothesis package, to automatically generate test cases

๐Ÿค– Let's build GPT: from scratch, in code, spelled out. (youtube.com)
ChatGPT blah blah ChatGPT...have you had your fill or do you want more? I promise after this we will stop, this time I suggest diving into the step-by-step construction of a GPT model with this 2-hour video tutorial (I haven't watched it but the video seems to have a certain success).