Hello 👋 I'm Martin Fitzpatrick.

I write accessible projects, books, and tutorials that help people get more confident with Python.

Etch-A-Snap

The Raspberry Pi powered Etch-A-Sketch camera

Gyroscopic 3D wireframe cube

Using a 3-axis gyro for live 3D perspective

3-axis Accelerometer-Gyro

Measuring acceleration and orientation with an MPU6050

Dictionary Views & Set Operations

Working with dictionary view objects

Displaying images on OLED screens

Using 1-bpp images in MicroPython

Dictionaries

A rather long guide to Python's key:value hash type

Turning a Lucky Cat into a Persistence of Vision display

Python-powered Maneki-neko persistence of vision scroller

Wemos D1 pin numbers & functions

Pin mapping and I2C/SPI from MicroPython
1 2 3 4 5 6 7 8 9 10 11

Python GUIs

Streamlit Widgets

An Overview of Commonly Used Widgets in Streamlit

Getting Started With Flet for GUI Development

Your First Steps With the Flet Library for Desktop and Web Python GUIs

Getting Started With NiceGUI for Web UI Development in Python

Your First Steps With the NiceGUI Library for Web UI Development

Getting Started With DearPyGui for GUI Development

Your First Steps With the DearPyGui Library for Desktop Python GUIs

Saving and Restoring Application Settings with QSettings in PyQt6

Learn how to use QSettings to remember user preferences, window sizes, and configuration options between sessions

6th Edition - Create GUI Applications with Python & Qt, Released

PyQt6 & PySide6 books updated for 2025 with model view controller architecture, new Python/Qt features and more examples

Tkinter Widgets

A walkthrough of Tkinter's basic widgets

Build an Image Noise Reduction Tool with Streamlit and OpenCV

Clean up noisy images using OpenCV denoising algorithms in Python

Kivy's Complex Widgets

Learn How to Use Kivy's Complex UX Widgets in Your Apps

Building a Currency Converter Application using Tkinter

Convert between currencies with real-time exchange rates

How to Show Only Icons in QTableView Cells (Hide Text)

Use custom model roles to display icons without text in your PyQt6 tables

How to Show Only Icons in QTableView Cells (Hide Text)

Use custom model roles to display icons without text in your PySide6 tables

See more at Python GUIs