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.
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.
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
Ejecuta todo, ejecuta las celdas de arriba o de abajo, reinicia los entornos y vuelve a ejecutarlo todo, borra las salidas.
Añade, mueve y elimina celdas desde el menú de la celda, cada acción en un paso que se puede deshacer. Las salidas siguen a su celda cuando se mueve.
Detener interrumpe una celda en ejecución y conserva sus variables; si el código no se detiene en 3 segundos, el entorno se reinicia. Cada ejecución tiene un límite de tiempo.
Variables muestra cada valor que ha creado tu código, con su tipo y un resumen.
Explicar y Corregir: el asistente opcional en el dispositivo explica una celda o sugiere una corrección que aceptas o rechazas como un diff.
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
Las celdas pueden pedir datos (input(), prompt(), readline) y esperar tu respuesta en la página.
Los archivos adjuntos a la página están disponibles por su nombre: pd.read_csv("sales.csv"). Los archivos que escribe una celda se pueden guardar en la página o descargar.
Python incluye NumPy, pandas, SciPy, scikit-learn, matplotlib, Altair, DuckDB y más, sin conexión; %pip install añade otros en cuanto permites la red para esa página.
Ejecuta tu primera celda de código en Vellum
Abre una página
Crea una página o abre cualquiera que ya tengas.
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.
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.
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
Ejecuta código en una páginaPython, JavaScript, R, SQL y más de 20 lenguajes, en este dispositivo.
VariablesMira cada valor que ha creado tu código.
Compartir entre lenguajesComparte una tabla con share() en JavaScript y consúltala en SQL.
Entrada, archivos y gráficosLas celdas hacen preguntas, leen tus archivos y dibujan gráficos.
Red y paquetesLas celdas acceden a la web o instalan paquetes solo si lo permites.
Trabaja como en un cuadernoEjecuta todo, las de arriba o las de abajo, mueve y reinicia celdas.
Explicar y CorregirEl asistente en el dispositivo explica el código y sugiere correcciones.
Lenguajes sin conexiónDescarga lenguajes por adelantado, para aviones y trenes.
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.