Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Export WASM to folder for self-publishing on personal web site #1110

Open
akshayka opened this issue Apr 11, 2024 Discussed in #1078 · 4 comments
Open

Export WASM to folder for self-publishing on personal web site #1110

akshayka opened this issue Apr 11, 2024 Discussed in #1078 · 4 comments
Labels
enhancement New feature or request

Comments

@akshayka
Copy link
Contributor

Discussed in #1078

Originally posted by astrowonk April 5, 2024
marimo.app is very cool and I was excited to see the WASM support. But, WASM apps should be able to just be turned into a folder than can deployed on any web server (nginx, apache, etc.) Shiny Live for example has an easy shinylive export myapp site command that turns the app into a folder I can upload to my nginx server.

Whereas for now, wasm notebooks seem to require using marimo.app. Is there a plan to have an export option someday? Thanks!

@akshayka akshayka added the enhancement New feature or request label Apr 11, 2024
@akshayka
Copy link
Contributor Author

Some follow up from that discussion:

We don't support such an export yet. In the meantime, one can iframe marimo.app URLs (https://docs.marimo.io/guides/wasm.html#embedding).

@astrowonk mentioned working with local files as a use case that makes marimo.app links difficult to use. We do have a beta sandbox that lets you attach files to WASM notebooks, via the browser's storage; I'm not actually sure how you'd do it via a static export.

@astrowonk and others who have requested this: are local files the only reason you need exports? We'd appreciate more feedback before going down this route, since it will take us some time.

@astrowonk
Copy link

astrowonk commented Apr 12, 2024

I would say I have a few reasons for wanting WASM export, though I could be in the minority so even if this is important to me, it is no guarantee it's worth your development time (yet.)

  • Ownership. I prefer to host my own things when possible. I can deploy a Marimo app myself via uvicorn ,so it'd be nice to own / host the WASM apps too (but not require spinning up a bunch of new infrastructure/ reverse proxy, etc.)
  • Using Marimo to demo/show off a new module/repo. I would imagine I'd use Marimo in some ways like I use Streamlit or Dash. I develop some new project/class/code. Then I have a Marimo notebook in the same git repo that uses whatever I wrote to show off what the code can do. The repo/folder may contain other code, data, etc. Exporting all that to a WASM app would be pretty nifty; as I wouldn't have to deploy any new server.
  • Proprietary code/data In a work context, I could imagine using Marimo to show dashboard-like data for monitoring our systems and/or algorithms. Putting a Marimo notebook + some local data file (parquet, csv, etc.) and then exporting to WASM on an (already existing) access-controlled web server would give some new interactivity without spinning up new uvicorn/reverse proxies/etc.

@dmadisetti
Copy link
Contributor

If this export of the tutorials was reactive - would that solve your use case?

https://dmadisetti.github.io/quarto-marimo/intro.html

@astrowonk
Copy link

If this export of the tutorials was reactive - would that solve your use case?

https://dmadisetti.github.io/quarto-marimo/intro.html

I think … so? I mean the idea is to get WASM-goodness that is on marimo.app but self-hosted on any web server (plus being able to be import code from other python files in the same directory). I'd love to someday type marimo export notebook.py notebook_folder and copy that the resulting folder to a directory on my web site, and have a live interactive notebook.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants