このプロジェクトについて

MermaidXは、Mermaid図をSVG、PNG、PDF、JPEG、BMP、TGA、ASCIIアートに変換するためのPythonライブラリおよびCLIです。実際のMermaid v11 JavaScriptライブラリを、偽のDOMを備えた組み込みのQuickJS-ngエンジン(またはオプションのV8)内で実行し、ブラウザ、Node.js、npm、システム依存関係を不要にします。これにより、Puppeteer経由でヘッドレスChromeを使用する公式のmermaid-cliよりも高速かつ軽量になります。 主な機能は次のとおりです。 - システム依存関係ゼロ:`pip install mermaidx`でインストール可能。Python 3.9+用のビルド済みホイールを提供。 - 複数のバックエンド:デフォルトのQuickJS-ng、オプションのV8(2~4.5倍高速)、および`mmdr`パッケージ経由のネイティブRustバックエンド。 - 統一API:`render()`は遅延評価されキャッシュされる`Diagram`オブジェクトを返し、SVG、PNG、PDF、ASCII、生のRGBA、numpy配列、ファイルへの保存のためのメソッドを備えます。 - CLI:`mermaidx -i input.mermaid -o output.svg`。スケーリング、テーマ、PDF形式、CSS、フォント埋め込みのオプションがあります。 - Jupyter統合:ノートブック内で図が自動的に表示されます。 - CPU負荷の高いワークロード向けに`render_many()`による並列バッチレンダリング。 - 純粋なPythonパッケージ`termaid`によるASCII出力。 - ブラウザに正確なSVGのためのフォント埋め込み(オプションの追加機能)。 - 任意のSVG文字列をラスタライズする`svg_to_png()`などの低レベルユーティリティ。 MermaidXは、フローチャート、シーケンス図、クラス図、状態図、ER図、ガントチャート、円グラフ、gitグラフなど、すべてのMermaid v11図タイプをサポートしています。MITライセンスで活発にメンテナンスされており、公式のMermaid CLIバイナリとの衝突を避けるために`mmdc`から改名された経緯があります。