Clasificación de la información
| Clasificación de la información | "USO OFICIAL", según se indica en el procedimiento de clasificación de la información de la UPV. |
Python sin instalación local
OPCIÓN 1 -PYSCRIPT
PyScript is an open source platform for Python in the browser.
Dado que la ejecución de código Python requiere de la utilización de librerías específicas para cada caso, que debería hacerse manualmente para todo el sistema, se propone el siguiente framework sobre el que los usuarios podrán desarrollar su sitio web con Python: https://pyscript.net
Este sistema evita la instalación, local al servidor, de las librerías más utilizadas, que se incluyen con PyScript, así como paquetes de uso científico. El usuario sólo debe añadir las siguientes líneas al código HTML, definir la estructura de directorios de la aplicación (sencillo) y volcar sus ficheros de trabajo, ejecutables mediante la definición de la ejecución de scripts en el código HMTL5.
<link rel="stylesheet" href="https://pyscript.net/releases/2024.1.1/core.css" />
<script type="module" src="https://pyscript.net/releases/2024.1.1/core.js"></script>
La documentación necesaria para implantar proyectos sobre Pyscript se encuentra en https://pyscript.github.io/docs/2024.1.3/
Esta documentación se comunicará al usuario que comunique su intención de usar Python en los servidores habituales de webs avanzadas.
OPCIÓN 2 - PYODIDE
COMPARACIÓN
| Característica | Pyodide | PyScript |
|---|---|---|
| Qué es | Runtime de Python compilado a WebAssembly (WASM) | Framework que utiliza Pyodide (o MicroPython) para ejecutar Python en el navegador |
| Nivel de abstracción | Bajo | Alto |
| Facilidad de uso | Requiere conocimientos de JavaScript | Muy sencillo para desarrolladores Python |
| Integración con HTML | Manual mediante JavaScript | Nativa mediante etiquetas <py-script> |
| Integración con el DOM | A través de APIs JavaScript | Directa y simplificada |
| Tamaño de descarga | Menor | Mayor |
| Velocidad de carga inicial | Más rápida | Más lenta |
| Rendimiento | Mejor | Ligeramente inferior por la capa adicional |
| Control sobre la ejecución | Máximo | Más limitado |
| Dependencia de librerías externas | Mínima | Depende de PyScript y sus componentes |
| Uso de librerías Python (numpy, pandas, scipy) | Sí | Sí |
| Necesita Python en el servidor | No | No |
| Necesita configuración especial en Plesk | No | No |
| Acceso a MySQL/MariaDB del servidor | No (salvo mediante APIs HTTP) | No (salvo mediante APIs HTTP) |
| Acceso a ficheros del servidor | No | No |
| Acceso a recursos del navegador | Sí | Sí |
| Ideal para prototipos rápidos | Regular | Excelente |
| Ideal para aplicaciones complejas | Excelente | Aceptable |
| Curva de aprendizaje | Media/Alta | Baja |
| Recomendado para producción | Sí | Depende del tamaño de la aplicación |
| Caso de uso | Recomendación |
|---|---|
| Formulario con cálculos sencillos | ✅ PyScript |
| Herramienta interna para usuarios | ✅ PyScript |
| Procesar CSV con Pandas en el navegador | ✅ Pyodide |
| Análisis de datos | ✅ Pyodide |
| Aplicación web con muchos usuarios | ✅ Pyodide |
| Sitio estático con algo de lógica Python | ✅ PyScript |
| Sustituir PHP o un backend | ❌ Ninguno |
| Acceder a bases de datos del servidor | ❌ Backend (PHP, FastAPI, Flask, etc.) |
Resumen rápido
- PyScript = más fácil y rápido de desarrollar.
- Pyodide = más eficiente y profesional para proyectos grandes.
- En Plesk Obsidian ambos funcionan simplemente publicando los ficheros HTML, JS y WASM; no necesitas instalar Python ni configurar nada especial en el servidor.