Skip to content

Repository files navigation

🐍 PyVision

PyVision is an interactive Python learning and visualization tool designed to make programming concepts easier to understand through step-by-step visual execution.

Instead of simply showing the output of a Python program, PyVision breaks the execution into individual steps and visually represents variables, lists, conditions, loops, function calls, console output, and algorithmic operations.


✨ Features

  • 📚 40+ interactive Python experiments
  • 🐍 Covers Python concepts from basics to advanced topics
  • ▶️ Step-by-step code execution visualization
  • ⏯️ Play, pause, next, previous, and reset controls
  • ✏️ Edit existing Python examples and visualize the changes
  • 💻 Custom Python code visualization
  • 📦 Visual representation of variables and data types
  • 📋 Interactive list and data-structure visualization
  • 📊 Algorithm visualizations such as sorting and searching
  • 🔀 Visual representation of conditional branches
  • 🖥️ Console output tracking during execution
  • 💡 Explanations and callouts for individual execution steps
  • 🗂️ Experiments organized into different categories
  • 📱 Responsive and clean user interface

📖 Topics Covered

PyVision includes experiments covering:

  • Basics
  • Operators
  • Control Flow
  • Loops
  • Functions
  • Data Structures
  • Strings
  • Algorithms
  • Object-Oriented Programming
  • Error Handling
  • Advanced Python
  • File I/O

Some of the included examples are:

  • Hello World & Print
  • Variables & Data Types
  • If / Elif / Else
  • For and While Loops
  • Functions and Recursion
  • Lists, Dictionaries, Tuples & Sets
  • Bubble Sort and Binary Search
  • Linear Search
  • Classes, Objects & Inheritance
  • Exception Handling
  • List Comprehensions
  • Lambda, Map & Filter
  • Fibonacci Series
  • Prime Number Checking
  • Palindrome Checking
  • Armstrong Numbers
  • Pattern Programs
  • Simple Calculator
  • And many more

🛠️ Technologies Used

  • React
  • TypeScript
  • Vite
  • Tailwind CSS
  • Lucide React
  • JavaScript / TypeScript
  • Custom Python code tracing and visualization engine

📂 Project Structure

PyVision/
├── src/
│   ├── components/
│   │   ├── visuals/
│   │   ├── CustomVisualizer.tsx
│   │   ├── ExperimentList.tsx
│   │   ├── Visualizer.tsx
│   │   ├── Header.tsx
│   │   └── Footer.tsx
│   │
│   ├── data/
│   │   └── experiments.ts
│   │
│   ├── types/
│   │   └── index.ts
│   │
│   ├── utils/
│   │   └── pythonTracer.ts
│   │
│   ├── App.tsx
│   ├── main.tsx
│   └── index.css
│
├── assets/
├── .github/
├── package.json
├── vite.config.ts
├── tailwind.config.js
└── tsconfig.json

⚙️ How to Run

1. Clone the Repository

git clone https://github.com/your-username/PyVision.git

2. Navigate to the Project

cd PyVision

3. Install Dependencies

npm install

4. Start the Development Server

npm run dev

The application will be available at the local development URL shown in the terminal.


🧪 Available Scripts

npm run dev

Starts the Vite development server.

npm run build

Builds the project for production.

npm run preview

Previews the production build locally.

npm run lint

Runs ESLint to check the source code.

npm run typecheck

Checks the project for TypeScript errors.


💡 How It Works

PyVision represents Python programs as a sequence of visual execution steps.

Each experiment contains:

  • Python source code
  • Step-by-step explanations
  • The corresponding code line
  • Variable states
  • Console output
  • Visual data structures
  • Conditional flow information
  • Contextual callouts

For custom code, the built-in tracing engine analyzes the entered Python code and converts supported operations into visual execution steps.

This allows learners to understand not only what a program outputs, but also how the program reaches that output.


🎯 Purpose

The main goal of PyVision is to provide a more visual and interactive way of learning Python programming.

It is especially useful for beginners who find concepts such as loops, recursion, variables, data structures, and control flow difficult to understand from code and output alone.


🚀 Future Improvements

  • Support for more Python language features
  • More advanced code-tracing capabilities
  • Additional algorithm visualizations
  • Improved custom-code compatibility
  • More interactive visual components
  • Expanded experiment library
  • Better error feedback for unsupported code

👨‍💻 Author

Priyam Prabhat Computer Science Student | Web Development | Cybersecurity


⭐ Support

If you find this project useful or interesting, you can give it a star on GitHub!

About

PyVision is an interactive Python learning tool that visually demonstrates how Python code executes step by step. It includes 40+ experiments covering basics, control flow, loops, functions, data structures, algorithms, OOP, and more, with code editing, execution controls, variable tracking, console output, and interactive visualizations.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Contributors

Languages