RichDom2185 / pythonbuddy-issue-tracker

Issue tracker for Python Buddy.
https://pythonbuddy.dev
0 stars 0 forks source link
python

Python Buddy Issue Tracker

Python Buddy is a tool to help you learn coding in Python. It explains how to read and better understand Python code in a step-by-step fashion.

This repository is for tracking issues and feature requests for Python Buddy.

Features and Roadmap

Available Modules

Type Name Description
Built-in collections High-performance container datatypes
Built-in functools Higher-order functions and operations on callable objects
Built-in math Mathematical functions
Third-party numpy Scientific computing with Python
Third-party pandas Data analysis and manipulation tool
Custom (WIP) cs1010s_runes CS1010S-specific functions for rendering runes – ported to work with Python Buddy

Want more modules? File a feature request here.

Supported Python Features

I'm actively working on supporting more and more features of the language, with the goal of covering the necessary features for basic Python learning first. Here's what's currently supported, as well as the features I'm working on next:

Basic Features

Collections of Data 1

Control Flow

Collections of Data 2

Functions

Object-Oriented Programming

Others

Sample Programs

Note: CS1010_ refer to the codes of some courses offered by the National University of Singapore.

Caveats

Caveats describe how Python Buddy's implementation intentionally differs from the official Python language specification.

Any differences not described here should be considered bugs. Please open an issue if you find one!

Assignments

Python Buddy does not support assignment expressions (also known as the "walrus operator") yet.

Until it does so, normal assignments and multiple assignments are value-producing (unlike standard Python). In the case of the latter, a tuple is produced.

This does not mean they can be used as expressions, though, as that would violate python syntax.

For loops

The iterator of the for loop is evaluated all at once and coerced to a list. This is not meant to be permanent, and simply a workaround due to lack of support for generator expressions for now. As a consequence, there may be some edge cases involving early return, break, or continue statements wher Python Buddy gives an incorrect result.

Implication: If your iterator has side effects, they will be evaluated first before the body of the for loop is even executed once.