py5 mode plugin for Thonny
Project description
thonny-py5mode
A py5 plug-in for Thonny
Use the Thonny Python IDE as a Processing PDE alternative for creative coding. Thonny-py5mode is a plug-in that installs and configures Thonny for use with py5, a Python (3.8+) framework that leverages Processing's core libraries.
Instructions
If you already have some version of Thonny that includes Python 3.8+ on your computer, you can skip straight to step 4.
-
Download and install the -alt version of the Thonny IDE (for Python 3.9 support) from: https://github.com/thonny/thonny/releases/tag/v3.3.7
-
Start Thonny. If you're running it for the first time, just accept the Standard settings.
-
Once Thonny is open, select Tools > Manage plugins...
Then search for and install thonny-py5mode plug-in --
You must restart Thonny after this step.
-
When you've restarted Thonny, select py5 > Imported mode for py5 --
This will download, extract, and set up JDK-11 for you (if you need to know: the plug-in installs JDK in the Thonny user-config directory). Thonny only needs to download JDK the first time you switch to imported mode. Thonny will appear to freeze for a while when it's downloading JDK (I have plans to develop a proper progress indicator later).
You'll be notified once the download is done --
-
This step is optional. There are several Thonny settings that I recommend you apply for working with py5 (including a Processing 4 inspired theme, Kyanite). You can apply those settings in one simple step using py5 > Apply recommended py5 settings
-
When the py5 Imported mode for py5 option is checked, Thonny will run your code (using py5's run_sketch command line tool) --
Try out an imported mode sketch using the green play button (or the F5 or Ctrl+R keyboard shortcuts).
def setup(): size(300, 200) rect_mode(CENTER) def draw(): rect(mouse_x, mouse_y, 10, 10)
NOTE: This mode also runs static mode sketches (when you don't need a
draw()
function for animation).
Module Mode Sketches
To run a py5 module mode sketch, deactivate/uncheck py5 > Imported mode for py5 first so that Thonny returns to its normal run behaviour (for running any Python script). As an example, you can try this code:
import py5
def setup():
py5.size(200, 200)
py5.rect_mode(py5.CENTER)
def draw():
py5.square(py5.mouse_x, py5.mouse_y, 10)
py5.run_sketch()
Note that module mode requires an import py5
and run_sketch()
line, and py5.
prefixes for everything.
Credits
Thanks villares for inspiring me to develop this plug-in, hx2A for the awesome py5 project, and the Thonny folks for their fantastic IDE.
Todo List
This plug-in is still very much a work in progress ... please report issues here.
Integrate alpha version py5 (and JDK) installer- Display download/installation progress in Thonny (not the terminal) -- so Thonny doesn't appear frozen while when it's downloading JDK
- Restorable Thonny settings -- restore applied py5 config (themes, etc.) on deactivate
Support for non-portable/installed Thonny- Support for portable Thonny?
Imported mode auto-completionProcessing inspired theme for UIProcessing inspired theme for syntaxImported mode Syntax highlightingPop up built-in save dialog for new unsaved filesUpdate instructions/readme- Conceal full run_sketch.py run command in Thonny shell?
- Add Processing.py mode (using py5_tools > translators)?
- ...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for thonny_py5mode-0.2.5a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd83f4df8c80b068ce19b579bc91c8f2ee9da58a195fd41834b1dc0cef5b0479 |
|
MD5 | ff59da5b9d6641c754f8459d51420cbb |
|
BLAKE2b-256 | de8b3c3413568868e84375de07d0882c57c5302fefd7c2f01f4b2b324dac7418 |