Programs Central

This page is a distribution center for free and open-source software written in the Python programming language. Its downloads span:

All code here is meant to be both useful and educational and is entirely free and advertising free. You are invited to help make it better with your feedback. For updates and tips for code here, see the programs support page. For book example code, see your book's support page.

[PC-Phone USB Sync]

Related: hosted elsewhere but also by the makers of the software on this page, the PC-Phone USB Sync app syncs content folders between PCs and Android phones, uses Mergeall below, and is available on the Play store for Android and as a free download for PCs. For more info, tap the icon to the left, and see the prefaces added to subsumed pages like this.

Complete Applications

This section collects full programs that you can download and run on your macOS, Windows, and Linux PCs, as well as your Android smartphones and tablets. All are available as a self-contained macOS app, Windows exe, and Linux executable (which you simply install and run); plus a full and portable source-code package (which you run with your own Python interpreter or Android app). For download locations and more details, click each program's icon or name to go to its main page.

PyEdit — Edit Text. Run Code. Have Fun.
icon A Python/Tk text-editor and code-launcher GUI, that can be used as both standalone program and library component. PyEdit can serve as your go-to text editor, as well as a lightweight IDE that runs Python code and other content. For a quick preview, check out PyEdit's features and screenshots.
Frigcal — Personal Calendar GUI; No Login Required
icon A Python/Tk calendar GUI, which stores your calendar entries in portable ICS files that work across platforms and programs. With Frigcal, your calendar data is your business, not something to be scanned and monetized by nosy companies. For a quick preview, tour Frigcal's features and screenshots.
Mergeall — Backup and Sync Your Stuff Your Way
icon A Python/Tk GUI+script program that backs up and syncs content folders quickly and can serve as a manual but private alternative to cloud storage. With Mergeall, your stuff is your property, not someone else's point of control. For a quick preview, browse Mergeall's features and screenshots.
PyMailGUI — Email Without the Evil
icon A Python/Tk email client GUI, which allows you to both send and receive email using your email accounts, and save and view it in offline files. With PyMailGUI, your email session is private, void of advertising, and off-limits to snoops. For a quick preview, explore PyMaiGUI's features and screenshots.
PyGadgets — GUI Toys, Just for the Hack of It
icon A set of four Python/Tk desktop GUIs originally from the book PP4E—the PyCalc calculator, PyClock analog/digital clock, PyPhoto image viewer, and PyToe AI-based game—all upgraded, ported to macOS, and bundled as both executable and source. For a quick preview, see PyGadgets' screenshots.

Internet-Related Programs

icon
This section's programs pertain to Internet or web scripting. In the table below, click first-column links to go to main pages, and see Images for screenshots and Tools for coding subjects. All programs here are provided in source-code form and run on macOS, Windows, Linux, and other Python-friendly platforms. Most are run from command lines, though some run in web browsers or servers too, and many may be run in PyEdit's Run Code.

Among notables here: thumbspage creates web-page galleries for image folders; sitesearch adds search to websites; pylotto runs a web-based lottery; showcode formats text files for display; and genhtml generates a site's web pages from templates, inserting common parts automatically with HTML macros. Many of the programs here are used to build the site you are viewing.

Program Description  Images  Tools
thumbspage Turn folders into HTML image galleries 1   2   3   4 PIL/Pillow, piexif, Unicode
sitesearch Add search to websites via CGI redirects 1   2   3 Web scripting, URLs
genhtml Generate website files with static HTML inserts 1   2   3 Files, text, Unicode
showcode Display text files nicely in HTML pages by CGI 1   2   3 Web scripting, Unicode
shrinkpix Shrink images for faster (and politer) websites 1   2 PIL/Pillow, piexif, re
imapfetch Fetch IMAP email folders from your server 1   2   3 Files, imaplib, email
pylotto Give away Python books with an online lottery 1   2   3 email, websites, random
ip-anon Add analytics code to anonymize IP addresses 1   2 Bytes files, Unicode
pixindex Make/upload photos page+zipfile 1   2 zipfile, FTP, text
cleansite Find unused files in a local website copy 1   2 HTML and URL parsing
findem Android Opera work-around: find /* in <pre> 1 HTML parsing, folder trees
pystockmood Guess stock-market mood from web-page text 1 re, urllib, page scraping
headcode Insert or remove code in a folder's HTML files 1 Files, Unicode, bytes

General-Purpose Programs

icon
This section's programs span application domains. In the table below, click first-column links to go to main pages, and see Images for screenshots and Tools for coding subjects. All programs here are provided in source-code form and run on macOS, Windows, Linux, and more. Most are run from command lines—in Terminal on macOS and Linux, Command Prompt on Windows, Termux on Android, PyEdit's Run Code, or other.

Among highlights here: deltas (a.k.a. Android Deltas Sync) syncs content from PCs to Android 11+ devices and others; iconify builds ".icns" and ".ico" files on both macOS and Windows; tagpix helps you organize your photo collections; and ziptools provides scripts and functions that zip and unzip archives anywhere, and fill in crucial support missing from Python's own zip module—symlinks, UTC times, cruft-file skips, and more.

Program Description  Images  Tools
ziptools The bits that Python's zipfile module forgot 1   2   3   4 os, zipfile, glob, struct
deltas sync Sync content to Android 11+ devices by USB 1   2   3   4 ziptools, Mergeall, subprocess
tagpix Combine your photos for viewing and saving 1   2   3 PIL/Pillow, re, text, files
iconify Make Windows and Mac icon files anywhere 1   2 struct, PIL/Pillow, bytes
treesize Report the size taken by each folder and file 1   2 os, files, recursion
unicodemod Change a text file's Unicode encoding 1 Files, os, Unicode
fixeoln Swap Windows⇔Unix text endlines on either 1 Files, Unicode, 3.X+2.X
pickcolor Map color ~ RGB string, RGB string ~ color 1   2 tkinter GUIs, 3.X+2.X
flatten-iTunes Merge your iTunes or other music folders 1 Folders, files, text
debugtypes Test function input/output types (decorator) 1 Decorators, types, bytes

Smaller Examples

icon
This section's programs are smaller examples included primarily for Python learners. In the table below, click first-column links to go to main pages, and see Images for screenshots and Tools for coding subjects. Most examples here are supplements to material in my Python books and span application domains.

All examples here are provided in source-code form and run on macOS, Windows, Linux, and more, and all can be run from command lines, IDLE, PyEdit's Run Code, or other Python launching schemes.

Example Description  Images  Tools
methods Classmethods versus staticmethods 1 OOP class techniques
symlinks Point absolute symlinks to a new root 1 os module, files
coroutines Basic yield-based coroutines switcher 1   2 Functions, generators
generators The evolution of Python generators 1 Functions, generators
checksums Modtimes vs checksums for syncs 1 hashlib, os.stat, bytes
map/lambda Nested loops via map+lambda and more 1 Loops, map, lambda
aca_utils US health insurance premium tax credit 1 Basic math tools
timers More on code timing (now LP5E) 1 time module
matrixes More loops/comprehensions (now LP5E) 1 Iteration tools

Other Code, Notes, and Updates