Numpy ducky (based on Flexbox Froggy) is a story-driven experience designed to teach you the basics of NumPy by helping ducks get into water.
Right after launching the app, you will be greeted with the welcoming menu:

As you can see, the app is divided into 3 crucial sections:
- description - at top-left is to teach and explain new learning techniques related to numpy,
- code task - at bottom-left is to check the actual undertanding of the user,
- visualisation - at the right is to visualise the user's answer and help them understand their query. To visualise, we use dynamic expression resolution, which enables our app to plot the code output.
And here it's how it really works:
- wrong answer, projected on the visualisation:

- and sometimes, the query can't be visualised, so the error log is being shown:

- and finally the correct answer:

And also we support 3D view of the visualisation, which can be moved freely with mouse:

- Python 3.13
- pyside6 - https://wiki.qt.io/Qt_for_Python
- pyvista - https://pyvista.org
- numpy - https://numpy.org
- pytest - https://docs.pytest.org/en/stable/
- ruff - https://github.com/astral-sh/ruff
git clone https://github.com/0stam/numpy-ducky.git
cd numpy-ducky
# install dependencies
pipenv install
# run without building
pipenv run start
# build
pipenv run buildAfter succesful build, navigate to ./dist/ and run numpy_ducky.exe
Congratulations! You heave now succefully run and built the numpy-ducky app 🦆
To lint using ruff, run:
ruff check --fixTo test the code, run:
pytestIf at any point, any error occured, feel free to share in the issues tab.