Reflex يكشف النقاب عن XY: مكتبة رسوم بيانية بلغة بايثون مبنية على Rust تحافظ على تفاعلية المخططات التي تحتوي على 100 مليون نقطة

أصدرت Reflex AI مكتبة XY، وهي مكتبة رسوم بيانية بلغة بايثون بترخيص Apache-2.0 للتصور ثنائي الأبعاد التفاعلي. تعتمد المكتبة على نواة أصلية بلغة Rust وتقنية WebGL2 للحفاظ على استجابة المخططات حتى مع وجود 100 مليون نقطة، محققة أوقات عرض تبلغ حوالي 0.08 ثانية. المكتبة متاحة عبر الأمر pip install xy وتتطلب بايثون 3.11 أو أحدث.
قامت Reflex AI بنشر مكتبة XY كمصدر مفتوح، وهي مكتبة رسم بياني بلغة Python مرخصة بموجب Apache-2.0 للتصور ثنائي الأبعاد التفاعلي. تعالج المكتبة مشكلة تدهور الأداء في مجموعات أدوات الرسم البياني التقليدية في Python، والتي تنشئ كائنًا قابلاً للرسم لكل صف وتبطئ بعد بضع مئات الآلاف من النقاط. تنقل XY عمل العرض إلى نواة Rust أصلية، وترسل مخازن ثنائية مكتوبة إلى المتصفح بدلاً من JSON، وترسم عبر WebGL2. تظهر نتائج القياس أن XY تحافظ على زمن عرض يبلغ 0.071 ثانية عند 10,000 نقطة و0.081 ثانية عند 100 مليون نقطة. المكتبة في مرحلة ألفا المبكرة (الإصدار 0.0.1) ويتم تثبيتها باستخدام pip install xy، وتتطلب Python 3.11 أو أحدث. تقدم تكوينًا تعريفيًا للعلامات والمحاور والأساطير وتلميحات الأدوات والتعليقات التوضيحية، وتأتي مع 14 عائلة رسوم بيانية بما في ذلك المبعثر والخط والمساحة والهيستوغرام والمربع والكمان وECDF والخريطة الحرارية وhexbin والخطوط الكنتورية. تحتفظ المكتبة بأعمدة f64 الدقيقة في ColumnStore بلغة Python، مما يضمن أن التمرير فوق العناصر والتحديد والتكبير التفصيلي لا يزال يعيد الصفوف الأصلية. تصدر XY مخطط مبعثر تفاعلي بعشرة ملايين نقطة إلى 258 كيلوبايت من HTML، مقارنة بـ 259 ميجابايت لـ Plotly. يُظهر قياس على Apple M5 Pro أن XY تسجل 0.084 ثانية لمليون نقطة، و0.083 ثانية لعشرة ملايين، و0.076 ثانية لخمسين مليونًا، و0.081 ثانية لمائة مليون، بينما تفشل Matplotlib وPlotly أو تبطئ بشكل كبير عند الأعداد الأعلى. تذكر Reflex أيضًا عرض مجموعة بيانات OpenStreetMap الكاملة المكونة من عشرة مليارات نقطة. تتضمن المكتبة مسار ترحيل: استيراد xy.pyplot كـ plt يشغل كود Matplotlib pyplot الشائع، ومحول reflex-xy يحول المخططات إلى مكونات Reflex دون الحاجة إلى JavaScript أو iframes.
المصدر: MarkTechPost — الأصلي
منشوراتنا السابقة حول هذا الموضوع ↓
أخبار جديدة