Про эксперименты с автоматизированным документированием датасетов, вот живой пример документирования связки 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
Ещё одна любопытная СУБД для аналитики GreptimeDB [1] на высоких позициях в метриках JSONBench [2] и похоже что хорошо годится для сохранения логов и как JSON хранилище.
Существует в форме открытого кода, коммерческого продукта и облака. Открытый код под лицензией Apache 2.0
Не удалось найти какой движок внутри, похоже какой-то собственный.
Продукт относительно новый, менее 2-х лет, но с венчурным финансированием в 2022 и 2023 годах.
Даже странно что он не так уж популярен.
Ссылки:
[1] https://greptime.com
[2] https://jsonbench.com
#opensource #rdbms #data #datatools
Существует в форме открытого кода, коммерческого продукта и облака. Открытый код под лицензией Apache 2.0
Не удалось найти какой движок внутри, похоже какой-то собственный.
Продукт относительно новый, менее 2-х лет, но с венчурным финансированием в 2022 и 2023 годах.
Даже странно что он не так уж популярен.
Ссылки:
[1] https://greptime.com
[2] https://jsonbench.com
#opensource #rdbms #data #datatools
Marimo [1] альтернатива Jupyter Notebook по созданию аналитических и научных тетрадок. Среди многих альтернатив отличается наличием открытого кода под лицензией Apache 2.0. Даёт некоторое число фич которых нет у Jupyter, например, встраивание UI элементов, ячейки с SQL, визуализации и ряд других фич.
Конечно, объективно, сравнивать надо не только с Jupyter, но и с Deepnote, Hex, Google Collab, но те врядли будут доступны с исходным кодом.
Ссылки:
[1] https://marimo.io
#opensource #datascience #data #datatools
Конечно, объективно, сравнивать надо не только с Jupyter, но и с Deepnote, Hex, Google Collab, но те врядли будут доступны с исходным кодом.
Ссылки:
[1] https://marimo.io
#opensource #datascience #data #datatools
Для тех кто пользуется или планирует пользоваться DuckDB я закинул в рассылку подборку ограничений и особенностей применения из личного опыта.
На удивление их не так много, но знать их важно. Важно помнить что DuckDB это не только и столько инструмент хранения данных, сколько инструмент обработки данных и запросов к условно любым данным.
#duckdb #rdbms #datatools
На удивление их не так много, но знать их важно. Важно помнить что DuckDB это не только и столько инструмент хранения данных, сколько инструмент обработки данных и запросов к условно любым данным.
#duckdb #rdbms #datatools
Substack
DuckDB на практике. Ограничения о которых важно знать
Я много пишу о DuckDB, особенно у себя в телеграм канале и не просто так, ведь DuckDB - это реально удобный и инструмент значительно упрощающий работу с большими базами данных на десктопах.
Для тех кто работает с CSV файлами, неплохой и даже немного смешной текст A love letter to the CSV format [1] где автор рассуждает и расхваливает преимущества CSV формата для данных и аргументы его неплохи, но... лично мне недостатки не перевешивают. На его 9 пунктов я могу пару десятков пунктов написать о недостатках CSV, но плюсы тоже есть, чего уж тут скрывать. И, правильнее сказать что не один автор, а авторы, создатели утилиты xan, the CSV magician [2] для обработки CSV файлов.
Утилита эта является переписанной и переработой утилиты xsv [3] и позволяет вытворять самое разное с CSV файлами, включая визуализации, параллельную обработку, просмотр с командной строки и ещё многое другое.
Хороший инструмент, у него только один недостаток, он работает только с CSV файлами😂
Для тех кто любит командную строку и CSV формат - незаменимая штука.
Ссылки:
[1] https://github.com/medialab/xan/blob/master/docs/LOVE_LETTER.md
[2] https://github.com/medialab/xan
[3] https://github.com/BurntSushi/xsv
#opensource #data #datatools
Утилита эта является переписанной и переработой утилиты xsv [3] и позволяет вытворять самое разное с CSV файлами, включая визуализации, параллельную обработку, просмотр с командной строки и ещё многое другое.
Хороший инструмент, у него только один недостаток, он работает только с CSV файлами😂
Для тех кто любит командную строку и CSV формат - незаменимая штука.
Ссылки:
[1] https://github.com/medialab/xan/blob/master/docs/LOVE_LETTER.md
[2] https://github.com/medialab/xan
[3] https://github.com/BurntSushi/xsv
#opensource #data #datatools
Полезные ссылки про данные, технологии и не только:
- DuckDB Roadmap [1] команда DuckDB опубликовала дорожную карту. Много любопытного, обещают шифрование базы данных в будущем, поддержку парсинга XML
- FastOpenAPI [2] библиотека для Python для быстрого создания документации и схемы API по стандарту OpenAPI. Поддерживает Flask, Falcon, Starlette, Sanic и Tornado. Полезно для очень быстрого развертывания API с помощью Python.
- CSVConf [3] пройдёт в сентябре 2025 года в Болонье, Италия. Это конференция больше про сообщество чем про индустрию, там про применение данных в исследованиях и гражданском обществе. Ещё есть время подать заявку на выступление [4]
- Streamlining access to tabular datasets stored in Amazon S3 Tables with DuckDB [5] в блоге Amazon о том как настраивать хранилище файлов для прямого доступа к S3 таблицам через DuckDB.
- Unstructuted [6] open source и SaaS сервис для обработки данных через извлечение их из PDF, HTML, Word и других документов. Интересная бизнес модель, открытый код доступен, а через его же библиотеку и утилиту командной строки можно подключить аккаунт их облачного продукта и преобразовывать данные быстрее с его помощью. Такая бизнес модель аллергии не вызывает, похоже на хороший, годный продукт.
Ссылки:
[1] https://duckdb.org/docs/stable/dev/roadmap.html
[2] https://github.com/mr-fatalyst/fastopenapi
[3] https://csvconf.com/
[4] https://docs.google.com/forms/d/e/1FAIpQLSdoCI37INVkMMI3tcRLJ5dr2Lfrd86TqH_NjvhT02xoSUMYmw/viewform
[5] https://aws.amazon.com/ru/blogs/storage/streamlining-access-to-tabular-datasets-stored-in-amazon-s3-tables-with-duckdb/
[6] https://github.com/Unstructured-IO/unstructured
#opensource #data #datatools
- DuckDB Roadmap [1] команда DuckDB опубликовала дорожную карту. Много любопытного, обещают шифрование базы данных в будущем, поддержку парсинга XML
- FastOpenAPI [2] библиотека для Python для быстрого создания документации и схемы API по стандарту OpenAPI. Поддерживает Flask, Falcon, Starlette, Sanic и Tornado. Полезно для очень быстрого развертывания API с помощью Python.
- CSVConf [3] пройдёт в сентябре 2025 года в Болонье, Италия. Это конференция больше про сообщество чем про индустрию, там про применение данных в исследованиях и гражданском обществе. Ещё есть время подать заявку на выступление [4]
- Streamlining access to tabular datasets stored in Amazon S3 Tables with DuckDB [5] в блоге Amazon о том как настраивать хранилище файлов для прямого доступа к S3 таблицам через DuckDB.
- Unstructuted [6] open source и SaaS сервис для обработки данных через извлечение их из PDF, HTML, Word и других документов. Интересная бизнес модель, открытый код доступен, а через его же библиотеку и утилиту командной строки можно подключить аккаунт их облачного продукта и преобразовывать данные быстрее с его помощью. Такая бизнес модель аллергии не вызывает, похоже на хороший, годный продукт.
Ссылки:
[1] https://duckdb.org/docs/stable/dev/roadmap.html
[2] https://github.com/mr-fatalyst/fastopenapi
[3] https://csvconf.com/
[4] https://docs.google.com/forms/d/e/1FAIpQLSdoCI37INVkMMI3tcRLJ5dr2Lfrd86TqH_NjvhT02xoSUMYmw/viewform
[5] https://aws.amazon.com/ru/blogs/storage/streamlining-access-to-tabular-datasets-stored-in-amazon-s3-tables-with-duckdb/
[6] https://github.com/Unstructured-IO/unstructured
#opensource #data #datatools
DuckDB
Development Roadmap
Overview The DuckDB project is governed by the non-profit DuckDB Foundation. The Foundation and DuckDB Labs are not funded by external investors (e.g., venture capital). Instead, the Foundation is funded by contributions from its members, while DuckDB Labs'…
В качестве регулярных напоминаний, за долгое время я написал немало инструментов с открытым кодом для работы с данными. За что члены команды меня регулярно ругают потому что основная моя работа искать клиентов и профессионалов в команду, но слишком я люблю работать руками, поэтому разного рода инструментов создал много и часть поддерживаю.
- newsworker - библиотека для Python по автоматическому извлечению новостей из веб страниц. Анализирует структуру веб страницы, кластеризует блоки, идентифицирует элементы блоков, парсит даты и создаёт RSS ленту на основе. Написал это много лет назад и до сих пор использую, но уже не обновляю
- qddate - библиотека для Python для парсинга дат в условно любом формате, которые могут быть написаны на 8 языках, в разных стилях и тд. Особенность в том что работает она очень быстро, не использует регулярные выражения, а вместо этого внутри используется библиотека pyparsing. Плюс куча оптимизаций по тому как парсить даты максимально быстро. До сих пор использую, но код практически не обновлялся
- undatum - утилита командной строки для обработки данных в форматах CSV, JSON, NDJSON, Parquet, BSON и др. Изначально была цель сделать аналог xsv для NDJSON. В целом получилось и я ей пользуюсь до сих пор, но с недавних пор чаще использую DuckDB из-за значительно большей производительности. Возможно утилиту переделаю однажды.
- apibackuper - утилита командной строки для архивации API. Странно звучит, но да, утилита через API выгружает все данные последовательным перебором и сохраняет их в виде датасета JSON Lines/NDJSON. Активно используется внутри Dateno для сбора метаданных и в Ruarxive для архивации
- metacrafter - утилита и библиотека для идентификации семантических типов данных. Полезна для выявления смысловых полей в датасетах: адресов, названий компаний, кодов типа ИНН, ОГРН, КПП и тд., а также для идентификации персональных данных. Делал я её относительно недавно, умеет она работать и с файлами и с базами данных. Тоже используется в Dateno
- docx2csv - утилита извлечения таблиц из файлов docx. Очень простая и были планы перенести этот код в универсальный дата конвертер.
- pyiterable - библиотека для Python для потокового чтения дата файлов таких как BSON, JSON, NDJSON, Parquet, ORC, XLS, XLSX и XML в том числе сжатых Gzip, Bzip2, ZStandard и другими компрессорами. Используется внутри metacrafter и undatum.
—
По прошествии лет многие инструменты хочется переделать, а многие устаревают, но их написание часто сильно ускоряет работу с теми данными с которыми я работаю постоянно.
#opensource #data #datatools
- newsworker - библиотека для Python по автоматическому извлечению новостей из веб страниц. Анализирует структуру веб страницы, кластеризует блоки, идентифицирует элементы блоков, парсит даты и создаёт RSS ленту на основе. Написал это много лет назад и до сих пор использую, но уже не обновляю
- qddate - библиотека для Python для парсинга дат в условно любом формате, которые могут быть написаны на 8 языках, в разных стилях и тд. Особенность в том что работает она очень быстро, не использует регулярные выражения, а вместо этого внутри используется библиотека pyparsing. Плюс куча оптимизаций по тому как парсить даты максимально быстро. До сих пор использую, но код практически не обновлялся
- undatum - утилита командной строки для обработки данных в форматах CSV, JSON, NDJSON, Parquet, BSON и др. Изначально была цель сделать аналог xsv для NDJSON. В целом получилось и я ей пользуюсь до сих пор, но с недавних пор чаще использую DuckDB из-за значительно большей производительности. Возможно утилиту переделаю однажды.
- apibackuper - утилита командной строки для архивации API. Странно звучит, но да, утилита через API выгружает все данные последовательным перебором и сохраняет их в виде датасета JSON Lines/NDJSON. Активно используется внутри Dateno для сбора метаданных и в Ruarxive для архивации
- metacrafter - утилита и библиотека для идентификации семантических типов данных. Полезна для выявления смысловых полей в датасетах: адресов, названий компаний, кодов типа ИНН, ОГРН, КПП и тд., а также для идентификации персональных данных. Делал я её относительно недавно, умеет она работать и с файлами и с базами данных. Тоже используется в Dateno
- docx2csv - утилита извлечения таблиц из файлов docx. Очень простая и были планы перенести этот код в универсальный дата конвертер.
- pyiterable - библиотека для Python для потокового чтения дата файлов таких как BSON, JSON, NDJSON, Parquet, ORC, XLS, XLSX и XML в том числе сжатых Gzip, Bzip2, ZStandard и другими компрессорами. Используется внутри metacrafter и undatum.
—
По прошествии лет многие инструменты хочется переделать, а многие устаревают, но их написание часто сильно ускоряет работу с теми данными с которыми я работаю постоянно.
#opensource #data #datatools
GitHub
GitHub - ivbeg/newsworker: Advanced news feeds extractor and finder library. Helps to automatically extract news from websites…
Advanced news feeds extractor and finder library. Helps to automatically extract news from websites without RSS/ATOM feeds - ivbeg/newsworker
Какое-то время я рассуждал о том как было бы хорошо если бы был инструмент для очистки и подготовки данных вроде OpenRefine, но более производительным движком внутри. Потому что OpenRefine хорошая штука, но с собственным движком на Java по работе с данными в памяти и всеми вытекающими из этого ограничениями на размеры датасетов. По личному опыту датасет в несколько гигабайт он уже тянет с трудом, на "стандартном настольном железе".
И вот вижу первый такой продукт, Coco Alemana [1] настольное приложение для очистки данных с DuckDB в качестве внутреннего движка. Обещают что работает с файлами до 50ГБ и нативную поддержку Parquet. Чем-то похоже на недавно появившийся DuckDB UI, но с акцентами на чистке и обработке данных.
Из дополнительных плюсов - быстрый поиск по данным и UI к базам данных.
Из минусов:
- работает только на Mac OS X, так что проверить лично смогут пока только маководы
- открытого кода нет, скорее это будет коммерческий продукт в будущем
Ссылки:
[1] https://www.cocoalemana.com
#duckdb #data #datatools #dataquality
И вот вижу первый такой продукт, Coco Alemana [1] настольное приложение для очистки данных с DuckDB в качестве внутреннего движка. Обещают что работает с файлами до 50ГБ и нативную поддержку Parquet. Чем-то похоже на недавно появившийся DuckDB UI, но с акцентами на чистке и обработке данных.
Из дополнительных плюсов - быстрый поиск по данным и UI к базам данных.
Из минусов:
- работает только на Mac OS X, так что проверить лично смогут пока только маководы
- открытого кода нет, скорее это будет коммерческий продукт в будущем
Ссылки:
[1] https://www.cocoalemana.com
#duckdb #data #datatools #dataquality
Я вот всё расхваливаю DuckDB как очень быстрый движок для обработки данных, а он не один такой. Например, ещё есть FireDucks который делает команда из японского NEC и который они активно оптимизируют конкурируя с DuckDB и Polars и в который добавляют поддержку ускорения через GPU.
Плюс разработчики много полезного пишут в своём блоге о том как они работают над оптимизацией обработки запросов [1]
Но есть и существенный минус, его исходный код, похоже, не открыт. Мне не удалось его найти в их репозиториях, там есть только собранные пакеты для Python.
P.S. Картинка отсюда [2].
Ссылки:
[1] https://fireducks-dev.github.io/posts/
[2] https://www.linkedin.com/posts/avi-chawla_pandas-is-getting-outdated-and-an-alternative-activity-7312407582340485120-fH_K?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAA_-HABh4I2pH__YZElkrySwr_MWhdKIVs
#data #datatools #opensource
Плюс разработчики много полезного пишут в своём блоге о том как они работают над оптимизацией обработки запросов [1]
Но есть и существенный минус, его исходный код, похоже, не открыт. Мне не удалось его найти в их репозиториях, там есть только собранные пакеты для Python.
P.S. Картинка отсюда [2].
Ссылки:
[1] https://fireducks-dev.github.io/posts/
[2] https://www.linkedin.com/posts/avi-chawla_pandas-is-getting-outdated-and-an-alternative-activity-7312407582340485120-fH_K?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAA_-HABh4I2pH__YZElkrySwr_MWhdKIVs
#data #datatools #opensource
Сугубо техническое. К вопросу про автодокументирование и применение LLM. Я в качестве теста решил обновить инструмент undatum [1] переделав команду analyze для анализа структуры разных видов дата файлов: csv, jsonl, parquet и xml и добавив поддержку не таких машиночитаемых xls, xlsx и даже таблиц из docx файлов.
Но главное было автоматизировать документирование датасетов. Утилита теперь принимает опцию —autodoc при которой список колонок таблиц передаётся в AI Perplexity и полученные описания используются для генерации описания к полям. Соответственно, можно задавать разные языки и получать детальное описание колонки на нужном языке.
Это, конечно, не всё что нужно для автодокументирования датасетов, но некая существенная часть.
И да, в некоем преобразованном виде оно используется в Dateno [2] и есть ещё много других областей применения.
Пока код в основной ветке undatum и для работы надо также обновить библиотеку pyiterable [3] и пока нет отдельного релиза в виде пакета для Python, но потестировать уже можно.
Для работы надо ввести ключ для API Perplexity в переменную окружения PERPLEXITY_API_KEY и вызвать команду
undatum analyze —autodoc —language <язык> <название дата файла>
Дата файл может быть сжатым, например, somedata.csv.gz или somedata.jsonl.zst
Ссылки:
[1] https://github.com/datacoon/undatum
[2] https://dateno.io
[3] https://github.com/apicrafter/pyiterable
#opensource #datatools #data
Но главное было автоматизировать документирование датасетов. Утилита теперь принимает опцию —autodoc при которой список колонок таблиц передаётся в AI Perplexity и полученные описания используются для генерации описания к полям. Соответственно, можно задавать разные языки и получать детальное описание колонки на нужном языке.
Это, конечно, не всё что нужно для автодокументирования датасетов, но некая существенная часть.
И да, в некоем преобразованном виде оно используется в Dateno [2] и есть ещё много других областей применения.
Пока код в основной ветке undatum и для работы надо также обновить библиотеку pyiterable [3] и пока нет отдельного релиза в виде пакета для Python, но потестировать уже можно.
Для работы надо ввести ключ для API Perplexity в переменную окружения PERPLEXITY_API_KEY и вызвать команду
undatum analyze —autodoc —language <язык> <название дата файла>
Дата файл может быть сжатым, например, somedata.csv.gz или somedata.jsonl.zst
Ссылки:
[1] https://github.com/datacoon/undatum
[2] https://dateno.io
[3] https://github.com/apicrafter/pyiterable
#opensource #datatools #data
Обнаружил ещё один инструмент по проверке данных validator [1], умеет делать кросс табличные проверки данных и использует схему из спецификации Frictionless Data [2]. Пока малоизвестный, но кто знает. Он выглядит неплохо по способу реализации, но есть проблема с самой спецификацией и о ней отдельно.
Я неоднократно писал про Frictionless Data, это спецификация и набор инструментов созданных в Open Knowledge Foundation для описания и публикации наборов данных. Спецификация много лет развивалась, вокруг неё появился пул инструментов, например, свежий Open Data Editor [3] помогающий готовить датасеты для публикации на дата платформах на базе ПО CKAN.
С этой спецификацией есть лишь одна, но серьёзная проблема. Она полноценно охватывает только плоские табличные файлы. Так чтобы работать со схемой данных, использовать их SDK, тот же Open Data Editor и тд. Это даёт ей применение для некоторых видов данных с которыми работают аналитики и куда хуже с задачами дата инженерными.
Существенная часть рабочих данных с которыми я сталкивался - это не табличные данные. К примеру, в плоские таблицы плохо ложатся данные о госконтрактах или юридических лицах или объектах музейных коллекций. Там естественнее применения JSON и, соответственно, построчного NDJSON.
Для таких данных куда лучше подходят пакеты валидации данных вроде Cerberus [4]. Я использовал её в случае с реестром дата каталогов [5] в Dateno и пока не видел решений лучше.
Ссылки:
[1] https://github.com/ezwelty/validator/
[2] https://specs.frictionlessdata.io
[3] https://opendataeditor.okfn.org
[4] https://docs.python-cerberus.org/
[5] https://github.com/commondataio/dataportals-registry/
#opensource #data #datatools #dataquality
Я неоднократно писал про Frictionless Data, это спецификация и набор инструментов созданных в Open Knowledge Foundation для описания и публикации наборов данных. Спецификация много лет развивалась, вокруг неё появился пул инструментов, например, свежий Open Data Editor [3] помогающий готовить датасеты для публикации на дата платформах на базе ПО CKAN.
С этой спецификацией есть лишь одна, но серьёзная проблема. Она полноценно охватывает только плоские табличные файлы. Так чтобы работать со схемой данных, использовать их SDK, тот же Open Data Editor и тд. Это даёт ей применение для некоторых видов данных с которыми работают аналитики и куда хуже с задачами дата инженерными.
Существенная часть рабочих данных с которыми я сталкивался - это не табличные данные. К примеру, в плоские таблицы плохо ложатся данные о госконтрактах или юридических лицах или объектах музейных коллекций. Там естественнее применения JSON и, соответственно, построчного NDJSON.
Для таких данных куда лучше подходят пакеты валидации данных вроде Cerberus [4]. Я использовал её в случае с реестром дата каталогов [5] в Dateno и пока не видел решений лучше.
Ссылки:
[1] https://github.com/ezwelty/validator/
[2] https://specs.frictionlessdata.io
[3] https://opendataeditor.okfn.org
[4] https://docs.python-cerberus.org/
[5] https://github.com/commondataio/dataportals-registry/
#opensource #data #datatools #dataquality
В рубрике как это устроено у них о том как управляют публикацией открытых данных во Франции. Частью французского национального портала открытых данных является schema.data.gouv.fr [1] на котором представлено 73 схемы с описанием структурированных данных. Эти схемы охватывают самые разные области и тематики:
- схема данных о государственных закупках
- схема данных о грантах
- схема данных архивных реестров записей
и ещё много других.
Всего по этим схемам на портале data.gouv.fr опубликовано 3246 наборов данных, чуть более 5% от всего что там размещено.
Особенность портала со схемами в том что все они опубликованы как отдельные репозитории на Github созданными из одного шаблона. А сами схемы представлены, либо по стандарту Frictionless Data - тот самый формат про таблицы о котором я писал и он тут называется TableSchema, либо в формате JSONSchema когда данные не табличные. В общем-то звучит как правильное сочетания применения этих подходов.
А для простоты публикации данных по этим схемам у был создан сервис Validata [2] в котором загружаемые данные можно проверить на соответствие этой схеме.
Ссылки:
[1] https://schema.data.gouv.fr
[2] https://validata.fr/
#opendata #datasets #data #datatools #france
- схема данных о государственных закупках
- схема данных о грантах
- схема данных архивных реестров записей
и ещё много других.
Всего по этим схемам на портале data.gouv.fr опубликовано 3246 наборов данных, чуть более 5% от всего что там размещено.
Особенность портала со схемами в том что все они опубликованы как отдельные репозитории на Github созданными из одного шаблона. А сами схемы представлены, либо по стандарту Frictionless Data - тот самый формат про таблицы о котором я писал и он тут называется TableSchema, либо в формате JSONSchema когда данные не табличные. В общем-то звучит как правильное сочетания применения этих подходов.
А для простоты публикации данных по этим схемам у был создан сервис Validata [2] в котором загружаемые данные можно проверить на соответствие этой схеме.
Ссылки:
[1] https://schema.data.gouv.fr
[2] https://validata.fr/
#opendata #datasets #data #datatools #france