প্রকল্প সম্পর্কে

MermaidX হলো একটি Python লাইব্রেরি এবং CLI, যা Mermaid ডায়াগ্রামকে SVG, PNG, PDF, JPEG, BMP, TGA এবং ASCII আর্টে রূপান্তর করে। এটি একটি এমবেডেড QuickJS-ng ইঞ্জিনে (অথবা ঐচ্ছিক V8) একটি ফেক DOM সহ প্রকৃত Mermaid v11 JavaScript লাইব্রেরি চালায়, ফলে ব্রাউজার, Node.js, npm বা সিস্টেম ডিপেন্ডেন্সির প্রয়োজন হয় না। এটি অফিসিয়াল mermaid-cli-এর চেয়ে দ্রুত ও হালকা, যা Puppeteer-এর মাধ্যমে হেডলেস Chrome ব্যবহার করে। মূল বৈশিষ্ট্যগুলোর মধ্যে রয়েছে: - শূন্য সিস্টেম ডিপেন্ডেন্সি: `pip install mermaidx` দিয়ে ইনস্টল করুন; Python 3.9+ এর জন্য প্রি-বিল্ট হুইল। - একাধিক ব্যাকএন্ড: ডিফল্ট QuickJS-ng, ঐচ্ছিক V8 (2-4.5x দ্রুত), এবং `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()` দিয়ে প্যারালাল ব্যাচ রেন্ডারিং। - পিওর-পাইথন `termaid` প্যাকেজের মাধ্যমে ASCII আউটপুট। - ব্রাউজার-সঠিক SVG-এর জন্য ফন্ট এমবেডিং (ঐচ্ছিক এক্সট্রা)। - যেকোনো SVG স্ট্রিং রাস্টারাইজ করার জন্য `svg_to_png()`-এর মতো লো-লেভেল ইউটিলিটি। MermaidX সমস্ত Mermaid v11 ডায়াগ্রাম টাইপ সমর্থন করে, যার মধ্যে ফ্লোচার্ট, সিকোয়েন্স ডায়াগ্রাম, ক্লাস ডায়াগ্রাম, স্টেট ডায়াগ্রাম, ER ডায়াগ্রাম, Gantt চার্ট, পাই চার্ট এবং git গ্রাফ অন্তর্ভুক্ত। এটি MIT-লাইসেন্সড এবং সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হয়, অফিসিয়াল Mermaid CLI বাইনারির সাথে সংঘর্ষ এড়াতে `mmdc` থেকে নাম পরিবর্তনের ইতিহাস রয়েছে।