Reflex open source XY : une bibliothèque de graphiques Python basée sur Rust qui garde interactifs les graphiques à 100 millions de points
Reflex AI a publié XY, une bibliothèque de graphiques Python sous licence Apache-2.0 pour la visualisation interactive 2D. Elle utilise un cœur natif Rust et WebGL2 pour maintenir la réactivité des graphiques même avec 100 millions de points, atteignant des temps de rendu d'environ 0,08 seconde. La bibliothèque est disponible via pip install xy et nécessite Python 3.11 ou une version plus récente.
Reflex AI a open-sourcé XY, une bibliothèque de graphiques Python sous licence Apache-2.0 pour la visualisation 2D interactive. La bibliothèque répond à la dégradation des performances des piles de graphiques Python traditionnelles, qui créent un objet dessinable par ligne et ralentissent au-delà de quelques centaines de milliers de points. XY déplace le travail de rendu dans un noyau natif Rust, envoie des tampons binaires typés au navigateur au lieu de JSON, et dessine via WebGL2. Les résultats de benchmark montrent que XY maintient un temps de rendu de 0,071 seconde à 10 000 points et de 0,081 seconde à 100 millions de points. La bibliothèque est en alpha précoce (version 0.0.1) et s'installe avec pip install xy, nécessitant Python 3.11 ou plus récent. Elle offre une composition déclarative de marques, axes, légendes, infobulles et annotations, et est livrée avec 14 familles de graphiques, y compris nuage de points, ligne, aire, histogramme, boîte à moustaches, violon, ECDF, heatmap, hexbin et contour. La bibliothèque conserve les colonnes f64 exactes dans un ColumnStore Python, garantissant que le survol, la sélection et le zoom progressif renvoient toujours les lignes d'origine. XY exporte un nuage de points interactif de 10 millions de points en 258 Ko de HTML, contre 259 Mo pour Plotly. Un benchmark sur un Apple M5 Pro montre XY à 0,084 s pour 1 million de points, 0,083 s pour 10 millions, 0,076 s pour 50 millions et 0,081 s pour 100 millions, tandis que Matplotlib et Plotly échouent ou ralentissent considérablement à des comptes plus élevés. Reflex rapporte également le rendu de l'ensemble du jeu de données OpenStreetMap de 10 milliards de points. La bibliothèque comprend un chemin de migration : import xy.pyplot as plt exécute du code pyplot Matplotlib courant, et un adaptateur reflex-xy convertit les graphiques en composants Reflex sans JavaScript ni iframes.
Source: MarkTechPost —
original
