DSL для анализа табличных данных — со сборкой в
.exeв 2 клика. Без Python. Без PyInstaller. Без бубна.
ArrayVator — это предметно-ориентированный язык для анализа табличных данных. Вы пишете на понятном синтаксисе, а получаете результат, как от SQL + Python + Excel, но без необходимости знать все три.
Ключевые идеи:
- 📊 Работа с таблицами — матрицы, вектора, срезы
- 🚀 Два движка — Matrix (RAM) и DuckDB (Big Data)
- 🧠 Умная справка — автодополнение + панель справки
- 💬 Понятные ошибки — с подсказками, что исправить
- ⚡ Сборка
.exeв 2 клика — упаковка скрипта в готовый файл
Пишете скрипт → нажимаете Инструменты → Экспорт в EXE → получаете готовый .exe.
Всё. Без Python, без PyInstaller, без .spec-файлов, без возни с DLL.
- Сохраните код как
.arrvв редакторе (Ctrl+S) - Откройте Инструменты → Экспорт в EXE — откроется компилятор
- В компиляторе:
- Source .arrv: — выберите сохранённый
.arrv(Browse...) - Output folder: — выберите папку куда сохранить
.exe(Browse...) - EXE name: — введите имя (латиница, без
.exe)
- Source .arrv: — выберите сохранённый
- Нажмите Build EXE (зелёная кнопка)
- Готово! Ваш
.exeработает сам по себе
💡 Первый раз? Нажмите Rebuild Runtime — компилятор подготовит runtime-файлы. После этого сборка занимает секунды.
Если вы когда-нибудь пытались упаковать Python-скрипт в .exe,
вы знаете эту боль:
pip install pyinstaller- Написать
.spec-файл - Ловить ошибки с
--hidden-import - Копировать DLL руками
- Отлаживать
ModuleNotFoundErrorв frozen-сборке - Надеяться, что работает на чужой машине
ArrayVator делает всё это за вас.
| Обычный Python | ArrayVator |
|---|---|
| Установить Python | ❌ Не нужно |
| Установить PyInstaller | ❌ Не нужно |
Писать .spec файлы |
❌ Не нужно |
Разбираться с --hidden-import |
❌ Не нужно |
| Паковать DLL | ❌ Не нужно |
| Результат | .exe в 2 клика |
Компилятор сам сканирует код и подбирает нужный runtime:
runner_minimal— чистый язык (быстро, мало места)runner_data— с Excel / CSV / DuckDBrunner— полный: графики + HTML-отчёты
- ⚡ Сборка
.exeв 2 клика — без Python, без PyInstaller - 📊 Матрицы и вектора — таблицы с заголовками, срезы, диапазоны
- 🔍 Фильтрация —
filterif,deleteifvs циклы - 📈 Агрегаты —
sum,avg,min,max,count,median,std - 🎯 Условные агрегаты —
sumif,countif,avgif,minif, ... - 📊 Группировка —
groupby,pivot,groupagg - 🪟 Оконные функции —
rownumber,rank,lag,lead,winsum,qualify - 📅 Даты и время —
year,adddays,DateDiff,datetrunc - 🧮 Строки —
split,joinvector,replacetext,clean,trim - 🔎 Поиск —
find,vlookup - 🎨 Условия —
case,applyif - 🚀 BigData — до 1 млрд строк через DuckDB
- 📉 Графики — Matplotlib / Plotly (bar, line, pie, hist, scatter, box, heatmap, pair)
- 📄 HTML-отчёты — с интерактивными Plotly-графиками
- 📁 Файлы — Excel, CSV, TXT, Parquet, SQLite
- 🧠 Встроенная справка — клик по функции → справка справа
Готовую сборку: Releases
Windows — ArrayVator_Portable.zip:
ArrayVator.exe— редактор (двойной клик — и работаете)runner/— полный интерпретатор (DuckDB, Excel, графики)runner_data/— для работы с данными (без графики)runner_minimal/— минимальный (только ядро)compiler/— компилятор в EXE (GUI)help/— файлы справки (русский + английский)
Не требует Python! Работает на Windows 10/11 (x64).
Установка:
- Скачайте
ArrayVator_Portable.zip - Распакуйте в любую папку
- Запустите
ArrayVator.exe
ArrayVator пока не подписан. Windows SmartScreen может показать:
Windows защитила ваш компьютер
Это нормально. Нажмите Подробнее → Выполнить в любом случае.
Исходный код 100% открыт — проверьте на GitHub или соберите сами.
Мы подали заявку на бесплатный сертификат подписи для open-source проектов (через SignPath.io). Будущие релизы будут подписаны.
m = ["Имя", "Отдел", "Зарплата";
"Аня", "IT", 85000;
"Боб", "HR", 65000;
"Света", "IT", 95000]
r = filterif(m[:, "Отдел"] == "IT")
print(r)Вывод:
Имя Отдел Зарплата
Аня IT 85000
Света IT 95000В папке examples/ — 68 готовых рецептов
по темам:
| Категория | Что внутри |
|---|---|
| Основы | Циклы, условия, матрицы, строки |
| Фильтрация | filterif, deleteif vs циклы |
| Агрегаты | sum, avg, sumif, countif |
| Группировка | groupby, pivot, groupagg — 4 способа одной задачи |
| Оконные функции | rank, lag, ntile, qualify |
| Аналитика | abc, anomaly, percentof |
| Даты | Полный справочник по датам и времени |
| Соединения | join, joinarray, unpivot, vlookup |
| BigData | Сравнение Matrix vs DuckDB |
Каждый пример — самодостаточный файл с комментариями, кодом и ожидаемым выводом. Запускай через F5 в редакторе.
Требования:
- Python 3.10+
- Windows / Linux / macOS
Установка:
git clone https://github.com/Arrayvator/arrayvator.git
cd arrayvator
pip install -r requirements.txt
python main.pyЗависимости: duckdb, python-calamine, pyexcelerate, openpyxl,
matplotlib, plotly, playwright, pyinstaller.
Несколько ключевых правил ArrayVator:
- Все функции ВОЗВРАЩАЮТ значение — сохраняйте результат:
m = filterif(m[:, "Отдел"] == "IT")
None— единственный литерал пустого значения (null,nanзапрещены).=— присваивание.==— сравнение.- Логические операторы:
and,or,not. - Индексация С 1 —
m[1, :]это строка заголовков. - Правило заголовка:
m[:, "Имя"]— заголовок НЕ участвуетm[:, 3]— заголовок УЧАСТВУЕТ
- DuckDB (BigData) — read-only — часть функций только для Matrix.
Подробнее см. examples/.
MIT — см. LICENSE.
Arrayvator
- Сайт: arrayvator.ru
- GitHub: @Arrayvator


