ipythonblocks
is a teaching tool for use with the IPython Notebook. It provides a BlockGrid
object whose representation is an HTML table. Individual table cells are represented by Block
objects that have .red
, .green
, and .blue
attributes by which the color of that cell can be specified.
ipythonblocks
allows students to experiment with Python flow control concepts and immediately see the effects of their code represented in a colorful, attractive way. BlockGrid
objects can be indexed and sliced like 2D NumPy arrays making them good practice for learning how to access arrays.
See these demo notebooks for more on using ipythonblocks
:
- Practicing with RGB
- Basic usage with explanations
- Fun examples
- Animation
- ImageGrid
- Going from a JPEG to BlockGrid and text
- A programatic firework animation
- Using ipythonblocks.org
ipythonblocks
can be installed with pip
:
pip install ipythonblocks
However, the package is contained in a single .py
file and if you prefer you can just grab ipythonblocks.py and copy it to wherever you want to use it (useful for packaging with other teaching materials).
Required dependencies:
Optional dependencies:
- requests >= 1.0 (for posting and getting to/from ipythonblocks.org)
- Pillow (for creating images)
Testing dependencies:
Demo dependencies:
- PIL (for
starry_night_to_text.ipynb
)
The test suite is written using pytest, so you can run the test suite with:
py.test