Компания Reflex выпустила библиотеку XY — высокопроизводительный инструмент для визуализации данных на Python, использующий ядро на языке Rust и клиент WebGL2. Решение позволяет отрисовывать до 100 миллионов точек с задержкой около 0,08 секунды, сохраняя интерактивность графиков, включая функции масштабирования, выделения и детализации, при минимальном размере экспортируемых файлов.
Основная задача библиотеки — устранение «узких мест» при работе с большими массивами данных, характерных для стандартных инструментов визуализации. Перенос рендеринга на уровень нативного кода позволяет обрабатывать огромные датасеты без потери производительности браузера. При этом XY сохраняет точность данных формата f64, что гарантирует корректное отображение исходных значений при взаимодействии пользователя с элементами графика.
Библиотека ориентирована на задачи анализа данных, требующие мгновенного отклика при работе с миллионами записей. Использование WebGL2 обеспечивает аппаратное ускорение отрисовки, а интеграция с Python позволяет разработчикам встраивать инструмент в существующие пайплайны обработки данных без необходимости переписывать основной код приложения.
Ключевые факты
- Скорость рендеринга составляет около 0,08 секунды для массивов от 10 000 до 100 миллионов точек.
- Размер интерактивного графика с 10 миллионами точек при экспорте составляет всего 258 КБ.
- Библиотека поддерживает точное сохранение столбцов формата f64 для обеспечения корректности операций наведения, выбора и зума.
- Проект распространяется под лицензией Apache-2.0.
- Архитектура решения сочетает Python-интерфейс с производительным ядром на Rust и клиентской частью на WebGL2.
