#open_source
Появилась идейка писать про прикольный опенсусь, на который натыкаюсь. Может кому-то будет интересно. Будет под введенным хэштэгом.
Не раз думал о том, чтобы делать анимации всяких математических моделей. Из последнего была идея сделать физически корректную модель шестеренок.
Вот наткнулся на интересную для этих целей либу на питончике.
https://docs.manim.community/en/stable/index.html
И туториал к ней на хабре из которого и узнал о либе.
https://habr.com/ru/articles/821743/
Появилась идейка писать про прикольный опенсусь, на который натыкаюсь. Может кому-то будет интересно. Будет под введенным хэштэгом.
Не раз думал о том, чтобы делать анимации всяких математических моделей. Из последнего была идея сделать физически корректную модель шестеренок.
Вот наткнулся на интересную для этих целей либу на питончике.
https://docs.manim.community/en/stable/index.html
И туториал к ней на хабре из которого и узнал о либе.
https://habr.com/ru/articles/821743/
Manim Community | Documentation
Manim Community Edition
Animating technical concepts is traditionally pretty tedious since it can be difficult to make the animations precise enough to convey them accurately. Manim relies on Python’s simplicity to genera...
👍1
#open_source
Сегодня у нас задача классификации строк посредством регулярок.
У такого подхода есть замечательные преимущества:
➕ классификация чувствительная к порядку
➕ интерпретация сегмента на уровне регулярного выражения
Но такие преимущества так же накладывают ограничения:
➖ Подходит для небольших формальных строк типа серийных номеров, ip, телефонов, для других задач не особо то из-за большой чувствительности.
Лично мне было бы интересно поэкспериментировать с этим. Думаю, что здесь есть потенциал для unsupervised исследования, но и так в сочетании с разметкой на основе UL может получиться что-то интересное.
https://github.com/AntonSarr/strtree
Сегодня у нас задача классификации строк посредством регулярок.
У такого подхода есть замечательные преимущества:
➕ классификация чувствительная к порядку
➕ интерпретация сегмента на уровне регулярного выражения
Но такие преимущества так же накладывают ограничения:
➖ Подходит для небольших формальных строк типа серийных номеров, ip, телефонов, для других задач не особо то из-за большой чувствительности.
Лично мне было бы интересно поэкспериментировать с этим. Думаю, что здесь есть потенциал для unsupervised исследования, но и так в сочетании с разметкой на основе UL может получиться что-то интересное.
https://github.com/AntonSarr/strtree
GitHub
GitHub - AntonSarr/strtree: Python package for strings binary classification, based on trees and regular expressions
Python package for strings binary classification, based on trees and regular expressions - AntonSarr/strtree
👍1🤔1
#open_source
Flux
Команда Black Forest Labs зарелизила несколько моделей для генерации картинок по тексту. Команда новая, но причастная к самым современным исследованиям в этой области.
Модели три — Pro, Dev и Schnell, причем последние две выложили в открытый доступ (Apache 2.0 у Schnell, non-commercial у Dev).
Меня лично заинтересовала самая открытая и маленькая Schnell. Раскатил её у себя и решил потестить. Результаты видите сами.
И по-моему - это супер класс, но есть нюанс...
Моделька скушала Neil целиком: 50 ГБ RAM, 28 ГБ GRAM и, естественно утилизировала мою 3090 полностью. При этом на картиночку уходит от 20 до 60 минут, то есть особо не разгуляешься. Конечно, SD работает гораздо быстрее, но в той же мере и хуже.
Думаю на радостях ещё поэкспериментировать и намутить простенький фронт.
Flux
Команда Black Forest Labs зарелизила несколько моделей для генерации картинок по тексту. Команда новая, но причастная к самым современным исследованиям в этой области.
Модели три — Pro, Dev и Schnell, причем последние две выложили в открытый доступ (Apache 2.0 у Schnell, non-commercial у Dev).
Меня лично заинтересовала самая открытая и маленькая Schnell. Раскатил её у себя и решил потестить. Результаты видите сами.
И по-моему - это супер класс, но есть нюанс...
Моделька скушала Neil целиком: 50 ГБ RAM, 28 ГБ GRAM и, естественно утилизировала мою 3090 полностью. При этом на картиночку уходит от 20 до 60 минут, то есть особо не разгуляешься. Конечно, SD работает гораздо быстрее, но в той же мере и хуже.
Думаю на радостях ещё поэкспериментировать и намутить простенький фронт.
🔥1🆒1
#open_source@dm_projects_log
Мысли материальны! (нет)
Только я задумался о глубоком ресерче алгоритмов кластеризации, как случайно наткнулся, на эту великолепную репу!
https://github.com/collinleiber/ClustPy
Честно говоря, если бы я её не нашёл, то стал бы создавать её сам. Пока не успел попробовать в действии либу, но даже просто существование этой репы вызывает дичайший восторг и сулит много часов ресерча. Пока конкретных планов нет, но после более-менее детального изучения репы, возможно, попробую вписаться в её развитие.
Дима🐠 дуреет от такой прикормки!
Мысли материальны! (нет)
Только я задумался о глубоком ресерче алгоритмов кластеризации, как случайно наткнулся, на эту великолепную репу!
https://github.com/collinleiber/ClustPy
Честно говоря, если бы я её не нашёл, то стал бы создавать её сам. Пока не успел попробовать в действии либу, но даже просто существование этой репы вызывает дичайший восторг и сулит много часов ресерча. Пока конкретных планов нет, но после более-менее детального изучения репы, возможно, попробую вписаться в её развитие.
Дима
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - collinleiber/ClustPy: A Python library for advanced clustering algorithms
A Python library for advanced clustering algorithms - collinleiber/ClustPy
🤔2🏆1
#open_source@dm_projects_log
Наверное все уже слышали о том, что модели от китайских исследователей DeepSeek-R1 и DeepSeek-R1-Zero выложены в открытый доступ и показывают результаты на уровне o1.
Мини обзор
Попробовать: полная R1 доступна на официальном сайте в режиме DeepThink. Насколько мне известно, есть ограничения на количество запросов/токенов, но с ходу не нашел об этом конкеретной информации.
Приложение: мобильное приложение работает бесплатно, ссылки есть тут.
Я в свою очередь пробую развернуть на Neil II дистиллированную версию на 32B параметров. Я не особо часто пользуюсь LLM, но потестить интересно.
Наверное все уже слышали о том, что модели от китайских исследователей DeepSeek-R1 и DeepSeek-R1-Zero выложены в открытый доступ и показывают результаты на уровне o1.
Мини обзор
Попробовать: полная R1 доступна на официальном сайте в режиме DeepThink. Насколько мне известно, есть ограничения на количество запросов/токенов, но с ходу не нашел об этом конкеретной информации.
Приложение: мобильное приложение работает бесплатно, ссылки есть тут.
Я в свою очередь пробую развернуть на Neil II дистиллированную версию на 32B параметров. Я не особо часто пользуюсь LLM, но потестить интересно.
Deepseek
Chat with DeepSeek AI.
#open_source@dm_projects_log
Замутил новую минилибу. Идея проста и банальна, но мне не хватало такой тулзы. Собственно идея в том, чтобы держать небольшую базу знаний по моделям, для подбора моделей в целях локального развертывания. Либа анализирует состояние системы (количество оперативы, места на диске, гпу и врам) и предлагает подходящие модели. Пока есть конфигурации для диффузионок и ЛЛМ. Знания складываются в YAML файлы. Пока они там больше ради примера, чем действительно для использования. Так же присутствует ранжирование. Ранг настраиваются вручную в конфигах, но идейно должны формироваться из реальных лидербордов.
Git | pip
Замутил новую минилибу. Идея проста и банальна, но мне не хватало такой тулзы. Собственно идея в том, чтобы держать небольшую базу знаний по моделям, для подбора моделей в целях локального развертывания. Либа анализирует состояние системы (количество оперативы, места на диске, гпу и врам) и предлагает подходящие модели. Пока есть конфигурации для диффузионок и ЛЛМ. Знания складываются в YAML файлы. Пока они там больше ради примера, чем действительно для использования. Так же присутствует ранжирование. Ранг настраиваются вручную в конфигах, но идейно должны формироваться из реальных лидербордов.
Git | pip
GitHub
GitHub - Dmatryus/bm_configurator: The configurator allows you to collect knowledge about models in configs and select among them…
The configurator allows you to collect knowledge about models in configs and select among them suitable for local deployment on certain devices. - Dmatryus/bm_configurator
#open_source@dm_projects_log
#myproject@dm_projects_log
Для курса по статистике баловался с визуализацией случайных величин. Затея не на 100% увенчалась успехом в рамках курса, но добавил эту минифичу в miniutils. Может потом удалю. Пример можно посмотреть здесь.
#myproject@dm_projects_log
Для курса по статистике баловался с визуализацией случайных величин. Затея не на 100% увенчалась успехом в рамках курса, но добавил эту минифичу в miniutils. Может потом удалю. Пример можно посмотреть здесь.
#open_source
#model
https://nvlabs.github.io/Sana/
Вышла новая интересная диффузионка о Nvidia Sana!
Ключевой особенностью является то, что она способна выдавать высокого качества изображения и при этом не требовательна к ресурсам! Пишут, что качество сопостовимо с Flux-12b, но при этом модель в 7.5 раз меньше и в 100 раз быстрее. Это действительно впечатляет.
Вот вам примеры генерации волков.
Лично меня качество пока не впечатляет. Но это быстрая генерация без заморочек. На каждое изображение ушло примерно 2 секунды. Можно добавить шагов инференса при локальном развертывание и может стать лучше.
#model
https://nvlabs.github.io/Sana/
Вышла новая интересная диффузионка о Nvidia Sana!
Ключевой особенностью является то, что она способна выдавать высокого качества изображения и при этом не требовательна к ресурсам! Пишут, что качество сопостовимо с Flux-12b, но при этом модель в 7.5 раз меньше и в 100 раз быстрее. Это действительно впечатляет.
Вот вам примеры генерации волков.
Лично меня качество пока не впечатляет. Но это быстрая генерация без заморочек. На каждое изображение ушло примерно 2 секунды. Можно добавить шагов инференса при локальном развертывание и может стать лучше.
#open_source
Слишком годный пост, чтобы что-то дополнительно комментить.
Слишком годный пост, чтобы что-то дополнительно комментить.
Dmatryusофрения
#open_source@dm_projects_log #myproject@dm_projects_log Для курса по статистике баловался с визуализацией случайных величин. Затея не на 100% увенчалась успехом в рамках курса, но добавил эту минифичу в miniutils. Может потом удалю. Пример можно посмотреть…
#open_source@dm_projects_log
#myproject@dm_projects_log
Поразмыслив, решил, что визуализация статистики все же не укладывается в концепцию миниутилок. Так что выпелил.
Зато навайбкодил XML валидатор. https://github.com/Dmatryus/miniutils
#myproject@dm_projects_log
Поразмыслив, решил, что визуализация статистики все же не укладывается в концепцию миниутилок. Так что выпелил.
Зато навайбкодил XML валидатор. https://github.com/Dmatryus/miniutils
GitHub
GitHub - Dmatryus/miniutils: A set of small scripts for simple tasks.
A set of small scripts for simple tasks. Contribute to Dmatryus/miniutils development by creating an account on GitHub.
👍2
#open_source #ml #classic
Сегодня узнал из поста другой DS группы, который вы уже, возможно, видели о либе interpret. Мне тот пост не понравился, поэтому я решил написать свой 😅
Из крутого:
1. Специальный интерпретируемый GBM, разработанный Microsoft и другие glass-box модели 🔮
2. Полный набор инструментов для объяснения black-box моделей в одном месте🤔
3. Удобные встроенные интерактивные визуализации👀
Если дойдут руки попробовать, расскажу что как. Вообще довольно давно есть мысль взять какую-нибудь интересную задачу с открытыми данными, как бенчмарк всякого MLного. Если у вас такие есть, кидайте в комменты ☺️
Сегодня узнал из поста другой DS группы, который вы уже, возможно, видели о либе interpret. Мне тот пост не понравился, поэтому я решил написать свой 😅
Из крутого:
1. Специальный интерпретируемый GBM, разработанный Microsoft и другие glass-box модели 🔮
2. Полный набор инструментов для объяснения black-box моделей в одном месте
3. Удобные встроенные интерактивные визуализации
Если дойдут руки попробовать, расскажу что как. Вообще довольно давно есть мысль взять какую-нибудь интересную задачу с открытыми данными, как бенчмарк всякого MLного. Если у вас такие есть, кидайте в комменты ☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - interpretml/interpret: Fit interpretable models. Explain blackbox machine learning.
Fit interpretable models. Explain blackbox machine learning. - interpretml/interpret
#open_source #dmdslab
Представляю вам очередную итерацию моих попыток сделать универсальные DS утилки: DmDSLab
Залил это дело в пупи, так что без проблем можете тестить:
Там пока особо полезного ничего нет. Но лично мне сейчас интересны общие относительно удобные структуры данных и функции для чистки данных.
Планирую постепенно дополнять функциями репу и писать доки на wiki.
Буду рад, если кому-то окажется полезным и вдвойне рад обратной связи 😊
Представляю вам очередную итерацию моих попыток сделать универсальные DS утилки: DmDSLab
Залил это дело в пупи, так что без проблем можете тестить:
pip install DmDSLab
Там пока особо полезного ничего нет. Но лично мне сейчас интересны общие относительно удобные структуры данных и функции для чистки данных.
Планирую постепенно дополнять функциями репу и писать доки на wiki.
Буду рад, если кому-то окажется полезным и вдвойне рад обратной связи 😊
#open_source
#ml
#classic
#myproject@dm_projects_log
Я тут заново пересобрал либу. Очень заморочился с оформлением репы, как раньше не заморачивался. И ридми написал, и wiki замутил, все обмазано тестами и даже CICD пайплайн. Зачем я так заморочился? Наверное захотелось красоты, и в эту либу я верю примерно так же, как в HypEx.
Да от этого всего воняет нейронками, что не удивительно, ибо я их активно юзаю, но сам все ревьюю и много всего исправляю за нейронкой. Еще один косяк - почти все на русском. Меня штормило от русского к английскому, поэтому можно встретить и то и то. Забавно, что коммиты я пишу на английском, как и часть докстрингов с комментами, но все доки и описания на русском. Наверное мне просто так удобно, а пользоваться этим все равно вряд ли кто-то кроме меня будет.
Так вот... Зачем это все... Зачем вам может быть интересна эта версия либы? В целом, там в релизе все написано, но если коротко, то тут неплохая коллекция открытых данных с удобным инструментом для скачивания. Я их подбирал для одного своего конкретного исследования, но это именно отборные данные. Так что не брезгуйте юзать. Если есть желание, можно самостоятельно написать конфиг и выгрузить датасет с сайта. Правда работать будут только те, которые импортятся в Python.
P.S. Вообще есть более свежий релиз, но там я разбирался с ошибками сборки, обновлял README.md и упразднил автоматическую публикацию, так как с ней было слишком много проблем, а самому публиковать не сложно, так как есть написанный скрипт, так что функционально разницы нет.
#ml
#classic
#myproject@dm_projects_log
Я тут заново пересобрал либу. Очень заморочился с оформлением репы, как раньше не заморачивался. И ридми написал, и wiki замутил, все обмазано тестами и даже CICD пайплайн. Зачем я так заморочился? Наверное захотелось красоты, и в эту либу я верю примерно так же, как в HypEx.
Да от этого всего воняет нейронками, что не удивительно, ибо я их активно юзаю, но сам все ревьюю и много всего исправляю за нейронкой. Еще один косяк - почти все на русском. Меня штормило от русского к английскому, поэтому можно встретить и то и то. Забавно, что коммиты я пишу на английском, как и часть докстрингов с комментами, но все доки и описания на русском. Наверное мне просто так удобно, а пользоваться этим все равно вряд ли кто-то кроме меня будет.
Так вот... Зачем это все... Зачем вам может быть интересна эта версия либы? В целом, там в релизе все написано, но если коротко, то тут неплохая коллекция открытых данных с удобным инструментом для скачивания. Я их подбирал для одного своего конкретного исследования, но это именно отборные данные. Так что не брезгуйте юзать. Если есть желание, можно самостоятельно написать конфиг и выгрузить датасет с сайта. Правда работать будут только те, которые импортятся в Python.
P.S. Вообще есть более свежий релиз, но там я разбирался с ошибками сборки, обновлял README.md и упразднил автоматическую публикацию, так как с ней было слишком много проблем, а самому публиковать не сложно, так как есть написанный скрипт, так что функционально разницы нет.
GitHub
Release v1.0.0 - Первый стабильный релиз · Dmatryus/DmDSLab
История изменений
[1.0.0] - 2025-07-24
🎉 Первый стабильный релиз
Это первый стабильный релиз DmDSLab - набора инструментов для лаборатории Data Science, предназначенного для
автоматизации рутинных ...
[1.0.0] - 2025-07-24
🎉 Первый стабильный релиз
Это первый стабильный релиз DmDSLab - набора инструментов для лаборатории Data Science, предназначенного для
автоматизации рутинных ...
👍2🔥2
#open_source
#ml
#classic
#myproject@dm_projects_log
Замутил новую версию либы. Переработал загрузчик датасетов полностью.
Что не отображено в доках, так это изменение подхода к разработке: больше ручной работы - меньше нейронок.
#ml
#classic
#myproject@dm_projects_log
Замутил новую версию либы. Переработал загрузчик датасетов полностью.
Что не отображено в доках, так это изменение подхода к разработке: больше ручной работы - меньше нейронок.
GitHub
Release DmDSLab 2.0.0 - UCI Integration & Modern Python · Dmatryus/DmDSLab
🎉 DmDSLab 2.0.0 - UCI Integration & Modern Python
Мы рады представить DmDSLab 2.0.0 - крупнейшее обновление библиотеки с момента её создания! Эта версия привносит долгожданную интеграцию с UCI ...
Мы рады представить DmDSLab 2.0.0 - крупнейшее обновление библиотеки с момента её создания! Эта версия привносит долгожданную интеграцию с UCI ...
🔥2
#classic #open_source
Nvidia выпустили статью об ускорении вычислений в pandas посредством использования GPU через библиотеку NVIDIA cuDF.
Прикол в том, что его применение (по крайней мере в тетрадках) не требует переписывания кода, а только использования магической операции.
Что касается использования не в тетрадке, то операции надо делать через библиотечный датафрейм, у которого API идентичное пандасовскому.
В статье разобраны 3 кейса с ускорением.
Nvidia выпустили статью об ускорении вычислений в pandas посредством использования GPU через библиотеку NVIDIA cuDF.
Прикол в том, что его применение (по крайней мере в тетрадках) не требует переписывания кода, а только использования магической операции.
Что касается использования не в тетрадке, то операции надо делать через библиотечный датафрейм, у которого API идентичное пандасовскому.
В статье разобраны 3 кейса с ускорением.
NVIDIA Technical Blog
3 pandas Workflows That Slowed to a Crawl on Large Datasets—Until We Turned on GPUs
If you work with pandas, you’ve probably hit the wall. It’s that moment when your trusty workflow, so elegant on smaller datasets, grinds to a halt on a large one. A script that once took seconds now…
#open_source
#myproject@dm_projects_log
Новая утилита: file_size_sorter.py — скрипт анализа дискового пространства.
Изначально написал для того, чтобы проверить почему репозиторий так много весит. Нашел запушенные артефакты, так что полезное. Ещё эта штуковина полезная в целом для анализа диска, когда его нужно почистить.
Скрипт использует только стандартную библиотеку Python, так что зависимостей нет.
Примеры использования:
#myproject@dm_projects_log
Новая утилита: file_size_sorter.py — скрипт анализа дискового пространства.
Изначально написал для того, чтобы проверить почему репозиторий так много весит. Нашел запушенные артефакты, так что полезное. Ещё эта штуковина полезная в целом для анализа диска, когда его нужно почистить.
Скрипт использует только стандартную библиотеку Python, так что зависимостей нет.
Примеры использования:
# Найти 10 самых больших файлов в домашней директории
python file_size_sorter.py /home/user 10
# Посмотреть все файлы проекта, отсортированные по размеру
python file_size_sorter.py ./my_project
# Найти самые маленькие файлы (полезно для очистки мелкого мусора)
python file_size_sorter.py /tmp 20 --asc
GitHub
miniutils/files/file_size_sorter.py at main · Dmatryus/miniutils
A set of small scripts for simple tasks. Contribute to Dmatryus/miniutils development by creating an account on GitHub.
#open_source
#myproject@dm_projects_log
Добавил в утилки крутую фичу, которую давно хотел замутить. Честно говоря, оно не особо тянет на миниутилку, так как кода там довольно много и логика не простая, но пока так, ибо мне не охота мутить отдельное приложение, но может быть, когда-нибудь...
Кстати, сам конвертер занимает всего один файл, но при этом умеет больше, чем многие платные сервисы!
✨ Что умеет новый модуль?
📝 Markdown → HTML/PDF за одну команду
🎨 4 встроенные темы (включая тёмную!)
🌈 50+ стилей подсветки кода
📊 Mermaid диаграммы прямо в документах
⚡️ Работает офлайн или через API
🎯 Для кого это?
• Пишете документацию? Теперь она будет красивой!
• Ведёте техблог? Конвертируйте посты в PDF
• Делаете презентации? Mermaid диаграммы включены!
• Учитесь/учите? Идеально для конспектов с кодом
💡 Простой пример
Если честно, то я не проводил обширного тестирования и проблемы все ещё могут быть, но в ходе разработки решил кучу проблемных ситуаций. Если что-то пойдет не так, можете писать мне в личку или сюда в директ.
GitHub: https://github.com/Dmatryus/miniutils/tree/main
#myproject@dm_projects_log
Добавил в утилки крутую фичу, которую давно хотел замутить. Честно говоря, оно не особо тянет на миниутилку, так как кода там довольно много и логика не простая, но пока так, ибо мне не охота мутить отдельное приложение, но может быть, когда-нибудь...
Кстати, сам конвертер занимает всего один файл, но при этом умеет больше, чем многие платные сервисы!
✨ Что умеет новый модуль?
📝 Markdown → HTML/PDF за одну команду
🎨 4 встроенные темы (включая тёмную!)
🌈 50+ стилей подсветки кода
📊 Mermaid диаграммы прямо в документах
⚡️ Работает офлайн или через API
🎯 Для кого это?
• Пишете документацию? Теперь она будет красивой!
• Ведёте техблог? Конвертируйте посты в PDF
• Делаете презентации? Mermaid диаграммы включены!
• Учитесь/учите? Идеально для конспектов с кодом
💡 Простой пример
# Обычная конвертация
python md_converter.py README.md
# PDF с тёмной темой
python md_converter.py docs.md --format pdf --theme dark
Если честно, то я не проводил обширного тестирования и проблемы все ещё могут быть, но в ходе разработки решил кучу проблемных ситуаций. Если что-то пойдет не так, можете писать мне в личку или сюда в директ.
GitHub: https://github.com/Dmatryus/miniutils/tree/main
GitHub
GitHub - Dmatryus/miniutils: A set of small scripts for simple tasks.
A set of small scripts for simple tasks. Contribute to Dmatryus/miniutils development by creating an account on GitHub.
🔥4
#open_source
🐙 OctoSQL: Универсальный SQL-движок для анализа данных из разных источников
Увидел в одном из пабликов короткий рассказ об этой утилите. Мне очень понравилась идея. Кажется, я тоже когда-то думал попробовать сделать что-то такое. В любом случае, это реально круто, и я предлагаю ознакомится всем неравнодушным. Очень вдохновляет такой опеньсусь. Вот решил тоже рассказать о ней.
Речь идет об OctoSQL — CLI-утилите, которая позволяет выполнять SQL-запросы к данным из множества источников через единый интерфейс. Представьте: вы можете сделать JOIN между JSON-файлом и PostgreSQL таблицей одним запросом!
По сути, у вас в руках оказывается вся мощь реляционной алгебры независимо от того, где лежат ваши данные — в файлах, базах данных, потоках или даже в комбинации всего этого.
🎯 Что это такое?
OctoSQL — query-движок на Go, который превращает SQL в универсальный язык для работы с данными из файлов (JSON, CSV, Parquet), баз данных (PostgreSQL, MySQL) и потоков данных.
Ключевые возможности:
- JOIN между разными источниками данных
- Система плагинов для баз данных
- Поддержка streaming и real-time обработки
- Визуализация планов запросов
🚀 Быстрый старт
Установка:
Примеры:
🛠 Система плагинов
Доступны плагины для PostgreSQL, MySQL, MongoDB, Redis, Kafka и других. Установка: *octosql plugin install postgres*
🔥 Уникальные фишки
Union Types — работа с "грязными" данными где колонка может быть Int или String одновременно.
Streaming — real-time обработка потоков данных с группировкой по временным окнам.
Dataflow архитектура — поддержка Event Time, Watermarks и возможность отмены предыдущих результатов.
📊 Применения
- Анализ логов с джойном к базе пользователей
- ETL без инфраструктуры — объединение CSV, БД и JSON в одном запросе
- Real-time мониторинг ошибок
⚡️ Производительность
На тесте NYC Taxi Dataset (200MB, 2M записей):
- OctoSQL: 1.98 сек
- Q без кэша: 16.04 сек (в 8 раз медленнее)
OctoSQL работает напрямую с файлами, читая только нужные колонки.
💡 Когда использовать?
Подходит для: ad-hoc анализа, прототипирования аналитики, ETL без сложной инфраструктуры, streaming обработки.
Не подходит для: высоконагруженных production систем, сложной распределенной обработки.
Ссылки:
📦 GitHub: https://github.com/cube2222/octosql
📚 Документация: https://octosql.dev/
🐙 OctoSQL: Универсальный SQL-движок для анализа данных из разных источников
Увидел в одном из пабликов короткий рассказ об этой утилите. Мне очень понравилась идея. Кажется, я тоже когда-то думал попробовать сделать что-то такое. В любом случае, это реально круто, и я предлагаю ознакомится всем неравнодушным. Очень вдохновляет такой опеньсусь. Вот решил тоже рассказать о ней.
Речь идет об OctoSQL — CLI-утилите, которая позволяет выполнять SQL-запросы к данным из множества источников через единый интерфейс. Представьте: вы можете сделать JOIN между JSON-файлом и PostgreSQL таблицей одним запросом!
По сути, у вас в руках оказывается вся мощь реляционной алгебры независимо от того, где лежат ваши данные — в файлах, базах данных, потоках или даже в комбинации всего этого.
🎯 Что это такое?
OctoSQL — query-движок на Go, который превращает SQL в универсальный язык для работы с данными из файлов (JSON, CSV, Parquet), баз данных (PostgreSQL, MySQL) и потоков данных.
Ключевые возможности:
- JOIN между разными источниками данных
- Система плагинов для баз данных
- Поддержка streaming и real-time обработки
- Визуализация планов запросов
🚀 Быстрый старт
Установка:
brew install cube2222/octosql/octosqlПримеры:
octosql "SELECT FROM ./data.json"
octosql "SELECT customer_id, SUM(amount) FROM invoices.csv GROUP BY customer_id"
octosql "SELECT invoices.id, customers.name FROM invoices.csv JOIN mydb.customers ON invoices.customer_id = customers.id"
🛠 Система плагинов
Доступны плагины для PostgreSQL, MySQL, MongoDB, Redis, Kafka и других. Установка: *octosql plugin install postgres*
🔥 Уникальные фишки
Union Types — работа с "грязными" данными где колонка может быть Int или String одновременно.
Streaming — real-time обработка потоков данных с группировкой по временным окнам.
Dataflow архитектура — поддержка Event Time, Watermarks и возможность отмены предыдущих результатов.
📊 Применения
- Анализ логов с джойном к базе пользователей
- ETL без инфраструктуры — объединение CSV, БД и JSON в одном запросе
- Real-time мониторинг ошибок
⚡️ Производительность
На тесте NYC Taxi Dataset (200MB, 2M записей):
- OctoSQL: 1.98 сек
- Q без кэша: 16.04 сек (в 8 раз медленнее)
OctoSQL работает напрямую с файлами, читая только нужные колонки.
💡 Когда использовать?
Подходит для: ad-hoc анализа, прототипирования аналитики, ETL без сложной инфраструктуры, streaming обработки.
Не подходит для: высоконагруженных production систем, сложной распределенной обработки.
Ссылки:
📦 GitHub: https://github.com/cube2222/octosql
📚 Документация: https://octosql.dev/
GitHub
GitHub - cube2222/octosql: OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases…
OctoSQL is a query tool that allows you to join, analyse and transform data from multiple databases and file formats using SQL. - cube2222/octosql
❤2