If you want to, you are also able to deploy a marimo app as a stand-alone web application that fully runs in the frontend. That means that the receiving party does not need to have python installed in order to see your application. This works by taking your local Python file and turning that into a compressed string to the marimo.io website. This website will then run your code in the browser via webassembly with pyodide.
You can't run everything in the browser like this though, mainly because there are a lot of Python packages that are not built to run in webassembly. You can however run pip as part of your notebook. For example, if you wanted to install pandas
you could do that via:
import micropip
await micropip.install("pandas")