Saltar al contenido
VellumAbrir Vellum

Ejecuta código en 25 lenguajes, dentro de una página.

Un bloque de código delimitado en una página se convierte en una celda que puedes ejecutar. El código sigue siendo Markdown; las salidas, tablas y gráficos se guardan con la página. Todo se ejecuta en un entorno aislado en tu dispositivo.

Una página de Vellum con una celda de JavaScript que comparte una tabla y una celda SQL que la suma, junto al Markdown de la página.
Una página de Vellum con una celda de JavaScript que comparte una tabla y una celda SQL que la suma, junto al Markdown de la página.

Código que vive en tus páginas

Escribe un bloque de código delimitado con un lenguaje, como en GitHub u Obsidian. En la vista de lectura o dividida se convierte en una celda con un botón Ejecutar. El código se queda en el Markdown de la página, así que las páginas siguen siendo portables; lo que una celda imprime, las tablas que devuelve y los gráficos que dibuja se guardan con la página y vuelven cuando la abres de nuevo.

```python
import pandas as pd
runs = pd.DataFrame({"month": ["Jan", "Feb", "Mar"], "km": [42, 51, 63]})
runs.describe()
```

25 lenguajes, en tu dispositivo

JavaScript, TypeScript, Python, SQL, Lua, Shell (emulated), Ruby, PHP, R, Perl, Go, Rust, C, C++, OCaml, Haskell, Zig, C#, F#, Java, Clojure, Elixir, Erlang, Scheme, Prolog.

Cada lenguaje se descarga la primera vez que lo ejecutas (desde unos cientos de kilobytes para Lua o JavaScript hasta unas decenas de megabytes para Rust) y después funciona sin conexión. Ajustes → Entornos de código los descarga por adelantado, para aviones y trenes.

El código se ejecuta en un marco aislado con un worker por página y lenguaje. No puede leer la app, tus otras páginas ni la red: las celdas no tienen acceso a la red a menos que lo permitas para esa página.

Trabaja como en un cuaderno

Comparte datos entre lenguajes

Las celdas de una página pueden pasarse datos entre lenguajes: share(name, value) en una, use(name) en otra. Las tablas llegan como tablas: comparte filas desde JavaScript y luego consúltalas en SQL.

```js
share("runs", [{ month: "Jan", n: 4 }, { month: "Feb", n: 7 }])
```

```sql
select sum(n) as total from runs;
```

Entrada, archivos y paquetes

Ejecuta tu primera celda de código en Vellum

  1. Abre una página

    Crea una página o abre cualquiera que ya tengas.

  2. Escribe un bloque de código

    Escribe tres comillas invertidas y el nombre de un lenguaje, por ejemplo ```python, luego tu código y después tres comillas invertidas para cerrarlo.

  3. Ejecútalo

    Cambia a la vista de lectura o dividida y pulsa Ejecutar en la celda (o Shift+Enter en el editor de la celda). El lenguaje se descarga la primera vez.

  4. Conserva el resultado

    La salida se guarda con la página. Abre el menú de la celda para Ejecutar todo, Variables y los demás comandos de cuaderno.

En la app

Preguntas

¿Sustituye a Jupyter?

Para muchos cuadernos, sí: abre y exporta archivos .ipynb y conserva las salidas. Ejecuta versiones WebAssembly de cada lenguaje en el navegador, así que el cálculo intensivo, las GPU y algunos paquetes nativos siguen necesitando Jupyter. Consulta Vellum y Jupyter.

¿Mi código tiene acceso a internet?

No, a menos que lo permitas. Una celda que intenta acceder a la web pregunta primero (una vez, siempre para esta página o nunca), y cada solicitud queda registrada bajo la celda.

¿Funciona sin conexión?

Sí. Cada lenguaje se descarga una vez, la primera vez que lo usas, y después se guarda en tu dispositivo. Puedes descargarlos todos por adelantado en Ajustes.