2026-02-20 10:41:15 +03:00
2026-02-20 10:41:15 +03:00
2026-02-19 17:43:45 +03:00
2026-02-19 17:43:45 +03:00
2026-02-20 10:41:15 +03:00
2026-02-09 12:35:27 +03:00
2026-02-20 10:41:15 +03:00
2026-02-20 10:41:15 +03:00
2026-02-19 17:43:45 +03:00
2026-02-19 16:05:59 +03:00
2026-02-19 17:43:45 +03:00
2026-02-19 17:43:45 +03:00
2025-12-27 10:16:41 +03:00
2026-02-19 17:43:45 +03:00
2026-02-19 12:44:31 +03:00

Инструменты автоматизации Superset (ss-tools)

Обзор

ss-tools — это современная платформа для автоматизации и управления экосистемой Apache Superset. Проект перешел от набора CLI-скриптов к полноценному веб-приложению с архитектурой Backend (FastAPI) + Frontend (SvelteKit), обеспечивая удобный интерфейс для сложных операций.

Основные возможности

🚀 Миграция и управление дашбордами

  • Dashboard Grid: Удобный просмотр всех дашбордов во всех окружениях (Dev, Sandbox, Prod) в едином интерфейсе.
  • Интеллектуальный маппинг: Автоматическое и ручное сопоставление датасетов, таблиц и схем при переносе между окружениями.
  • Проверка зависимостей: Валидация наличия всех необходимых компонентов перед миграцией.

📦 Резервное копирование

  • Планировщик (Scheduler): Автоматическое создание резервных копий дашбордов и датасетов по расписанию.
  • Хранилище: Локальное хранение артефактов с возможностью управления через UI.

🛠 Git Интеграция

  • Version Control: Возможность версионирования ассетов Superset.
  • Git Dashboard: Управление ветками, коммитами и деплоем изменений напрямую из интерфейса.
  • Conflict Resolution: Встроенные инструменты для разрешения конфликтов в YAML-конфигурациях.

🤖 LLM Анализ (AI Plugin)

  • Автоматический аудит: Анализ состояния дашбордов на основе скриншотов и метаданных.
  • Генерация документации: Автоматическое описание датасетов и колонок с помощью LLM (OpenAI, OpenRouter и др.).
  • Smart Validation: Поиск аномалий и ошибок в визуализациях.

🔐 Безопасность и администрирование

  • Multi-user Auth: Многопользовательский доступ с ролевой моделью (RBAC).
  • Управление подключениями: Централизованная настройка доступов к различным инстансам Superset.
  • Логирование: Подробная история выполнения всех фоновых задач.

Технологический стек

  • Backend: Python 3.9+, FastAPI, SQLAlchemy, APScheduler, Pydantic.
  • Frontend: Node.js 18+, SvelteKit, Tailwind CSS.
  • Database: SQLite (для хранения метаданных, задач и настроек доступа).

Структура проекта

  • backend/ — Серверная часть, API и логика плагинов.
  • frontend/ — Клиентская часть (SvelteKit приложение).
  • specs/ — Спецификации функций и планы реализации.
  • docs/ — Дополнительная документация по маппингу и разработке плагинов.

Быстрый старт

Требования

  • Python 3.9+
  • Node.js 18+
  • Настроенный доступ к API Superset

Запуск

Для автоматической настройки окружений и запуска обоих серверов (Backend & Frontend) используйте скрипт:

./run.sh

Скрипт создаст виртуальное окружение Python, установит зависимости pip и npm, и запустит сервисы.

Опции:

  • --skip-install: Пропустить установку зависимостей.
  • --help: Показать справку.

Переменные окружения:

  • BACKEND_PORT: Порт API (по умолчанию 8000).
  • FRONTEND_PORT: Порт UI (по умолчанию 5173).

Разработка

Проект следует строгим правилам разработки:

  1. Semantic Code Generation: Использование протокола .ai/standards/semantics.md для обеспечения надежности кода.
  2. Design by Contract (DbC): Определение предусловий и постусловий для ключевых функций.
  3. Constitution: Соблюдение правил, описанных в конституции проекта в папке .specify/.

Полезные команды

  • Backend: cd backend && .venv/bin/python3 -m uvicorn src.app:app --reload
  • Frontend: cd frontend && npm run dev
  • Тесты: cd backend && .venv/bin/pytest

Контакты и вклад

Для добавления новых функций или исправления ошибок, пожалуйста, ознакомьтесь с docs/plugin_dev.md и создайте соответствующую спецификацию в specs/.

Description
No description provided
Readme 15 MiB
Languages
JavaScript 53.8%
Python 31.3%
Svelte 8.4%
Shell 6.3%
TypeScript 0.1%