Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ramalho authored Mar 1, 2024
1 parent ef78007 commit b5977c6
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,20 @@ The idea and some of the code for this module was inspired by
via [Allen Downey](https://github.com/allendowney)'s book
_Think Python, Third Edition_ (O'Reilly, 2024).

Atam's best idea was to use SVG for drawing, which makes the
code simple and lightweight, requiring no special dependencies
besides the `ipython` module that is always available in Jupyter.

This is a rewrite from scratch, using classes to model the turtle
and the drawing—to make it easier to test, maintain and evolve by
avoiding global variables to keep program state.

I created a fork—[jupyturtle2](https://github.com/fluentpython/jupyturtle2)—which
uses `ipycanvas` to draw on an HTML canvas, instead of generating SVG.
`ipycanvas` requires the binary dependencies `numpy` and `pillow`,
so it may be harder to deploy in some environments.
`jupyturtle2` is better than `jupyturtle` in some respects, but worse in others.

I used metaprogramming techniques to build the procedural API
with global functions like `fd()` to move the turtle.
The techniques are easier to understand in the didactic project
Expand Down

0 comments on commit b5977c6

Please sign in to comment.