Ivan Begtin
9.02K subscribers
2.56K photos
5 videos
114 files
5.35K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and etc.

CTO&Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Email ivan@begtin.tech

Ads/promotion agent: @k0shk
Download Telegram
В рубрике интересных инструментов работы с данными, datanomy утилита для командной строки для просмотра метаданных и данных внутри Parquet файлов. Простая штука, работает на базе фреймворка Textual для создания утилит командной строки и позволяет смотреть разную информацию включая схему, метаданные, данные и статистику по выбранному parquet файлу.

Инструментов для наглядного отображения Parquet файлов не так много, хотя и прибавляется. Этот выглядит как полезный.

#opensource #datatools #parquet
👍7
AgenticSeek альтернатива Manus умеющая выполнять разные, в том числе довольно сложные задачи требующие запуска приложений и браузера иных агентских операций. Важное отличие - открытый код и локальный (приватный) запуск.

#opensource #ai #privacy #llm #tools #datatools
10🔥1
После экспериментов с простым кодом, я постепенно добрался до тех инструментов которые используются внутри Dateno для сбора данных. Один из них это утилита apibackuper которая помогает вытащить данные публикуемые через API и сохранять их в виде датасета. Фактически это инструмент скрейпинга API через декларативное описание параметров скрейпинга (да, я люблю декларативные описания). У инструмента был ряд недостатков которые я исправлял и думаю что исправил, вот перечень изменений:
- переход от декларативного описания скрейперов с INI (.cfg) файлов на YAML, читать легче, синтаксис приятнее
- валидация YAML описаний через JSON схему
- поддержка ограченичений и таймаутов на число запросов в минуту (Rate Limiting)
- поддержка аутентификации к API
- экспорт данных не только в JSONL, но и в Parquet
- автоопределение формата экспорта данных по расширению файла
- массовое обработка исключений и понятные сообщения об ошибках везде где возможно
- тесты для покрытия большей части кода
- подробная документация
- и всякое по мелочи

Я этот инструмент изначально разрабатывал для для архивации данных публикуемых через API, но сейчас он используется в части кода Dateno для выгрузки метаданных из каталогов данных. Может его даже пора уже перенести из ruarxive в dateno на Github'е, ещё не решил.

На скриншоте то как это выглядит на примере реестра лекарственных средств ЕСКЛП

Для сбора данных достаточно выполнить две команды
- apibackuper run
- apibackuper export current.parquet


Первая выгрузит все данные постранично, вторая сохранит выгруженные данные в parquet файл.

#opensource #datatools #data #dataengineering
42
Продолжая рассказывать про применение ИИ агентов для разработки, после экспериментов на не самом критичном коде я добрался до обновления реестра дата каталогов в Dateno и могу сказать что результаты пока что хорошие.

Вплоть до того что ИИ агент способен сформировать карточку дата каталога просто передав ему ссылку и задав промпт сгенерировать его описание. Это работает, во многом, потому что уже есть больше 10 тысяч созданных карточек и поскольку есть чёткие спецификации схем ПО дата каталогов, самих описаний дата каталогов и тд.

Кроме того хорошо отрабатывают задачи которые:
- находят ошибки в метаданных дата каталогов
- находят и исправляют дубликаты записей
- обогащают карточки каталогов тематиками и тэгами
- исправляют геоклассификацию каталогов
- и многое другое что предполагает массовое исправление и обогащение данных

Лично для меня и Dateno это очень хорошая новость это означает что реестр (dateno.io/registry) можно вести теперь значительно меньшими личными усилиями.

В ближайшее время я сделаю очередное обновление реестра уже по итогам большого числа итераций обновления метаданных и качество реестра существенно вырастет. А оно влияет и на индекс Dateno и на сам продукт реестра дата каталогов.

P.S. Тут я описываю внутренности происходящего в Dateno, которым я занимаюсь как основным проектом и продуктом. А новости проекта всегда можно читать в LinkedIn

#opendata #datacatalogs #ai #dev #datatools
83🔥3🎉2
Ещё про официальную статистику, есть важный тренд о котором я писал пока что мало - это отделение данных от их представления. Официальная статистика чаще всего строится как цельные системы в которых сразу есть и возможность получения данных и их визуальное представление.

А за это время появились десятки стартапов и сервисов которые наглядность обеспечивают значительно лучше официальные статистические сервисы, например, я довольно давно слежу за сервисом PlotSet с их интерактивными графиками. Очень наглядные штуки они генерируют в очень короткие сроки. При этом я не призываю использровать именно их, есть и другие варианты, и многие из них создаются с помощью ИИ агентов.

Ключевое тут в отделении данных от представления. Отдельно данные и API и отдельно интерактивный сервис на них основанный. Для популяризации официальной статистики такое разделение может быть эффективнее любых монолитных централизованных платформ.

Интересно, кстати, есть ли альтернативы PlotSet с открытым кодом?

#dataviz #statistics #datatools
👏3🤝32
Для тех кто анализирует данные и тд. я масштабно обновил инструмент metacrafter https://github.com/apicrafter/metacrafter по идентификации семантических типов данных, включая персональные данные по многим странам и языка.

Что изменилось:
- добавлено много новых правил и обновлены имеющиеся
- сильно оптимизирован код для ускорения мэтчинга правил
- добавлена возможность фильтрации правил по стране (страна указывается в файле правил)
- добавлено множество опций для командной строки

Изменений много, они могут давать ложные срабатывания потому что некоторые правила таковы что много что под них может подпасть, поэтому управление правилами и улучшилось с точки зрения фильтрации по стране.

Собственно сами правила тоже обновились https://github.com/apicrafter/metacrafter-rules

Это не финальные изменения, а подготовка кода к интеграцию в Dateno.

#opensource #datatools #dataengineering
👍31🔥1