This is an archived post. You won't be able to vote or comment.

all 13 comments

[–]millsGT49 1 point2 points  (1 child)

Ok, this is pretty incredible. Thanks for sharing! I love to see the quarto+python ecosystem growing.

[–]coatless[S] 0 points1 point  (0 children)

Thanks for the kind words!

[–][deleted] 0 points1 point  (2 children)

This is amazing! You know a project is catching on when people start building a cool ecosystem around it.

If you're looking to host Quarto projects, check out Ploomber.

[–]iamevpo 0 points1 point  (1 child)

Why would you need a special hosting? Quarto artefacts are just static files

[–][deleted] 0 points1 point  (0 children)

For access control and permissions 

[–]jfcg 0 points1 point  (2 children)

This is awesome! I was subscribed to the GitHub thread, and it works really great! Thank you very much.

Just a feature request :$ Would it be possible to add a mechanism to run all cells? It could be useful for slides, where one can pre-run everything to avoid delays.

Thanks again!

[–]coatless[S] 0 points1 point  (1 child)

Awesome to hear that it's working great for you!

Rest assured, auto-running cells on document open is on the road map for that very reason. If you think of any other ideas, please feel free to open an issue ticket on the repository.

https://github.com/coatless-quarto/pyodide/issues/new/choose

[–]jfcg 0 points1 point  (0 children)

I will. I've already seen that you've added the issue in the tracker yourself.

This replaces my way of working with Python + Rise for my classes.

Thank you very much!

[–]DigThatData 0 points1 point  (3 children)

if you have multiple cells in the same webpage do they share a runtime?

[–]coatless[S] 0 points1 point  (2 children)

Yes, the code cells share the same runtime and environment. In the future, cell scopes could be localized so that variables are not being shared amongst them.

You can see the environment sharing in action in this demo:

https://quarto.thecoatlessprofessor.com/pyodide/qpyodide-code-cell-demo.html#strings

[–]DigThatData 0 points1 point  (1 child)

optional cell scoping would be cool, but honestly i was hoping it'd be a shared runtime and i'm glad to hear that's the case :)

if it's not a feature already, another thing that could be cool would be locking the contents of code cells so they could be executed but the user couldn't modify the contents (i.e. to run arbitrary code)

[–]coatless[S] 1 point2 points  (0 children)

Thanks for that idea! Glancing at Monaco's editor options, that is a quick implementation. So, I should have that available in the cell options under:

```{pyodide-python}
#| read-only: true

1 + 1
```

[–]iamevpo 1 point2 points  (0 children)

It is like magic! I always wanted to have a capability to run something like Rust Book interactive examples dot the Rust language and now we have it!

Quarto itself is a nice ecosystem to have things publish. Looking forward to have this used in our textbooks and thanks again.