Об этом проекте

Huey — бесплатное открытое статичное веб-приложение для исследования и анализа данных непосредственно в браузере. Оно использует DuckDB, скомпилированный в WebAssembly (DuckDB-WASM), обеспечивая быструю серверную аналитику. ## Основные возможности - **Поддержка файлов**: чтение файлов `.csv`, `.parquet`, `.json`, `.xlsx` и баз `.duckdb` — как локальная загрузка, так и через URL. - **Сводные таблицы**: интуитивный интерфейс для построения сводных таблиц с проекцией, агрегацией, фильтрацией и подитогами. - **Производные атрибуты**: автоматическое разбиение столбцов даты/времени на временные иерархии (год, месяц, квартал и т.д.) и поддержка операций со строками, таких как нормализация регистра или индексирование по первой букве. - **Анализ вложенных данных**: обширная поддержка массивов JSON и типов STRUCT, позволяющая выполнять одноразовый анализ сложных вложенных наборов данных без предварительной обработки. - **Экспорт**: выгрузка результатов и сгенерированных SQL-запросов в файл или буфер обмена. - **Приватность прежде всего**: как статичное веб-приложение, вся обработка данных происходит локально в браузере пользователя. Ничто не загружается на сервер. - **Прогрессивное веб-приложение (PWA)**: можно установить на устройства как нативное приложение; работает офлайн благодаря кэшированию в браузере. - **Лёгкость**: минимальные зависимости (DuckDB-WASM и Tabler Icons). - **Доступность**: используется семантический HTML и роли ARIA. ## Ограничения - **Производительность**: хотя инструмент быстр для браузерного решения, DuckDB-WASM ограничен окружением WebAssembly (теоретический лимит памяти 4 ГБ, однопоточность), что может сказаться на очень больших наборах данных по сравнению с нативным DuckDB. - **Удалённый доступ**: данные по URL могут блокироваться правилами same-origin или отсутствием заголовков CORS, если они не обслуживаются через HTTP-сервер. - **Платформа**: наилучший опыт на десктопе; поддержка планшетов функциональна, но поддержка мобильных телефонов не планируется из-за ограничений размера экрана. - **Расширения**: некоторые продвинутые расширения DuckDB (например, доступ к MySQL, PostgreSQL, Unity Catalog) недоступны в WASM-версии. ## Начало работы Пользователи могут попробовать Huey прямо сейчас через живое демо на https://rpbouman.github.io/huey/src/index.html без загрузки чего-либо. Доступны образцы отчётов: - **CSV**: авиаоперации в аэропортах, энергетический бенчмаркинг городов и данные розничных продаж. - **JSON**: публичные события GitHub с демонстрацией извлечения вложенных объектов. - **Parquet**: железнодорожные перевозки в Нидерландах, показывающие алфавитное индексирование и группировку с нормализацией регистра. Для локального запуска можно скачать исходное дерево и открыть `src/index.html` в браузере или установить PWA с сайта демо для офлайн-использования.