Write your p5js sketches with python and automatically launch them in a new window just by running your script.
- no html
- no javascript
- just python
Also included: autoreload on save!
Installation
pip install p5two
Usage
open your favourite editor and create a new file <script.py> and save it wherever you want
from p52 import *
def setup():
createCanvas(windowWidth, windowHeight)
stroke(100, 100, 100, 100)
noFill()
def draw():
background(51)
ellipse(mouseX, mouseY, 30, 30)
open a terminal, move to the folder where you saved the script and run it with python3 <script.py> or just use your editor "run" button if available.
A new window should popup with your sketch!
Bonus: try changing your code and saving, the changes should automatically be reflected in the sketch.
Extra functionalities
I decided to put some extra functionalities that diverge from standard python and p5js practices because I found them more convenient:
magic self
Tired of having to define vars before setup() in order to have them available inside draw()? now you can define vars inside a "fake" self object like this:
from p52 import *
def setup():
createCanvas(windowWidth, windowHeight)
stroke(100, 100, 100, 100)
noFill()
self.point = (100, 100)
def draw():
background(51)
line(0, 0, *self.point)
sketch saving and reloading
when viewing your sketch you can press "s" to save a screenshot of it inside the current folder. Likewise you can press "r" to reload the sketch.
utility functions
canvas()creates a canvas without having to specify its dimensions, defaulting to full window sizecenter()changes the coordinate system: (0, 0) is now in the center of the sketch and the y-coordinates go upwards
more to come...
inject js libraries (experimental!)
if you have a js library that you would like to use inside the sketch you can download it and put it into the same folder as your python sketch and use injectJs('library.js'). Doing so automatically include the library inside the generated html file.
How does it work?
This package is heavily inspired by the library pyp5js and leverages transcrypt to compile python to javascript behind the scenes.
Metadata
Release files for p5two 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| p5two-0.0.2.tar.gz | 51.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| p5two-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 103.0 kB
Release files / p5two-0.0.2.tar.gz
| Download URL | p5two-0.0.2.tar.gz |
|---|---|
| Size | 51.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
54ee79fbae9842c7e63ba785aef31763ca296d94a8d92c4d9db720567e8b14f5
|
|
BLAKE2b-256 checksum How to use checksums |
fc47924da68691b936608c82ba0d8c07875f872026684056eff6c71648a2cd50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.28.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.4
|
Release files / p5two-0.0.2-py3-none-any.whl
| Download URL | p5two-0.0.2-py3-none-any.whl |
|---|---|
| Size | 51.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
503cfcadf4af2bf0d7bdc7203efd854c1047c9b8dd92c56d2cd1087e3028e543
|
|
BLAKE2b-256 checksum How to use checksums |
c18410b75a29d907c55404d92bece57b56a6db854f142a911590dc4d774d3671
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.28.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.4
|