[Edu-sig] Re: PyScript + VSCode (+Jupyter), EmscriptenForge, MambaLite, BinderLite (repo2jupyterlite), Datasette, ipycanvas + sphinx-jupyterlite

2022-09-05 Thread Wes Turner
executablebooks/jupyter-book > Launch in JupyterLite
https://github.com/executablebooks/jupyter-book/issues/1661

JupyterLite/jupyterlite-sohinx > Editable cell?
https://github.com/jupyterlite/jupyterlite-sphinx/issues/63

Voila + JupyterLite; WASM Jupyter Dashboards with remote data sources:
https://github.com/jupyterlite/jupyterlite/issues/773


from https://news.ycombinator.com/item?id=31824578
https://westurner.github.io/hnlog/#comment-31824578 :

> sqlite-parquet-vtable reads parquet with arrow for SQLite virtual tables
https://github.com/cldellow/sqlite-parquet-vtable

On Mon, Sep 5, 2022, 8:07 PM Wes Turner  wrote:

> "Support for PyScript & Brython"
> https://github.com/microsoft/vscode-python/issues/19415
>
> -
> https://marketplace.visualstudio.com/items?itemName=HardeepSingh.pyscript
>
> Jupyter support in VSCode:
> - https://code.visualstudio.com/docs/datascience/jupyter-notebooks
>
> JupyterLite has p5 js support. Khan Academy CS curriculum has
> ProcessingJS, which is basically p5 js.
> What similar functionality exists in the python standard library? Does the
> stdlib turtle module work in pyodide WASM (JupyterLite, PyScript,)?
>
> ***
> Like matplotlib, but with vega-lite,
> Altair charts are saveable to PNG, SVG for print/latexpdf.
> https://altair-viz.github.io/user_guide/saving_charts.html
>
> Annotated matplotlib:
> https://twitter.com/__mharrison__/status/1562454754306826241
>
> JupyterLite: https://jupyterlite.readthedocs.io/en/latest/ :
>
> > Python kernel backed by Pyodide running in a Web Worker
> >
> > - Initial support for interactive visualization libraries such as
> altair, bqplot, ipywidgets, matplotlib, and plotly
>
> FWIU ipycanvas also works in JupyerLite:
> Drawing paths > Path commands:
> https://ipycanvas.readthedocs.io/en/latest/drawing_paths.html#path-commands
>
> Src:
> https://github.com/martinRenou/ipycanvas/blob/master/ipycanvas/canvas.py
>
>
> ***
>
> The ipycanvas docs include JupyterLite w/
> https://github.com/jupyterlite/jupyterlite-sphinx :
>
> > JupyterLite Sphinx: A Sphinx extension that provides utilities for
> embedding JupyterLite in your documentation
>
>
> ***
>
> Datasette does static SQLite in WASM; now with JupyterLite as well:
> https://datasette.io/plugins/datasette-jupyterlite
>
> There are *-to-sqlite
> utilities for all of the things; though pd.read_csv() can read from a
> remote URL in WASM, potentially unreproducibly (next semester it 404s) and
> without a requests_cache, just like in normal JupyterLab e.g. from
> repo2docker: https://pypi.org/search/?q=to+sqlite
> https://pypi.org/search/?q=datasette
>
> ***
>
> > TIL about #EmscriptenForge, #MambaLite, #BinderLite (#repo2jupyterlite),
> https://github.com/emscripten-forge/recipes
>
> > Tools to pack a conda / mamba environment into a JS & WASM bundle
> https://github.com/emscripten-forge/empack
> >
> > ```bash
> empack pack env --env-prefix /path/to/env --outname python_data --config
> /path/to/config.yaml
> ```
> >
> > This will generate two files python_data.js and python_data.data that
> you can use in the browser. A sample config is located in
> tests/empack_test_config.yaml
>
>
> https://github.com/emscripten-forge/requests-wasm-polyfill :
> > Drop-in replacement for the requests library for wasm python
> > Note that these only work when running under a web-worker, as it's
> making blocking HTTP requests which are not allowed in the main thread.
>
> "Polyfills"; just like JS
>
> On Mon, Sep 5, 2022, 2:42 PM kirby urner  wrote:
>
>>
>> https://youtu.be/obZqST6mBn8  (2 mins 41 secs)
>>
>> My first video on PyScript.
>>
>> Alludes to other topics in my Python for High School stuff.
>>
>> https://github.com/4dsolutions/elite_school/blob/master/PY4HS.ipynb
>>
>> Kirby
>>
>> ___
>> Edu-sig mailing list -- edu-sig@python.org
>> To unsubscribe send an email to edu-sig-le...@python.org
>> https://mail.python.org/mailman3/lists/edu-sig.python.org/
>> Member address: wes.tur...@gmail.com
>>
>
___
Edu-sig mailing list -- edu-sig@python.org
To unsubscribe send an email to edu-sig-le...@python.org
https://mail.python.org/mailman3/lists/edu-sig.python.org/
Member address: arch...@mail-archive.com


[Edu-sig] Re: PyScript + VSCode (+Jupyter), EmscriptenForge, MambaLite, BinderLite (repo2jupyterlite), Datasette, ipycanvas + sphinx-jupyterlite

2022-09-05 Thread Wes Turner
"Support for PyScript & Brython"
https://github.com/microsoft/vscode-python/issues/19415

- https://marketplace.visualstudio.com/items?itemName=HardeepSingh.pyscript

Jupyter support in VSCode:
- https://code.visualstudio.com/docs/datascience/jupyter-notebooks

JupyterLite has p5 js support. Khan Academy CS curriculum has ProcessingJS,
which is basically p5 js.
What similar functionality exists in the python standard library? Does the
stdlib turtle module work in pyodide WASM (JupyterLite, PyScript,)?

***
Like matplotlib, but with vega-lite,
Altair charts are saveable to PNG, SVG for print/latexpdf.
https://altair-viz.github.io/user_guide/saving_charts.html

Annotated matplotlib:
https://twitter.com/__mharrison__/status/1562454754306826241

JupyterLite: https://jupyterlite.readthedocs.io/en/latest/ :

> Python kernel backed by Pyodide running in a Web Worker
>
> - Initial support for interactive visualization libraries such as altair,
bqplot, ipywidgets, matplotlib, and plotly

FWIU ipycanvas also works in JupyerLite:
Drawing paths > Path commands:
https://ipycanvas.readthedocs.io/en/latest/drawing_paths.html#path-commands

Src:
https://github.com/martinRenou/ipycanvas/blob/master/ipycanvas/canvas.py


***

The ipycanvas docs include JupyterLite w/
https://github.com/jupyterlite/jupyterlite-sphinx :

> JupyterLite Sphinx: A Sphinx extension that provides utilities for
embedding JupyterLite in your documentation


***

Datasette does static SQLite in WASM; now with JupyterLite as well:
https://datasette.io/plugins/datasette-jupyterlite

There are *-to-sqlite
utilities for all of the things; though pd.read_csv() can read from a
remote URL in WASM, potentially unreproducibly (next semester it 404s) and
without a requests_cache, just like in normal JupyterLab e.g. from
repo2docker: https://pypi.org/search/?q=to+sqlite
https://pypi.org/search/?q=datasette

***

> TIL about #EmscriptenForge, #MambaLite, #BinderLite (#repo2jupyterlite),
https://github.com/emscripten-forge/recipes

> Tools to pack a conda / mamba environment into a JS & WASM bundle
https://github.com/emscripten-forge/empack
>
> ```bash
empack pack env --env-prefix /path/to/env --outname python_data --config
/path/to/config.yaml
```
>
> This will generate two files python_data.js and python_data.data that you
can use in the browser. A sample config is located in
tests/empack_test_config.yaml


https://github.com/emscripten-forge/requests-wasm-polyfill :
> Drop-in replacement for the requests library for wasm python
> Note that these only work when running under a web-worker, as it's making
blocking HTTP requests which are not allowed in the main thread.

"Polyfills"; just like JS

On Mon, Sep 5, 2022, 2:42 PM kirby urner  wrote:

>
> https://youtu.be/obZqST6mBn8  (2 mins 41 secs)
>
> My first video on PyScript.
>
> Alludes to other topics in my Python for High School stuff.
>
> https://github.com/4dsolutions/elite_school/blob/master/PY4HS.ipynb
>
> Kirby
>
> ___
> Edu-sig mailing list -- edu-sig@python.org
> To unsubscribe send an email to edu-sig-le...@python.org
> https://mail.python.org/mailman3/lists/edu-sig.python.org/
> Member address: wes.tur...@gmail.com
>
___
Edu-sig mailing list -- edu-sig@python.org
To unsubscribe send an email to edu-sig-le...@python.org
https://mail.python.org/mailman3/lists/edu-sig.python.org/
Member address: arch...@mail-archive.com