Python Interpreter for School Assignments (PISA) is a free web-based Python interpreter (sometimes called a Python compiler) designed for educational purposes. PISA requires no installation or user accounts and features code revision history and Turtle Graphics.
Privacy:
This website is designed to minimize data collection and protect student privacy. This tool is designed to comply with FERPA principles. No educational records or student data are stored, shared, or retained by the service. No user accounts are required, and no names, email addresses, or personal identifiers are collected. Teachers only receive assignment data that students explicitly choose to submit.
All assignment content, revision history, keystroke timing data, and copy-and-paste activity are stored locally in the user’s browser while they work. This data is never permanently transmitted to or stored on any server.
When a user saves or opens an assignment, the assignment data is temporarily sent to a Netlify serverless function solely for the purpose of encryption or decryption. These server requests are processed in memory only and are not logged, stored, cached, or retained in any form. Keystroke timing data is never saved and only used to compute the keyboard entropy score.
All assignment data is downloaded to the user’s computer in an encrypted format. The user retains full control over their files.
This privacy statement may be updated to reflect changes to the site. Any updates will be posted on this page.
Acknowledgements:
Skulpt: An entirely in-browser implementation of Python
CodeMirror: A code editor component for the web
Gruvbox: A retro groove color scheme for Vim
Tower of Pisa image edited from a png provided by Vecteezy: https://www.vecteezy.com/free-png/leaning-tower-of-pisa
Dear Fellow Educators,
In the Spring of 2025, I was asked to teach an introductory Python programming course entirely online. I built this website for that course to support academic integrity and student understanding.
To track my students' revision history on their assignments, I require that all work and drafts for each assignment be completed using the same file on this website. A revision is saved every time the student runs their code or clicks the 'Save' button. The revision history is stored in an encrypted format within the file downloaded from this website when the 'Save' button is clicked. To view the code and revision history, it must be uploaded to this website.
In my class, a significant portion of the grade for each assignment is based on the following criterion:
"Code history demonstrates meaningful engagement with the problem, such as through iterative problem solving, debugging attempts, and logical revisions."
Please note that you can view additional metadata regarding a file via Ctrl+Shift+/.
You are welcome to use this website in your classes. If you have any questions, suggestions, or would like to report a bug, please reach out to me at contact@pisaeditor.com.
I hope this website is as useful to you as it has been for me.
***
Question: Why does my file look like gobbledygook?
Answer: You are likely looking at the raw text of the encrypted .pisa file. Be sure to use the 'Save' and 'Open' buttons above. You must use this website to view or edit your file.
***
Question: How do I save my revision history?
Answer: A revision is automatically saved once per minute as you write your code. The revisions will be stored within the .pisa file which is downloaded when you click the 'Save' button. To view revisions, upload a .pisa file which was previously saved from this website using the 'Open' button. Then, if you click the 'History' button, the revision history will appear in this output panel.
***
Question: Can I play back the revision history of a file?
Answer: Yes. Use the arrow buttons on either side of the 'History' button to step through the file's revisions one at a time.
***
Question: Can I change the size of the code editor and/or the output panel?
Answer: Yes, click and drag on the bottom right corner of the editor or output panel. If you want to make the output panel larger, you may first have to make the essay editor smaller.
***
Question: I am trying to load a file, but I do not see it in my computer's directory when I click the 'open' button. Why can't I find my file?
Answer: The site can only open files that were created and downloaded from this website. Make sure the file you are trying to open has the .pisa file extension. On some computers or browsers, downloaded files may appear with an extra extension, such as .pisa.txt. If this happens, rename the file by removing the .txt so that the file name ends in .pisa, then try opening it again.