RSSAmplifier

Blog

Martin Fitzpatrick

Python tutorials, projects and books

martinfitzpatrick.comRSS feed ↗25 posts

Latest posts

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

The 6th edition of my book Create GUI Applications with Python & Qt is now available, for PyQt6 & PySide6.

PyQt6 Book now available in Korean: 파이썬과 Qt6로 GUI 애플리케이션 만들기 — The hands-on guide to creating GUI applications with Python gets a new translation

I am very happy to announce that my Python GUI programming book Create GUI Applications with Python & Qt6 / PyQt6 Edition is now available in Korean from Acorn Publishing

Getting Started With Git and GitHub in Your Python Projects — Version-Controlling Your Python Projects With Git and GitHub

Using a version control system (VCS) is crucial for any software development project. These systems allow developers to track changes to the project's codebase over time, removing the need to keep multiple copies of the project folder.

Working With Classes in Python — Understanding the Intricacies of Python Classes

Python supports object-oriented programming (OOP) through classes, which allow you to bundle data and behavior in a single entity. Python classes allow you to quickly model concepts by creating representations of real objects that you can then use to organize your code.

Getting started with VS Code for Python — Setting up a Development Environment for Python programming

Setting up a working development environment is the first step for any project. Your development environment setup will determine how easy it is to develop and maintain your projects over time. That makes it important to choose the right tools for your project . This article will guide you through how to set up Visual Studio Code, which is a popular free-to-use, cross-platform code editor…

PyQt6, PySide6, PyQt5 and PySide2 Books -- updated for 2022! — New editions extended and updated, now 780+ pages

Hello! Today I have released new digital editions of my PyQt5, PyQt6, PySide2 and PySide6 book Create GUI Applications with Python & Qt .

DiffCast: Hands-free Python Screencast Creator — Create reproducible programming screencasts without typos or edits

Programming screencasts are a popular way to teach programming and demo tools. Typically people will open up their favorite editor and record themselves tapping away. But this has a few problems. A good setup for coding isn't necessarily a good setup for video -- with text too small, a window too big, or too many distractions. Typing code in live means mistakes, which means more time editing or…

PySide6 tutorial now available — Complete course, updated for PySide2 & PySide6

Hello! With the release of Qt6 versions of PyQt and PySide the course was getting a little crowded. So, today I've split the PySide tutorials into their own standalone PySide2 course and PySide6 course .

PyQt6 Book now available: Create GUI Applications with Python & Qt6 — The hands-on guide to making apps with Python

Hello! Today I have released the first PyQt6 edition of my book Create GUI Applications, with Python & Qt6 .

PySide6 Book now available: Create GUI Applications with Python & Qt6 — The hands-on guide to making apps with Python

Hello! This morning I released the first Qt6 edition of my PySide book Create GUI Applications, with Python & Qt6 .

Using MicroPython and uploading libraries on Raspberry Pi Pico — Using rshell to upload custom code

MicroPython is an implementation of the Python 3 programming language, optimized to run microcontrollers. It's one of the options available for programming your Raspberry Pi Pico and a nice friendly way to get started with microcontrollers.

Remaking the classic Atari game ET in 10 lines of SAM Coupé BASIC

The Basic 10 Liner contest has been running for 11 years. This year (2021) the 10th competition, and the first time I've heard of it, thanks to Dean Belfield .

Writing Snake in 10 lines of SAM Coupé BASIC — Simple Snake game in 10 lines of BASIC

The Basic 10 Liner contest has been running for 11 years. This year (2021) the 10th competition, and the first time I've heard of it, thanks to Dean Belfield .

Writing a SAM Coupé SCREEN$ Converter in Python — Interrupt optimizing image converter

The SAM Coupé was a British 8 bit home computer that was pitched as a successor to the ZX Spectrum, featuring improved graphics and sound and higher processor speed.

Preserving the FRED disk magazine's text by decoding the Entropy Reader — Writing a SAM Coupé Reader parser in Python

FRED was the most popular disk magazine for the SAM Coupé 8 bit home computer.Published by Colin MacDonald out of sunny Monifieth, Scotland, the magazine ran from it's first issue in 1990 through to it's last (82) in 1998.

Squeezing Space Invaders onto the BBC micro:bit's 25 pixels — MicroPython retro game in just 25 pixels

How much game can you fit into 25 pixels? Quite a bit it turns out.

Network Interface Design — Details of the SAM Coupé networking circuitry

In the first part we looked at the information about the SAM Coupe network available in the user manual, technical manual and other examples of networking systems that may have influenced the design on the SAM Coupe. Next I'm going to look at the electrical design of the SAM Coupe and the other devices, to see if they really are compatible and whether we can knock together an interface to start…

SAM Coupé Network — Figuring out the SAM Coupé 8 bit home computer's networking abilities

The SAM Coupé was a British 8 bit home computer that was pitched as a successor to the ZX Spectrum, alongside improved graphics and sound and higher processor speed it also had in built support for MIDI and networking. The manual talked up how the SAM was ready to expand and the accompanying image captured my imagination, thinking of all the possibilities this little box had in it.

Create GUI Applications with Python & Qt5, 4th Edition now available (PyQt5 & PySide2) — The hands-on guide to make apps with Python

Hello! This morning I released a new update to my PyQt5 book Create GUI Applications, with Python & Qt5 . This is an enormous update, expanding it from 258 to 665 pages and adding 211 complete code examples.

LearnPyQt — One year in, and much more to come. — A quick retrospective on 2019

It's been a very good year.

Etch-A-Snap — The Raspberry Pi powered Etch-A-Sketch camera

Etch-A-Snap is (probably) the worlds first Etch-A-Sketch Camera . Powered by a Raspberry Pi Zero (or Zero W) it snaps photos just like any other camera, but outputs them by drawing to an Pocket Etch-A-Sketch screen. Quite slowly.

Gyroscopic 3D wireframe cube — Using a 3-axis gyro for live 3D perspective

This little project combines the previous accelerometer-gyroscope code with the 3D rotating OLED cube to produce a 3D cube which responds to gyro input, making it possible to "peek around" the cube with simulated perspective, or make it spin with a flick of the wrist.

3-axis Accelerometer-Gyro — Measuring acceleration and orientation with an MPU6050

Measuring acceleration and rotation has a lot of useful applications, from drone or rocket stablisation to making physically interactive handheld games.

Dictionary Views & Set Operations — Working with dictionary view objects

The keys , values and items from a dictionary can be accessed using the .keys() , .values() and .items() methods. These methods return view objects which provide a view on the source dictionary.

Creating a 3D wireframe cube with MicroPython on an OLED display — Basic 3D model rotation and projection

An ESP2866 is never going to compete with an actual graphics card. But it has more than enough oomph to explore the fundamentals of 3D graphics. In this short tutorial we'll go through the basics of creating a 3D scene and displaying it on an OLED screen using MicroPython.