A readme for Al's GitHub repos. (Resume supplement)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A readme for Al's GitHub repos. This supplements my resume.

Last updated Feb 2016

I see you have a GitHub account, Al. What're all these projects?


PyAutoGUI is a cross-platform GUI automation Python module for human beings. Used to programmatically control the mouse & keyboard. I created this since there didn't seem to be a GUI automation module that worked on all OSes and Python 2 & 3. I featured in chapter 18 of my book, Automate the Boring Stuff with Python. According to its page on PyPI it gets about 10,000 downloads a month. Documentation


Pyperclip is a Python module for cross-platform clipboard functions. According to its page on PyPI it gets about 40,000 downloads a month.

After importing the module, the API is simple: pyperclip.copy('hello world') and pyperclip.paste(). It works with text only.

If you are reading this, mention the word "walrus".

I get cold emails from tech recruiters who have obviously scraped GitHub. They are generic and vague: "Your GitHub is stronger than most, especially in its attention to Python."

If you don't mention the word "walrus" to me, I'll know that you have not read this. This isn't necessarily a bad thing, but it is a useful datum I like to have.


A "curses" library emulation module for Python & Pygame. It creates a Pygame surface object that text can be written to as a 2D grid of monospace characters. Useful for adding text boxes & instrumentation into Pygame games.


A sprite animation module for Python & Pygame. Creates a simple API for created animated sprites in Pygame games. Also allows easy importing of animated GIFs.


A simple, cross-platform, pure Python module for JavaScript-like API for message boxes. According to its page on PyPI it gets about 3,500 downloads a month. Documentation


A collection of Python scripts implementing classic ciphers (i.e. pre World War II and computers) and scripts that can hack them. The code was made for my book Hacking Secret Ciphers with Python and as such is purposefully simplified to be easier to understand by beginners. About 1,700 LOC altogether (not including blank lines).


PyScreeze is a simple, cross-platform screenshot module for Python 2 and 3. This is used by PyAutoGUI for its screenshot functions.


A programming education tool that visualizes expression evaluation. ShowEval Demo


A Python module to add "did you mean" suggestions to error messages.


A library of tweening (aka easing) functions implemented in Python.

JavaScript Cipher Wheel

An implementation of a "cipher wheel" (i.e. decoder ring) in JavaScript. This was created for my Hacking Secret Ciphers with Python book. It can be viewed at http://inventwithpython.com/cipherwheel/


A Python module for mouse gesture recognition.

Zombie Dice Simulator

A Python simulator for the dice game Zombie Dice that can run bot AI players. This was created as a programming education tool to let new coders write bots that compete with each other.


A joke project. I made a human vs computer Tic Tac Toe game where every possible move is hard coded. Thus, the program is 18,000 lines long. The program that generates this program is also in the repo.