Использование
API веб-приложений
379
❹
print(f"Created: {repo_dict['created_at']}")
❺
print(f"Updated: {repo_dict['updated_at']}")
print(f"Description: {repo_dict['description']}")
В программе выводятся значения, связанные с некоторыми ключами словаря пер-
вого репозитория. В точке
выводится имя проекта. Владельца проекта представ-
ляет целый словарь, поэтому в точке
ключ
owner
используется для обращения
к словарю, представляющему владельца, после чего ключ
login
используется для
получения регистрационного имени владельца. В точке
выводится количество
звезд, заработанных проектом, и URL репозитория GitHub проекта. Далее выво-
дится дата создания
и последнего обновления репозитория
. В завершение
выводится
описание репозитория; вывод должен выглядеть примерно так:
Status code: 200
Total repositories: 3494032
Repositories returned: 30
Selected information about first repository:
Name:
awesome-python
Owner: vinta
Stars: 61549
Repository: https://github.com/vinta/awesome-python
Created: 2014-06-27T21:00:06Z
Updated: 2019-02-17T04:30:00Z
Description: A curated list
of awesome Python frameworks, libraries,
software
and
resources
Из вывода видно, что на момент написания книги самым «звездным» проектом
Python на GitHub был проект
awesome-python
, владельцем которого является
пользователь
vinta
, и звезды этот проект получил более чем от 60 000 пользователей
GitHub. Мы видим URL репозитория проекта, дату создания (июнь 2014 г.) и то,
что проект недавно обновлялся. Наконец, из описания следует, что
awesome-python
содержит список самых популярных ресурсов Python.
Сводка самых
популярных репозиториев
При построении визуализации этих данных на диаграмму необходимо нанести
более одного репозитория. Напишем цикл для вывода информации о каждом ре-
позитории, возвращаемом вызовом API, чтобы все эти репозитории можно было
включить в визуализацию:
python_repos.py
...
# Анализ информации о репозиториях.
repo_dicts = response_dict['items']
print(f"Repositories returned: {len(repo_dicts)}")
❶
print("\nSelected information about each repository:")
❷
for repo_dict in repo_dicts: