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.
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.|
|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|
|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|
|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|
|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|
|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 PyGadgets' screenshots.|
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 Mac, Windows, and Linux. 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: sitesearch adds search to websites; thumbspage creates index and viewer web pages for image folders; pylotto is a web-based lottery application; and genhtml provides a framework for generating web pages from templates, with common parts coded in automatically inserted files. Many of the programs here are used to build the site you are viewing.
|thumbspage||Make image-gallery web pages for folders||1 2 3||PIL/Pillow, 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|
|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|
|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|
|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|
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 Mac, Windows, and Linux. Most are run from command lines—in Terminal on Macs, Command Prompt on Windows, or PyEdit's Run Code.
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.
|ziptools||Create and extract zipfiles everywhere||1||os, zipfile|
|tagpix||Combine your photos for viewing and saving||1 2||PIL/Pillow, 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|
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 Mac, Windows, and Linux, and all can be run from command lines, IDLE, PyEdit's Run Code, or other Python launching schemes.
|methods||Classmethods versus staticmethods||1||OOP class techniques|
|coroutines||Basic yield-based coroutines switcher||1 2||Functions, generators|
|generators||The evolution of Python generators||1||Functions, generators|
|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|