Add interactive playground for users to try rustworkx#1451
Add interactive playground for users to try rustworkx#1451IvanIsCoding wants to merge 114 commits intoQiskit:mainfrom
Conversation
I reverted to this state to keep the playground cleaner. I think we could add an interactive Matplotlib section in a seaparate place. Maybe we could even have a page that interacts with Graphviz via https://www.npmjs.com/package/@hpcc-js/wasm-graphviz + Pyodide. |
|
This is not ready yet, but upon thinking:
This way, we can avoid manually having to update the binary. We also won't have to check it in our Git tree. |
mtreinish
left a comment
There was a problem hiding this comment.
This will be pretty cool to have in the docs. Just a couple questions inline
| .. note:: | ||
| The `rustworkx` version in the playground is not always the latest. Verify the deployed | ||
| version with `rustworkx.__version__`. |
There was a problem hiding this comment.
I might have asked this before but is there a path to building the correct package as part of the docs build? It's not like a rustworkx build takes us that long and we already do it a bunch in CI. So we could then have different versions bundled for each docs build so it always matches.
Looking at the recipe you contributed to pyodide: https://github.com/pyodide/pyodide-recipes/blob/main/packages/rustworkx/meta.yaml it doesn't seem too complicated.
There was a problem hiding this comment.
So, I think the path to have the latest commit from main in is to:
- Merge Add Pixi workflow to verify Pyodide build works #1449
- Chain
nox -edocswith the wheel built frompixi run build_pyodide
I think the biggest blockers are that #1449 uses Rust nightly (well, not quite but RUSTC_BOOTSTRAP is almost that with a pinned rustc). Moreover, setting up emscripten is a ritual that I will only accept in CI with some tool like pixi or nixpkgs. It needs a lockfile in my opinion, too many parts can break
Co-authored-by: Matthew Treinish <mtreinish@kortar.org>



Follow up combining #1420 and the wheels built on #1449. Edit: the diff is now smaller; we use pre-built wheels from pyodide-recipes
This PR:
jupyterlite-sphinxandjupyterlite-pyodide-kernelas dependenciesrustworkx, users can run it in the browser