Возвращаю на голову шляпу дата инженера и продолжаю про разные инструменты.
Одна из рабочих идей у меня сейчас - это инструмент автоматического документирования датасетов/баз данных с приоритетом на "дикие данные" когда файл с данными есть, а документации на него нет. Очень частая ситуация с порталами открытых данных.
Причём потребность в таком инструменте уже очень давно есть, а вот наглядно я видел только облачный сервис CastorDoc который в этом продвинулся и только некоторые дата каталоги. А я сам экспериментировал и создал утилиту metacrafter для идентификации семантических типов данных. Но потребность в автодокументировании шире. Это, как минимум:
1. Автоматизация описания полей набора данных, желательно на нескольких языках: английский, испанский, русский, армянский и тд.
2. Написание описания набора данных так чтобы по датасету или его части можно было бы рассказать о чём он.
3. Описание структуры датасета не просто перечислением полей, а указание типа, описания полей, числа уникальных записей и тд.
4. Автоидентификация и документирование справочников. Почти всегда эти справочники есть и почти всегда их необходимо идентифицировать и описывать.
5. Автоматическая генерация типовых запросов к данным по аналогии с автогенерацией кода для доступа к API, нужны автосгенерированные запросы для доступа к данным.
Это всё самое очевидное, чуть более неочевидное это генерация документации по шаблонам, на разных языках и многое другое.
Самое простое и быстрое решение которое я вижу - это связка DuckDB + LLM модель, простые эксперименты подтверждают что это возможно и несложно. Но если Вы знаете хорошие/эффективные/удобные инструменты документирования датасетов - поделитесь, интересно их посмотреть в работе. Особенно те что с открытым кодом.
#opendata #datadocumentation #opensource #datatools #ideas
Одна из рабочих идей у меня сейчас - это инструмент автоматического документирования датасетов/баз данных с приоритетом на "дикие данные" когда файл с данными есть, а документации на него нет. Очень частая ситуация с порталами открытых данных.
Причём потребность в таком инструменте уже очень давно есть, а вот наглядно я видел только облачный сервис CastorDoc который в этом продвинулся и только некоторые дата каталоги. А я сам экспериментировал и создал утилиту metacrafter для идентификации семантических типов данных. Но потребность в автодокументировании шире. Это, как минимум:
1. Автоматизация описания полей набора данных, желательно на нескольких языках: английский, испанский, русский, армянский и тд.
2. Написание описания набора данных так чтобы по датасету или его части можно было бы рассказать о чём он.
3. Описание структуры датасета не просто перечислением полей, а указание типа, описания полей, числа уникальных записей и тд.
4. Автоидентификация и документирование справочников. Почти всегда эти справочники есть и почти всегда их необходимо идентифицировать и описывать.
5. Автоматическая генерация типовых запросов к данным по аналогии с автогенерацией кода для доступа к API, нужны автосгенерированные запросы для доступа к данным.
Это всё самое очевидное, чуть более неочевидное это генерация документации по шаблонам, на разных языках и многое другое.
Самое простое и быстрое решение которое я вижу - это связка DuckDB + LLM модель, простые эксперименты подтверждают что это возможно и несложно. Но если Вы знаете хорошие/эффективные/удобные инструменты документирования датасетов - поделитесь, интересно их посмотреть в работе. Особенно те что с открытым кодом.
#opendata #datadocumentation #opensource #datatools #ideas
Про эксперименты с автоматизированным документированием датасетов, вот живой пример документирования связки DuckDB + LLM. На вход файл в формате Parquet, можно увидеть его содержимое. На выходе таблица с размеченными колонками. Некоторые LLM дают очень хороший результат с описанием колонок на основе их названия с пониманием контекста и расшифровкой полей в зависимости от контекста который LLM тоже понимает.
Осталось дообогатить таблицу семантическим типом данных и добавить генерацию документации. На вход был файл дампа Единого структурированного справочника-каталога лекарственных препаратов (ЕСКЛП), а на выходе его описание.
Осталось понять сделать ли это отдельным инструментом или встроить в ранее созданные утилиты undatum или metacrafter которые тут пересекаются
#datadocumentation #dataengineering #datatools
Осталось дообогатить таблицу семантическим типом данных и добавить генерацию документации. На вход был файл дампа Единого структурированного справочника-каталога лекарственных препаратов (ЕСКЛП), а на выходе его описание.
Осталось понять сделать ли это отдельным инструментом или встроить в ранее созданные утилиты undatum или metacrafter которые тут пересекаются
#datadocumentation #dataengineering #datatools
Полезные ссылки про данные, технологии и не только:
- Perforator [1] профайлер приложений от Яндекса и с использованием eBPF [2]. Полезно для отладки многих сложных и простых нативных приложений и отдельно расписано как профилировать и оптимизировать серверные приложения на Python. Выглядит как очень добротный open source продукт
- GPT Researcher [3] автономный инструмент для исследований с аккуратной простановкой цитат, использует внешние и локальные источники. Интегрирован с OpenAI
- The Illustrated DeepSeek-R1 [4] подробно о DeepSeek в картинках, позволяет легче ухватить суть продукта
- DataLumos [5] проект Университета Мичигана по архивации государственных и социальных данных, построен на базе OpenICPSR [6], данных не очень много, но они адаптированы под исследовательские задачи
- Data Formulator: Create Rich Visualizations with AI [7] полноценный движок для визуализации данных с помощью ИИ. Выпущен исследователями из Microsoft вместе с научной работой, под лицензией MIT. Выглядит как proof-of-concept, не факт что его можно применять в практических задачах сразу и из коробки, но для экспериментов самое оно. И для идей и вдохновения
- Chat2DB [8] открытый код (community edition) и сервис по управлению базами данных с помощью ИИ. Всё самое вкусное вынесли в коммерческие версии, но посмотреть стоит в любом случае.
Ссылки:
[1] https://perforator.tech
[2] https://ebpf.io
[3] https://github.com/assafelovic/gpt-researcher
[4] https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r1
[5] https://www.datalumos.org
[6] https://www.openicpsr.org/openicpsr/
[7] https://github.com/microsoft/data-formulator
[8] https://chat2db.ai
#opensource #datatools #opendata #ai
- Perforator [1] профайлер приложений от Яндекса и с использованием eBPF [2]. Полезно для отладки многих сложных и простых нативных приложений и отдельно расписано как профилировать и оптимизировать серверные приложения на Python. Выглядит как очень добротный open source продукт
- GPT Researcher [3] автономный инструмент для исследований с аккуратной простановкой цитат, использует внешние и локальные источники. Интегрирован с OpenAI
- The Illustrated DeepSeek-R1 [4] подробно о DeepSeek в картинках, позволяет легче ухватить суть продукта
- DataLumos [5] проект Университета Мичигана по архивации государственных и социальных данных, построен на базе OpenICPSR [6], данных не очень много, но они адаптированы под исследовательские задачи
- Data Formulator: Create Rich Visualizations with AI [7] полноценный движок для визуализации данных с помощью ИИ. Выпущен исследователями из Microsoft вместе с научной работой, под лицензией MIT. Выглядит как proof-of-concept, не факт что его можно применять в практических задачах сразу и из коробки, но для экспериментов самое оно. И для идей и вдохновения
- Chat2DB [8] открытый код (community edition) и сервис по управлению базами данных с помощью ИИ. Всё самое вкусное вынесли в коммерческие версии, но посмотреть стоит в любом случае.
Ссылки:
[1] https://perforator.tech
[2] https://ebpf.io
[3] https://github.com/assafelovic/gpt-researcher
[4] https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r1
[5] https://www.datalumos.org
[6] https://www.openicpsr.org/openicpsr/
[7] https://github.com/microsoft/data-formulator
[8] https://chat2db.ai
#opensource #datatools #opendata #ai
ebpf.io
eBPF - Introduction, Tutorials & Community Resources
eBPF is a revolutionary technology that can run sandboxed programs in the Linux kernel without changing kernel source code or loading a kernel module.
Ещё один проект по быстрому созданию приложений на основе датасетов Preswald [1]. С открытым кодом, под лицензией Apache 2.0, вместо low code/no-code пропагандируют принцип Code-First Simplicity (минимальный, но необходимый код), а также декларативное программирование через конфигурацию в toml файлах.
Когда и кому такой инструмент зайдёт? Тем кому нужно быстро визуализировать данные в наглядном виде и предоставлять их в таком виде пользователям. В этом смысле продукт похож чем-то на Observable или Datasette [2] .
На мой взгляд в части демонстрации возможностей инструмента команда как-то сильно недорабатывает, не видно интерактивных демо, а с другой стороны это же просто ещё один инструмент в копилку аналогичных. Возможно, полезный в будущем.
Ссылки:
[1] https://github.com/StructuredLabs/preswald
[2] https://datasette.io
#opensource #datatools
Когда и кому такой инструмент зайдёт? Тем кому нужно быстро визуализировать данные в наглядном виде и предоставлять их в таком виде пользователям. В этом смысле продукт похож чем-то на Observable или Datasette [2] .
На мой взгляд в части демонстрации возможностей инструмента команда как-то сильно недорабатывает, не видно интерактивных демо, а с другой стороны это же просто ещё один инструмент в копилку аналогичных. Возможно, полезный в будущем.
Ссылки:
[1] https://github.com/StructuredLabs/preswald
[2] https://datasette.io
#opensource #datatools
GitHub
GitHub - StructuredLabs/preswald: Preswald is a framework for building and deploying interactive data apps, internal tools, and…
Preswald is a framework for building and deploying interactive data apps, internal tools, and dashboards with Python. With one command, you can launch, share, and deploy locally or in the cloud, tu...
Полезные ссылки про данные, технологии и не только:
- Kreuzberg [1] библиотека для Python по извлечению текста из документов, поддерживает множество форматов, внутри использует Pandoc и Tesseract OCR. Создано как раз для использования в задачах RAG (Retrieval Augmented Generation) с прицелом на локальную обработку данных и минимумом зависимостей. Лицензия MIT
- Validoopsie [2] другая библиотека для Python для валидации данных. Использует библиотеку Narwhals благодаря которой подключается к почти любым видами дата-фреймов. Выглядит полезной альтернативой Great Expectations, лично для меня в валидации данных глобальный нерешённый вопрос в том что тут правильнее, код или декларативное программирования. Иначе говоря, правила проверки должны ли быть отчуждаемыми от языка разработки. Здесь валидация встроена в код, но поверх можно сделать и декларативный движок. Лицензия MIT
- Scripton [3] коммерческое IDE для Python с необычной фичей визуализации данных в реальном времени. Есть только скриншоты, записи экрана и коммерческая версия для macOS. Для тех кто занимается алгоритмической визуализацией может быть удобно, для остальных задач пока нет такой уверенности.
- New horizons for Julia [4] по сути статья о том что язык программирования Julia ещё жив и развивается. Правда медленно, на мой взгляд, но вроде как есть позитивное движение за пределами научных областей. Лично я почти не сталкивался с Julia кроме как на уровне примеров кода, но хорошо если он кому-то нравится и полезен.
- Data-Driven Scrollytelling with Quarto [5] визуализация дата-историй с помощью движка Quarto, итоги конкурса таких визуализаций с большим числом примеров и победителей. Примеры все от команды компании Posit которая этот open-source движок Quarto и разрабатывает. Скажу отдельно что это очень правильно. Если ты делаешь любой движок по визуализации, то просто обязательно надо проводить такие конкурсы.
- The Best Way to Use Text Embeddings Portably is With Parquet and Polars [6] ещё один обзор о том насколько эффективен Parquet в связке с Polars для работы с данными, в данном случае данными карт Magic of the Gathering. Автор тоже задаётся вопросом о том почему Parquet не поддерживается в MS Excel.
- How to Make Superbabies [7] особенно длинный лонгрид о том как генетическими изменениями можно улучшать человека, создавать супер детей или "оптимизированных детей", как ещё пишет автор. Читать и думать об этом надо потому что всё идёт к тому что скоро это станет ещё одной острой социальной и геополитической темой.
Ссылки:
[1] https://github.com/Goldziher/kreuzberg
[2] https://github.com/akmalsoliev/Validoopsie
[3] https://scripton.dev/
[4] https://lwn.net/Articles/1006117/
[5] https://posit.co/blog/closeread-prize-winners/
[6] https://minimaxir.com/2025/02/embeddings-parquet/
[7] https://www.lesswrong.com/posts/DfrSZaf3JC8vJdbZL/how-to-make-superbabies
#opensource #data #datatools #dataviz #genetics #python
- Kreuzberg [1] библиотека для Python по извлечению текста из документов, поддерживает множество форматов, внутри использует Pandoc и Tesseract OCR. Создано как раз для использования в задачах RAG (Retrieval Augmented Generation) с прицелом на локальную обработку данных и минимумом зависимостей. Лицензия MIT
- Validoopsie [2] другая библиотека для Python для валидации данных. Использует библиотеку Narwhals благодаря которой подключается к почти любым видами дата-фреймов. Выглядит полезной альтернативой Great Expectations, лично для меня в валидации данных глобальный нерешённый вопрос в том что тут правильнее, код или декларативное программирования. Иначе говоря, правила проверки должны ли быть отчуждаемыми от языка разработки. Здесь валидация встроена в код, но поверх можно сделать и декларативный движок. Лицензия MIT
- Scripton [3] коммерческое IDE для Python с необычной фичей визуализации данных в реальном времени. Есть только скриншоты, записи экрана и коммерческая версия для macOS. Для тех кто занимается алгоритмической визуализацией может быть удобно, для остальных задач пока нет такой уверенности.
- New horizons for Julia [4] по сути статья о том что язык программирования Julia ещё жив и развивается. Правда медленно, на мой взгляд, но вроде как есть позитивное движение за пределами научных областей. Лично я почти не сталкивался с Julia кроме как на уровне примеров кода, но хорошо если он кому-то нравится и полезен.
- Data-Driven Scrollytelling with Quarto [5] визуализация дата-историй с помощью движка Quarto, итоги конкурса таких визуализаций с большим числом примеров и победителей. Примеры все от команды компании Posit которая этот open-source движок Quarto и разрабатывает. Скажу отдельно что это очень правильно. Если ты делаешь любой движок по визуализации, то просто обязательно надо проводить такие конкурсы.
- The Best Way to Use Text Embeddings Portably is With Parquet and Polars [6] ещё один обзор о том насколько эффективен Parquet в связке с Polars для работы с данными, в данном случае данными карт Magic of the Gathering. Автор тоже задаётся вопросом о том почему Parquet не поддерживается в MS Excel.
- How to Make Superbabies [7] особенно длинный лонгрид о том как генетическими изменениями можно улучшать человека, создавать супер детей или "оптимизированных детей", как ещё пишет автор. Читать и думать об этом надо потому что всё идёт к тому что скоро это станет ещё одной острой социальной и геополитической темой.
Ссылки:
[1] https://github.com/Goldziher/kreuzberg
[2] https://github.com/akmalsoliev/Validoopsie
[3] https://scripton.dev/
[4] https://lwn.net/Articles/1006117/
[5] https://posit.co/blog/closeread-prize-winners/
[6] https://minimaxir.com/2025/02/embeddings-parquet/
[7] https://www.lesswrong.com/posts/DfrSZaf3JC8vJdbZL/how-to-make-superbabies
#opensource #data #datatools #dataviz #genetics #python
Свежий полезный инструмент smallpond [1] от команды DeepSeek AI для тех кто работает с данными большого объёма и с необходимостью их распределения. Под капотом у него DuckDB и 3FS [2], другая разработка от DeepSeek AI в виде распределённой файловой системы с оптимизацией под обучение ИИ.
Ключевое - масштабируемость до петабайтных датасетов. Думаю что полезно для всех датасетов начиная с 1 ТБ и с масштабированием, а для данных объёмом поменьше уже будет избыточно.
Ссылки:
[1] https://github.com/deepseek-ai/smallpond
[2] https://github.com/deepseek-ai/3FS
#opensource #data #datatools
Ключевое - масштабируемость до петабайтных датасетов. Думаю что полезно для всех датасетов начиная с 1 ТБ и с масштабированием, а для данных объёмом поменьше уже будет избыточно.
Ссылки:
[1] https://github.com/deepseek-ai/smallpond
[2] https://github.com/deepseek-ai/3FS
#opensource #data #datatools
GitHub
GitHub - deepseek-ai/smallpond: A lightweight data processing framework built on DuckDB and 3FS.
A lightweight data processing framework built on DuckDB and 3FS. - deepseek-ai/smallpond
Полезный обзор Smallpond [1] свежего движка для обработки больших наборов/массивных потоков данных от Deepseek.
Внутри там DuckDB и автор копается во внутренностях движка объясняя как это работает.
Из интересного - да, это альтернатива Apache Spark или Daft. В общем-то DuckDB приобретает всё большую и большую популярность, встраивается внутрь самых разных инструментов.
Вот теперь ещё и в распределенные базы данных и в распределённую обработку данных.
Ссылки:
[1] https://mehdio.substack.com/p/duckdb-goes-distributed-deepseeks
#data #datatools #deepseek #dataengineering
Внутри там DuckDB и автор копается во внутренностях движка объясняя как это работает.
Из интересного - да, это альтернатива Apache Spark или Daft. В общем-то DuckDB приобретает всё большую и большую популярность, встраивается внутрь самых разных инструментов.
Вот теперь ещё и в распределенные базы данных и в распределённую обработку данных.
Ссылки:
[1] https://mehdio.substack.com/p/duckdb-goes-distributed-deepseeks
#data #datatools #deepseek #dataengineering
Полезные ссылки про данные технологии и не только:
- Graph Databases after 15 Years – Where Are They Headed? [1] автор рассказывает об эволюции графовых баз данных и главный вывод что они стали очень нишевыми и в упадке, кроме очень узких применений.
- Keep Canvases Moving with DuckDB on the Server [2] count.io, сервис онлайн BI внедрили DuckDB для выполнения серверных запросов. Результаты в немедленном сокращении стоимости их выполнения.
- Polars Cloud; the distributed Cloud Architecture to run Polars anywhere [3] команда Polars запустила облачный сервис со своим продуктом, пока в режиме раннего доступа. Обещают масштабирование датафреймов и тд. Главное чтобы их открытый продукт при этом не пострадал или не оказался под какой-нибудь не совсем открытой лицензией.
- What Is a Flat File? [4] обзор текстовых форматов распространения файлов, поверхностный, но полезный для начинающих.
- Mistral OCR [5] переводчик PDF файлов в файлы Markdown от команды создателей Mistral AI. Говорят сами про себя что они лучшие в этом деле, но проверить пока не проверял.
- Aider is AI pair programming in your terminal [6] инструмент для подключения ИИ к написанию кода, умеет подключаться ко множеству моделей включая локальные. В том числе примеры по работе с данными [7]
Ссылки:
[1] https://www.youtube.com/watch?v=X_RFo616M_U
[2] https://count.co/blog/announcing-duckdb-on-the-server
[3] https://pola.rs/posts/polars-cloud-what-we-are-building/
[4] https://evidence.dev/blog/what-is-a-flat-file
[5] https://mistral.ai/news/mistral-ocr
[6] https://aider.chat/
[7] https://aider.chat/examples/census.html
#opensource #ai #data #datatools #rdbms
- Graph Databases after 15 Years – Where Are They Headed? [1] автор рассказывает об эволюции графовых баз данных и главный вывод что они стали очень нишевыми и в упадке, кроме очень узких применений.
- Keep Canvases Moving with DuckDB on the Server [2] count.io, сервис онлайн BI внедрили DuckDB для выполнения серверных запросов. Результаты в немедленном сокращении стоимости их выполнения.
- Polars Cloud; the distributed Cloud Architecture to run Polars anywhere [3] команда Polars запустила облачный сервис со своим продуктом, пока в режиме раннего доступа. Обещают масштабирование датафреймов и тд. Главное чтобы их открытый продукт при этом не пострадал или не оказался под какой-нибудь не совсем открытой лицензией.
- What Is a Flat File? [4] обзор текстовых форматов распространения файлов, поверхностный, но полезный для начинающих.
- Mistral OCR [5] переводчик PDF файлов в файлы Markdown от команды создателей Mistral AI. Говорят сами про себя что они лучшие в этом деле, но проверить пока не проверял.
- Aider is AI pair programming in your terminal [6] инструмент для подключения ИИ к написанию кода, умеет подключаться ко множеству моделей включая локальные. В том числе примеры по работе с данными [7]
Ссылки:
[1] https://www.youtube.com/watch?v=X_RFo616M_U
[2] https://count.co/blog/announcing-duckdb-on-the-server
[3] https://pola.rs/posts/polars-cloud-what-we-are-building/
[4] https://evidence.dev/blog/what-is-a-flat-file
[5] https://mistral.ai/news/mistral-ocr
[6] https://aider.chat/
[7] https://aider.chat/examples/census.html
#opensource #ai #data #datatools #rdbms
YouTube
Graph Databases after 15 Years – Where Are They Headed?
Speaker: Gábor Szárnyas (LDBC)
Event: Data Analytics developer room at FOSDEM 2025
Talk page: https://fosdem.org/2025/schedule/track/analytics/
Slides: https://szarnyasg.org/talks/fosdem-2025-graph-databases-szarnyasg.pdf
Event: Data Analytics developer room at FOSDEM 2025
Talk page: https://fosdem.org/2025/schedule/track/analytics/
Slides: https://szarnyasg.org/talks/fosdem-2025-graph-databases-szarnyasg.pdf
DuckDB выпустили UI интерфейс к базе данных [1] с открытым кодом (встроено в клиентское приложение DuckDB начиная с версии 1.2.11).
Запустить его можно командой duckdb -ui в командной строке и работать словно с тетрадками Jupyter Notebook или инструментами вроде OpenRefine.
Для тех кто сталкивается с задачами вроде Exploratory data analysis (EDA), когда вручную анализируешь данные, инструмент будет бесценен.
Сам UI сделан через расширение DuckDB компанией MotherDuck и поэтому включает авторизацию в их облачный сервис, что, впрочем, не мешает использовать его только локально.
Исходный код на C++ и JS доступен под лицензией MIT [2], при желании можно форкнуть и создать интерфейс с собственными плюшками, командной работе, авторизацией через другие сервисы и тд. А можно доработать его и сделать полноценную замену OpenRefine, к примеру.
Полезная штука по всем параметрам.
Ссылки:
[1] https://duckdb.org/2025/03/12/duckdb-ui
[2] https://github.com/duckdb/duckdb-ui
#opensource #duckdb #ui #data #datatools
Запустить его можно командой duckdb -ui в командной строке и работать словно с тетрадками Jupyter Notebook или инструментами вроде OpenRefine.
Для тех кто сталкивается с задачами вроде Exploratory data analysis (EDA), когда вручную анализируешь данные, инструмент будет бесценен.
Сам UI сделан через расширение DuckDB компанией MotherDuck и поэтому включает авторизацию в их облачный сервис, что, впрочем, не мешает использовать его только локально.
Исходный код на C++ и JS доступен под лицензией MIT [2], при желании можно форкнуть и создать интерфейс с собственными плюшками, командной работе, авторизацией через другие сервисы и тд. А можно доработать его и сделать полноценную замену OpenRefine, к примеру.
Полезная штука по всем параметрам.
Ссылки:
[1] https://duckdb.org/2025/03/12/duckdb-ui
[2] https://github.com/duckdb/duckdb-ui
#opensource #duckdb #ui #data #datatools
SQLRooms [1] свежий инструмент с открытым кодом в жанре "BI для небогатых". Под капотом DuckDB-WASM, снаружи приложение на React. Позволяет строить разные интерактивные дашборды, с графиками и без, с AI и без. Самое главное что небольшими усилиями. Не no-code, но ближе к low-code.
У них симпатичный пример аналитики через LLM [2] и много других примеров. В живых примерах также интересно посмотреть на Flowmap City [3] и Cosmograph [4].
Для участников хакатонов будет особенно полезно, можно быстро сделать красивую визуализацию.
Открытый код и лицензия MIT.
Ссылки:
[1] https://sqlrooms.org
[2] https://sqlrooms-ai.netlify.app/
[3] https://www.flowmap.city/
[4] https://cosmograph.app/
#opensource #duckdb #data #dataviz #datatools
У них симпатичный пример аналитики через LLM [2] и много других примеров. В живых примерах также интересно посмотреть на Flowmap City [3] и Cosmograph [4].
Для участников хакатонов будет особенно полезно, можно быстро сделать красивую визуализацию.
Открытый код и лицензия MIT.
Ссылки:
[1] https://sqlrooms.org
[2] https://sqlrooms-ai.netlify.app/
[3] https://www.flowmap.city/
[4] https://cosmograph.app/
#opensource #duckdb #data #dataviz #datatools