Programs Central

This page is a distribution center for free 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. You are invited to help make it better with your feedback, and watch for updates and pointers on the programs support page.

Complete Applications

This section collects full programs that you can download and run on your Mac, Windows, and Linux computers. All are available as a self-contained Mac 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). 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 Mirror Your Stuff Your Way
icon A Python/Tk GUI+script program that does both incremental backups and content propagation, 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 Mac OS, and bundled as both executable and source. For a quick preview, see PyGadget's screenshots.

General-Purpose Programs

This section's programs span application domains. Click their first-column links to go to their main pages. All are provided in source-code form and run on Mac, Windows, and Linux, and most are run from command lines—in Terminal on Macs, Command Prompt on Windows, or PyEdit's Run Code (see above). The "Tools" column gives primary tools used for programmers, and "Images" lists screenshots where applicable.

Among highlights here: iconify builds ".icns" and ".ico" files on both Mac 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, folders, Windows long paths, modtime propagation, and cruft-file skips.

Program Description Tools  Images 
ziptools Create and extract zipfile archives everywhere os, zipfile 1
tagpix Combine your photos for easy viewing/archiving PIL/Pillow, text, files 1   2
iconify Make Windows and Mac icon files from images struct, PIL/Pillow, bytes 1   2
treesize Report the size taken by each folder and file os, files, recursion 1   2
unicodemod Convert a Unicode text-file's encoding to any other files, os, Unicode 1
fixeoln Swap Windows⇔Unix endlines in text files, on both files, Unicode, 3.X+2.X 1
pickcolor GUI: map color ~ RGB string, or RGB string ~ color tkinter GUIs, 3.X+2.X 1   2
flatten-iTunes Merge your iTunes or other music folders into one folders, files, text 1
debugtypes Test function args and result types (decorator) decorators, types, bytes 1

Internet-Related Programs

This section's programs pertain to Internet or web scripting. Click their first-column links to go to their main pages. All are provided in source-code form and run on Mac, Windows, and Linux, and most are run from command lines, though some run in web browsers or servers too, and most may be run in PyEdit's Run Code (see above). The "Tools" column gives tools used for programmers, and "Images" lists screenshots if relevant.

Among notables here: sitesearch adds search to websites; thumbspage generates an index webpage for image folders; pylotto is a web-based lottery application; and genhtml provides a framework for generating webpages with common parts coded in template files that are automatically inserted each time a website it built. Many of the programs here are used to build the site you are viewing now.

Program Description Tools  Images 
sitesearch Add search to websites via CGI redirects web scripting, URLs 1   2   3
genhtml Generate website files using static HTML inserts files, text, Unicode 1   2   3
thumbspage Make thumbnails+viewer pages for image folders PIL/Pillow, files, Unicode 1   2   3
showcode Display text files nicely in HTML pages by CGI web scripting, Unicode 1   2   3
imapfetch Fetch email from server-account folders via IMAP files, imaplib, email 1   2   3
pixindex Make/upload HTML and zip files to view photos zipfile, FTP, text 1   2
cleansite Find unused files in a local copy of a website HTML and URL parsing 1   2
pystockmood Guess stock-market mood from live webpage text re, urllib, page scraping 1
pylotto Give away Python books with an online lottery email, websites, random 1
headcode Insert or remove code in a folder's HTML files files, Unicode, bytes 1

Smaller Examples

This section's programs are smaller examples included primarily for Python learners. Most are supplements to material in my Python books, and span application domains. Click their first-column links to go to their main pages or source files.

All examples here are provided in source-code form and run on Mac, Windows, and Linux, and all can be run from command lines, IDLE, PyEdit's Run Code, or other Python launching schemes. The "Tools" column gives tools used (mostly of interest to programmers), and "Images" lists screenshots where applicable.

Example Description Tools  Images 
methods Classmethods versus staticmethods OOP class techniques 1
coroutines Basic yield-based coroutines switcher functions, generators 1   2
generators The evolution of Python generators functions, generators 1
map/lambda Nested loops via map+lambda and more loops, map, lambda 1
aca_utils US ACA health insurance premium tax credit basic math tools 1
timers More on code timing (now in LP5E) time module 1
matrixes More loops/comprehensions (now in LP5E) iteration tools 1

Other Code, Notes, and Updates

Book Examples: see other pages
If you're looking for book example distributions, see your edition's support page. You can also find book example screenshots on the Programming Python gadgets page; some reflect early versions of major apps above.

Windows unzips caution
For Windows users: though rare, File Explorer's built-in zip support may silently fail to extract some files in zip archives of the sort used for many of the programs on this page; see this usage note for details and alternatives, including the Python-coded ziptools package above.

Ignore browser warnings for zipfiles
Some webbrowsers (including some Chromes on some platforms) may issue a warning if you try to download zipfiles. Although some zipfiles can pose a legitimate security threat, those available here do not. This site has been spam- and virus-free since 1996; its code is safe to use and free of advertising—despite the draconian measures being adopted by some companies whose own products are not. For a related issue, see also this note about approving applications the first time they run.

Post-release application updates: off-page
Users of any of the five complete applications above should watch this page for announcements of minor-update releases, as well as new pointers and issues that arose after the most recent major revisions were published.

[Home] Books Programs Blog Python Author Training Search Email ©M.Lutz