https://github.com/tmontes/python-aturtle
WIP: Python AsyncIO-ready Turtle Graphics
https://github.com/tmontes/python-aturtle
asyncio python tk turtle-graphics
Last synced: 5 months ago
JSON representation
WIP: Python AsyncIO-ready Turtle Graphics
- Host: GitHub
- URL: https://github.com/tmontes/python-aturtle
- Owner: tmontes
- License: mit
- Created: 2019-12-23T15:23:36.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-30T08:29:31.000Z (almost 6 years ago)
- Last Synced: 2025-07-24T02:26:30.552Z (6 months ago)
- Topics: asyncio, python, tk, turtle-graphics
- Language: Python
- Homepage:
- Size: 229 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 13
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
Python A-Turtle: AsyncIO-ready Turtle Graphics
==============================================
Python A-Trutle is a library that implements Turtle Graphics with `asyncio` support.
A short capability summary:
* Supports both sync and asyncio compatible coroutine API.
* Multiple turtle support with either vector or bitmap shapes.
* Concurrent animation support via the coroutine API.
* Built on top of the Standard Library's ``tkinter`` module.
* Sprite support (essentially turtles that don't draw lines)
* More.
Installation
------------
Python A-Turtle is a pure Python package distributed via `PyPI `_. Install it with:
.. code-block:: console
$ pip install aturtle
For improved bitmap image rotation speed and quality, install the optional `Pillow `_ extra with:
.. code-block:: console
$ pip install aturtle[pillow]
Quick Start
-----------
.. code-block:: python
import aturtle
w = aturtle.Window()
sh = aturtle.shapes.vector.Triangle(radius=20, angle=0)
s = aturtle.create_sprite(w, sh, update=True)
t = aturtle.turtle.Turtle(s)
t.sync_forward(100)
Thanks
------
.. marker-start-thanks-dont-remove
* To the creators and maintainers of `Tcl/Tk `_, a programming language I used for a while in the late 1990's, in particular for the seriously under-appreciated `Canvas widget `_ which is amazingly powerful. Python embeds the Tcl/Tk interpreter in the form of the `tkinter `_ Standard Library module. Long live Tcl/Tk and `tkinter`!
* To whoever `Quarks `_ is, for sharing an effective technique for debouncing Tk `KeyPress` / `KeyRelease` events in towards the end of `this thread `_.
* To `Terry Pratchet `_, for his `Discworld `_ novels and, in particular, for `Great A'Tuin `_, the *"Giant Star Turtle (...) who travels through the Discworld universe's space, carrying four giant elephants (...) who in turn carry the Discworld."*, which has come to my mind often while creating this.
.. marker-end-thanks-dont-remove
About
-----
.. marker-start-about-dont-remove
Python A-Turtle is being created by Tiago Montes.
.. marker-end-about-dont-remove