Sobre el proyecto

MermaidX es una biblioteca de Python y una CLI para convertir diagramas Mermaid a SVG, PNG, PDF, JPEG, BMP, TGA y arte ASCII. Ejecuta la biblioteca real de JavaScript Mermaid v11 dentro de un motor QuickJS-ng integrado (o V8 opcional) con un DOM simulado, lo que elimina la necesidad de un navegador, Node.js, npm o dependencias del sistema. Esto lo hace más rápido y ligero que la mermaid-cli oficial, que utiliza Chrome sin interfaz gráfica a través de Puppeteer. Las características principales incluyen: - Cero dependencias del sistema: instalar mediante `pip install mermaidx`; ruedas precompiladas para Python 3.9+. - Múltiples backends: QuickJS-ng predeterminado, V8 opcional (2-4.5x más rápido) y backends nativos de Rust mediante el paquete `mmdr`. - API unificada: `render()` devuelve un objeto `Diagram` perezoso y en caché con métodos para SVG, PNG, PDF, ASCII, RGBA sin procesar, matrices de numpy y guardado en archivos. - CLI: `mermaidx -i input.mermaid -o output.svg` con opciones para escalado, temas, formato PDF, CSS e incrustación de fuentes. - Integración con Jupyter: los diagramas se muestran automáticamente en los cuadernos. - Renderizado por lotes en paralelo con `render_many()` para cargas de trabajo intensivas en CPU. - Salida ASCII mediante el paquete `termaid` de Python puro. - Incrustación de fuentes para SVG precisos en el navegador (extra opcional). - Utilidades de bajo nivel como `svg_to_png()` para rasterizar cadenas SVG arbitrarias. MermaidX admite todos los tipos de diagramas de Mermaid v11, incluidos diagramas de flujo, diagramas de secuencia, diagramas de clases, diagramas de estados, diagramas ER, gráficos de Gantt, gráficos circulares y gráficos de git. Tiene licencia MIT y se mantiene activamente, con un historial de cambio de nombre de `mmdc` para evitar colisiones con el binario oficial de Mermaid CLI.