Skip to content

Posts

πŸ“‘ 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).

πŸ“‘ Python radar - December 2022

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

⚠️ It’s time to stop using Python 3.7 (pythonspeed.com)
Support for version 3.7 ends in June 2023! It's high time to migrate if you haven’t already. [EDIT 2025-01-20: original link broken, replaced by an Internet Archive link]

🌱 mlco2/codecarbon: Track emissions from Compute (github.com)
A nice find that allows you to evaluate and track the carbon footprint of your running Python code, a good tool to integrate eco-design into your development practice?

πŸ“Š PyArrow and the future of data analytics (youtube.com)
An informative presentation of the capabilities of PyArrow, the "Swiss knife of data," compatible with various technologies including Numpy and Pandas.

πŸ›‘οΈ DataDog/guarddog: GuardDog is a CLI tool to Identify malicious PyPI packages (github.com)
Continuing the recent updates on malicious PyPI packages, here’s a tool to help protect against them.