В продолжение инструментов работы с данными, я на днях обновил утилиту undatum которую создавал для разных манипуляций с данными в командной строке. Главная была особенность в том что она кроме CSV файлов поддерживает всяческие структурированные не плоские форматы данных вроде JSONL, BSON, Parquet и тд.
А также умеет автодокументировать датасеты.
Собственно свежее изменение в том что теперь автодокументирование расширилось поддержкой любых LLM'ом через Ollama, LM Studio, Perplexity, OpenAI и OpenRouter и в поддержке множества языков, можно получать описание буквально на любом языке поддерживаемом выбранной LLM.
Автодокументирование работает не быстро, но зависит только от скорости работы LLM, а не от размера набора данных. Оно полезно для многих задач, у меня лично много задач с тем чтобы приводить описания наборов данных в порядок и один из способов для этого в использовании вот этого инструмента
У меня в отложенных задачах есть интеграция его с утилитой metacrafter, но это уже как-то позже.
#opensource #datatools #ai
А также умеет автодокументировать датасеты.
Собственно свежее изменение в том что теперь автодокументирование расширилось поддержкой любых LLM'ом через Ollama, LM Studio, Perplexity, OpenAI и OpenRouter и в поддержке множества языков, можно получать описание буквально на любом языке поддерживаемом выбранной LLM.
Автодокументирование работает не быстро, но зависит только от скорости работы LLM, а не от размера набора данных. Оно полезно для многих задач, у меня лично много задач с тем чтобы приводить описания наборов данных в порядок и один из способов для этого в использовании вот этого инструмента
У меня в отложенных задачах есть интеграция его с утилитой metacrafter, но это уже как-то позже.
#opensource #datatools #ai
1🔥7
Google обновили Magika инструмент для идентификации типов файлов в зависимости от содержимого. Пишут что теперь он поддерживает более 200 форматов файлов (ранее было 100), полностью переписан на Rust и работает существенно быстрее. Можно обратить внимание что многие из упомянутых новыз форматов файлов это файлы с данными npz, pytorch, parquet, h5 и файлы кода zig, dart, kotlin и тд. Фактически Magika это альтернатива идентификации типа файла по расширению и альтернатива magic (утилита идентификации файлов в Unix-подобных операционных системах) и утилитам Siegfried и DROID используемых цифровыми архивистами.
Выглядит полезно, надо пробовать. Прошлая версия, как я помню, давала какое-то количество ложнопозитивных результатов, возможно в этом направлении тоже есть прогресс.
Как минимум области применения тут в задачах цифровой архивации, работы с разного рода унаследованными материалами, в цифровой форенсике и еще много в чем.
Что характерно Magika занимается команда Security research в Google, а то есть можно предполагать что основное применение это, все же, цифровая форенсика.
Из интересного, разработчики пишут что чтобы обучить Magika они использовали 3-х террабайтный несжатый датасет.
В целом видно что над проектом работает группа ИИ инженеров, но не методистов и это сопутствующий продукт их работы потому что иначе они бы начали с реестра типов mime и расширений в который собрали бы метаданные из PRONOM и пары других крупных реестров форматов файлов.
#opensource #google #datatools #forensics
Выглядит полезно, надо пробовать. Прошлая версия, как я помню, давала какое-то количество ложнопозитивных результатов, возможно в этом направлении тоже есть прогресс.
Как минимум области применения тут в задачах цифровой архивации, работы с разного рода унаследованными материалами, в цифровой форенсике и еще много в чем.
Что характерно Magika занимается команда Security research в Google, а то есть можно предполагать что основное применение это, все же, цифровая форенсика.
Из интересного, разработчики пишут что чтобы обучить Magika они использовали 3-х террабайтный несжатый датасет.
В целом видно что над проектом работает группа ИИ инженеров, но не методистов и это сопутствующий продукт их работы потому что иначе они бы начали с реестра типов mime и расширений в который собрали бы метаданные из PRONOM и пары других крупных реестров форматов файлов.
#opensource #google #datatools #forensics
1❤8🔥6
Для тех кто задумывается об архивации личных и не самых личных файлов утилита ydiskarc для архивации парок и файлов размещённых на Яндекс.Диск. Я создал её довольно давно и недавно актуализировал до удобного вида. Она использует открытое API Яндекс.Диск для получения метаданных о файлах и выгрузки их локально без использования ПО Яндекса или получения ключа доступа. Можно использовать на собственных папках или на каких-либо общедоступных, не требующих авторизации.
Поддерживает две команды:
- full - делает дамп всего содержимого в виде ZIP файла
- sync - сохраняет файлы с сохранением структуры папок
В процессе работы сохраняет все полученные метаданные в файлах _metadata.json в папках.
Может применяться, например, при архивации российских сайтов где какие-то материалы опубликованы на Яндекс.Диск и не поддаются индексированию классическими инструментами такими как веб-краулеры.
Ошибки, предложения и идеи можно оставлять в issues к репозиторию.
#opensource #tools #digitalpreservation
Поддерживает две команды:
- full - делает дамп всего содержимого в виде ZIP файла
- sync - сохраняет файлы с сохранением структуры папок
В процессе работы сохраняет все полученные метаданные в файлах _metadata.json в папках.
Может применяться, например, при архивации российских сайтов где какие-то материалы опубликованы на Яндекс.Диск и не поддаются индексированию классическими инструментами такими как веб-краулеры.
Ошибки, предложения и идеи можно оставлять в issues к репозиторию.
#opensource #tools #digitalpreservation
👍16✍3❤1⚡1
Когда-то довольно давно размышляя об архивации материалов с сайтов у меня был тезис что архивация зависит от CMS сайта, к разным CMS и соответственно сайтам на их основе должны быть разные подходы, как минимум отличающиеся списки неиндексируемых веб-страниц и как максимум разные стратегии индексирования зависящие от приоритета контента:
Первый приоритет: веб-страницы и документы
Второй приоритет: изображения
Третий приоритет: видео и архивы, иной "тяжелый контент"
В архивационных инструментах вроде wpull это реализовывалось через списки игнорирования по регулярным выражениям. Способ действенный чтобы не собирать мусор, но не идеальный. Вебархивы пытаются воспроизвести веб интерфейс, не всегда отдавая приоритет контенту.
Для проверки гипотезы я подумывал сделать/заказать фрилансерам/организовать конкурс или хакатон с такими инструментами под разные CMS. Продвинулся тогда только с анализом типовых API каталогов данных что потом превратилось в Dateno где идет именно индексация датасетов через API.
Но несколько инструментов я все таки сделал и один из них wparc умеет архивировать содержимое сайтов на Wordpress. Дело в том что у сайтов на базе Wordpress по умолчанию есть REST API через интерфейс /wp-json через который можно получить контент страниц, постов, таксономий, файлов и иных материалов. Интерфейс этот держат открытым не на всех сайтах, но на очень многих.
Многие российские госсайты тоже использовали и используют Wordpress и этот инструмент я использовал во время нескольких архивационных кампаний для сохранения контента и файлов. Кроме того он косвенно является инструментом форенсики потому что часто на сайт загружают файлы которые через API доступны, а на веб-страницах уже нет (ссылки удаляют, файлы остаются), кроме того есть точки подключения API через которые отдают чувствительный контент.
Не буду показывать пальцем на организацию которая через такое API отдает всю инфу о подписчиках их рассылки.
Поэтому инструмент многосторонне полезный, но именно для цифровой архивации как приоритетное использование.
Мысли у меня когда-то были сделать что-то более универсальное и уметь архивировать сайты на Bitrix, Drupal и других популярных CMS'ках, но это было довольно давно и цифровая архивация для меня хобби (работа - это Dateno) и все наработки пошли на сбор данных для Dateno.
Тем не менее wparc весьма полезен а я для разгрузки головы в последнее время беру разный legacy код и привожу его в порядок и wparc также привел добавив туда опции анализа точек подключения к API.
Открытый код доступен, инструмент рабочий, пригодится еще не раз.
#opensource #digitalpreservation
Первый приоритет: веб-страницы и документы
Второй приоритет: изображения
Третий приоритет: видео и архивы, иной "тяжелый контент"
В архивационных инструментах вроде wpull это реализовывалось через списки игнорирования по регулярным выражениям. Способ действенный чтобы не собирать мусор, но не идеальный. Вебархивы пытаются воспроизвести веб интерфейс, не всегда отдавая приоритет контенту.
Для проверки гипотезы я подумывал сделать/заказать фрилансерам/организовать конкурс или хакатон с такими инструментами под разные CMS. Продвинулся тогда только с анализом типовых API каталогов данных что потом превратилось в Dateno где идет именно индексация датасетов через API.
Но несколько инструментов я все таки сделал и один из них wparc умеет архивировать содержимое сайтов на Wordpress. Дело в том что у сайтов на базе Wordpress по умолчанию есть REST API через интерфейс /wp-json через который можно получить контент страниц, постов, таксономий, файлов и иных материалов. Интерфейс этот держат открытым не на всех сайтах, но на очень многих.
Многие российские госсайты тоже использовали и используют Wordpress и этот инструмент я использовал во время нескольких архивационных кампаний для сохранения контента и файлов. Кроме того он косвенно является инструментом форенсики потому что часто на сайт загружают файлы которые через API доступны, а на веб-страницах уже нет (ссылки удаляют, файлы остаются), кроме того есть точки подключения API через которые отдают чувствительный контент.
Не буду показывать пальцем на организацию которая через такое API отдает всю инфу о подписчиках их рассылки.
Поэтому инструмент многосторонне полезный, но именно для цифровой архивации как приоритетное использование.
Мысли у меня когда-то были сделать что-то более универсальное и уметь архивировать сайты на Bitrix, Drupal и других популярных CMS'ках, но это было довольно давно и цифровая архивация для меня хобби (работа - это Dateno) и все наработки пошли на сбор данных для Dateno.
Тем не менее wparc весьма полезен а я для разгрузки головы в последнее время беру разный legacy код и привожу его в порядок и wparc также привел добавив туда опции анализа точек подключения к API.
Открытый код доступен, инструмент рабочий, пригодится еще не раз.
#opensource #digitalpreservation
👍9❤3
Я как то уже рассуждал здесь и вслух о том что ИТ профессии часто формируют устойчивые когнитивные искажения, например, когда все окружающее воспринимается как таблицы или как данные, лично я считаю что в этом нет ничего зазорного и сам иногда впадаю в состояние автоматического построения структур данных в голове и доведение их до 3NF.
Но то что кто-то может назвать когнитивным искажением, можно назвать и способом взгляда на те или иные явления. И вот один из таких способов восприятия реальности - это смотреть на все как на список. Список дел, список строк в файле, список записей в БД и так далее. А если по списку можно проходить и что-то делать с тем что в нем находится то он является перебираемым или на английском языке iterable.
Собственно под восприятия мира данных того что большая часть структур данных, форматов дата файлов и тд - это перебираемые списки я когда-то создал, а недавно обновил библиотеку iterabledata для Python.
Изначально она создавалась для того чтобы реализовать для JSON/JSON lines файлов логику перебора содержимого по принципу csv.DictReader, стандартной библиотеки в Python в которой перебираемые объекты возвращаются как словари. Заодно добавив к этому что чаще всего эти файлы с данными сжаты чем-то Gzip, LZMA, Zstandard и тд.
А в этот раз я обновил эту библиотеку для большей универсальности и поддержки десятков новых форматов данных DBF, JSON-LD, KML, GML, CSVW, Annotated CSV, MessagePack и еще много, полный список.
Включая некоторые экзотические форматы такие как WARC для веб-архивации, которые тоже можно рассматривать как объекты со списками для перебора.
А в качестве наглядного примера, преобразование дампа Википедии из сжатого XML в Parquet.
Особенность Iterable Data именно в универсальности инструмента, но не в скорости обработки данных. Для супербыстрой обработки, например, CSV файлов есть и другие инструменты, но CSV лишь один из десятков встречающихся форматов данных.
Так что инструмент полезный и обновлялся мной сейчас в контенте задач в Dateno, в открытые репозитории которого я и перенес его из личных пэт проектов.
#opensource #dateno #datatools #dataengineering
Но то что кто-то может назвать когнитивным искажением, можно назвать и способом взгляда на те или иные явления. И вот один из таких способов восприятия реальности - это смотреть на все как на список. Список дел, список строк в файле, список записей в БД и так далее. А если по списку можно проходить и что-то делать с тем что в нем находится то он является перебираемым или на английском языке iterable.
Собственно под восприятия мира данных того что большая часть структур данных, форматов дата файлов и тд - это перебираемые списки я когда-то создал, а недавно обновил библиотеку iterabledata для Python.
Изначально она создавалась для того чтобы реализовать для JSON/JSON lines файлов логику перебора содержимого по принципу csv.DictReader, стандартной библиотеки в Python в которой перебираемые объекты возвращаются как словари. Заодно добавив к этому что чаще всего эти файлы с данными сжаты чем-то Gzip, LZMA, Zstandard и тд.
А в этот раз я обновил эту библиотеку для большей универсальности и поддержки десятков новых форматов данных DBF, JSON-LD, KML, GML, CSVW, Annotated CSV, MessagePack и еще много, полный список.
Включая некоторые экзотические форматы такие как WARC для веб-архивации, которые тоже можно рассматривать как объекты со списками для перебора.
А в качестве наглядного примера, преобразование дампа Википедии из сжатого XML в Parquet.
Особенность Iterable Data именно в универсальности инструмента, но не в скорости обработки данных. Для супербыстрой обработки, например, CSV файлов есть и другие инструменты, но CSV лишь один из десятков встречающихся форматов данных.
Так что инструмент полезный и обновлялся мной сейчас в контенте задач в Dateno, в открытые репозитории которого я и перенес его из личных пэт проектов.
#opensource #dateno #datatools #dataengineering
👍10✍4❤🔥1❤1👌1🗿1
Полезное чтение про данные, технологии и не только
AI
- Introduction to AI Agents хорошо написанный четко изложенный документ от Google. Полезно для быстрого погружения в тему
- State of Agent Engineering обзор от LangChain состояния разработки ИИ агентов через опрос 1300 специалистов
- 2025 LLM Year in Review обзор 2025 года с точки зрения LLM, с погружением в технологии, от Андрея Карпатого
- AI Scraping and the Open Web о том что владельцы контента перешли к юридической защите от ИИ скрейперов после того как технические меры перестали работать
Облачная инфраструктура
- Let’s talk about GitHub Actions в блоге Github о том как они переделали Github Actions. Важное для всех что Github Actions использует. Важное тем что для многие GA стали заменой собственных ETL/ELT инструментов и многие конвееры работы с данными и другими действиями живут на Github.
Инструменты
- headson инструмент для выполнения команд типа head/tail для JSON и YAML файлов. Бывает полезно, но как-то узковато, больший универсализм был бы полезнее
- AGENTS.md спецификация для управления кодирующими ИИ агентами через специальный Markdown файл
- chandra модель для OCR с обещанием поддержки сложных структур и таблиц. Надо пробовать, правда ли так работает.
- Mistral OCR 3 свежая ИИ модель от Mistral для OCR, тоже обещают работу со сложными таблицами
Разное
- On the Immortality of Microsoft Word о бессмертии MS Word и почему Markdown не может заменить его, например, в работе юристов с документами
#opensource #ai #readings
AI
- Introduction to AI Agents хорошо написанный четко изложенный документ от Google. Полезно для быстрого погружения в тему
- State of Agent Engineering обзор от LangChain состояния разработки ИИ агентов через опрос 1300 специалистов
- 2025 LLM Year in Review обзор 2025 года с точки зрения LLM, с погружением в технологии, от Андрея Карпатого
- AI Scraping and the Open Web о том что владельцы контента перешли к юридической защите от ИИ скрейперов после того как технические меры перестали работать
Облачная инфраструктура
- Let’s talk about GitHub Actions в блоге Github о том как они переделали Github Actions. Важное для всех что Github Actions использует. Важное тем что для многие GA стали заменой собственных ETL/ELT инструментов и многие конвееры работы с данными и другими действиями живут на Github.
Инструменты
- headson инструмент для выполнения команд типа head/tail для JSON и YAML файлов. Бывает полезно, но как-то узковато, больший универсализм был бы полезнее
- AGENTS.md спецификация для управления кодирующими ИИ агентами через специальный Markdown файл
- chandra модель для OCR с обещанием поддержки сложных структур и таблиц. Надо пробовать, правда ли так работает.
- Mistral OCR 3 свежая ИИ модель от Mistral для OCR, тоже обещают работу со сложными таблицами
Разное
- On the Immortality of Microsoft Word о бессмертии MS Word и почему Markdown не может заменить его, например, в работе юристов с документами
#opensource #ai #readings
Langchain
State of AI Agents
LangChain provides the engineering platform and open source frameworks developers use to build, test, and deploy reliable AI agents.
👍9🔥4❤1
Суверенное импортозамещение по французски La Suite numerique (Цифровой комплект) в виде набора приложений с открытым кодом включающий:
- Tchap - мессенжер
- France Transfer - сервис передачи больших файлов
- Docs - совместная работа над документами
- Grist - управление проектами
- Visio - видеоконференции
- Messagerie - электронная почта
- Fichiers - управление общими файлами.
Все это в варианте, либо локального развертывания, либо на федеральном портале ProConnect
Комплект разрабатывается для госорганов и госучреждений Франции, но предоставляется всем желающим.
#opensource #france #government
- Tchap - мессенжер
- France Transfer - сервис передачи больших файлов
- Docs - совместная работа над документами
- Grist - управление проектами
- Visio - видеоконференции
- Messagerie - электронная почта
- Fichiers - управление общими файлами.
Все это в варианте, либо локального развертывания, либо на федеральном портале ProConnect
Комплект разрабатывается для госорганов и госучреждений Франции, но предоставляется всем желающим.
#opensource #france #government
🔥7👍6✍4
В рубрике интересных продуктов с открытым кодом MapLibre набор библиотек и спецификаций для создания настраиваемых онлайн карт с активным использованием GPU для оптимизации обработки и отображения изображений.
Делается довольно большой командой и большим числом контрибьюторов, это один из эффективных открытых проектов по сбору денег со спонсоров -по итогам 1-го квартала 2025 года их баланс составлял $653 тысячи, что для не самого крупного проекта довольно неплохо.
В частности в ноябре они выпустили первую версию сервера Martin для создания векторных плиток на лету из баз PostGIS и многое другое. Жаль они у них в планах нет выпуска каталога геоданных потому что Geonetwork и Geonode развиваются медленно.
#opensource #geodata #geospatial
Делается довольно большой командой и большим числом контрибьюторов, это один из эффективных открытых проектов по сбору денег со спонсоров -по итогам 1-го квартала 2025 года их баланс составлял $653 тысячи, что для не самого крупного проекта довольно неплохо.
В частности в ноябре они выпустили первую версию сервера Martin для создания векторных плиток на лету из баз PostGIS и многое другое. Жаль они у них в планах нет выпуска каталога геоданных потому что Geonetwork и Geonode развиваются медленно.
#opensource #geodata #geospatial
👍7
Mattermost изначально продукт с открытым кодом активно использовавшийся по всему миру как альтернатива Slack которую можно было бы установить локально для своей команды перешли в режим open core и начиная с 11 версии ввели ограничение в максимум 10 000 сообщений, а все что до определенной даты уходят в архив без воможности просмотра. Пользователи у которых это произошло после обновления справедливо негодуют.
Лично я бы сказал что после такого шага пользоваться Mattermost'ом уже нельзя, потому что монетизация - это нормально, а вот монетизация через подобное принуждение и острый дискомфорт пользователей это очень плохой трек.
Как и всегда проблема в дефиците качественных альтернатив.
#opensource #opencore
Лично я бы сказал что после такого шага пользоваться Mattermost'ом уже нельзя, потому что монетизация - это нормально, а вот монетизация через подобное принуждение и острый дискомфорт пользователей это очень плохой трек.
Как и всегда проблема в дефиците качественных альтернатив.
#opensource #opencore
💯5✍4😢4😱3🌚1
По итогам могу сказать что если Google сменит ценовую политику для корпоративного применения Antigravity (сейчас она 183.6 евро за месяц) или если его конкуренты прокачают свои решения для ещё большей эффективности, то работу над кодом это ускорят не а 2-3 раза, а в 10-30 раз.
Разработка любого внутреннего инструмента или конечного приложения теперь должна быть устроена иначе. На начальной стадии обязательно нужно писать текст видения результата который должен включать:
1. Описание того что создается
2. Описание результатов включая критерии качества:
- измеряемые индикаторы качества (в данном случае FAR/FRR)
- сравнение результатов с существующими аналогами если они есть
3. Гипотезы
4. Правила управления зависимостями
5. Правила организации кода, репозитория и автоматического покрытия тестами и документирования
Частично это вписывается в логику руководства ИИ агента в AGENTS.md или GEMINI.md, но лишь частично, скорее всего всё это необходимо оформлять во внутренние руководства по организации разработки с использованием ИИ агентов.
#opensource #ai #aiagents #coding #thoughts #devnotes
Разработка любого внутреннего инструмента или конечного приложения теперь должна быть устроена иначе. На начальной стадии обязательно нужно писать текст видения результата который должен включать:
1. Описание того что создается
2. Описание результатов включая критерии качества:
- измеряемые индикаторы качества (в данном случае FAR/FRR)
- сравнение результатов с существующими аналогами если они есть
3. Гипотезы
4. Правила управления зависимостями
5. Правила организации кода, репозитория и автоматического покрытия тестами и документирования
Частично это вписывается в логику руководства ИИ агента в AGENTS.md или GEMINI.md, но лишь частично, скорее всего всё это необходимо оформлять во внутренние руководства по организации разработки с использованием ИИ агентов.
#opensource #ai #aiagents #coding #thoughts #devnotes
👍11🔥6❤🔥2✍2