
Desktop CMU Graphics is an offline version of CMU Graphics, a
persistent-object graphics package geared towards beginner computer science
students. CMU Graphics and its desktop version are maintained by
CMU CS Academy, a Carnegie Mellon University
project which develops free-to-use middle and high school computer science
curriculum.
Desktop CMU Graphics works with Python 3.6-3.11 and is compatible with
Replit and Coding Rooms
(see the "Replit" and "Coding Rooms" sections below). This
package, including its documentation, is licensed under the
BSD 3-Clause license.
Installation
Choose zip or pip
There are two different ways to install Desktop CMU Graphics on a device:
- (Mac and Windows only) Use the zip file installer that is available
for download on the CMU CS Academy website.
- (Mac, Windows, and Linux) Use pip, Python’s built-in package-managing software.
Both methods come with their own advantages and limitations. If you're in doubt
about which to choose, the zip file installer is the most likely to succeed. It
should work regardless of most restrictions in place on school-distributed devices.
For those using devices with Linux operating systems, or for those who are
familiar with the command line/terminal, the pip version of the
package offers a larger degree of versatility.
The remainder of these installation instructions are only for the pip version.
Install dependencies
If you're using Windows, you don't need to install any dependencies. Skip ahead to "Install CMU Graphics" below.
If you're using a Mac, install Homebrew.
If you're using a Mac or Linux, install the software packages needed by pycairo. Read their getting started page for instructions.
Install CMU Graphics
Run the following command:
pip install cmu-graphics
Getting Started
To run our graphics framework, include the following line at the top of your
Python file:
from cmu_graphics import *
At the end of your Python file, add this line:
cmu_graphics.run()
From there, the syntax for using the graphics package is identical to the
online version of the framework. You can find more details about how to use the
graphics framework here on our documentation page.
Teacher Support and Documentation
If you are a teacher with a CMU CS Academy Account and you have questions about
CMU Graphics, remember that you can reach out to us through the Support tab on
the left side of the CMU CS Academy website:

If you are an educator but do not have an account with CMU CS Academy, you can
register for an account here.
If you are a student, or you are exploring Desktop CMU Graphics,
there are plenty of resources to help you get started with
the framework. Students can reach out to their teachers for questions about
CMU Graphics, and a full reference documentation for the graphics
framework is available on our documentation page.
Replit
Desktop CMU Graphics is compatible with Replit. To use
the package on the Replit website:
- Create a new repl. Choose "Python-CMUGraphics" as the language.
- Run your code!
Coding Rooms
Desktop CMU Graphics is compatible with Coding Rooms. To use the package on the
Coding Rooms website:
- Visit this link to create a workspace
- Click "Start Coding Python for Free Now"
- Click the blue "View Desktop" button above the shell
- Run your code!