Invent with PyScript (Agenda)
What is PyScript?
Pyodide
MicroPython
APIs
In the browser
What is Invent?
App framework
For beginners
Easy and creative
How does it work?
Core concepts
Fit together nicely
Tooling
Demo
Questions?
NO!
(To bullet point karaoke)
Let's think about:
Pedagogy, education, learning and growth in a digital realm
Nicholas: Who knows about PyScript?
Nicholas: 30 second details of what PyScript is.
"For the 99%..." π Peter
Josh: such a lot of progress. But let's remind ourselves
of our mission. Introduce Peter.
Nicholas: Explain "for the 99%".
"If you want folks to learn how to code, don't teach them a programming language..." π Martin πΆπ·
Josh: for the 99% means meeting people where they are.
In a musical sense, how do we get from this beginner
violinist...
...to this. Nicola Benedetti, the Scottish concert
violinist.
...or this? Just a group of friends, amateur musicians, coming
together for a session in the pub.
...or this? Kala Ramnath, the grammy award winning Hindustani
violinist who comes from a long line of traditional Indian
classical musicians.
...or even this? This is "Apocalyptica"... how can I put this,
they're a cello quartet from Finland who play metal. They're
awesome.
Nicholas: introduce "Invent".
2019 I ran PyperCard workshops with young folk.
Easily understood core concepts.
Simple to assemble.
Extensible.
Nicholas: grumpy old developer remembering the good old
days where fun, empowerment, expression and creativity were
valued.
Josh: stand aside grandpa, clearly you've not been keeping up
with the kids. Modern tech is all about features...
PyperCard (2019)
Core Concepts
An Invent application is made of this:
Pages contain components
used in the app π± ποΈ βΆοΈ
Media are assets used
by the app. πΌοΈ πΆ π₯
Functions define custom
behaviour. βοΈπͺ
Channels carry messages to
coordinate behaviour. π¬π‘
Datastore keeps state, stores
key/value data. βοΈ π
Tools do background stuff
then store results in datastore. ποΈ π¦
Nicholas and Josh talk through the video.
Visual UI builder - just drag and drop.
Everything is reactive with the key/value data store.
The button publishes messages on the "ask" channel.
Use blocks to organise activity.
View the small and simple Python code.
Let's add ChatGPT.
It works!
Invent with PyScript
πͺπ©ππ
(Questions?)
Invent with PyScript (Agenda) What is PyScript? Pyodide MicroPython APIs In the browser What is Invent? App framework For beginners Easy and creative How does it work? Core concepts Fit together nicely Tooling Demo Widgets Code Technology Questions?