Jupyter notebook is an HTML application with a python “kernel” backend (among others). Google (and others) are hosting versions- Google Colab.
It also allows embedding documentation with Markdown.
Code can be entered into cells, and the user can walk through and execute, modify, and repeat each step.
It has great 2D and 3D visualization.
It could be the basis for several learning directions:
- embedded programming: https://learn.adafruit.com/circuitpython-with-jupyter-notebooks?view=all, https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/circuitpython-raspi
- Electronics: https://blog.adafruit.com/2018/08/17/simulating-kicad-schematics-with-spice-including-using-jupyter-notebooks/, https://pyspice.fabrice-salvaire.fr, https://www.youtube.com/watch?v=-oOlcQ7ZLa4 (last two seem most promising!)
- CAD: using PythonOCC, eg https://www.youtube.com/watch?v=ieX_GC1sdrQ
Although it’s easy to set up, there are some best practices.
Steps for this Project
- figure out best installation practices. eg Native pip install, or Anaconda? Virtual Env setup?
- basic data processing guide: Pandas, numpy, scipy,…
- basic visualization guide: Matplotlib, VTK?, PythonOCC?
- Image processing: OpenCV
- Generative art: SVG lib? GCode? PythonOCC?