Python — Determining the Path to the User Directory

The path to a user directory can vary depending on the operating system. For instance, if the username is “kendra”, you would deal with the following paths: When writing a Python program for personal use, you could simply use the corresponding path to your user directory (i.e., /Users/<Username>). However, the situation changes when the program … Read more

Installing Rust on macOS

Introduction Rust is a relatively young language in the field of systems programming. Its first stable release came out in 2015, though it was announced back in 2010. Rust blends several programming paradigms — functional, object-oriented, and concurrent — making it easy for programmers from different backgrounds to find familiar concepts. However, those unfamiliar with … Read more

How to use CustomTkinter instead of Tkinter

The Tkinter library is available in Python for creating a graphical user interface. In addition, the CustomTkinter UI library is a modern variant that allows more customization in terms of appearance. This article shows how CustomTkinter can be used to create a window with two text fields (entries), a button widget and a label widget. … Read more

Setting up the package manager uv on a Mac

uv package manager

uv is a package manager written in Rust that is an alternative to pip. It allows you to isolate a project, meaning packages installed with uv are only available to the respective Python project. This makes it possible to install different package versions for different projects. When a package is installed with uv, the package … Read more

An object-oriented approach to creating a TKinter window

Tkinter window with label widget on Windows

The first Tkinter article showed how to create a simple window with a label. Here is the code: Grid was used as layout manager. After executing this code, this window appears: This simple app could now be further developed by adding more widgets. However, the more components are added, the more confusing the code becomes. … Read more