Контрибьюция в Liteset
Liteset — академический асинхронный порт Apache Superset 6.0.0. Контрибьюции приветствуются — но помните, что продукт, который реализует Liteset, это upstream Apache Superset. Если ваше изменение касается продуктового поведения Superset (UX, чарты, дашборды, SQL Lab, модель датасетов, семантика RBAC) — почти всегда оно должно сначала пойти в upstream; Liteset подхватит это при ресинке.
Где обсуждать
- GitHub issues — баги, регрессии относительно upstream, async-специфичные дефекты.
- GitHub discussions — вопросы, опыт миграции, обмен результатами бенчмарков.
- Pull requests — код, документация, тесты.
Для широкого сообщества Superset (Slack, dev mailing list, ежемесячные митапы, тег на Stack Overflow) — см. страницу комьюнити upstream. Liteset переиспользует продукт Superset, поэтому продуктовые вопросы лучше задавать там.
Ориентация
Liteset живёт в одном репозитории:
- happykust/liteset — async-бэкенд (
superset/), React-фронтенд (superset-frontend/, идентичен Apache Superset), тесты и инфраструктура. Python-пакет публикуется на PyPI какliteset.
Upstream-референс:
- apache/superset — Liteset отслеживает Apache Superset 6.0.0. Большая часть документации, FAB-isms и конфигурационной семантики идёт оттуда.
Виды контрибьюций
Сообщить о баге
Создайте GitHub issue с:
- ОС и версия.
- Версия Liteset (
liteset --versionили git SHA). - Подробные шаги воспроизведения.
- Особенности вашего сетапа (reverse proxy, кастомный
superset_config.py, оверрайды RBAC).
Если баг — это регрессия по сравнению с Apache Superset 6.0.0, явно укажите это и сошлитесь на эквивалентное поведение Apache Superset — такие баги имеют наивысший приоритет в Liteset.
При публикации stack trace'ов оборачивайте их в Markdown code blocks.
Feature request'ы, открытые как issues, будут перенесены в Discussions.
Предложить фичу
Откройте Ideas discussion:
- Объясните, как должна работать фича.
- Держите scope узким.
- Отметьте, существует ли такая фича / запрос в upstream Apache Superset (приложите ссылку).
Если фича — это поведение продукта Superset, сначала предложите её в upstream — Liteset не будет расходиться с upstream по продуктовой семантике.
Исправить баг или собрать фичу
Базовый workflow:
- Fork happykust/liteset на GitHub.
- Создайте ветку от
main(git checkout -b fix/some-description). - Подним ите dev-окружение как описано в Setting up a Development Environment.
- Напишите код + тесты. Liteset — асинхронный: хендлеры
async def, DAO возвращают awaitable, тесты используютpytest-asyncio. - Запустите pre-commit и тесты локально.
- Откройте pull request против
main. Сошлитесь на issue/discussion. Опишите, что изменилось и почему. - Реагируйте на ревью (новыми коммитами; не делайте force-push, если ревьюер не просит).
Тяжёлого Apache-style governance нет. Нетривиальные архитектурные изменения (новый слой, новая зависимость, ломающая совместимость конфигурация) проходят через лёгкий LIP (Liteset Improvement Proposal) — сначала откройте discussion, чтобы согласовать направление до написания кода.
Улучшить документацию
Сайт, который вы читаете, лежит в docs/. Используется Docusaurus 3, поддерживаются английский и русский. Локальная сборка:
cd docs
yarn install
yarn build
yarn serve --port 3000
У каждой страницы документации есть кнопка «Edit this page» — открывает исходный MDX в GitHub-редакторе. Переводы — в docs/i18n/<locale>/.
Code of conduct
Будьте уважительны и готовы к сотрудничеству. Неуважение, харассмент и дискриминация в любом виде нетерпимы. Как академический проект Liteset не имеет отдельного CoC-комитета — мейнтейнер проекта оставляет за собой право закрывать issues, блокировать дискуссии и банить нарушителей.
Лицензирование
Liteset распространяется под Apache License 2.0, унаследованной от Apache Superset 6.0.0. Открывая pull request, вы соглашаетесь с тем, что ваш вклад лицензируется под теми же условиями. Отдельной ICLA нет — достаточно GitHub PR + DCO-style «sign-off» на каждом коммите (git commit -s).