Ivan Begtin
8.07K subscribers
1.5K photos
3 videos
99 files
4.25K links
I write about Open Data, Data Engineering, Government, Privacy and Data Preservation and other gov and tech stuff
Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech

Contact @NMBabina for ads proposals
Download Telegram
Элон Маск, по видимому, решил всё же разрушить экосистему Twitter'а и теперь Twitter API только за деньги [1]. Это повлияет на то что от соцсети отключаться очень многие сервисы, продукты и инструменты. Например, ранее Twitter был одной из самых лояльных к архивации социальных сетей и было несколько хороших инструментов по архивации контента. Теперь, похоже, как и Facebook, Instagram и другие в Twitter'е начнут ловить и блокировать разного рода ухищрения работать с их контентом через неофициальные API.

Не знаю из какой парадигмы в новой команде Twitter՛а исходили в этом решении, считали ли они бесплатных пользователей API нахлебниками, или просто то что надо монетизироваться любой ценой. К тому же есть примеры соц сетей вроде Facebook'а которая всегда была закрытой. Но по модели использования Twitter не Facebook и не Instagram. Его реально можно заменить на Mastodon, пусть и с неудобствами.

Ссылки։
[1] https://twitter.com/TwitterDev/status/1621026986784337922

#API #twitter #socialnetworks
В рубрике как это устроено у них, проекты по систематизации доступа к данным и госсервисам для разработчиков в мире. Я несколько раз писал о таких проектах, но не грех и напомнить.

- API.GOUV.FR - каталог API, стандарты и рекомендации Франции
- API.GOVERNMENT.AE - каталог API Объединённых Арабских эмиратов
- API.GOV.UK - каталог государственных API Великобритании
- API.GOV.AU - австралийский государственный стандарт предоставления API и каталог общедоступных API
- DEVELOPER.VIC.GOV.AU - портал для программистов (каталог API) правительства штата Виктория, Австралия
- DEVELOPER.TECH.GOV.SG - портал для разработчиков от Правительства Сингапура, API, документация и тд.

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

#opengov #government #api #opendata
В рубрике интересных наборов данных, сайт День сурка (Groundhog-Day.com) [1] где собрана база из 74 животных предсказателей длинной зимы или ранней весны, включая 43 сурка.

Сделано явно с большой любовью к животным и к данным, потому что у сайта есть открытое API [2] с информацией о всех животных, их местонахождении и предсказаниях.

Ссылки:
[1] https://groundhog-day.com
[2] https://groundhog-day.com/api

#opendata #api
Подборка регулярного чтения про данные, технологии и не только:
- A Eulogy for Dark Sky, a Data Visualization Masterpiece [1] о визуализации данных в погодном приложении The Dark Sky для iOS и там же про наглядные решения контекстуализации данных. Я бы добавил этот термин в словарь "констектуализация данных" - это когда данные у Вас есть, но Вы подаёте их в том виде в каком они наиболее информативны и наглядны именно в том контексте/приложении/среде в которой их смотрят. А это приложение погоды отличный пример

- The Beginner's Guide to Databases [2] для новичков желающих разобраться в базах данных отличное руководство, оно не покрывает очень много чего, но одновременно даёт все нужные вводные для старта работы

- Meet Alpaca: Stanford University’s Instruction-Following Language Model that Matches GPT-3.5 Performance [3] новый интересный продукт как альтернатива GPT-3.5 под названием Альпака, главные отличия в открытости и меньших требованиях к железу. Открытый код главное преимущество [4]

- Finding Undocumented APIs [5] автор пишет про мою любимую тему, обнаружение недокументированных API. Я несколько выступлений и лекций проводил за эти годы про поиск и нахождение недокументированных API и ещё немало трюков могу рассказать о том как API находить, помимо перехвата запросов браузера к серверу. Так вот два самых очевидных способа часто срабатывающих:
* 1) Поискать API поиском Гугла на сайте явным образом вроде "REST API site:roskachestvo.gov.ru" и результат может удивить
* 2) Выяснить на каком программном продукте работает сайт и проверить не сохранилось ли в нём API идущее по умолчанию, у многих продуктов такое есть. Пример: Архив оцифрованных материалов Национальной электронной детской библиотеки РФ arch.rgdb.ru работает на движке DSpace, а у DSpace по умолчанию API доступно по ссылке /rest, проверяем, ага, вот и оно https://arch.rgdb.ru/rest/
Я могу не то что презентацию, а целый курс прочитать только по этой теме. Тем не менее ту статью рекомендую, часто информацию о API приходится выковыривать из сессий браузера.

- Data wrangling essentials: comparisons in JavaScript, Python, SQL, R, and Excel [6] сравнение функций преобразований данных в Excel, Python, R, SQL и Javascript. Полезно для тех кто вынужден пользоваться 2-3 языками/синтаксисами. Python там, правда, это не совсем Python, а конкретно Pandas, но текст от этого ценности не теряет.

Ссылки:
[1] https://nightingaledvs.com/dark-sky-weather-data-viz/
[2] https://technically.substack.com/p/the-beginners-guide-to-databases
[3] https://pub.towardsai.net/meet-alpaca-stanford-universitys-instruction-following-language-model-that-matches-gpt-3-5-490a38114a7e
[4] https://github.com/tatsu-lab/stanford_alpaca
[5] https://inspectelement.org/apis.html
[6] https://observablehq.com/@observablehq/data-wrangling-translations

#opensource #readings #api #data #guides
Про публикацию открытых государственных данных в России иногда, всё же, можно рассказать и что-то хорошее, хотя и нечасто. ФНС России обновило портал ФИАС [1] (Федеральной информационной адресной системы) в которой собраны сведения о более чем 32 миллионах зданий и сооружений и других связанных с ними объектов [2]. Система эта существует достаточно давно и доступ к ней есть через скачивание полных дампов, скачивание дельт изменений, API и СМЭВ. В общем это очень хороший пример того как правильно публиковать данные в открытом доступе если делать это на системной основе.

Я бы сказал что высокие оценки ФНС в части открытости [3] вполне оправданы, это редкое по нынешним временам системное раскрытие нужных бизнесу данных, причём данных референсных, составляющих базовую цифровую инфраструктуру. По сравнению с каким-нибудь Минэкономразвития России ФНС большие молодцы.

Особенно важно что в ведомстве понимают продолжают публиковать данные для массовой выгрузки в виде полных дампов, до 36GB в сжатом виде один дамп. К сравнению власти Санкт-Петербурга "похоронили" свой портал открытых данных ради портала API [4], что власти города конечно не красит.

Возвращаясь к ФИАС, конечно, даже подобная публикация данных неидеальна и её есть куда улучшить, особенно если смотреть не на форму, а на суть данных. А суть в том что это геоданные, без геоидентификаторов. Для того чтобы данные можно было применять в большой аналитической работе необходимо чтобы записи о муниципалитетах, улицах, зданиях и иных объектах содержали их геокоординаты, геоформу, включали Shape файлы, KML, GeoJSON, GML и все остальные геоформаты доступа к таким данным. Иначе говоря были бы интегрированы с данными Росреестра и доступны для выгрузки.

Другая важная сторона публикации данных в раскрытии их под свободными лицензиями. До сих пор на сайте ФИАС нет явно указанных, четких, не имеющих оговорок, условий использования этих данных. А чтобы использовать их в таких проектах как Wikidata или OSM лицензии имеют значение. Публикация данных под Creative Commons Zero выглядит наиболее логично.

Ссылки:
[1] https://fias.nalog.ru
[2] https://fias.nalog.ru/Statistics/
[3] https://t.me/ahminfin/568
[4] https://api.petersburg.ru

#opendata #geodata #russia #api #datasets
Я уже несколько раз писал о том что государства по всему миру продолжают создавать каталоги API, по аналогии с сайтами для разработчиков предлагаемыми в коммерческом секторе. Новые каталоги API в тот же список:
- Каталог административных API Японии http://api-catalog.e-gov.go.jp/ открыт 31 марта 2023 г., 39 API
- Государственные API в Малайзии https://www.mygdx.gov.my/en/landing-page/architecture?theme=first-theme 130 API
- Портал API налоговой службы Австралии https://apiportal.ato.gov.au, 6 API
- Портал госAPI ОАЭ https://api.government.ae 29 API
- Портал API налоговой службы Новой Зеландии https://portal.api.business.govt.nz 30 API
- Каталог API Литвы https://api.gov.lt около 40 API

А также предыдущий список из 6 каталогов API.

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

#openapi #opendata #api #government
В рубрике интересных продуктов по работе с API Metatype [1], платформа для декларативной разработки API, как сами создатели его позиционируют, продукт позволяющий проектировать API не будучи программистом. Внутри всё построено вокруг Typegraph [2], одновременно идеи и одноимённого пакета для Python с помощью которого описывается спецификация API. У продукта своя система типов, своя система управления доступа к ресурсам, интеграция с Prism, Deno и другими инструментами и ещё много чего.

Похоже что он годится как элемент строительного блока для построения собственной API платформы, хотя и удивляет что авторы игнорируют стандарт OpenAPI кроме как использования его спецификации для импорта описаний [3]

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

Ссылки:
[1] https://metatype.dev
[2] https://metatype.dev/docs/concepts/typegraph
[3] https://metatype.dev/docs/guides/importing-openapi-definitions

#opensource #api #datatools
Открытые данные в России о которых многие не знают,

- Открытые данные ГУАП [1] ГУАП - это Санкт-Петербургский государственный университет аэрокосмического приборостроения, а на сайте у них есть раздел с API с информацией о ВУЗе. Есть внятное API, для полной открытости нехватает условий использования.
- Открытые API для сервисов Санкт-Петербурга [2] категорически малоизвестный портал Санкт-Петербурга с их официальными API к городским информационным системам. Развивают они его, почему-то, параллельно порталу открытых данных, а не совместно. Как и во многих других случаях, "забывают" написать про условия использования, но сами данные есть.
- Геопортал СВКНИИ ДВО РАН [3] и другие их ГИС сервисы [4] с картами и слоями карт по Дальнему востоку. Включает доступ к данным через открытое API сервера ArcGIS

Ссылки:
[1] https://api.guap.ru/data/
[2] https://api.petersburg.ru
[3] http://hags.north-east.ru:8080/geoportal/catalog/main/home.page
[4] http://www2.neisri.ru/index.php/ru/%D0%B3%D0%B8%D1%81-%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D1%8B.html

#opendata #datasets #api #russia #geodata
Можно сказать новый/старый жанр в технических инструментах, сделай как лидер рынка, но с открытым кодом и приватностью. Bruno - это клиент с открытым кодом для тестирования и работы с API [1], фактическая замена продукта Postman хорошо известного инструмента в среде создателей API.

Особенность Bruno в том что в нём нет никакой необходимости в облачном аккаунте, нет синхронизации в облаке и есть явный акцент на приватности. Дословно это звучит так
Bruno is offline-only. There are no plans to add cloud-sync to Bruno, ever. We value your data privacy and believe it should stay on your device. Read our long-term vision here.

Авторы подробно рассказывают о своём видении подобных инструментов [2], сравнивают их и описывают свой как единственный полностью оффлайновый.

А тем кто хочет синхронизовать свои спецификации API с другими, они дают возможность делать это через git, на Github или другом сервисе.

Лично я на этот инструмент обратил внимание по двум причинам.

Первая, конечно, в том что инструменты моделирования API будут актуальны ещё долго.

И вторая в том что сама модель оффлайн инструментов с синхронизацией через Git представляется хорошей идеей. Не монетизируемой, но востребованной.


Ссылки:
[1] https://www.usebruno.com
[2] https://github.com/usebruno/bruno/discussions/269

#opensource #api
Росреестр открыл портал пространственных данных [1], впрочем, глядя на портал можно обнаружить что данных то там и нет. Есть сервисы, есть карта, а выгрузить всё каким-либо образом не предусмотрено.

Но, это не совсем так. Простое обследование показывает что внутри портала всё построено на какой-то кастомизированной GIS системе в основе которой лежит open-source продукт Geoserver который и находится довольно быстро [2] с более чем 384 слоями к которым можно подключаться разного рода стандартными картографическими инструментами.

Все точки подключения у Geoserver открыты, кроме точек к сервисам WFS, но, подскажу что ключ для авторизации встроен в JS код сайта, так что авторизация весьма условна. Пытливым умам это не помеха.

Параллельно с этим WMS интерфейсы реализованы в GIS портала в привязке к отдельным слоям, например, [3] [4], а списки номеров слоёв через точку подключения API.

По итогу, открытых данных нет, общедоступные данные есть.

А я не могу в очередной раз не поразится попыткам прятать шило в мешке без особой на то нужды. Что мешало и мешает Росреестру опубликовать все спецификации API?

Ссылки:
[1] https://nspd.rosreestr.gov.ru
[2] https://nspd.rosreestr.gov.ru/geoserver
[3] https://nspd.rosreestr.gov.ru/api/aeggis/v2/6/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
[4] https://nspd.rosreestr.gov.ru/api/aeggis/v2/36049/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
[5] https://nspd.rosreestr.gov.ru/map_api/workset/list/forMap

#opendata #data #geodata #spatial #russia #rosreestr #api
Подборка полезных ссылок про данные, технологии и не только:
- drawdb [1] визуальное проектирование баз данных и SQL генератор на базе draw.io. Открытый код на JS, лицензия MIT. Выглядит очень даже неплохо
- quickwit [2] альтернатива Datadog и подобным сервисам, но с открытым кодом. Реализует поисковую систему для наблюдаемости процессов. Лицензия AGPL или коммерческая, для бизнеса. Выглядит как минимум интересно, очередной пример YAML программирования, огромного числа файлов для настройки.
- paradedb [3] альтернатива Elasticsearch на базе Postgres, обещают что внутри файлы parquet и многократно выше скорость аналитических запросов. Обещают облачный сервис, пока доступен open source продукт. Лицензия AGPL для всех и коммерческая для бизнеса.
- traefik [4] реверсный прокси для HTTP для развертывания микросервисов и API, похож на альтернативу Kong и Tyk. Открытый код под MIT лицензией

Ссылки:
[1] https://github.com/drawdb-io/drawdb
[2] https://github.com/quickwit-oss/quickwit
[3] https://github.com/paradedb/paradedb
[4] https://github.com/traefik/traefik

#opensource #data #datatools #api #dataviz
В рубрике *как это устроено в России* о том что должно было бы быть открытыми данными, но ими не является. У почти всех российских регионов есть инвестиционные карты. Это, либо отдельные геопорталы, либо разделы на инвестиционных порталах которые точно есть у всех. Например, инвестиционная карта Курганской области [1] или инвестиционная карта Волгоградской области [2]. Можно убедиться что на них есть слои карт и их от десятков до полутора сотен. Другие подобные инвестиционные карты легко находятся по ссылкам с портала инвестпроектов Минэка РФ [3].

Что можно о них сказать? Они все содержат то или иное недокументированное API. Там всего несколько вендоров геоинформационных систем и у них всё довольно стандартизировано. При очень небольших усилиях то же Минэкономразвития могло бы добавить на нацпортал открытых данных более 1000 датасетов и/или стандартизированных API по стандарту WFS. Очень небольшие расходы на всё это нужно, я бы даже сказал мизерные, а вероятность что эти данные были бы небесполезны, конечно, есть.

Но в России нет уже давно нацпортала открытых данных, деятельность в этой области на федеральном уровне, если не свернута, то подзабили на неё изрядно, особенно в Минэкономразвития.

Кстати, к примеру в Казахстане национальный геопортал [4] сделан довольно прилично и там публикуют открытые данные. Не со всех региональных геопорталов они их агрегируют, но и 571 слой карт - это неплохо.

Возвращаясь к ситуации в РФ. Мне бы вот, например, хотелось агрегировать данные с российских геопорталов в Dateno и даже недокументированность их API решается. У типовых систем, типовые API. Но тут уже другое ограничение, российские госсайты в большинстве своём недоступны с зарубежных IP адресов. Краулер работающий не изнутри страны не сможет достучасться до большого числа сайтов. Это, конечно, тоже решается, но требует больше времени и усилий.

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

Ссылки:
[1] https://invest45.ru/investmap
[2] https://investmap.volgograd.ru
[3] https://invest.economy.gov.ru
[4] https://map.gov.kz

#opendata #data #geodata #russia #api
Нашёл презентацию Paul Bradshaw о недокументированных API веб-сайтов и как их искать [1]. Рецепты у него довольно простые:
- используйте Chrome Developers Tools и аналог в Firefox
- изучайте структуру ссылок и XHR типы запросов
- учитесь декодировать параметры

Ну и примеры недокументированных API тоже. Презентация должна быть доходчивой для журналистов, для которых собственно он и пишет как автор The Online Journalism Handbook.

У меня на эту же тему было несколько презентаций в контексте проблем с архивацией сайтов и в контексте поиска недокументированных API.

Так вот ключевой инструмент в работе с ними - это поисковые системы, возможность найти точки подключения проиндексированные ими.

Второй значимый инструмент - это "типовые", но недокументированные API многих программных продуктов. В первую очередь типовые API CMS.

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

Но, опять же, это всё полезно, в первую очередь журналистам, OSINT'щикам и хакерам. Для других задач нужно куда реже.

Ссылки:
[1] https://github.com/paulbradshaw/undocumentedapis/blob/main/Undocumented%20APIs.pdf

#api #readings #datajournalism
Подборка ссылок на продукты публикации датасетов для API и аналитики:

С открытым кодом:
- SQLite Studio [1] быстро первращает базы SQLite в веб интерфейс. Можно смотреть структуру таблиц и делать запросы. А также есть демо [2]. По ощущениям очень простой и удобный для этой небольшой задачи.
- Datasette [3] хорошо известный в узких кругах продукт, очень быстро превращающий датасеты в веб интерфейс. Умеет в разные данные, разные API, разные интерфейсы и куча расширений. Когда хочется конструктор и разного
- CSVBase [4] простой до безобразия для превращения CSV файлов в API. Внутри всё Python, одновременно и сервис для публикации данных онлайн для тех кто очень хочет делать это за деньги
- APIReady [5] написанный мной 11 лет назад очень простой движок по превращению CSV файлов в API. Честно говоря с той поры я его даже не развивал, просто как демонстрация самой идеи.
- APICrafter [6] тоже написанная мной утилита по публикации API к базам MongoDB. Развитие APIReady и необходимость поскольку MongoDB по умолчанию не давало и не даёт приемлимое API в их Community Server. Только в облачном сервисе есть уже что-то удобное. Всё на Python, управляется развесистыми YAML конфигами которые строятся автоматически на основе просканированных баз данных [7]

Если Вы знаете другие open source инструменты для публикации датасетов, о них можно рассказать в чатике.

А я через какое-то время напишу про то какие есть бесплатные и коммерческие, не open source, онлайн инструменты делиться датасетами.

Ссылки:
[1] https://github.com/frectonz/sqlite-studio
[2] https://sqlite-studio.frectonz.io/
[3] https://datasette.io/
[4] https://github.com/calpaterson/csvbase
[5] https://github.com/ivbeg/apiready
[6] https://github.com/apicrafter/apicrafter
[7] https://github.com/apicrafter/apicrafter/blob/main/examples/rusregions/apicrafter.yml


#opensource #datatools #data #api