Инфокультура
919 subscribers
240 photos
4 videos
4 files
804 links
Новости Информационной культуры. https://infoculture.ru
Download Telegram
Forwarded from Ivan Begtin (Ivan Begtin)
В рубрике интересных инструментов с открытым кодом для работы с данными:
- sowego [1] утилита и библиотека для Python по линковке больших каталогов данных с Wikidata
- vector [2] ETL от Datadog по созданию труб данных для работы с логами и метриками.
- RecordLinkage [3] библиотека для Python по связыванию похожих структур
- Inception [4] инструмент/платформа для семантического аннотирования текстов
- Dedupe [5] ещё один инструмент для избавления дубликатов в Python
- Streamlit [6] платформа по быстрому развертыванию дата приложений на Python.
- Bdbag [7] инструмент работы со стандартом научных данных BagIT и большими данными
- schema.data.gouv.fr [8] исходный код французского правительственного репозитория схем [9]․ Все схемы в JSON, с документацией, отслеживанием изменений и тд. Очень редкий для гос-ва системный подход
- NoProto [10] ещё один стандарт сериализации данных, с поддержкой схем, сортировкой и другими фичами. К нему же референсные реализации на JS и Rust
- Confluent Schema Registry [11] реестр схем данных для Kafka, на базе JSON Schema
- Records [12] библиотека для Python для удобной работы с SQL, поддерживает только SQL СУБД.
- Miraql [13] удобный визуализатор API и схем Graphql

Ссылки:
[1] https://github.com/Wikidata/soweego
[2] https://github.com/vectordotdev/vector
[3] https://github.com/J535D165/recordlinkage
[4] https://github.com/inception-project/inception
[5] https://github.com/dedupeio/dedupe
[6] https://github.com/streamlit/streamlit
[7] https://github.com/fair-research/bdbag
[8] https://github.com/etalab/schema.data.gouv.fr
[9] https://schema.data.gouv.fr
[10] https://github.com/only-cliches/NoProto
[11] https://github.com/confluentinc/schema-registry
[12] https://github.com/kennethreitz/records
[13] https://github.com/oslabs-beta/miraql

#datatools #data #opensource
Forwarded from Ivan Begtin (Ivan Begtin)
В качестве регулярных напоминаний, хотя и разработка кода не основное моё занятие, я довольно много публикую открытого кода, более всего для обработки данных. В первую очередь для поддержания собственных навыков в Python и для того чтобы были инструменты для того что сам же делаешь.

Работа с данными
- datacrafter - ETL движок для NoSQL данных с обработкой их с помощью конфигурационных файлов написанных на YAML. Заход на аналог Meltano или Dagster, но для NoSQL. Используется в datacrafter.ru
- apicrafter - автоматизированная оболочка для генерации REST API для доступа к данным в базах MongoDB. Используется в datacrafter.ru
- metacrafter - утилита по автоматической идентификации семантических типов данных. Используется для идентификации персональных данных в наборах данных. Поддерживает базы данных с SQL, файлы JSON, CSV, JSON lines, BSON и MongoDB
- undatum - утилита для командной строки для обработки иерархических данных в JSON lines и BSON. Поддерживает также CSV, но это не основная возможность. Позволяет считать статистику, извлекать частоты значений, уникальные значения, преобразовывать данные
- mongorefine - экспериментальная библиотека для Python по обработке данных в MongoDB как если бы MongoDB была бы колоночной, а не документальной базой. Позволяет проводить операции над коллекциями данных на колоночном уровне: добавлять, удалять, преобразовывать. Функции похожи на функции OpenRefine, известного открытого инструмента для подготовки данных
- mongo2md - утилита и библиотека для Python по автоматическому документированию коллекций для MongoDB
- diffmongo - библиотека для Python по сравнению данных в коллекциях MongoDB

Парсинг и сбор данных
- newsworker - библиотека для Python по автоматическому извлечению текстов новостей из сайтов где нет RSS лент. Работает полностью автоматически, разбирает структуру страницы, идентифицирует картинки, даты, тексты и формирует новостную ленту. Использует библиотеку qddate
- qddate - библиотека для Python для автоматической идентификации дат в любом написании. Умеет распознавать более 300 форматов на многих языках. Используется во многих других репозиториях и проектах.
- russiannames - библиотека для Python по автоматическому парсингу имён на русском языке, идентификации гендера и немножко национальных признаков. Умеет идентифицировать ФИО в форматах "Иван Петров", "Сидоров Иван Петрович", "Иванов В.А.", "Иванова А." и тд. Включает большую базу фамилий, имен и отчеств.
- docx2csv - библиотека для Python и утилита извлечения таблиц из файлов docx. Очень удобна для генерации CSV файлов из разного рода корпоративных и госотчетов. Но только для docx
- lazyscraper - утилита командной строки по быстрому извлечению таблиц и иных данных из веб-страниц с минимальными усилиями кодирования. Фактически только через написание xpath запроса. Изначально хотелось сделать её ещё более умной, но и это оказалось полезным.

Работа с веб-архивами и цифровая архивация
- metawarc - утилита для автоматизации обработки WARC файлов. Изначально создавалась в целях расследований для автоматизации извлечения свойств файлов MS Office и PDF из веб-архивов. Когда ты вначале всё архивируешь, а потом уже из веб архива собираешь метаданные. Я с её помощью проводил исследования использования пиратского ПО в российских госорганах несколько лет назад.
- apibackuper - утилита по автоматизации выгрузки данных из общедоступных API. Используется в Национальном цифровом архиве и в datacrafter.ru для формирования наборов данных
- ydiskarc - утилита для архивации данных по публичным ссылкам на Яндекс диск. Используется в Национальном цифровом архиве для архивации папок с Яндекс Диска
- wparc - утилита по архивации контента сайтов на Wordpress и медиа файлов с этих сайтов посредством встроенного в Wordpress REST API. Используется в Национальном цифровом архиве
- spcrawler - утилита по выгрузке данных из сайтов на базе Sharepoint используя их общедоступное API. Не завершена, но в работе.

#opensource #datatools #data #commandline #python