Skip to content

Updated for Python 3.14.0 compatibility and improved security. Fork of sineagles/OnlinePythonTutor (original by Philip Guo)

License

GraceDuquiza/OnlinePythonTutor-Py3

 
 

Repository files navigation

🐍 Online Python Tutor — Modern Python 3.14.0-Compatible Fork

Online Python Tutor helps people overcome a fundamental barrier to learning programming —
understanding what happens as the computer executes each line of source code.

Using this tool, you can write and visualize Python, Java, JavaScript, TypeScript, Ruby, C, and C++ programs directly in your browser, watching how the program executes step by step.


🧩 About This Fork

License: MIT Last Upstream Update Maintained By

This is a modernized fork of sineagles/OnlinePythonTutor,
which is based on the original Online Python Tutor created by Philip Guo in 2010.

Maintained by Grace Duquiza (2025), this version focuses on modern Python compatibility and security improvements.

🔧 Updates include:

  • Replaced deprecated imp with importlib
  • Fixed regex escape warnings
  • Removed exposed API keys
  • Added homepage redirect for / → /visualize.html
  • Verified compatibility with Python 3.6 – 3.14

💡 Note:
The UI may still display “Python 3.6,” but the backend works fully with Python 3.14.


🧩 Development Notes

This fork modernizes Python Tutor v5-unity for current systems, ensuring stable execution under Python 3.6–3.14 and simplifying local setup with the Bottle web server.

⚙️ Quick Start (Local Setup)

You can run the visualizer locally using Python ≥ 3.6 and Bottle:

pip install bottle # make sure the bottle webserver (http://bottlepy.org/) is installed
cd OnlinePythonTutor/v5-unity/
python bottle_server.py

Then open in your browser:

🖼️ Example Visualization

Online Python Tutor Screenshot
Figure 1. Example of a generated Python Tutor visualization.

⚠️ Note:
The non-Python visualizers (Java, JS, C/C++) rely on external backends and may not run locally without additional configuration.
By default, the local setup calls the original server for non-Python backends, so please be mindful of bandwidth usage.


🧠 Original Project Info

This project is based on Philip Guo’s Online Python Tutor,
created in 2010 to help learners visualize code execution.

💡 The original repository is less actively maintained,
but this fork continues development and testing for new Python versions.


⚙️ Tech Stack

Languages: Python, Java, JavaScript, TypeScript, Ruby, C, C++
Frameworks & Tools: Flask, Bottle, Node.js, D3.js
Tested Compatibility: Python 3.6 → 3.14
Server: Local Bottle web server (bottle_server.py)


🏆 Acknowledgments

Original Author: Philip Guo — Creator of Online Python Tutor (2010)
Previous Maintainer: sineagles — Python 3-compatible fork

This version is maintained by Grace Duquiza (2025) with improvements for
Python 3.6–3.14 compatibility, security updates, and modernized local hosting.

Key contributors who helped shape earlier versions include:
John DeNero, Irene Chen, Mark Liffiton, Brad Miller, Peter Wentworth, and many others.

View the full contributor list in the
sineagles/OnlinePythonTutor repository.


📜 License

This project retains the original MIT License.
Copyright © Philip Guo & contributors.
Fork maintained by Grace Duquiza (2025).

About

Updated for Python 3.14.0 compatibility and improved security. Fork of sineagles/OnlinePythonTutor (original by Philip Guo)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 73.9%
  • JavaScript 9.0%
  • Roff 4.3%
  • HTML 4.1%
  • C++ 1.6%
  • Java 1.3%
  • Other 5.8%