Python Virtual Training For Arcesium - Module III - Day 3

Dec 17-23, 2020 Vikrant Patil

These notes are available online at http://notes.pipal.in/2020/arcesium_finop_batch3/module3-day3.html

© Pipal Academy LLP

Day 1 | Day 2 | Day 3 | Day 4 | Day 5

We will be using jupyter hub from http://lab.pipal.in for this training. Create a notebook with name module3-day3.ipynb for today's session. Before you start shutdown all kernels except today's notebook.

Working with json data

In [1]:
pydata = {"value":[1, 2, 3, 4, 5],
          "symbol": list("XYZAB")
         }
In [2]:
pydata
Out[2]:
{'value': [1, 2, 3, 4, 5], 'symbol': ['X', 'Y', 'Z', 'A', 'B']}
In [3]:
import json
In [10]:
jdata = json.dumps(pydata) # convert python data (dictionary and lists) into json format
In [11]:
jdata
Out[11]:
'{"value": [1, 2, 3, 4, 5], "symbol": ["X", "Y", "Z", "A", "B"]}'
In [7]:
jdata['value']
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-7-4971aa67961e> in <module>
----> 1 jdata['value']

TypeError: string indices must be integers
In [8]:
type(jdata)
Out[8]:
str
In [9]:
#int, str, float , list, dict
In [13]:
pdata = json.loads(jdata) # convert json data into python data
In [14]:
pdata
Out[14]:
{'value': [1, 2, 3, 4, 5], 'symbol': ['X', 'Y', 'Z', 'A', 'B']}
In [15]:
pdata['value']
Out[15]:
[1, 2, 3, 4, 5]
In [16]:
!pip install nsetools
Collecting nsetools
  Using cached nsetools-1.0.11-py3-none-any.whl (9.6 kB)
Requirement already satisfied: six in /home/vikrant/anaconda3/lib/python3.8/site-packages (from nsetools) (1.15.0)
Collecting dateutils
  Using cached dateutils-0.6.12-py2.py3-none-any.whl (5.7 kB)
Requirement already satisfied: python-dateutil in /home/vikrant/anaconda3/lib/python3.8/site-packages (from dateutils->nsetools) (2.8.1)
Requirement already satisfied: pytz in /home/vikrant/anaconda3/lib/python3.8/site-packages (from dateutils->nsetools) (2020.1)
Installing collected packages: dateutils, nsetools
Successfully installed dateutils-0.6.12 nsetools-1.0.11
WARNING: You are using pip version 20.2.3; however, version 20.3.3 is available.
You should consider upgrading via the '/home/vikrant/anaconda3/bin/python -m pip install --upgrade pip' command.

Example nsetools, through virtual environment

if you want to execute it on your system create a virtual environment,

python -m venv nsetools
nsetools\Scripts\activate.bat
(nsetools) c:> pip install nsetools
In [20]:
from nsetools import Nse
nse = Nse()
In [21]:
nse.get_quote('infy')
Out[21]:
{'pricebandupper': 1508.9,
 'symbol': 'INFY',
 'applicableMargin': 17.85,
 'bcEndDate': None,
 'totalSellQuantity': 612492.0,
 'adhocMargin': None,
 'companyName': 'Infosys Limited',
 'marketType': 'N',
 'exDate': '23-OCT-20',
 'bcStartDate': None,
 'css_status_desc': 'Listed',
 'dayHigh': 1384.7,
 'basePrice': 1371.75,
 'securityVar': 14.35,
 'pricebandlower': 1234.6,
 'sellQuantity5': 36.0,
 'sellQuantity4': 186.0,
 'sellQuantity3': 49.0,
 'cm_adj_high_dt': '13-JAN-21',
 'sellQuantity2': 1.0,
 'dayLow': 1360.0,
 'sellQuantity1': 28.0,
 'quantityTraded': 5185084.0,
 'pChange': 0.12,
 'totalTradedValue': 78828.53,
 'deliveryToTradedQuantity': 42.09,
 'totalBuyQuantity': 415345.0,
 'averagePrice': 1372.28,
 'indexVar': None,
 'cm_ffm': 508341.97,
 'purpose': 'INTERIM DIVIDEND - RS 12 PER SHARE',
 'buyPrice2': 1373.35,
 'secDate': '13-Jan-2021 11:00:00',
 'buyPrice1': 1373.4,
 'high52': 1384.7,
 'previousClose': 1371.75,
 'ndEndDate': None,
 'low52': 509.25,
 'buyPrice4': 1373.1,
 'buyPrice3': 1373.15,
 'recordDate': '26-OCT-20',
 'deliveryQuantity': 2182396.0,
 'buyPrice5': 1373.05,
 'priceBand': 'No Band',
 'extremeLossMargin': 3.5,
 'cm_adj_low_dt': '19-MAR-20',
 'varMargin': 14.35,
 'sellPrice1': 1373.45,
 'sellPrice2': 1373.5,
 'totalTradedVolume': 5744347.0,
 'sellPrice3': 1373.55,
 'sellPrice4': 1373.6,
 'sellPrice5': 1373.65,
 'change': 1.65,
 'surv_indicator': None,
 'ndStartDate': None,
 'buyQuantity4': 1.0,
 'isExDateFlag': False,
 'buyQuantity3': 17.0,
 'buyQuantity2': 2.0,
 'buyQuantity1': 16.0,
 'series': 'EQ',
 'faceValue': 5.0,
 'buyQuantity5': 30.0,
 'closePrice': 0.0,
 'open': 1373.85,
 'isinCode': 'INE009A01021',
 'lastPrice': 1373.4}
In [22]:
nse.get_index_list()
Out[22]:
['NIFTY 50 Pre Open',
 'NIFTY 50',
 'NIFTY NEXT 50',
 'NIFTY100 LIQ 15',
 'NIFTY BANK',
 'INDIA VIX',
 'NIFTY 100',
 'NIFTY 500',
 'NIFTY MIDCAP 100',
 'NIFTY MIDCAP 50',
 'NIFTY INFRA',
 'NIFTY REALTY',
 'NIFTY ENERGY',
 'NIFTY FMCG',
 'NIFTY MNC',
 'NIFTY PHARMA',
 'NIFTY PSE',
 'NIFTY PSU BANK',
 'NIFTY SERV SECTOR',
 'NIFTY IT',
 'NIFTY SMLCAP 100',
 'NIFTY 200',
 'NIFTY AUTO',
 'NIFTY MEDIA',
 'NIFTY METAL',
 'NIFTY DIV OPPS 50',
 'NIFTY COMMODITIES',
 'NIFTY CONSUMPTION',
 'NIFTY CPSE',
 'NIFTY FIN SERVICE',
 'NIFTY GROWSECT 15',
 'NIFTY50 VALUE 20',
 'NIFTY50 TR 2X LEV',
 'NIFTY50 PR 2X LEV',
 'NIFTY50 TR 1X INV',
 'NIFTY50 PR 1X INV',
 'NIFTY ALPHA 50',
 'NIFTY50 EQL WGT',
 'NIFTY100 EQL WGT',
 'NIFTY100 LOWVOL30',
 'NIFTY MID LIQ 15',
 'NIFTY PVT BANK',
 'NIFTY100 QUALTY30',
 'NIFTY GS 8 13YR',
 'NIFTY GS 10YR',
 'NIFTY GS 10YR CLN',
 'NIFTY GS 4 8YR',
 'NIFTY GS 11 15YR',
 'NIFTY GS 15YRPLUS',
 'NIFTY GS COMPSITE',
 'NIFTY MIDCAP 150',
 'NIFTY SMLCAP 50',
 'NIFTY SMLCAP 250',
 'NIFTY MIDSML 400',
 'NIFTY200 QUALTY30']
In [26]:
nse.get_index_quote("nifty bank")
Out[26]:
{'name': 'NIFTY BANK',
 'lastPrice': 32360.15,
 'change': 21.15,
 'pChange': 0.07,
 'imgFileName': 'NIFTY_BANK_open.png'}

Downloading data from internet

In [27]:
import requests
In [28]:
resp = requests.get("https://api.github.com/events")
In [29]:
resp.status_code
Out[29]:
200
In [30]:
print(resp.text[:100])
[{"id":"14800869182","type":"PushEvent","actor":{"id":40145947,"login":"ohnaka0410","display_login":
In [31]:
resp.json()
Out[31]:
[{'id': '14800869182',
  'type': 'PushEvent',
  'actor': {'id': 40145947,
   'login': 'ohnaka0410',
   'display_login': 'ohnaka0410',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/ohnaka0410',
   'avatar_url': 'https://avatars.githubusercontent.com/u/40145947?'},
  'repo': {'id': 327381536,
   'name': 'ohnaka0410/next-project-samples',
   'url': 'https://api.github.com/repos/ohnaka0410/next-project-samples'},
  'payload': {'push_id': 6341547348,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/performance',
   'head': '98dd6c33df5d855ca5ed430085df394965461b20',
   'before': '83ecaf19cc7bbd28a3a7e2d0f739c6a887623112',
   'commits': [{'sha': '98dd6c33df5d855ca5ed430085df394965461b20',
     'author': {'email': '', 'name': 'ohnaka0410'},
     'message': 'update performance sample code',
     'distinct': True,
     'url': 'https://api.github.com/repos/ohnaka0410/next-project-samples/commits/98dd6c33df5d855ca5ed430085df394965461b20'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869184',
  'type': 'WatchEvent',
  'actor': {'id': 74869831,
   'login': 'samartketrahong',
   'display_login': 'samartketrahong',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/samartketrahong',
   'avatar_url': 'https://avatars.githubusercontent.com/u/74869831?'},
  'repo': {'id': 329048518,
   'name': 'ProjectComputerEngine/Flutter-RiceShopping-Project-EG08',
   'url': 'https://api.github.com/repos/ProjectComputerEngine/Flutter-RiceShopping-Project-EG08'},
  'payload': {'action': 'started'},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z',
  'org': {'id': 74870280,
   'login': 'ProjectComputerEngine',
   'gravatar_id': '',
   'url': 'https://api.github.com/orgs/ProjectComputerEngine',
   'avatar_url': 'https://avatars.githubusercontent.com/u/74870280?'}},
 {'id': '14800869180',
  'type': 'PushEvent',
  'actor': {'id': 77327528,
   'login': 'ahm-ahm',
   'display_login': 'ahm-ahm',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/ahm-ahm',
   'avatar_url': 'https://avatars.githubusercontent.com/u/77327528?'},
  'repo': {'id': 328947669,
   'name': 'ahm-ahm/counerApp',
   'url': 'https://api.github.com/repos/ahm-ahm/counerApp'},
  'payload': {'push_id': 6341547349,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/master',
   'head': '04ca72832ef742faca973ac8ac051bea31867d48',
   'before': '9ed4e7ceea22263d480d82f163cbf5dbd723af1f',
   'commits': [{'sha': '04ca72832ef742faca973ac8ac051bea31867d48',
     'author': {'email': '77327528+ahm-ahm@users.noreply.github.com',
      'name': 'ahm-ahm'},
     'message': 'Update main.dart',
     'distinct': True,
     'url': 'https://api.github.com/repos/ahm-ahm/counerApp/commits/04ca72832ef742faca973ac8ac051bea31867d48'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869183',
  'type': 'PullRequestEvent',
  'actor': {'id': 49659212,
   'login': 'bot-monkey-1',
   'display_login': 'bot-monkey-1',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/bot-monkey-1',
   'avatar_url': 'https://avatars.githubusercontent.com/u/49659212?'},
  'repo': {'id': 180431505,
   'name': 'test-organization-kkjeer/bot-validation',
   'url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation'},
  'payload': {'action': 'opened',
   'number': 106569,
   'pull_request': {'url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/pulls/106569',
    'id': 553947773,
    'node_id': 'MDExOlB1bGxSZXF1ZXN0NTUzOTQ3Nzcz',
    'html_url': 'https://github.com/test-organization-kkjeer/bot-validation/pull/106569',
    'diff_url': 'https://github.com/test-organization-kkjeer/bot-validation/pull/106569.diff',
    'patch_url': 'https://github.com/test-organization-kkjeer/bot-validation/pull/106569.patch',
    'issue_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/issues/106569',
    'number': 106569,
    'state': 'open',
    'locked': False,
    'title': 'Auto monkey PR 6b7evy',
    'user': {'login': 'bot-monkey-1',
     'id': 49659212,
     'node_id': 'MDQ6VXNlcjQ5NjU5MjEy',
     'avatar_url': 'https://avatars1.githubusercontent.com/u/49659212?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/bot-monkey-1',
     'html_url': 'https://github.com/bot-monkey-1',
     'followers_url': 'https://api.github.com/users/bot-monkey-1/followers',
     'following_url': 'https://api.github.com/users/bot-monkey-1/following{/other_user}',
     'gists_url': 'https://api.github.com/users/bot-monkey-1/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/bot-monkey-1/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/bot-monkey-1/subscriptions',
     'organizations_url': 'https://api.github.com/users/bot-monkey-1/orgs',
     'repos_url': 'https://api.github.com/users/bot-monkey-1/repos',
     'events_url': 'https://api.github.com/users/bot-monkey-1/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/bot-monkey-1/received_events',
     'type': 'User',
     'site_admin': False},
    'body': 'PR: remove label upon push\nvia `prLabeling/push.test.ts`',
    'created_at': '2021-01-13T06:11:42Z',
    'updated_at': '2021-01-13T06:11:42Z',
    'closed_at': None,
    'merged_at': None,
    'merge_commit_sha': None,
    'assignee': None,
    'assignees': [],
    'requested_reviewers': [],
    'requested_teams': [],
    'labels': [],
    'milestone': None,
    'draft': False,
    'commits_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/pulls/106569/commits',
    'review_comments_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/pulls/106569/comments',
    'review_comment_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/pulls/comments{/number}',
    'comments_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/issues/106569/comments',
    'statuses_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/statuses/a168b11661dbd77e3f4c6c610b84760a8ee51906',
    'head': {'label': 'test-organization-kkjeer:monkey-branch-6b7evy',
     'ref': 'monkey-branch-6b7evy',
     'sha': 'a168b11661dbd77e3f4c6c610b84760a8ee51906',
     'user': {'login': 'test-organization-kkjeer',
      'id': 47997193,
      'node_id': 'MDEyOk9yZ2FuaXphdGlvbjQ3OTk3MTkz',
      'avatar_url': 'https://avatars0.githubusercontent.com/u/47997193?v=4',
      'gravatar_id': '',
      'url': 'https://api.github.com/users/test-organization-kkjeer',
      'html_url': 'https://github.com/test-organization-kkjeer',
      'followers_url': 'https://api.github.com/users/test-organization-kkjeer/followers',
      'following_url': 'https://api.github.com/users/test-organization-kkjeer/following{/other_user}',
      'gists_url': 'https://api.github.com/users/test-organization-kkjeer/gists{/gist_id}',
      'starred_url': 'https://api.github.com/users/test-organization-kkjeer/starred{/owner}{/repo}',
      'subscriptions_url': 'https://api.github.com/users/test-organization-kkjeer/subscriptions',
      'organizations_url': 'https://api.github.com/users/test-organization-kkjeer/orgs',
      'repos_url': 'https://api.github.com/users/test-organization-kkjeer/repos',
      'events_url': 'https://api.github.com/users/test-organization-kkjeer/events{/privacy}',
      'received_events_url': 'https://api.github.com/users/test-organization-kkjeer/received_events',
      'type': 'Organization',
      'site_admin': False},
     'repo': {'id': 180431505,
      'node_id': 'MDEwOlJlcG9zaXRvcnkxODA0MzE1MDU=',
      'name': 'bot-validation',
      'full_name': 'test-organization-kkjeer/bot-validation',
      'private': False,
      'owner': {'login': 'test-organization-kkjeer',
       'id': 47997193,
       'node_id': 'MDEyOk9yZ2FuaXphdGlvbjQ3OTk3MTkz',
       'avatar_url': 'https://avatars0.githubusercontent.com/u/47997193?v=4',
       'gravatar_id': '',
       'url': 'https://api.github.com/users/test-organization-kkjeer',
       'html_url': 'https://github.com/test-organization-kkjeer',
       'followers_url': 'https://api.github.com/users/test-organization-kkjeer/followers',
       'following_url': 'https://api.github.com/users/test-organization-kkjeer/following{/other_user}',
       'gists_url': 'https://api.github.com/users/test-organization-kkjeer/gists{/gist_id}',
       'starred_url': 'https://api.github.com/users/test-organization-kkjeer/starred{/owner}{/repo}',
       'subscriptions_url': 'https://api.github.com/users/test-organization-kkjeer/subscriptions',
       'organizations_url': 'https://api.github.com/users/test-organization-kkjeer/orgs',
       'repos_url': 'https://api.github.com/users/test-organization-kkjeer/repos',
       'events_url': 'https://api.github.com/users/test-organization-kkjeer/events{/privacy}',
       'received_events_url': 'https://api.github.com/users/test-organization-kkjeer/received_events',
       'type': 'Organization',
       'site_admin': False},
      'html_url': 'https://github.com/test-organization-kkjeer/bot-validation',
      'description': None,
      'fork': False,
      'url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation',
      'forks_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/forks',
      'keys_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/keys{/key_id}',
      'collaborators_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/collaborators{/collaborator}',
      'teams_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/teams',
      'hooks_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/hooks',
      'issue_events_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/issues/events{/number}',
      'events_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/events',
      'assignees_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/assignees{/user}',
      'branches_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/branches{/branch}',
      'tags_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/tags',
      'blobs_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/git/blobs{/sha}',
      'git_tags_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/git/tags{/sha}',
      'git_refs_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/git/refs{/sha}',
      'trees_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/git/trees{/sha}',
      'statuses_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/statuses/{sha}',
      'languages_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/languages',
      'stargazers_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/stargazers',
      'contributors_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/contributors',
      'subscribers_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/subscribers',
      'subscription_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/subscription',
      'commits_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/commits{/sha}',
      'git_commits_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/git/commits{/sha}',
      'comments_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/comments{/number}',
      'issue_comment_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/issues/comments{/number}',
      'contents_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/contents/{+path}',
      'compare_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/compare/{base}...{head}',
      'merges_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/merges',
      'archive_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/{archive_format}{/ref}',
      'downloads_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/downloads',
      'issues_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/issues{/number}',
      'pulls_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/pulls{/number}',
      'milestones_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/milestones{/number}',
      'notifications_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/notifications{?since,all,participating}',
      'labels_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/labels{/name}',
      'releases_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/releases{/id}',
      'deployments_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/deployments',
      'created_at': '2019-04-09T18:59:13Z',
      'updated_at': '2020-12-05T00:14:43Z',
      'pushed_at': '2021-01-13T06:11:41Z',
      'git_url': 'git://github.com/test-organization-kkjeer/bot-validation.git',
      'ssh_url': 'git@github.com:test-organization-kkjeer/bot-validation.git',
      'clone_url': 'https://github.com/test-organization-kkjeer/bot-validation.git',
      'svn_url': 'https://github.com/test-organization-kkjeer/bot-validation',
      'homepage': None,
      'size': 21755,
      'stargazers_count': 7,
      'watchers_count': 7,
      'language': None,
      'has_issues': True,
      'has_projects': True,
      'has_downloads': True,
      'has_wiki': True,
      'has_pages': False,
      'forks_count': 0,
      'mirror_url': None,
      'archived': False,
      'disabled': False,
      'open_issues_count': 18,
      'license': None,
      'forks': 0,
      'open_issues': 18,
      'watchers': 7,
      'default_branch': 'master'}},
    'base': {'label': 'test-organization-kkjeer:master',
     'ref': 'master',
     'sha': 'a5f44554ac6e919760764f3a6bc869c9873fa951',
     'user': {'login': 'test-organization-kkjeer',
      'id': 47997193,
      'node_id': 'MDEyOk9yZ2FuaXphdGlvbjQ3OTk3MTkz',
      'avatar_url': 'https://avatars0.githubusercontent.com/u/47997193?v=4',
      'gravatar_id': '',
      'url': 'https://api.github.com/users/test-organization-kkjeer',
      'html_url': 'https://github.com/test-organization-kkjeer',
      'followers_url': 'https://api.github.com/users/test-organization-kkjeer/followers',
      'following_url': 'https://api.github.com/users/test-organization-kkjeer/following{/other_user}',
      'gists_url': 'https://api.github.com/users/test-organization-kkjeer/gists{/gist_id}',
      'starred_url': 'https://api.github.com/users/test-organization-kkjeer/starred{/owner}{/repo}',
      'subscriptions_url': 'https://api.github.com/users/test-organization-kkjeer/subscriptions',
      'organizations_url': 'https://api.github.com/users/test-organization-kkjeer/orgs',
      'repos_url': 'https://api.github.com/users/test-organization-kkjeer/repos',
      'events_url': 'https://api.github.com/users/test-organization-kkjeer/events{/privacy}',
      'received_events_url': 'https://api.github.com/users/test-organization-kkjeer/received_events',
      'type': 'Organization',
      'site_admin': False},
     'repo': {'id': 180431505,
      'node_id': 'MDEwOlJlcG9zaXRvcnkxODA0MzE1MDU=',
      'name': 'bot-validation',
      'full_name': 'test-organization-kkjeer/bot-validation',
      'private': False,
      'owner': {'login': 'test-organization-kkjeer',
       'id': 47997193,
       'node_id': 'MDEyOk9yZ2FuaXphdGlvbjQ3OTk3MTkz',
       'avatar_url': 'https://avatars0.githubusercontent.com/u/47997193?v=4',
       'gravatar_id': '',
       'url': 'https://api.github.com/users/test-organization-kkjeer',
       'html_url': 'https://github.com/test-organization-kkjeer',
       'followers_url': 'https://api.github.com/users/test-organization-kkjeer/followers',
       'following_url': 'https://api.github.com/users/test-organization-kkjeer/following{/other_user}',
       'gists_url': 'https://api.github.com/users/test-organization-kkjeer/gists{/gist_id}',
       'starred_url': 'https://api.github.com/users/test-organization-kkjeer/starred{/owner}{/repo}',
       'subscriptions_url': 'https://api.github.com/users/test-organization-kkjeer/subscriptions',
       'organizations_url': 'https://api.github.com/users/test-organization-kkjeer/orgs',
       'repos_url': 'https://api.github.com/users/test-organization-kkjeer/repos',
       'events_url': 'https://api.github.com/users/test-organization-kkjeer/events{/privacy}',
       'received_events_url': 'https://api.github.com/users/test-organization-kkjeer/received_events',
       'type': 'Organization',
       'site_admin': False},
      'html_url': 'https://github.com/test-organization-kkjeer/bot-validation',
      'description': None,
      'fork': False,
      'url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation',
      'forks_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/forks',
      'keys_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/keys{/key_id}',
      'collaborators_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/collaborators{/collaborator}',
      'teams_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/teams',
      'hooks_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/hooks',
      'issue_events_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/issues/events{/number}',
      'events_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/events',
      'assignees_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/assignees{/user}',
      'branches_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/branches{/branch}',
      'tags_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/tags',
      'blobs_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/git/blobs{/sha}',
      'git_tags_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/git/tags{/sha}',
      'git_refs_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/git/refs{/sha}',
      'trees_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/git/trees{/sha}',
      'statuses_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/statuses/{sha}',
      'languages_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/languages',
      'stargazers_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/stargazers',
      'contributors_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/contributors',
      'subscribers_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/subscribers',
      'subscription_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/subscription',
      'commits_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/commits{/sha}',
      'git_commits_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/git/commits{/sha}',
      'comments_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/comments{/number}',
      'issue_comment_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/issues/comments{/number}',
      'contents_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/contents/{+path}',
      'compare_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/compare/{base}...{head}',
      'merges_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/merges',
      'archive_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/{archive_format}{/ref}',
      'downloads_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/downloads',
      'issues_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/issues{/number}',
      'pulls_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/pulls{/number}',
      'milestones_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/milestones{/number}',
      'notifications_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/notifications{?since,all,participating}',
      'labels_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/labels{/name}',
      'releases_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/releases{/id}',
      'deployments_url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/deployments',
      'created_at': '2019-04-09T18:59:13Z',
      'updated_at': '2020-12-05T00:14:43Z',
      'pushed_at': '2021-01-13T06:11:41Z',
      'git_url': 'git://github.com/test-organization-kkjeer/bot-validation.git',
      'ssh_url': 'git@github.com:test-organization-kkjeer/bot-validation.git',
      'clone_url': 'https://github.com/test-organization-kkjeer/bot-validation.git',
      'svn_url': 'https://github.com/test-organization-kkjeer/bot-validation',
      'homepage': None,
      'size': 21755,
      'stargazers_count': 7,
      'watchers_count': 7,
      'language': None,
      'has_issues': True,
      'has_projects': True,
      'has_downloads': True,
      'has_wiki': True,
      'has_pages': False,
      'forks_count': 0,
      'mirror_url': None,
      'archived': False,
      'disabled': False,
      'open_issues_count': 18,
      'license': None,
      'forks': 0,
      'open_issues': 18,
      'watchers': 7,
      'default_branch': 'master'}},
    '_links': {'self': {'href': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/pulls/106569'},
     'html': {'href': 'https://github.com/test-organization-kkjeer/bot-validation/pull/106569'},
     'issue': {'href': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/issues/106569'},
     'comments': {'href': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/issues/106569/comments'},
     'review_comments': {'href': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/pulls/106569/comments'},
     'review_comment': {'href': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/pulls/comments{/number}'},
     'commits': {'href': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/pulls/106569/commits'},
     'statuses': {'href': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/statuses/a168b11661dbd77e3f4c6c610b84760a8ee51906'}},
    'author_association': 'COLLABORATOR',
    'active_lock_reason': None,
    'merged': False,
    'mergeable': None,
    'rebaseable': None,
    'mergeable_state': 'unknown',
    'merged_by': None,
    'comments': 0,
    'review_comments': 0,
    'maintainer_can_modify': False,
    'commits': 1,
    'additions': 1,
    'deletions': 0,
    'changed_files': 1}},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z',
  'org': {'id': 47997193,
   'login': 'test-organization-kkjeer',
   'gravatar_id': '',
   'url': 'https://api.github.com/orgs/test-organization-kkjeer',
   'avatar_url': 'https://avatars.githubusercontent.com/u/47997193?'}},
 {'id': '14800869158',
  'type': 'PushEvent',
  'actor': {'id': 51982977,
   'login': 'alwinjosephthayyil',
   'display_login': 'alwinjosephthayyil',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/alwinjosephthayyil',
   'avatar_url': 'https://avatars.githubusercontent.com/u/51982977?'},
  'repo': {'id': 328669787,
   'name': 'alwinjosephthayyil/dvwa_owasp_zap_config',
   'url': 'https://api.github.com/repos/alwinjosephthayyil/dvwa_owasp_zap_config'},
  'payload': {'push_id': 6341547335,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/master',
   'head': '7256c9a323c4a8a28502174f370f45c6ef8e95ae',
   'before': '7e797fb6709b0cde734170b43633f03e84b720c3',
   'commits': [{'sha': '7256c9a323c4a8a28502174f370f45c6ef8e95ae',
     'author': {'email': '51982977+alwinjosephthayyil@users.noreply.github.com',
      'name': 'alwinjosephthayyil'},
     'message': 'Update pipeline.txt',
     'distinct': True,
     'url': 'https://api.github.com/repos/alwinjosephthayyil/dvwa_owasp_zap_config/commits/7256c9a323c4a8a28502174f370f45c6ef8e95ae'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869159',
  'type': 'IssuesEvent',
  'actor': {'id': 25091942,
   'login': 'm0hamad',
   'display_login': 'm0hamad',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/m0hamad',
   'avatar_url': 'https://avatars.githubusercontent.com/u/25091942?'},
  'repo': {'id': 8629417,
   'name': 'mapbox/mapbox-gl-js',
   'url': 'https://api.github.com/repos/mapbox/mapbox-gl-js'},
  'payload': {'action': 'opened',
   'issue': {'url': 'https://api.github.com/repos/mapbox/mapbox-gl-js/issues/10286',
    'repository_url': 'https://api.github.com/repos/mapbox/mapbox-gl-js',
    'labels_url': 'https://api.github.com/repos/mapbox/mapbox-gl-js/issues/10286/labels{/name}',
    'comments_url': 'https://api.github.com/repos/mapbox/mapbox-gl-js/issues/10286/comments',
    'events_url': 'https://api.github.com/repos/mapbox/mapbox-gl-js/issues/10286/events',
    'html_url': 'https://github.com/mapbox/mapbox-gl-js/issues/10286',
    'id': 784820443,
    'node_id': 'MDU6SXNzdWU3ODQ4MjA0NDM=',
    'number': 10286,
    'title': 'queryRenderedFeatures returns incorrect order of features based on map pitch ',
    'user': {'login': 'm0hamad',
     'id': 25091942,
     'node_id': 'MDQ6VXNlcjI1MDkxOTQy',
     'avatar_url': 'https://avatars1.githubusercontent.com/u/25091942?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/m0hamad',
     'html_url': 'https://github.com/m0hamad',
     'followers_url': 'https://api.github.com/users/m0hamad/followers',
     'following_url': 'https://api.github.com/users/m0hamad/following{/other_user}',
     'gists_url': 'https://api.github.com/users/m0hamad/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/m0hamad/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/m0hamad/subscriptions',
     'organizations_url': 'https://api.github.com/users/m0hamad/orgs',
     'repos_url': 'https://api.github.com/users/m0hamad/repos',
     'events_url': 'https://api.github.com/users/m0hamad/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/m0hamad/received_events',
     'type': 'User',
     'site_admin': False},
    'labels': [],
    'state': 'open',
    'locked': False,
    'assignee': None,
    'assignees': [],
    'milestone': None,
    'comments': 0,
    'created_at': '2021-01-13T06:11:42Z',
    'updated_at': '2021-01-13T06:11:42Z',
    'closed_at': None,
    'author_association': 'NONE',
    'active_lock_reason': None,
    'body': '<!--\r\nHello! Thanks for contributing.  For the fastest response and resolution, please:\r\n\r\n - Make the issue title a succinct but specific description of the unexpected behavior. Bad: "Map rotation is broken". Good: "map.setBearing(...) throws a TypeError for negative values"\r\n - Include a link to a minimal demonstration of the bug. We recommend using https://jsbin.com.\r\n - Ensure you can reproduce the bug using the latest release.\r\n - Check the console for relevant errors and warnings\r\n - Only post to report a bug. For feature requests, please use https://github.com/mapbox/mapbox-gl-js/issues/new?template=Feature_request.md instead.  Direct all other questions to https://stackoverflow.com/questions/tagged/mapbox-gl-js\r\n\r\n-->\r\n\r\n**mapbox-gl-js version**: 2.0.1\r\n\r\n**browser**: Chrome (87.0.4280.141)\r\n\r\n### Steps to Trigger Behavior\r\n\r\n 1. Rotate map to have higher pitch\r\n 2. Click on a feature (part of fill-extrusion layer)\r\n 3. The feature below the one that has been directly clicked on is highlighted\r\n\r\n### Link to Demonstration\r\nhttps://user-images.githubusercontent.com/25091942/104412847-6667d400-552a-11eb-9e00-a88722d62dad.mov\r\n\r\n<!--\r\nProviding a minimal, complete, verifiable demonstration *dramatically* improves maintainers\' and other community members\' ability to understand and address the problem you\'re reporting. (See https://stackoverflow.com/help/mcve for guidelines on creating an effective example.)\r\n-->\r\n\r\nhttps://jsbin.com/\r\n\r\n### Expected Behavior\r\nWhen I click on a feature, I select whichever element is at index 0 in the queryRenderedFeatures array. When I highlight a feature, I expect queryRenderedFeatures at index 0 to return the feature I\'m clicking on directly, regardless of the map pitch.\r\n\r\n### Actual Behavior\r\nWhen rotating the map and increasing pitch, clicking on a feature then changes the ordering of the queryRenderedFeatures array, resulting in a different feature being highlighted.\r\n',
    'performed_via_github_app': None}},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z',
  'org': {'id': 600935,
   'login': 'mapbox',
   'gravatar_id': '',
   'url': 'https://api.github.com/orgs/mapbox',
   'avatar_url': 'https://avatars.githubusercontent.com/u/600935?'}},
 {'id': '14800869138',
  'type': 'PushEvent',
  'actor': {'id': 40902,
   'login': 'davies',
   'display_login': 'davies',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/davies',
   'avatar_url': 'https://avatars.githubusercontent.com/u/40902?'},
  'repo': {'id': 327859577,
   'name': 'juicedata/juicefs',
   'url': 'https://api.github.com/repos/juicedata/juicefs'},
  'payload': {'push_id': 6341547333,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/main',
   'head': '1ebb8a2bd5b0844520f59f969a6e7090893770a9',
   'before': '5da313a6643242c4e9035477d8808874403a8c3f',
   'commits': [{'sha': '1ebb8a2bd5b0844520f59f969a6e7090893770a9',
     'author': {'email': 'satorulogic@gmail.com', 'name': 'satoru'},
     'message': 'Fix some errors reported by golangci-lint (#39)',
     'distinct': True,
     'url': 'https://api.github.com/repos/juicedata/juicefs/commits/1ebb8a2bd5b0844520f59f969a6e7090893770a9'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z',
  'org': {'id': 27241737,
   'login': 'juicedata',
   'gravatar_id': '',
   'url': 'https://api.github.com/orgs/juicedata',
   'avatar_url': 'https://avatars.githubusercontent.com/u/27241737?'}},
 {'id': '14800869145',
  'type': 'IssueCommentEvent',
  'actor': {'id': 49699333,
   'login': 'dependabot[bot]',
   'display_login': 'dependabot',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/dependabot[bot]',
   'avatar_url': 'https://avatars.githubusercontent.com/u/49699333?'},
  'repo': {'id': 277972712,
   'name': 'bwhour/cosdk',
   'url': 'https://api.github.com/repos/bwhour/cosdk'},
  'payload': {'action': 'created',
   'issue': {'url': 'https://api.github.com/repos/bwhour/cosdk/issues/65',
    'repository_url': 'https://api.github.com/repos/bwhour/cosdk',
    'labels_url': 'https://api.github.com/repos/bwhour/cosdk/issues/65/labels{/name}',
    'comments_url': 'https://api.github.com/repos/bwhour/cosdk/issues/65/comments',
    'events_url': 'https://api.github.com/repos/bwhour/cosdk/issues/65/events',
    'html_url': 'https://github.com/bwhour/cosdk/pull/65',
    'id': 784820432,
    'node_id': 'MDExOlB1bGxSZXF1ZXN0NTUzOTQ3NzYz',
    'number': 65,
    'title': 'build(deps): bump github.com/tendermint/tendermint from 0.34.0 to 0.34.2',
    'user': {'login': 'dependabot[bot]',
     'id': 49699333,
     'node_id': 'MDM6Qm90NDk2OTkzMzM=',
     'avatar_url': 'https://avatars0.githubusercontent.com/in/29110?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/dependabot%5Bbot%5D',
     'html_url': 'https://github.com/apps/dependabot',
     'followers_url': 'https://api.github.com/users/dependabot%5Bbot%5D/followers',
     'following_url': 'https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}',
     'gists_url': 'https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/dependabot%5Bbot%5D/subscriptions',
     'organizations_url': 'https://api.github.com/users/dependabot%5Bbot%5D/orgs',
     'repos_url': 'https://api.github.com/users/dependabot%5Bbot%5D/repos',
     'events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/received_events',
     'type': 'Bot',
     'site_admin': False},
    'labels': [{'id': 2329445923,
      'node_id': 'MDU6TGFiZWwyMzI5NDQ1OTIz',
      'url': 'https://api.github.com/repos/bwhour/cosdk/labels/dependencies',
      'name': 'dependencies',
      'color': '0366d6',
      'default': False,
      'description': 'Pull requests that update a dependency file'}],
    'state': 'open',
    'locked': False,
    'assignee': None,
    'assignees': [],
    'milestone': None,
    'comments': 1,
    'created_at': '2021-01-13T06:11:40Z',
    'updated_at': '2021-01-13T06:11:42Z',
    'closed_at': None,
    'author_association': 'NONE',
    'active_lock_reason': None,
    'pull_request': {'url': 'https://api.github.com/repos/bwhour/cosdk/pulls/65',
     'html_url': 'https://github.com/bwhour/cosdk/pull/65',
     'diff_url': 'https://github.com/bwhour/cosdk/pull/65.diff',
     'patch_url': 'https://github.com/bwhour/cosdk/pull/65.patch'},
    'body': 'Bumps [github.com/tendermint/tendermint](https://github.com/tendermint/tendermint) from 0.34.0 to 0.34.2.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href="https://github.com/tendermint/tendermint/releases">github.com/tendermint/tendermint\'s releases</a>.</em></p>\n<blockquote>\n<h2>0.34.2 (WARNING: BETA SOFTWARE)</h2>\n<p><a href="https://github.com/tendermint/tendermint/blob/v0.34.2/CHANGELOG.md#v0.34.2">https://github.com/tendermint/tendermint/blob/v0.34.2/CHANGELOG.md#v0.34.2</a></p>\n<h2>0.34.1 (WARNING: BETA SOFTWARE)</h2>\n<p><a href="https://github.com/tendermint/tendermint/blob/v0.34.1/CHANGELOG.md#v0.34.1">https://github.com/tendermint/tendermint/blob/v0.34.1/CHANGELOG.md#v0.34.1</a></p>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href="https://github.com/tendermint/tendermint/blob/v0.34.2/CHANGELOG.md">github.com/tendermint/tendermint\'s changelog</a>.</em></p>\n<blockquote>\n<h2>v0.34.2</h2>\n<p><em>January 12, 2021</em></p>\n<p>This release fixes a substantial bug in evidence handling where evidence could\nsometimes be broadcast before the block containing that evidence was fully committed,\nresulting in some nodes panicking when trying to verify said evidence.</p>\n<p>Friendly reminder, we have a <a href="https://hackerone.com/tendermint">bug bounty program</a>.</p>\n<h3>BREAKING CHANGES</h3>\n<ul>\n<li>Go API\n<ul>\n<li>[libs/os] <a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5871">#5871</a> <code>EnsureDir</code> now propagates IO errors and checks the file type (<a href="https://github.com/erikgrinaker">@erikgrinaker</a>)</li>\n</ul>\n</li>\n</ul>\n<h3>BUG FIXES</h3>\n<ul>\n<li>[evidence] <a href="https://github-redirect.dependabot.com/tendermint/tendermint/pull/5890">#5890</a> Add a buffer to evidence from consensus to avoid broadcasting and proposing evidence before the\nheight of such an evidence has finished (<a href="https://github.com/cmwaters">@cmwaters</a>)</li>\n<li>[statesync] <a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5889">#5889</a> Set <code>LastHeightConsensusParamsChanged</code> when bootstrapping Tendermint state (<a href="https://github.com/cmwaters">@cmwaters</a>)</li>\n</ul>\n<h2>v0.34.1</h2>\n<p><em>January 6, 2021</em></p>\n<p>Special thanks to external contributors on this release:</p>\n<p><a href="https://github.com/p4u">@p4u</a> from vocdoni.io reported that the mempool might behave incorrectly under a\nhigh load. The consequences can range from pauses between blocks to the peers\ndisconnecting from this node. As a temporary remedy (until the mempool package\nis refactored), the <code>max-batch-bytes</code> was disabled. Transactions will be sent\none by one without batching.</p>\n<p>Friendly reminder, we have a <a href="https://hackerone.com/tendermint">bug bounty program</a>.</p>\n<h3>BREAKING CHANGES</h3>\n<ul>\n<li>\n<p>CLI/RPC/Config</p>\n<ul>\n<li>[cli] <a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5786">#5786</a> deprecate snake_case commands for hyphen-case (<a href="https://github.com/cmwaters">@cmwaters</a>)</li>\n</ul>\n</li>\n<li>\n<p>Go API</p>\n<ul>\n<li>[libs/protoio] <a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5868">#5868</a> Return number of bytes read in <code>Reader.ReadMsg()</code> (<a href="https://github.com/erikgrinaker">@erikgrinaker</a>)</li>\n</ul>\n</li>\n</ul>\n<h3>IMPROVEMENTS</h3>\n<ul>\n<li>[mempool] <a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5813">#5813</a> Add <code>keep-invalid-txs-in-cache</code> config option. When set to true, mempool will keep invalid transactions in the cache (<a href="https://github.com/p4u">@p4u</a>)</li>\n</ul>\n<h3>BUG FIXES</h3>\n<ul>\n<li>[crypto] <a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5707">#5707</a> Fix infinite recursion in string formatting of Secp256k1 keys (<a href="https://github.com/erikgrinaker">@erikgrinaker</a>)</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href="https://github.com/tendermint/tendermint/commit/bdbe4a7cd7f5de46e69b95d66facad371f5c59fb"><code>bdbe4a7</code></a> test/e2e: disable abci/grpc and blockchain/v2 due to flake (<a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5854">#5854</a>)</li>\n<li><a href="https://github.com/tendermint/tendermint/commit/6a7a431ba54936309c75d3fb29bc5b63fe9975f6"><code>6a7a431</code></a> remove misbehaviors from e2e generator (<a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5629">#5629</a>)</li>\n<li><a href="https://github.com/tendermint/tendermint/commit/23c8a7a93d4349bf99d2534ab9a1ccd5aa62d26a"><code>23c8a7a</code></a> changelog: prepare 0.34.2 release (<a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5894">#5894</a>)</li>\n<li><a href="https://github.com/tendermint/tendermint/commit/cf3a72098827c88350aec89687ef15f376affcef"><code>cf3a720</code></a> state sync: correctly set last consensus params height (<a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5889">#5889</a>)</li>\n<li><a href="https://github.com/tendermint/tendermint/commit/ad552b2bb1174237ca8c927a859b0560ec06a1c1"><code>ad552b2</code></a> evidence: buffer evidence from consensus (<a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5890">#5890</a>)</li>\n<li><a href="https://github.com/tendermint/tendermint/commit/5d637659904c50f5f284fb0a42440bd46b195488"><code>5d63765</code></a> os: simplify EnsureDir() (<a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5871">#5871</a>)</li>\n<li><a href="https://github.com/tendermint/tendermint/commit/3185bb8b2208090eee34e25e5fba9236d85f4dac"><code>3185bb8</code></a> blockchain/v0: stop tickers on poolRoutine exit (<a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5860">#5860</a>)</li>\n<li><a href="https://github.com/tendermint/tendermint/commit/2eba38051a83bad0a8fdd96736f42b95931025f7"><code>2eba380</code></a> blockchain/v2: fix missing mutex unlock (<a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5862">#5862</a>)</li>\n<li><a href="https://github.com/tendermint/tendermint/commit/15eed81f12be1dcc3e7e2ba74097752ff40692c4"><code>15eed81</code></a> test/consensus: improve WaitGroup handling in Byzantine tests (<a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5861">#5861</a>)</li>\n<li><a href="https://github.com/tendermint/tendermint/commit/fca7c6449abe6c2a1f693d826cba680ea15793dc"><code>fca7c64</code></a> libs/os: EnsureDir now returns IO errors and checks file type (<a href="https://github-redirect.dependabot.com/tendermint/tendermint/issues/5852">#5852</a>)</li>\n<li>Additional commits viewable in <a href="https://github.com/tendermint/tendermint/compare/v0.34.0...v0.34.2">compare view</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=github.com/tendermint/tendermint&package-manager=go_modules&previous-version=0.34.0&new-version=0.34.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\'t alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>',
    'performed_via_github_app': None},
   'comment': {'url': 'https://api.github.com/repos/bwhour/cosdk/issues/comments/759229942',
    'html_url': 'https://github.com/bwhour/cosdk/pull/65#issuecomment-759229942',
    'issue_url': 'https://api.github.com/repos/bwhour/cosdk/issues/65',
    'id': 759229942,
    'node_id': 'MDEyOklzc3VlQ29tbWVudDc1OTIyOTk0Mg==',
    'user': {'login': 'dependabot[bot]',
     'id': 49699333,
     'node_id': 'MDM6Qm90NDk2OTkzMzM=',
     'avatar_url': 'https://avatars0.githubusercontent.com/in/29110?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/dependabot%5Bbot%5D',
     'html_url': 'https://github.com/apps/dependabot',
     'followers_url': 'https://api.github.com/users/dependabot%5Bbot%5D/followers',
     'following_url': 'https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}',
     'gists_url': 'https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/dependabot%5Bbot%5D/subscriptions',
     'organizations_url': 'https://api.github.com/users/dependabot%5Bbot%5D/orgs',
     'repos_url': 'https://api.github.com/users/dependabot%5Bbot%5D/repos',
     'events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/received_events',
     'type': 'Bot',
     'site_admin': False},
    'created_at': '2021-01-13T06:11:42Z',
    'updated_at': '2021-01-13T06:11:42Z',
    'author_association': 'NONE',
    'body': 'Dependabot tried to add `@alexanderbez` and `@fedekunze` as reviewers to this PR, but received the following error from GitHub:\n\n```\nPOST https://api.github.com/repos/bwhour/cosdk/pulls/65/requested_reviewers: 422 - Reviews may only be requested from collaborators. One or more of the users or teams you specified is not a collaborator of the bwhour/cosdk repository. // See: https://docs.github.com/rest/reference/pulls#request-reviewers-for-a-pull-request\n```',
    'performed_via_github_app': None}},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869151',
  'type': 'PushEvent',
  'actor': {'id': 77257350,
   'login': 'mateoluri',
   'display_login': 'mateoluri',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/mateoluri',
   'avatar_url': 'https://avatars.githubusercontent.com/u/77257350?'},
  'repo': {'id': 328770274,
   'name': 'mateoluri/mateoluri_ws_web-design',
   'url': 'https://api.github.com/repos/mateoluri/mateoluri_ws_web-design'},
  'payload': {'push_id': 6341547334,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/main',
   'head': 'f81c4fd58de93af3d5ac391922cf27c7775f4051',
   'before': '3f2adfa94f7268c9dd260a90239334fc11aa37a8',
   'commits': [{'sha': 'f81c4fd58de93af3d5ac391922cf27c7775f4051',
     'author': {'email': 'mluri@risd.edu', 'name': 'mateoluri'},
     'message': 'Final New Yoker Mockup',
     'distinct': True,
     'url': 'https://api.github.com/repos/mateoluri/mateoluri_ws_web-design/commits/f81c4fd58de93af3d5ac391922cf27c7775f4051'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869150',
  'type': 'CreateEvent',
  'actor': {'id': 35466590,
   'login': 'dipper-github-gru-bjs-zhy',
   'display_login': 'dipper-github-gru-bjs-zhy',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/dipper-github-gru-bjs-zhy',
   'avatar_url': 'https://avatars.githubusercontent.com/u/35466590?'},
  'repo': {'id': 117646377,
   'name': 'dipper-github-gru-bjs-zhy/test-python-sample',
   'url': 'https://api.github.com/repos/dipper-github-gru-bjs-zhy/test-python-sample'},
  'payload': {'ref': '169.254.109.125',
   'ref_type': 'branch',
   'master_branch': 'master',
   'description': None,
   'pusher_type': 'user'},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869155',
  'type': 'GollumEvent',
  'actor': {'id': 371306,
   'login': 'mobihunterz',
   'display_login': 'mobihunterz',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/mobihunterz',
   'avatar_url': 'https://avatars.githubusercontent.com/u/371306?'},
  'repo': {'id': 328756892,
   'name': 'mobihunterz/CurrencyConverter',
   'url': 'https://api.github.com/repos/mobihunterz/CurrencyConverter'},
  'payload': {'pages': [{'page_name': 'Home',
     'title': 'Home',
     'summary': None,
     'action': 'created',
     'sha': '7da5e225a5fd66f44de35ad3e131678fbc643c2d',
     'html_url': 'https://github.com/mobihunterz/CurrencyConverter/wiki/Home'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869129',
  'type': 'PushEvent',
  'actor': {'id': 49659212,
   'login': 'bot-monkey-1',
   'display_login': 'bot-monkey-1',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/bot-monkey-1',
   'avatar_url': 'https://avatars.githubusercontent.com/u/49659212?'},
  'repo': {'id': 180431505,
   'name': 'test-organization-kkjeer/bot-validation',
   'url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation'},
  'payload': {'push_id': 6341547321,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/monkey-branch-6b7evy',
   'head': 'a168b11661dbd77e3f4c6c610b84760a8ee51906',
   'before': 'a5f44554ac6e919760764f3a6bc869c9873fa951',
   'commits': [{'sha': 'a168b11661dbd77e3f4c6c610b84760a8ee51906',
     'author': {'email': '49659212+bot-monkey-1@users.noreply.github.com',
      'name': 'bot-monkey-1'},
     'message': 'Monkey commit',
     'distinct': True,
     'url': 'https://api.github.com/repos/test-organization-kkjeer/bot-validation/commits/a168b11661dbd77e3f4c6c610b84760a8ee51906'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z',
  'org': {'id': 47997193,
   'login': 'test-organization-kkjeer',
   'gravatar_id': '',
   'url': 'https://api.github.com/orgs/test-organization-kkjeer',
   'avatar_url': 'https://avatars.githubusercontent.com/u/47997193?'}},
 {'id': '14800869131',
  'type': 'PushEvent',
  'actor': {'id': 16108917,
   'login': 'Kyle-McRae',
   'display_login': 'Kyle-McRae',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/Kyle-McRae',
   'avatar_url': 'https://avatars.githubusercontent.com/u/16108917?'},
  'repo': {'id': 328856904,
   'name': 'Kyle-McRae/308RESTAPI',
   'url': 'https://api.github.com/repos/Kyle-McRae/308RESTAPI'},
  'payload': {'push_id': 6341547264,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/main',
   'head': 'b16849daa6d8038055973d113e60ca2761ab5654',
   'before': 'e7687c3296cf18ae31037efc38d7216ddfb09dd1',
   'commits': [{'sha': 'b16849daa6d8038055973d113e60ca2761ab5654',
     'author': {'email': 'kyle.mcrae1@gmail.com', 'name': 'Kyle-McRae'},
     'message': 'person searching',
     'distinct': True,
     'url': 'https://api.github.com/repos/Kyle-McRae/308RESTAPI/commits/b16849daa6d8038055973d113e60ca2761ab5654'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869120',
  'type': 'PushEvent',
  'actor': {'id': 59297911,
   'login': 'shifttogit-deepanshu',
   'display_login': 'shifttogit-deepanshu',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/shifttogit-deepanshu',
   'avatar_url': 'https://avatars.githubusercontent.com/u/59297911?'},
  'repo': {'id': 328042769,
   'name': 'shifttogit-deepanshu/rn-ecom-mobile',
   'url': 'https://api.github.com/repos/shifttogit-deepanshu/rn-ecom-mobile'},
  'payload': {'push_id': 6341547323,
   'size': 2,
   'distinct_size': 2,
   'ref': 'refs/heads/main',
   'head': '7b2f58d887e999e89a6cf9b6044cd2e10a41c669',
   'before': '32f841b7945887be46432c1f96ae5de93c998877',
   'commits': [{'sha': '5e552ccc19d62944dff0794565b829fc3c594a1b',
     'author': {'email': 'sharmadeepanshu.kaizen1@gmail.com',
      'name': 'Deepanshu Sharma'},
     'message': 'Style item details tab',
     'distinct': True,
     'url': 'https://api.github.com/repos/shifttogit-deepanshu/rn-ecom-mobile/commits/5e552ccc19d62944dff0794565b829fc3c594a1b'},
    {'sha': '7b2f58d887e999e89a6cf9b6044cd2e10a41c669',
     'author': {'email': 'sharmadeepanshu.kaizen1@gmail.com',
      'name': 'Deepanshu Sharma'},
     'message': 'Add show Details tab',
     'distinct': True,
     'url': 'https://api.github.com/repos/shifttogit-deepanshu/rn-ecom-mobile/commits/7b2f58d887e999e89a6cf9b6044cd2e10a41c669'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869111',
  'type': 'PullRequestReviewEvent',
  'actor': {'id': 13867127,
   'login': 'origamiserviceuser',
   'display_login': 'origamiserviceuser',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/origamiserviceuser',
   'avatar_url': 'https://avatars.githubusercontent.com/u/13867127?'},
  'repo': {'id': 69361094,
   'name': 'Financial-Times/o-loading',
   'url': 'https://api.github.com/repos/Financial-Times/o-loading'},
  'payload': {'action': 'created',
   'review': {'id': 566917473,
    'node_id': 'MDE3OlB1bGxSZXF1ZXN0UmV2aWV3NTY2OTE3NDcz',
    'user': {'login': 'origamiserviceuser',
     'id': 13867127,
     'node_id': 'MDQ6VXNlcjEzODY3MTI3',
     'avatar_url': 'https://avatars2.githubusercontent.com/u/13867127?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/origamiserviceuser',
     'html_url': 'https://github.com/origamiserviceuser',
     'followers_url': 'https://api.github.com/users/origamiserviceuser/followers',
     'following_url': 'https://api.github.com/users/origamiserviceuser/following{/other_user}',
     'gists_url': 'https://api.github.com/users/origamiserviceuser/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/origamiserviceuser/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/origamiserviceuser/subscriptions',
     'organizations_url': 'https://api.github.com/users/origamiserviceuser/orgs',
     'repos_url': 'https://api.github.com/users/origamiserviceuser/repos',
     'events_url': 'https://api.github.com/users/origamiserviceuser/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/origamiserviceuser/received_events',
     'type': 'User',
     'site_admin': False},
    'body': None,
    'commit_id': 'f37be4f420aadbddf3d884f37d1bd97ca5def36a',
    'submitted_at': '2021-01-13T06:11:42Z',
    'state': 'approved',
    'html_url': 'https://github.com/Financial-Times/o-loading/pull/86#pullrequestreview-566917473',
    'pull_request_url': 'https://api.github.com/repos/Financial-Times/o-loading/pulls/86',
    'author_association': 'NONE',
    '_links': {'html': {'href': 'https://github.com/Financial-Times/o-loading/pull/86#pullrequestreview-566917473'},
     'pull_request': {'href': 'https://api.github.com/repos/Financial-Times/o-loading/pulls/86'}}},
   'pull_request': {'url': 'https://api.github.com/repos/Financial-Times/o-loading/pulls/86',
    'id': 553945975,
    'node_id': 'MDExOlB1bGxSZXF1ZXN0NTUzOTQ1OTc1',
    'html_url': 'https://github.com/Financial-Times/o-loading/pull/86',
    'diff_url': 'https://github.com/Financial-Times/o-loading/pull/86.diff',
    'patch_url': 'https://github.com/Financial-Times/o-loading/pull/86.patch',
    'issue_url': 'https://api.github.com/repos/Financial-Times/o-loading/issues/86',
    'number': 86,
    'state': 'open',
    'locked': False,
    'title': 'Bump origami-ci-tools from 2.2.0 to 2.3.0',
    'user': {'login': 'dependabot[bot]',
     'id': 49699333,
     'node_id': 'MDM6Qm90NDk2OTkzMzM=',
     'avatar_url': 'https://avatars0.githubusercontent.com/in/29110?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/dependabot%5Bbot%5D',
     'html_url': 'https://github.com/apps/dependabot',
     'followers_url': 'https://api.github.com/users/dependabot%5Bbot%5D/followers',
     'following_url': 'https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}',
     'gists_url': 'https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/dependabot%5Bbot%5D/subscriptions',
     'organizations_url': 'https://api.github.com/users/dependabot%5Bbot%5D/orgs',
     'repos_url': 'https://api.github.com/users/dependabot%5Bbot%5D/repos',
     'events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/received_events',
     'type': 'Bot',
     'site_admin': False},
    'body': '[//]: # (dependabot-start)\n⚠️  **Dependabot is rebasing this PR** ⚠️ \n\nIf you make any changes to it yourself then they will take precedence over the rebase.\n\n---\n\n[//]: # (dependabot-end)\n\nBumps [origami-ci-tools](https://github.com/Financial-Times/origami-ci-tools) from 2.2.0 to 2.3.0.\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href="https://github.com/Financial-Times/origami-ci-tools/commit/51b9af2c68c092bb70cc5cb0ceffa21de094309a"><code>51b9af2</code></a> Create the prefix directory if it doesn\'t exist</li>\n<li><a href="https://github.com/Financial-Times/origami-ci-tools/commit/1939c49fb4c01a7bef8b10e752042f95e5c301de"><code>1939c49</code></a> Bump ybiquitous/npm-audit-fix-action from v2.1.5 to v2.1.6</li>\n<li><a href="https://github.com/Financial-Times/origami-ci-tools/commit/2b144768c4310ab48fbd27fab79b5807a4615627"><code>2b14476</code></a> Bump Financial-Times/origami-version from v1 to v1.1.3</li>\n<li><a href="https://github.com/Financial-Times/origami-ci-tools/commit/15faa124369d930ed9b50e2d330e5355d18b1a36"><code>15faa12</code></a> Bump WyriHaximus/github-action-wait-for-status from v1.2 to v1.3</li>\n<li><a href="https://github.com/Financial-Times/origami-ci-tools/commit/52697b9d8a37073e3fc7057111a5ffa266f45d57"><code>52697b9</code></a> Bump pascalgn/automerge-action from v0.12.0 to v0.13.0</li>\n<li><a href="https://github.com/Financial-Times/origami-ci-tools/commit/ab5540cbaa65307fbe9c248e5d6d68fa0add3b3f"><code>ab5540c</code></a> Bump actions/setup-node from v2.1.3 to v2.1.4</li>\n<li><a href="https://github.com/Financial-Times/origami-ci-tools/commit/86781e68401b0a720a0272527d5f484c99db1c77"><code>86781e6</code></a> Bump actions/setup-node from v2.1.2 to v2.1.3</li>\n<li>See full diff in <a href="https://github.com/Financial-Times/origami-ci-tools/compare/v2.2.0...v2.3.0">compare view</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=origami-ci-tools&package-manager=npm_and_yarn&previous-version=2.2.0&new-version=2.3.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\'t alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n\n\n</details>',
    'created_at': '2021-01-13T06:07:08Z',
    'updated_at': '2021-01-13T06:11:42Z',
    'closed_at': None,
    'merged_at': None,
    'merge_commit_sha': '6421c40fe0e3569fe90fe8d706aea0b09cff87b5',
    'assignee': None,
    'assignees': [],
    'requested_reviewers': [],
    'requested_teams': [{'name': 'Origami Core',
      'id': 1959619,
      'node_id': 'MDQ6VGVhbTE5NTk2MTk=',
      'slug': 'origami-core',
      'description': 'Core members of the Origami team',
      'privacy': 'closed',
      'url': 'https://api.github.com/organizations/3502508/team/1959619',
      'html_url': 'https://github.com/orgs/Financial-Times/teams/origami-core',
      'members_url': 'https://api.github.com/organizations/3502508/team/1959619/members{/member}',
      'repositories_url': 'https://api.github.com/organizations/3502508/team/1959619/repos',
      'permission': 'pull',
      'parent': None}],
    'labels': [{'id': 1915813318,
      'node_id': 'MDU6TGFiZWwxOTE1ODEzMzE4',
      'url': 'https://api.github.com/repos/Financial-Times/o-loading/labels/component',
      'name': 'component',
      'color': '593380',
      'default': False,
      'description': 'Relates to an Origami component'},
     {'id': 1915813302,
      'node_id': 'MDU6TGFiZWwxOTE1ODEzMzAy',
      'url': 'https://api.github.com/repos/Financial-Times/o-loading/labels/dependencies',
      'name': 'dependencies',
      'color': 'ffec1a',
      'default': False,
      'description': 'This is maintenance work relating to dependency bumps'}],
    'milestone': None,
    'draft': False,
    'commits_url': 'https://api.github.com/repos/Financial-Times/o-loading/pulls/86/commits',
    'review_comments_url': 'https://api.github.com/repos/Financial-Times/o-loading/pulls/86/comments',
    'review_comment_url': 'https://api.github.com/repos/Financial-Times/o-loading/pulls/comments{/number}',
    'comments_url': 'https://api.github.com/repos/Financial-Times/o-loading/issues/86/comments',
    'statuses_url': 'https://api.github.com/repos/Financial-Times/o-loading/statuses/f37be4f420aadbddf3d884f37d1bd97ca5def36a',
    'head': {'label': 'Financial-Times:dependabot/npm_and_yarn/origami-ci-tools-2.3.0',
     'ref': 'dependabot/npm_and_yarn/origami-ci-tools-2.3.0',
     'sha': 'f37be4f420aadbddf3d884f37d1bd97ca5def36a',
     'user': {'login': 'Financial-Times',
      'id': 3502508,
      'node_id': 'MDEyOk9yZ2FuaXphdGlvbjM1MDI1MDg=',
      'avatar_url': 'https://avatars1.githubusercontent.com/u/3502508?v=4',
      'gravatar_id': '',
      'url': 'https://api.github.com/users/Financial-Times',
      'html_url': 'https://github.com/Financial-Times',
      'followers_url': 'https://api.github.com/users/Financial-Times/followers',
      'following_url': 'https://api.github.com/users/Financial-Times/following{/other_user}',
      'gists_url': 'https://api.github.com/users/Financial-Times/gists{/gist_id}',
      'starred_url': 'https://api.github.com/users/Financial-Times/starred{/owner}{/repo}',
      'subscriptions_url': 'https://api.github.com/users/Financial-Times/subscriptions',
      'organizations_url': 'https://api.github.com/users/Financial-Times/orgs',
      'repos_url': 'https://api.github.com/users/Financial-Times/repos',
      'events_url': 'https://api.github.com/users/Financial-Times/events{/privacy}',
      'received_events_url': 'https://api.github.com/users/Financial-Times/received_events',
      'type': 'Organization',
      'site_admin': False},
     'repo': {'id': 69361094,
      'node_id': 'MDEwOlJlcG9zaXRvcnk2OTM2MTA5NA==',
      'name': 'o-loading',
      'full_name': 'Financial-Times/o-loading',
      'private': False,
      'owner': {'login': 'Financial-Times',
       'id': 3502508,
       'node_id': 'MDEyOk9yZ2FuaXphdGlvbjM1MDI1MDg=',
       'avatar_url': 'https://avatars1.githubusercontent.com/u/3502508?v=4',
       'gravatar_id': '',
       'url': 'https://api.github.com/users/Financial-Times',
       'html_url': 'https://github.com/Financial-Times',
       'followers_url': 'https://api.github.com/users/Financial-Times/followers',
       'following_url': 'https://api.github.com/users/Financial-Times/following{/other_user}',
       'gists_url': 'https://api.github.com/users/Financial-Times/gists{/gist_id}',
       'starred_url': 'https://api.github.com/users/Financial-Times/starred{/owner}{/repo}',
       'subscriptions_url': 'https://api.github.com/users/Financial-Times/subscriptions',
       'organizations_url': 'https://api.github.com/users/Financial-Times/orgs',
       'repos_url': 'https://api.github.com/users/Financial-Times/repos',
       'events_url': 'https://api.github.com/users/Financial-Times/events{/privacy}',
       'received_events_url': 'https://api.github.com/users/Financial-Times/received_events',
       'type': 'Organization',
       'site_admin': False},
      'html_url': 'https://github.com/Financial-Times/o-loading',
      'description': 'A visual loading indicator',
      'fork': False,
      'url': 'https://api.github.com/repos/Financial-Times/o-loading',
      'forks_url': 'https://api.github.com/repos/Financial-Times/o-loading/forks',
      'keys_url': 'https://api.github.com/repos/Financial-Times/o-loading/keys{/key_id}',
      'collaborators_url': 'https://api.github.com/repos/Financial-Times/o-loading/collaborators{/collaborator}',
      'teams_url': 'https://api.github.com/repos/Financial-Times/o-loading/teams',
      'hooks_url': 'https://api.github.com/repos/Financial-Times/o-loading/hooks',
      'issue_events_url': 'https://api.github.com/repos/Financial-Times/o-loading/issues/events{/number}',
      'events_url': 'https://api.github.com/repos/Financial-Times/o-loading/events',
      'assignees_url': 'https://api.github.com/repos/Financial-Times/o-loading/assignees{/user}',
      'branches_url': 'https://api.github.com/repos/Financial-Times/o-loading/branches{/branch}',
      'tags_url': 'https://api.github.com/repos/Financial-Times/o-loading/tags',
      'blobs_url': 'https://api.github.com/repos/Financial-Times/o-loading/git/blobs{/sha}',
      'git_tags_url': 'https://api.github.com/repos/Financial-Times/o-loading/git/tags{/sha}',
      'git_refs_url': 'https://api.github.com/repos/Financial-Times/o-loading/git/refs{/sha}',
      'trees_url': 'https://api.github.com/repos/Financial-Times/o-loading/git/trees{/sha}',
      'statuses_url': 'https://api.github.com/repos/Financial-Times/o-loading/statuses/{sha}',
      'languages_url': 'https://api.github.com/repos/Financial-Times/o-loading/languages',
      'stargazers_url': 'https://api.github.com/repos/Financial-Times/o-loading/stargazers',
      'contributors_url': 'https://api.github.com/repos/Financial-Times/o-loading/contributors',
      'subscribers_url': 'https://api.github.com/repos/Financial-Times/o-loading/subscribers',
      'subscription_url': 'https://api.github.com/repos/Financial-Times/o-loading/subscription',
      'commits_url': 'https://api.github.com/repos/Financial-Times/o-loading/commits{/sha}',
      'git_commits_url': 'https://api.github.com/repos/Financial-Times/o-loading/git/commits{/sha}',
      'comments_url': 'https://api.github.com/repos/Financial-Times/o-loading/comments{/number}',
      'issue_comment_url': 'https://api.github.com/repos/Financial-Times/o-loading/issues/comments{/number}',
      'contents_url': 'https://api.github.com/repos/Financial-Times/o-loading/contents/{+path}',
      'compare_url': 'https://api.github.com/repos/Financial-Times/o-loading/compare/{base}...{head}',
      'merges_url': 'https://api.github.com/repos/Financial-Times/o-loading/merges',
      'archive_url': 'https://api.github.com/repos/Financial-Times/o-loading/{archive_format}{/ref}',
      'downloads_url': 'https://api.github.com/repos/Financial-Times/o-loading/downloads',
      'issues_url': 'https://api.github.com/repos/Financial-Times/o-loading/issues{/number}',
      'pulls_url': 'https://api.github.com/repos/Financial-Times/o-loading/pulls{/number}',
      'milestones_url': 'https://api.github.com/repos/Financial-Times/o-loading/milestones{/number}',
      'notifications_url': 'https://api.github.com/repos/Financial-Times/o-loading/notifications{?since,all,participating}',
      'labels_url': 'https://api.github.com/repos/Financial-Times/o-loading/labels{/name}',
      'releases_url': 'https://api.github.com/repos/Financial-Times/o-loading/releases{/id}',
      'deployments_url': 'https://api.github.com/repos/Financial-Times/o-loading/deployments',
      'created_at': '2016-09-27T13:43:41Z',
      'updated_at': '2021-01-13T06:10:08Z',
      'pushed_at': '2021-01-13T06:10:06Z',
      'git_url': 'git://github.com/Financial-Times/o-loading.git',
      'ssh_url': 'git@github.com:Financial-Times/o-loading.git',
      'clone_url': 'https://github.com/Financial-Times/o-loading.git',
      'svn_url': 'https://github.com/Financial-Times/o-loading',
      'homepage': 'http://registry.origami.ft.com/components/o-loading',
      'size': 314,
      'stargazers_count': 1,
      'watchers_count': 1,
      'language': 'SCSS',
      'has_issues': True,
      'has_projects': True,
      'has_downloads': True,
      'has_wiki': False,
      'has_pages': False,
      'forks_count': 2,
      'mirror_url': None,
      'archived': False,
      'disabled': False,
      'open_issues_count': 1,
      'license': None,
      'forks': 2,
      'open_issues': 1,
      'watchers': 1,
      'default_branch': 'master'}},
    'base': {'label': 'Financial-Times:master',
     'ref': 'master',
     'sha': '0daddfc0cd8ea83b5fa7566410ddaf2b40298d09',
     'user': {'login': 'Financial-Times',
      'id': 3502508,
      'node_id': 'MDEyOk9yZ2FuaXphdGlvbjM1MDI1MDg=',
      'avatar_url': 'https://avatars1.githubusercontent.com/u/3502508?v=4',
      'gravatar_id': '',
      'url': 'https://api.github.com/users/Financial-Times',
      'html_url': 'https://github.com/Financial-Times',
      'followers_url': 'https://api.github.com/users/Financial-Times/followers',
      'following_url': 'https://api.github.com/users/Financial-Times/following{/other_user}',
      'gists_url': 'https://api.github.com/users/Financial-Times/gists{/gist_id}',
      'starred_url': 'https://api.github.com/users/Financial-Times/starred{/owner}{/repo}',
      'subscriptions_url': 'https://api.github.com/users/Financial-Times/subscriptions',
      'organizations_url': 'https://api.github.com/users/Financial-Times/orgs',
      'repos_url': 'https://api.github.com/users/Financial-Times/repos',
      'events_url': 'https://api.github.com/users/Financial-Times/events{/privacy}',
      'received_events_url': 'https://api.github.com/users/Financial-Times/received_events',
      'type': 'Organization',
      'site_admin': False},
     'repo': {'id': 69361094,
      'node_id': 'MDEwOlJlcG9zaXRvcnk2OTM2MTA5NA==',
      'name': 'o-loading',
      'full_name': 'Financial-Times/o-loading',
      'private': False,
      'owner': {'login': 'Financial-Times',
       'id': 3502508,
       'node_id': 'MDEyOk9yZ2FuaXphdGlvbjM1MDI1MDg=',
       'avatar_url': 'https://avatars1.githubusercontent.com/u/3502508?v=4',
       'gravatar_id': '',
       'url': 'https://api.github.com/users/Financial-Times',
       'html_url': 'https://github.com/Financial-Times',
       'followers_url': 'https://api.github.com/users/Financial-Times/followers',
       'following_url': 'https://api.github.com/users/Financial-Times/following{/other_user}',
       'gists_url': 'https://api.github.com/users/Financial-Times/gists{/gist_id}',
       'starred_url': 'https://api.github.com/users/Financial-Times/starred{/owner}{/repo}',
       'subscriptions_url': 'https://api.github.com/users/Financial-Times/subscriptions',
       'organizations_url': 'https://api.github.com/users/Financial-Times/orgs',
       'repos_url': 'https://api.github.com/users/Financial-Times/repos',
       'events_url': 'https://api.github.com/users/Financial-Times/events{/privacy}',
       'received_events_url': 'https://api.github.com/users/Financial-Times/received_events',
       'type': 'Organization',
       'site_admin': False},
      'html_url': 'https://github.com/Financial-Times/o-loading',
      'description': 'A visual loading indicator',
      'fork': False,
      'url': 'https://api.github.com/repos/Financial-Times/o-loading',
      'forks_url': 'https://api.github.com/repos/Financial-Times/o-loading/forks',
      'keys_url': 'https://api.github.com/repos/Financial-Times/o-loading/keys{/key_id}',
      'collaborators_url': 'https://api.github.com/repos/Financial-Times/o-loading/collaborators{/collaborator}',
      'teams_url': 'https://api.github.com/repos/Financial-Times/o-loading/teams',
      'hooks_url': 'https://api.github.com/repos/Financial-Times/o-loading/hooks',
      'issue_events_url': 'https://api.github.com/repos/Financial-Times/o-loading/issues/events{/number}',
      'events_url': 'https://api.github.com/repos/Financial-Times/o-loading/events',
      'assignees_url': 'https://api.github.com/repos/Financial-Times/o-loading/assignees{/user}',
      'branches_url': 'https://api.github.com/repos/Financial-Times/o-loading/branches{/branch}',
      'tags_url': 'https://api.github.com/repos/Financial-Times/o-loading/tags',
      'blobs_url': 'https://api.github.com/repos/Financial-Times/o-loading/git/blobs{/sha}',
      'git_tags_url': 'https://api.github.com/repos/Financial-Times/o-loading/git/tags{/sha}',
      'git_refs_url': 'https://api.github.com/repos/Financial-Times/o-loading/git/refs{/sha}',
      'trees_url': 'https://api.github.com/repos/Financial-Times/o-loading/git/trees{/sha}',
      'statuses_url': 'https://api.github.com/repos/Financial-Times/o-loading/statuses/{sha}',
      'languages_url': 'https://api.github.com/repos/Financial-Times/o-loading/languages',
      'stargazers_url': 'https://api.github.com/repos/Financial-Times/o-loading/stargazers',
      'contributors_url': 'https://api.github.com/repos/Financial-Times/o-loading/contributors',
      'subscribers_url': 'https://api.github.com/repos/Financial-Times/o-loading/subscribers',
      'subscription_url': 'https://api.github.com/repos/Financial-Times/o-loading/subscription',
      'commits_url': 'https://api.github.com/repos/Financial-Times/o-loading/commits{/sha}',
      'git_commits_url': 'https://api.github.com/repos/Financial-Times/o-loading/git/commits{/sha}',
      'comments_url': 'https://api.github.com/repos/Financial-Times/o-loading/comments{/number}',
      'issue_comment_url': 'https://api.github.com/repos/Financial-Times/o-loading/issues/comments{/number}',
      'contents_url': 'https://api.github.com/repos/Financial-Times/o-loading/contents/{+path}',
      'compare_url': 'https://api.github.com/repos/Financial-Times/o-loading/compare/{base}...{head}',
      'merges_url': 'https://api.github.com/repos/Financial-Times/o-loading/merges',
      'archive_url': 'https://api.github.com/repos/Financial-Times/o-loading/{archive_format}{/ref}',
      'downloads_url': 'https://api.github.com/repos/Financial-Times/o-loading/downloads',
      'issues_url': 'https://api.github.com/repos/Financial-Times/o-loading/issues{/number}',
      'pulls_url': 'https://api.github.com/repos/Financial-Times/o-loading/pulls{/number}',
      'milestones_url': 'https://api.github.com/repos/Financial-Times/o-loading/milestones{/number}',
      'notifications_url': 'https://api.github.com/repos/Financial-Times/o-loading/notifications{?since,all,participating}',
      'labels_url': 'https://api.github.com/repos/Financial-Times/o-loading/labels{/name}',
      'releases_url': 'https://api.github.com/repos/Financial-Times/o-loading/releases{/id}',
      'deployments_url': 'https://api.github.com/repos/Financial-Times/o-loading/deployments',
      'created_at': '2016-09-27T13:43:41Z',
      'updated_at': '2021-01-13T06:10:08Z',
      'pushed_at': '2021-01-13T06:10:06Z',
      'git_url': 'git://github.com/Financial-Times/o-loading.git',
      'ssh_url': 'git@github.com:Financial-Times/o-loading.git',
      'clone_url': 'https://github.com/Financial-Times/o-loading.git',
      'svn_url': 'https://github.com/Financial-Times/o-loading',
      'homepage': 'http://registry.origami.ft.com/components/o-loading',
      'size': 314,
      'stargazers_count': 1,
      'watchers_count': 1,
      'language': 'SCSS',
      'has_issues': True,
      'has_projects': True,
      'has_downloads': True,
      'has_wiki': False,
      'has_pages': False,
      'forks_count': 2,
      'mirror_url': None,
      'archived': False,
      'disabled': False,
      'open_issues_count': 1,
      'license': None,
      'forks': 2,
      'open_issues': 1,
      'watchers': 1,
      'default_branch': 'master'}},
    '_links': {'self': {'href': 'https://api.github.com/repos/Financial-Times/o-loading/pulls/86'},
     'html': {'href': 'https://github.com/Financial-Times/o-loading/pull/86'},
     'issue': {'href': 'https://api.github.com/repos/Financial-Times/o-loading/issues/86'},
     'comments': {'href': 'https://api.github.com/repos/Financial-Times/o-loading/issues/86/comments'},
     'review_comments': {'href': 'https://api.github.com/repos/Financial-Times/o-loading/pulls/86/comments'},
     'review_comment': {'href': 'https://api.github.com/repos/Financial-Times/o-loading/pulls/comments{/number}'},
     'commits': {'href': 'https://api.github.com/repos/Financial-Times/o-loading/pulls/86/commits'},
     'statuses': {'href': 'https://api.github.com/repos/Financial-Times/o-loading/statuses/f37be4f420aadbddf3d884f37d1bd97ca5def36a'}},
    'author_association': 'CONTRIBUTOR',
    'active_lock_reason': None}},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z',
  'org': {'id': 3502508,
   'login': 'Financial-Times',
   'gravatar_id': '',
   'url': 'https://api.github.com/orgs/Financial-Times',
   'avatar_url': 'https://avatars.githubusercontent.com/u/3502508?'}},
 {'id': '14800869101',
  'type': 'CreateEvent',
  'actor': {'id': 27856297,
   'login': 'dependabot-preview[bot]',
   'display_login': 'dependabot-preview',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/dependabot-preview[bot]',
   'avatar_url': 'https://avatars.githubusercontent.com/u/27856297?'},
  'repo': {'id': 259566803,
   'name': 'rms81/aspnetcore-app-workshop',
   'url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop'},
  'payload': {'ref': 'dependabot/nuget/Microsoft.EntityFrameworkCore.Sqlite-5.0.2',
   'ref_type': 'branch',
   'master_branch': 'master',
   'description': 'This workshop will teach you ASP.NET Core by building a complete conference management website from scratch.',
   'pusher_type': 'user'},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869099',
  'type': 'GollumEvent',
  'actor': {'id': 371306,
   'login': 'mobihunterz',
   'display_login': 'mobihunterz',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/mobihunterz',
   'avatar_url': 'https://avatars.githubusercontent.com/u/371306?'},
  'repo': {'id': 328756892,
   'name': 'mobihunterz/CurrencyConverter',
   'url': 'https://api.github.com/repos/mobihunterz/CurrencyConverter'},
  'payload': {'pages': [{'page_name': 'Road-Map',
     'title': 'Road Map',
     'summary': None,
     'action': 'created',
     'sha': '169191378612670a4880d798d7eabf4f182fd3f8',
     'html_url': 'https://github.com/mobihunterz/CurrencyConverter/wiki/Road-Map'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869093',
  'type': 'IssueCommentEvent',
  'actor': {'id': 13867127,
   'login': 'origamiserviceuser',
   'display_login': 'origamiserviceuser',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/origamiserviceuser',
   'avatar_url': 'https://avatars.githubusercontent.com/u/13867127?'},
  'repo': {'id': 7504222,
   'name': 'Financial-Times/ftdomdelegate',
   'url': 'https://api.github.com/repos/Financial-Times/ftdomdelegate'},
  'payload': {'action': 'created',
   'issue': {'url': 'https://api.github.com/repos/Financial-Times/ftdomdelegate/issues/153',
    'repository_url': 'https://api.github.com/repos/Financial-Times/ftdomdelegate',
    'labels_url': 'https://api.github.com/repos/Financial-Times/ftdomdelegate/issues/153/labels{/name}',
    'comments_url': 'https://api.github.com/repos/Financial-Times/ftdomdelegate/issues/153/comments',
    'events_url': 'https://api.github.com/repos/Financial-Times/ftdomdelegate/issues/153/events',
    'html_url': 'https://github.com/Financial-Times/ftdomdelegate/pull/153',
    'id': 784817441,
    'node_id': 'MDExOlB1bGxSZXF1ZXN0NTUzOTQ1MjI5',
    'number': 153,
    'title': 'Bump Financial-Times/origami-version from v1.1.3 to v1.2.0',
    'user': {'login': 'dependabot[bot]',
     'id': 49699333,
     'node_id': 'MDM6Qm90NDk2OTkzMzM=',
     'avatar_url': 'https://avatars0.githubusercontent.com/in/29110?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/dependabot%5Bbot%5D',
     'html_url': 'https://github.com/apps/dependabot',
     'followers_url': 'https://api.github.com/users/dependabot%5Bbot%5D/followers',
     'following_url': 'https://api.github.com/users/dependabot%5Bbot%5D/following{/other_user}',
     'gists_url': 'https://api.github.com/users/dependabot%5Bbot%5D/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/dependabot%5Bbot%5D/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/dependabot%5Bbot%5D/subscriptions',
     'organizations_url': 'https://api.github.com/users/dependabot%5Bbot%5D/orgs',
     'repos_url': 'https://api.github.com/users/dependabot%5Bbot%5D/repos',
     'events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/dependabot%5Bbot%5D/received_events',
     'type': 'Bot',
     'site_admin': False},
    'labels': [{'id': 1915584111,
      'node_id': 'MDU6TGFiZWwxOTE1NTg0MTEx',
      'url': 'https://api.github.com/repos/Financial-Times/ftdomdelegate/labels/component',
      'name': 'component',
      'color': '593380',
      'default': False,
      'description': 'Relates to an Origami component'},
     {'id': 1915584122,
      'node_id': 'MDU6TGFiZWwxOTE1NTg0MTIy',
      'url': 'https://api.github.com/repos/Financial-Times/ftdomdelegate/labels/dependencies',
      'name': 'dependencies',
      'color': 'ffec1a',
      'default': False,
      'description': 'This is maintenance work relating to dependency bumps'}],
    'state': 'open',
    'locked': False,
    'assignee': None,
    'assignees': [],
    'milestone': None,
    'comments': 0,
    'created_at': '2021-01-13T06:05:22Z',
    'updated_at': '2021-01-13T06:11:41Z',
    'closed_at': None,
    'author_association': 'CONTRIBUTOR',
    'active_lock_reason': None,
    'pull_request': {'url': 'https://api.github.com/repos/Financial-Times/ftdomdelegate/pulls/153',
     'html_url': 'https://github.com/Financial-Times/ftdomdelegate/pull/153',
     'diff_url': 'https://github.com/Financial-Times/ftdomdelegate/pull/153.diff',
     'patch_url': 'https://github.com/Financial-Times/ftdomdelegate/pull/153.patch'},
    'body': 'Bumps [Financial-Times/origami-version](https://github.com/Financial-Times/origami-version) from v1.1.3 to v1.2.0.\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href="https://github.com/Financial-Times/origami-version/commit/95b3808c511666a35cdaff09ef333bf2213ecb5a"><code>95b3808</code></a> build new version of the bundled action</li>\n<li><a href="https://github.com/Financial-Times/origami-version/commit/d302c046b33b226a9b13eab6a1d3756b94c5b366"><code>d302c04</code></a> Add ability to release beta versions (<a href="https://github-redirect.dependabot.com/Financial-Times/origami-version/issues/110">#110</a>)</li>\n<li><a href="https://github.com/Financial-Times/origami-version/commit/7e75ae584b6f739a1eb8ee06177892da95cceed3"><code>7e75ae5</code></a> throw an error if multiple release labels were applied to the merged pull-req...</li>\n<li><a href="https://github.com/Financial-Times/origami-version/commit/30a95d35c18bb1f63e9b455761916bbef1eadc2c"><code>30a95d3</code></a> Bump ybiquitous/npm-audit-fix-action from v2.1.5 to v2.1.6</li>\n<li><a href="https://github.com/Financial-Times/origami-version/commit/83cf36b5bf30db8b4e4a0c72eefb465ad04ad491"><code>83cf36b</code></a> Bump webpack from 5.12.3 to 5.13.0</li>\n<li>See full diff in <a href="https://github.com/Financial-Times/origami-version/compare/v1.1.3...95b3808c511666a35cdaff09ef333bf2213ecb5a">compare view</a></li>\n</ul>\n</details>\n<br />\n\n\nDependabot will resolve any conflicts with this PR as long as you don\'t alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n</details>',
    'performed_via_github_app': None},
   'comment': {'url': 'https://api.github.com/repos/Financial-Times/ftdomdelegate/issues/comments/759229938',
    'html_url': 'https://github.com/Financial-Times/ftdomdelegate/pull/153#issuecomment-759229938',
    'issue_url': 'https://api.github.com/repos/Financial-Times/ftdomdelegate/issues/153',
    'id': 759229938,
    'node_id': 'MDEyOklzc3VlQ29tbWVudDc1OTIyOTkzOA==',
    'user': {'login': 'origamiserviceuser',
     'id': 13867127,
     'node_id': 'MDQ6VXNlcjEzODY3MTI3',
     'avatar_url': 'https://avatars2.githubusercontent.com/u/13867127?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/origamiserviceuser',
     'html_url': 'https://github.com/origamiserviceuser',
     'followers_url': 'https://api.github.com/users/origamiserviceuser/followers',
     'following_url': 'https://api.github.com/users/origamiserviceuser/following{/other_user}',
     'gists_url': 'https://api.github.com/users/origamiserviceuser/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/origamiserviceuser/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/origamiserviceuser/subscriptions',
     'organizations_url': 'https://api.github.com/users/origamiserviceuser/orgs',
     'repos_url': 'https://api.github.com/users/origamiserviceuser/repos',
     'events_url': 'https://api.github.com/users/origamiserviceuser/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/origamiserviceuser/received_events',
     'type': 'User',
     'site_admin': False},
    'created_at': '2021-01-13T06:11:41Z',
    'updated_at': '2021-01-13T06:11:41Z',
    'author_association': 'NONE',
    'body': 'ftdomdelegate bundle size difference from 4.0.6 to 42669313c6de68caf30e60bf6b1bf059ee065356\nNo significant bundle size differences found.',
    'performed_via_github_app': None}},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z',
  'org': {'id': 3502508,
   'login': 'Financial-Times',
   'gravatar_id': '',
   'url': 'https://api.github.com/orgs/Financial-Times',
   'avatar_url': 'https://avatars.githubusercontent.com/u/3502508?'}},
 {'id': '14800869089',
  'type': 'PullRequestEvent',
  'actor': {'id': 27856297,
   'login': 'dependabot-preview[bot]',
   'display_login': 'dependabot-preview',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/dependabot-preview[bot]',
   'avatar_url': 'https://avatars.githubusercontent.com/u/27856297?'},
  'repo': {'id': 259566803,
   'name': 'rms81/aspnetcore-app-workshop',
   'url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop'},
  'payload': {'action': 'opened',
   'number': 77,
   'pull_request': {'url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/pulls/77',
    'id': 553947767,
    'node_id': 'MDExOlB1bGxSZXF1ZXN0NTUzOTQ3NzY3',
    'html_url': 'https://github.com/rms81/aspnetcore-app-workshop/pull/77',
    'diff_url': 'https://github.com/rms81/aspnetcore-app-workshop/pull/77.diff',
    'patch_url': 'https://github.com/rms81/aspnetcore-app-workshop/pull/77.patch',
    'issue_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/issues/77',
    'number': 77,
    'state': 'open',
    'locked': False,
    'title': 'Bump Microsoft.EntityFrameworkCore.Sqlite from 3.1.1 to 5.0.2',
    'user': {'login': 'dependabot-preview[bot]',
     'id': 27856297,
     'node_id': 'MDM6Qm90Mjc4NTYyOTc=',
     'avatar_url': 'https://avatars3.githubusercontent.com/in/2141?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/dependabot-preview%5Bbot%5D',
     'html_url': 'https://github.com/apps/dependabot-preview',
     'followers_url': 'https://api.github.com/users/dependabot-preview%5Bbot%5D/followers',
     'following_url': 'https://api.github.com/users/dependabot-preview%5Bbot%5D/following{/other_user}',
     'gists_url': 'https://api.github.com/users/dependabot-preview%5Bbot%5D/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/dependabot-preview%5Bbot%5D/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/dependabot-preview%5Bbot%5D/subscriptions',
     'organizations_url': 'https://api.github.com/users/dependabot-preview%5Bbot%5D/orgs',
     'repos_url': 'https://api.github.com/users/dependabot-preview%5Bbot%5D/repos',
     'events_url': 'https://api.github.com/users/dependabot-preview%5Bbot%5D/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/dependabot-preview%5Bbot%5D/received_events',
     'type': 'Bot',
     'site_admin': False},
    'body': 'Bumps [Microsoft.EntityFrameworkCore.Sqlite](https://github.com/dotnet/efcore) from 3.1.1 to 5.0.2.\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href="https://github.com/dotnet/efcore/releases">Microsoft.EntityFrameworkCore.Sqlite\'s releases</a>.</em></p>\n<blockquote>\n<h2>EF Core 5.0.1</h2>\n<p>This is a patch release of <a href="https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.1">EF Core 5.0</a> containing only <a href="https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.1+is%3Aclosed">important bug fixes</a>.</p>\n<h3>EF Core 5.0.1</h3>\n<ul>\n<li>Query\n<ul>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23104">Properly generate expression to read provider-specific types from BufferedDataReader</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23130">Owned collection when owner has composite PK throws translation failure</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/pull/23273">ArgumentOutOfRangeException for split query with owned types</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23265">Incorrect SQL generated when applying group by over a group by</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23266">KeyNotFoundException when adding a single projection</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23276">Incorrect result when doing owner + Include collection + split query + owned type mapped to different table + single</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23282">InvalidCastException on entities referencing Owned types containing NetTopologySuite Point properties</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23285">Exception when using inheritance with owned properties in the in-memory database</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23309">Ternary operator with DateTimes in select gives ArgumentException</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23336">Object reference not set to an instance of an object exception when using NET Topology Suite in Select projection</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23410">Provider specific plugin method translator never gets called for indexer property</a></li>\n</ul>\n</li>\n<li>Model building\n<ul>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23092">Mapping exception with property called FooId on base type Foo in TPT</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23137">Foreign keys are removed from owned tables when excludedFromMigrations set to true</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23180">Exception in TPT models with default values</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23274">Default schema has no effect on views in EF Core 5.0</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23289">The entity type is part of a relationship cycle involving its primary key</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23354">StackOverflowException when using same collection navigation twice</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23377">StackOverflowException with EFCore 5 many-to-many mapping using many-to-one via self</a></li>\n</ul>\n</li>\n<li>DbContext\n<ul>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23108">Events aren\'t reset when pooled context is reset asynchronously</a></li>\n</ul>\n</li>\n<li>Scaffolding\n<ul>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23268">The string argument \'name\' cannot be empty when scaffolding a SQLite database</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23378">System.ArgumentException: The collection argument \'propertyNames\' must contain at least one element</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23386">Collations aren\'t scaffolded correctly</a></li>\n</ul>\n</li>\n<li>SaveChanges\n<ul>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23269">SaveChanges fails for SQL Server because of savepoints are not supported when MultipleActiveResultSets is enabled</a></li>\n</ul>\n</li>\n<li>Migrations\n<ul>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23312">SQL generated for migrations is incorrect when DbContext has TVF mapped using DbFunctionAttribute</a></li>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23390">SQLite Spatial Migrations: Columns with Z and M created incorrectly</a></li>\n</ul>\n</li>\n</ul>\n<h3>Microsoft.Data.Sqlite 5.0.1</h3>\n<ul>\n<li><a href="https://github-redirect.dependabot.com/dotnet/efcore/issues/23250">Starting with Microsoft.Data.Sqlite.Core 5.0.0 it is no longer possible to set cipher key options</a></li>\n</ul>\n<h2>EF Core 5.0.0</h2>\n<p>EF Core 5.0 is <a href="https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/5.0.0">available on NuGet now!</a></p>\n<ul>\n<li>Issues <a href="https://github.com/dotnet/efcore/issues?q=is%3Aissue+milestone%3A5.0.0+is%3Aclosed">fixed for EF Core 5.0.0</a></li>\n</ul>\n<p>Among the new features for EF Core 5.0 are:</p>\n<ul>\n<li><a href="https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-5.0/whatsnew#many-to-many">Many-to-many relationships</a></li>\n<li><a href="https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-5.0/whatsnew#map-entity-types-to-queries">Map entity types to queries</a></li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li>See full diff in <a href="https://github.com/dotnet/efcore/commits">compare view</a></li>\n</ul>\n</details>\n<br />\n\n\n[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=Microsoft.EntityFrameworkCore.Sqlite&package-manager=nuget&previous-version=3.1.1&new-version=5.0.2)](https://dependabot.com/compatibility-score/?dependency-name=Microsoft.EntityFrameworkCore.Sqlite&package-manager=nuget&previous-version=3.1.1&new-version=5.0.2)\n\nDependabot will resolve any conflicts with this PR as long as you don\'t alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language\n- `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language\n- `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language\n- `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language\n- `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme\n\nAdditionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):\n- Update frequency (including time of day and day of week)\n- Pull request limits (per update run and/or open at any time)\n- Out-of-range updates (receive only lockfile updates, if desired)\n- Security updates (receive only security updates, if desired)\n\n\n\n</details>',
    'created_at': '2021-01-13T06:11:41Z',
    'updated_at': '2021-01-13T06:11:41Z',
    'closed_at': None,
    'merged_at': None,
    'merge_commit_sha': None,
    'assignee': None,
    'assignees': [],
    'requested_reviewers': [],
    'requested_teams': [],
    'labels': [],
    'milestone': None,
    'draft': False,
    'commits_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/pulls/77/commits',
    'review_comments_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/pulls/77/comments',
    'review_comment_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/pulls/comments{/number}',
    'comments_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/issues/77/comments',
    'statuses_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/statuses/af1a0844d6ae3b6d25b2fac49e9a12141ce65814',
    'head': {'label': 'rms81:dependabot/nuget/Microsoft.EntityFrameworkCore.Sqlite-5.0.2',
     'ref': 'dependabot/nuget/Microsoft.EntityFrameworkCore.Sqlite-5.0.2',
     'sha': 'af1a0844d6ae3b6d25b2fac49e9a12141ce65814',
     'user': {'login': 'rms81',
      'id': 1382857,
      'node_id': 'MDQ6VXNlcjEzODI4NTc=',
      'avatar_url': 'https://avatars1.githubusercontent.com/u/1382857?v=4',
      'gravatar_id': '',
      'url': 'https://api.github.com/users/rms81',
      'html_url': 'https://github.com/rms81',
      'followers_url': 'https://api.github.com/users/rms81/followers',
      'following_url': 'https://api.github.com/users/rms81/following{/other_user}',
      'gists_url': 'https://api.github.com/users/rms81/gists{/gist_id}',
      'starred_url': 'https://api.github.com/users/rms81/starred{/owner}{/repo}',
      'subscriptions_url': 'https://api.github.com/users/rms81/subscriptions',
      'organizations_url': 'https://api.github.com/users/rms81/orgs',
      'repos_url': 'https://api.github.com/users/rms81/repos',
      'events_url': 'https://api.github.com/users/rms81/events{/privacy}',
      'received_events_url': 'https://api.github.com/users/rms81/received_events',
      'type': 'User',
      'site_admin': False},
     'repo': {'id': 259566803,
      'node_id': 'MDEwOlJlcG9zaXRvcnkyNTk1NjY4MDM=',
      'name': 'aspnetcore-app-workshop',
      'full_name': 'rms81/aspnetcore-app-workshop',
      'private': False,
      'owner': {'login': 'rms81',
       'id': 1382857,
       'node_id': 'MDQ6VXNlcjEzODI4NTc=',
       'avatar_url': 'https://avatars1.githubusercontent.com/u/1382857?v=4',
       'gravatar_id': '',
       'url': 'https://api.github.com/users/rms81',
       'html_url': 'https://github.com/rms81',
       'followers_url': 'https://api.github.com/users/rms81/followers',
       'following_url': 'https://api.github.com/users/rms81/following{/other_user}',
       'gists_url': 'https://api.github.com/users/rms81/gists{/gist_id}',
       'starred_url': 'https://api.github.com/users/rms81/starred{/owner}{/repo}',
       'subscriptions_url': 'https://api.github.com/users/rms81/subscriptions',
       'organizations_url': 'https://api.github.com/users/rms81/orgs',
       'repos_url': 'https://api.github.com/users/rms81/repos',
       'events_url': 'https://api.github.com/users/rms81/events{/privacy}',
       'received_events_url': 'https://api.github.com/users/rms81/received_events',
       'type': 'User',
       'site_admin': False},
      'html_url': 'https://github.com/rms81/aspnetcore-app-workshop',
      'description': 'This workshop will teach you ASP.NET Core by building a complete conference management website from scratch.',
      'fork': True,
      'url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop',
      'forks_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/forks',
      'keys_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/keys{/key_id}',
      'collaborators_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/collaborators{/collaborator}',
      'teams_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/teams',
      'hooks_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/hooks',
      'issue_events_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/issues/events{/number}',
      'events_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/events',
      'assignees_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/assignees{/user}',
      'branches_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/branches{/branch}',
      'tags_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/tags',
      'blobs_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/git/blobs{/sha}',
      'git_tags_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/git/tags{/sha}',
      'git_refs_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/git/refs{/sha}',
      'trees_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/git/trees{/sha}',
      'statuses_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/statuses/{sha}',
      'languages_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/languages',
      'stargazers_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/stargazers',
      'contributors_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/contributors',
      'subscribers_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/subscribers',
      'subscription_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/subscription',
      'commits_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/commits{/sha}',
      'git_commits_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/git/commits{/sha}',
      'comments_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/comments{/number}',
      'issue_comment_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/issues/comments{/number}',
      'contents_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/contents/{+path}',
      'compare_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/compare/{base}...{head}',
      'merges_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/merges',
      'archive_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/{archive_format}{/ref}',
      'downloads_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/downloads',
      'issues_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/issues{/number}',
      'pulls_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/pulls{/number}',
      'milestones_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/milestones{/number}',
      'notifications_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/notifications{?since,all,participating}',
      'labels_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/labels{/name}',
      'releases_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/releases{/id}',
      'deployments_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/deployments',
      'created_at': '2020-04-28T07:42:46Z',
      'updated_at': '2020-04-29T10:21:12Z',
      'pushed_at': '2021-01-13T06:11:39Z',
      'git_url': 'git://github.com/rms81/aspnetcore-app-workshop.git',
      'ssh_url': 'git@github.com:rms81/aspnetcore-app-workshop.git',
      'clone_url': 'https://github.com/rms81/aspnetcore-app-workshop.git',
      'svn_url': 'https://github.com/rms81/aspnetcore-app-workshop',
      'homepage': '',
      'size': 7114,
      'stargazers_count': 0,
      'watchers_count': 0,
      'language': 'C#',
      'has_issues': False,
      'has_projects': True,
      'has_downloads': True,
      'has_wiki': True,
      'has_pages': False,
      'forks_count': 0,
      'mirror_url': None,
      'archived': False,
      'disabled': False,
      'open_issues_count': 11,
      'license': {'key': 'mit',
       'name': 'MIT License',
       'spdx_id': 'MIT',
       'url': 'https://api.github.com/licenses/mit',
       'node_id': 'MDc6TGljZW5zZTEz'},
      'forks': 0,
      'open_issues': 11,
      'watchers': 0,
      'default_branch': 'master'}},
    'base': {'label': 'rms81:master',
     'ref': 'master',
     'sha': 'a3b009729853a718947832e7a07ba4c8c4af16d2',
     'user': {'login': 'rms81',
      'id': 1382857,
      'node_id': 'MDQ6VXNlcjEzODI4NTc=',
      'avatar_url': 'https://avatars1.githubusercontent.com/u/1382857?v=4',
      'gravatar_id': '',
      'url': 'https://api.github.com/users/rms81',
      'html_url': 'https://github.com/rms81',
      'followers_url': 'https://api.github.com/users/rms81/followers',
      'following_url': 'https://api.github.com/users/rms81/following{/other_user}',
      'gists_url': 'https://api.github.com/users/rms81/gists{/gist_id}',
      'starred_url': 'https://api.github.com/users/rms81/starred{/owner}{/repo}',
      'subscriptions_url': 'https://api.github.com/users/rms81/subscriptions',
      'organizations_url': 'https://api.github.com/users/rms81/orgs',
      'repos_url': 'https://api.github.com/users/rms81/repos',
      'events_url': 'https://api.github.com/users/rms81/events{/privacy}',
      'received_events_url': 'https://api.github.com/users/rms81/received_events',
      'type': 'User',
      'site_admin': False},
     'repo': {'id': 259566803,
      'node_id': 'MDEwOlJlcG9zaXRvcnkyNTk1NjY4MDM=',
      'name': 'aspnetcore-app-workshop',
      'full_name': 'rms81/aspnetcore-app-workshop',
      'private': False,
      'owner': {'login': 'rms81',
       'id': 1382857,
       'node_id': 'MDQ6VXNlcjEzODI4NTc=',
       'avatar_url': 'https://avatars1.githubusercontent.com/u/1382857?v=4',
       'gravatar_id': '',
       'url': 'https://api.github.com/users/rms81',
       'html_url': 'https://github.com/rms81',
       'followers_url': 'https://api.github.com/users/rms81/followers',
       'following_url': 'https://api.github.com/users/rms81/following{/other_user}',
       'gists_url': 'https://api.github.com/users/rms81/gists{/gist_id}',
       'starred_url': 'https://api.github.com/users/rms81/starred{/owner}{/repo}',
       'subscriptions_url': 'https://api.github.com/users/rms81/subscriptions',
       'organizations_url': 'https://api.github.com/users/rms81/orgs',
       'repos_url': 'https://api.github.com/users/rms81/repos',
       'events_url': 'https://api.github.com/users/rms81/events{/privacy}',
       'received_events_url': 'https://api.github.com/users/rms81/received_events',
       'type': 'User',
       'site_admin': False},
      'html_url': 'https://github.com/rms81/aspnetcore-app-workshop',
      'description': 'This workshop will teach you ASP.NET Core by building a complete conference management website from scratch.',
      'fork': True,
      'url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop',
      'forks_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/forks',
      'keys_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/keys{/key_id}',
      'collaborators_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/collaborators{/collaborator}',
      'teams_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/teams',
      'hooks_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/hooks',
      'issue_events_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/issues/events{/number}',
      'events_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/events',
      'assignees_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/assignees{/user}',
      'branches_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/branches{/branch}',
      'tags_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/tags',
      'blobs_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/git/blobs{/sha}',
      'git_tags_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/git/tags{/sha}',
      'git_refs_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/git/refs{/sha}',
      'trees_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/git/trees{/sha}',
      'statuses_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/statuses/{sha}',
      'languages_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/languages',
      'stargazers_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/stargazers',
      'contributors_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/contributors',
      'subscribers_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/subscribers',
      'subscription_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/subscription',
      'commits_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/commits{/sha}',
      'git_commits_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/git/commits{/sha}',
      'comments_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/comments{/number}',
      'issue_comment_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/issues/comments{/number}',
      'contents_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/contents/{+path}',
      'compare_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/compare/{base}...{head}',
      'merges_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/merges',
      'archive_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/{archive_format}{/ref}',
      'downloads_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/downloads',
      'issues_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/issues{/number}',
      'pulls_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/pulls{/number}',
      'milestones_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/milestones{/number}',
      'notifications_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/notifications{?since,all,participating}',
      'labels_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/labels{/name}',
      'releases_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/releases{/id}',
      'deployments_url': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/deployments',
      'created_at': '2020-04-28T07:42:46Z',
      'updated_at': '2020-04-29T10:21:12Z',
      'pushed_at': '2021-01-13T06:11:39Z',
      'git_url': 'git://github.com/rms81/aspnetcore-app-workshop.git',
      'ssh_url': 'git@github.com:rms81/aspnetcore-app-workshop.git',
      'clone_url': 'https://github.com/rms81/aspnetcore-app-workshop.git',
      'svn_url': 'https://github.com/rms81/aspnetcore-app-workshop',
      'homepage': '',
      'size': 7114,
      'stargazers_count': 0,
      'watchers_count': 0,
      'language': 'C#',
      'has_issues': False,
      'has_projects': True,
      'has_downloads': True,
      'has_wiki': True,
      'has_pages': False,
      'forks_count': 0,
      'mirror_url': None,
      'archived': False,
      'disabled': False,
      'open_issues_count': 11,
      'license': {'key': 'mit',
       'name': 'MIT License',
       'spdx_id': 'MIT',
       'url': 'https://api.github.com/licenses/mit',
       'node_id': 'MDc6TGljZW5zZTEz'},
      'forks': 0,
      'open_issues': 11,
      'watchers': 0,
      'default_branch': 'master'}},
    '_links': {'self': {'href': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/pulls/77'},
     'html': {'href': 'https://github.com/rms81/aspnetcore-app-workshop/pull/77'},
     'issue': {'href': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/issues/77'},
     'comments': {'href': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/issues/77/comments'},
     'review_comments': {'href': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/pulls/77/comments'},
     'review_comment': {'href': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/pulls/comments{/number}'},
     'commits': {'href': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/pulls/77/commits'},
     'statuses': {'href': 'https://api.github.com/repos/rms81/aspnetcore-app-workshop/statuses/af1a0844d6ae3b6d25b2fac49e9a12141ce65814'}},
    'author_association': 'NONE',
    'active_lock_reason': None,
    'merged': False,
    'mergeable': None,
    'rebaseable': None,
    'mergeable_state': 'unknown',
    'merged_by': None,
    'comments': 0,
    'review_comments': 0,
    'maintainer_can_modify': False,
    'commits': 1,
    'additions': 2,
    'deletions': 2,
    'changed_files': 2}},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869082',
  'type': 'PushEvent',
  'actor': {'id': 211358,
   'login': 'averissimo',
   'display_login': 'averissimo',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/averissimo',
   'avatar_url': 'https://avatars.githubusercontent.com/u/211358?'},
  'repo': {'id': 250299473,
   'name': 'averissimo/covid19-analysis',
   'url': 'https://api.github.com/repos/averissimo/covid19-analysis'},
  'payload': {'push_id': 6341547306,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/master',
   'head': 'bb6dccc3b3fd272e0a29612923ecbbc9e2baca73',
   'before': '48f4aed08df2544c1c6f84ba0e3640f5d1d90840',
   'commits': [{'sha': 'bb6dccc3b3fd272e0a29612923ecbbc9e2baca73',
     'author': {'email': 'action@github.com', 'name': 'GitHub Action'},
     'message': 'Update site (automatic)',
     'distinct': True,
     'url': 'https://api.github.com/repos/averissimo/covid19-analysis/commits/bb6dccc3b3fd272e0a29612923ecbbc9e2baca73'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:41Z'},
 {'id': '14800869088',
  'type': 'DeleteEvent',
  'actor': {'id': 49699333,
   'login': 'dependabot[bot]',
   'display_login': 'dependabot',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/dependabot[bot]',
   'avatar_url': 'https://avatars.githubusercontent.com/u/49699333?'},
  'repo': {'id': 295186993,
   'name': 'M4nare/MSA_JpetStore_Order',
   'url': 'https://api.github.com/repos/M4nare/MSA_JpetStore_Order'},
  'payload': {'ref': 'dependabot/maven/spring.version-5.3.2',
   'ref_type': 'branch',
   'pusher_type': 'user'},
  'public': True,
  'created_at': '2021-01-13T06:11:42Z'},
 {'id': '14800869084',
  'type': 'CreateEvent',
  'actor': {'id': 37119227,
   'login': 'zubair-shabir',
   'display_login': 'zubair-shabir',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/zubair-shabir',
   'avatar_url': 'https://avatars.githubusercontent.com/u/37119227?'},
  'repo': {'id': 329211419,
   'name': 'zubair-shabir/weather_API',
   'url': 'https://api.github.com/repos/zubair-shabir/weather_API'},
  'payload': {'ref': None,
   'ref_type': 'repository',
   'master_branch': 'master',
   'description': None,
   'pusher_type': 'user'},
  'public': True,
  'created_at': '2021-01-13T06:11:41Z'},
 {'id': '14800869073',
  'type': 'PushEvent',
  'actor': {'id': 69527441,
   'login': 'kumar-jak',
   'display_login': 'kumar-jak',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/kumar-jak',
   'avatar_url': 'https://avatars.githubusercontent.com/u/69527441?'},
  'repo': {'id': 286796552,
   'name': 'openpbs-codeanalyzer/openpbs',
   'url': 'https://api.github.com/repos/openpbs-codeanalyzer/openpbs'},
  'payload': {'push_id': 6341547290,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/azure-pipelines',
   'head': '4b47b97a1485f8e0d2e90ab680e627e1f066c4cb',
   'before': '5dbd254d3186b1c33aa96b5dc751922550061a37',
   'commits': [{'sha': '4b47b97a1485f8e0d2e90ab680e627e1f066c4cb',
     'author': {'email': '69527441+kumar-jak@users.noreply.github.com',
      'name': 'kumar-jak'},
     'message': 'Update azure-pipelines.yml',
     'distinct': True,
     'url': 'https://api.github.com/repos/openpbs-codeanalyzer/openpbs/commits/4b47b97a1485f8e0d2e90ab680e627e1f066c4cb'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:41Z',
  'org': {'id': 69527933,
   'login': 'openpbs-codeanalyzer',
   'gravatar_id': '',
   'url': 'https://api.github.com/orgs/openpbs-codeanalyzer',
   'avatar_url': 'https://avatars.githubusercontent.com/u/69527933?'}},
 {'id': '14800869041',
  'type': 'PushEvent',
  'actor': {'id': 19664583,
   'login': 'MetinArslanturk',
   'display_login': 'MetinArslanturk',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/MetinArslanturk',
   'avatar_url': 'https://avatars.githubusercontent.com/u/19664583?'},
  'repo': {'id': 329208043,
   'name': 'MetinArslanturk/react-animate-on-scroll',
   'url': 'https://api.github.com/repos/MetinArslanturk/react-animate-on-scroll'},
  'payload': {'push_id': 6341547278,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/master',
   'head': 'b95173e88faab391ad10943a137e4967fa7d6870',
   'before': '57647dcbe73cfb70383c54d7a0d3c473cd31a7c9',
   'commits': [{'sha': 'b95173e88faab391ad10943a137e4967fa7d6870',
     'author': {'email': 'metinmint@gmail.com', 'name': 'MetinArslanturk'},
     'message': 'Bold font for warnings',
     'distinct': True,
     'url': 'https://api.github.com/repos/MetinArslanturk/react-animate-on-scroll/commits/b95173e88faab391ad10943a137e4967fa7d6870'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:41Z'},
 {'id': '14800869070',
  'type': 'PushEvent',
  'actor': {'id': 77344476,
   'login': 'SunilKrGupta',
   'display_login': 'SunilKrGupta',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/SunilKrGupta',
   'avatar_url': 'https://avatars.githubusercontent.com/u/77344476?'},
  'repo': {'id': 329209792,
   'name': 'SunilKrGupta/Welcome-World',
   'url': 'https://api.github.com/repos/SunilKrGupta/Welcome-World'},
  'payload': {'push_id': 6341547299,
   'size': 2,
   'distinct_size': 1,
   'ref': 'refs/heads/main',
   'head': '44983a00a35dd0f0462fa0e73595efcb3262ec40',
   'before': '5e4e16b3aa14fb172f242837791230b4a595eceb',
   'commits': [{'sha': '52a083b96c794a8ccd001caef3167564672885d6',
     'author': {'email': '77344476+SunilKrGupta@users.noreply.github.com',
      'name': 'SunilKrGupta'},
     'message': 'Update README.md\n\nAdd mentioned above',
     'distinct': False,
     'url': 'https://api.github.com/repos/SunilKrGupta/Welcome-World/commits/52a083b96c794a8ccd001caef3167564672885d6'},
    {'sha': '44983a00a35dd0f0462fa0e73595efcb3262ec40',
     'author': {'email': '77344476+SunilKrGupta@users.noreply.github.com',
      'name': 'SunilKrGupta'},
     'message': 'Merge pull request #1 from SunilKrGupta/readme-edits\n\nUpdate README.md',
     'distinct': True,
     'url': 'https://api.github.com/repos/SunilKrGupta/Welcome-World/commits/44983a00a35dd0f0462fa0e73595efcb3262ec40'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:41Z'},
 {'id': '14800869065',
  'type': 'ForkEvent',
  'actor': {'id': 15220788,
   'login': 'hanifmhd',
   'display_login': 'hanifmhd',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/hanifmhd',
   'avatar_url': 'https://avatars.githubusercontent.com/u/15220788?'},
  'repo': {'id': 144462630,
   'name': 'async-library/react-async',
   'url': 'https://api.github.com/repos/async-library/react-async'},
  'payload': {'forkee': {'id': 329211417,
    'node_id': 'MDEwOlJlcG9zaXRvcnkzMjkyMTE0MTc=',
    'name': 'react-async',
    'full_name': 'hanifmhd/react-async',
    'private': False,
    'owner': {'login': 'hanifmhd',
     'id': 15220788,
     'node_id': 'MDQ6VXNlcjE1MjIwNzg4',
     'avatar_url': 'https://avatars0.githubusercontent.com/u/15220788?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/hanifmhd',
     'html_url': 'https://github.com/hanifmhd',
     'followers_url': 'https://api.github.com/users/hanifmhd/followers',
     'following_url': 'https://api.github.com/users/hanifmhd/following{/other_user}',
     'gists_url': 'https://api.github.com/users/hanifmhd/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/hanifmhd/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/hanifmhd/subscriptions',
     'organizations_url': 'https://api.github.com/users/hanifmhd/orgs',
     'repos_url': 'https://api.github.com/users/hanifmhd/repos',
     'events_url': 'https://api.github.com/users/hanifmhd/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/hanifmhd/received_events',
     'type': 'User',
     'site_admin': False},
    'html_url': 'https://github.com/hanifmhd/react-async',
    'description': '🍾 Flexible promise-based React data loader',
    'fork': True,
    'url': 'https://api.github.com/repos/hanifmhd/react-async',
    'forks_url': 'https://api.github.com/repos/hanifmhd/react-async/forks',
    'keys_url': 'https://api.github.com/repos/hanifmhd/react-async/keys{/key_id}',
    'collaborators_url': 'https://api.github.com/repos/hanifmhd/react-async/collaborators{/collaborator}',
    'teams_url': 'https://api.github.com/repos/hanifmhd/react-async/teams',
    'hooks_url': 'https://api.github.com/repos/hanifmhd/react-async/hooks',
    'issue_events_url': 'https://api.github.com/repos/hanifmhd/react-async/issues/events{/number}',
    'events_url': 'https://api.github.com/repos/hanifmhd/react-async/events',
    'assignees_url': 'https://api.github.com/repos/hanifmhd/react-async/assignees{/user}',
    'branches_url': 'https://api.github.com/repos/hanifmhd/react-async/branches{/branch}',
    'tags_url': 'https://api.github.com/repos/hanifmhd/react-async/tags',
    'blobs_url': 'https://api.github.com/repos/hanifmhd/react-async/git/blobs{/sha}',
    'git_tags_url': 'https://api.github.com/repos/hanifmhd/react-async/git/tags{/sha}',
    'git_refs_url': 'https://api.github.com/repos/hanifmhd/react-async/git/refs{/sha}',
    'trees_url': 'https://api.github.com/repos/hanifmhd/react-async/git/trees{/sha}',
    'statuses_url': 'https://api.github.com/repos/hanifmhd/react-async/statuses/{sha}',
    'languages_url': 'https://api.github.com/repos/hanifmhd/react-async/languages',
    'stargazers_url': 'https://api.github.com/repos/hanifmhd/react-async/stargazers',
    'contributors_url': 'https://api.github.com/repos/hanifmhd/react-async/contributors',
    'subscribers_url': 'https://api.github.com/repos/hanifmhd/react-async/subscribers',
    'subscription_url': 'https://api.github.com/repos/hanifmhd/react-async/subscription',
    'commits_url': 'https://api.github.com/repos/hanifmhd/react-async/commits{/sha}',
    'git_commits_url': 'https://api.github.com/repos/hanifmhd/react-async/git/commits{/sha}',
    'comments_url': 'https://api.github.com/repos/hanifmhd/react-async/comments{/number}',
    'issue_comment_url': 'https://api.github.com/repos/hanifmhd/react-async/issues/comments{/number}',
    'contents_url': 'https://api.github.com/repos/hanifmhd/react-async/contents/{+path}',
    'compare_url': 'https://api.github.com/repos/hanifmhd/react-async/compare/{base}...{head}',
    'merges_url': 'https://api.github.com/repos/hanifmhd/react-async/merges',
    'archive_url': 'https://api.github.com/repos/hanifmhd/react-async/{archive_format}{/ref}',
    'downloads_url': 'https://api.github.com/repos/hanifmhd/react-async/downloads',
    'issues_url': 'https://api.github.com/repos/hanifmhd/react-async/issues{/number}',
    'pulls_url': 'https://api.github.com/repos/hanifmhd/react-async/pulls{/number}',
    'milestones_url': 'https://api.github.com/repos/hanifmhd/react-async/milestones{/number}',
    'notifications_url': 'https://api.github.com/repos/hanifmhd/react-async/notifications{?since,all,participating}',
    'labels_url': 'https://api.github.com/repos/hanifmhd/react-async/labels{/name}',
    'releases_url': 'https://api.github.com/repos/hanifmhd/react-async/releases{/id}',
    'deployments_url': 'https://api.github.com/repos/hanifmhd/react-async/deployments',
    'created_at': '2021-01-13T06:11:41Z',
    'updated_at': '2021-01-12T13:00:38Z',
    'pushed_at': '2021-01-09T12:51:44Z',
    'git_url': 'git://github.com/hanifmhd/react-async.git',
    'ssh_url': 'git@github.com:hanifmhd/react-async.git',
    'clone_url': 'https://github.com/hanifmhd/react-async.git',
    'svn_url': 'https://github.com/hanifmhd/react-async',
    'homepage': 'https://docs.react-async.com/',
    'size': 4962,
    'stargazers_count': 0,
    'watchers_count': 0,
    'language': None,
    'has_issues': False,
    'has_projects': True,
    'has_downloads': True,
    'has_wiki': False,
    'has_pages': False,
    'forks_count': 0,
    'mirror_url': None,
    'archived': False,
    'disabled': False,
    'open_issues_count': 0,
    'license': {'key': 'isc',
     'name': 'ISC License',
     'spdx_id': 'ISC',
     'url': 'https://api.github.com/licenses/isc',
     'node_id': 'MDc6TGljZW5zZTEw'},
    'forks': 0,
    'open_issues': 0,
    'watchers': 0,
    'default_branch': 'main',
    'public': True}},
  'public': True,
  'created_at': '2021-01-13T06:11:41Z',
  'org': {'id': 54310907,
   'login': 'async-library',
   'gravatar_id': '',
   'url': 'https://api.github.com/orgs/async-library',
   'avatar_url': 'https://avatars.githubusercontent.com/u/54310907?'}},
 {'id': '14800869059',
  'type': 'PullRequestEvent',
  'actor': {'id': 40902,
   'login': 'davies',
   'display_login': 'davies',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/davies',
   'avatar_url': 'https://avatars.githubusercontent.com/u/40902?'},
  'repo': {'id': 327859577,
   'name': 'juicedata/juicefs',
   'url': 'https://api.github.com/repos/juicedata/juicefs'},
  'payload': {'action': 'closed',
   'number': 39,
   'pull_request': {'url': 'https://api.github.com/repos/juicedata/juicefs/pulls/39',
    'id': 553941910,
    'node_id': 'MDExOlB1bGxSZXF1ZXN0NTUzOTQxOTEw',
    'html_url': 'https://github.com/juicedata/juicefs/pull/39',
    'diff_url': 'https://github.com/juicedata/juicefs/pull/39.diff',
    'patch_url': 'https://github.com/juicedata/juicefs/pull/39.patch',
    'issue_url': 'https://api.github.com/repos/juicedata/juicefs/issues/39',
    'number': 39,
    'state': 'closed',
    'locked': False,
    'title': 'Fix some errors reported by golangci-lint',
    'user': {'login': 'suzaku',
     'id': 116473,
     'node_id': 'MDQ6VXNlcjExNjQ3Mw==',
     'avatar_url': 'https://avatars2.githubusercontent.com/u/116473?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/suzaku',
     'html_url': 'https://github.com/suzaku',
     'followers_url': 'https://api.github.com/users/suzaku/followers',
     'following_url': 'https://api.github.com/users/suzaku/following{/other_user}',
     'gists_url': 'https://api.github.com/users/suzaku/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/suzaku/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/suzaku/subscriptions',
     'organizations_url': 'https://api.github.com/users/suzaku/orgs',
     'repos_url': 'https://api.github.com/users/suzaku/repos',
     'events_url': 'https://api.github.com/users/suzaku/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/suzaku/received_events',
     'type': 'User',
     'site_admin': False},
    'body': 'Some unused variables and functions are found by the linter, so they are deleted in this PR.',
    'created_at': '2021-01-13T05:57:30Z',
    'updated_at': '2021-01-13T06:11:41Z',
    'closed_at': '2021-01-13T06:11:41Z',
    'merged_at': '2021-01-13T06:11:41Z',
    'merge_commit_sha': '1ebb8a2bd5b0844520f59f969a6e7090893770a9',
    'assignee': None,
    'assignees': [],
    'requested_reviewers': [],
    'requested_teams': [],
    'labels': [],
    'milestone': None,
    'draft': False,
    'commits_url': 'https://api.github.com/repos/juicedata/juicefs/pulls/39/commits',
    'review_comments_url': 'https://api.github.com/repos/juicedata/juicefs/pulls/39/comments',
    'review_comment_url': 'https://api.github.com/repos/juicedata/juicefs/pulls/comments{/number}',
    'comments_url': 'https://api.github.com/repos/juicedata/juicefs/issues/39/comments',
    'statuses_url': 'https://api.github.com/repos/juicedata/juicefs/statuses/59e4abc03b098d592e004ac0b328ffbc2a92398a',
    'head': {'label': 'suzaku:fix-golangci-lint-errs',
     'ref': 'fix-golangci-lint-errs',
     'sha': '59e4abc03b098d592e004ac0b328ffbc2a92398a',
     'user': {'login': 'suzaku',
      'id': 116473,
      'node_id': 'MDQ6VXNlcjExNjQ3Mw==',
      'avatar_url': 'https://avatars2.githubusercontent.com/u/116473?v=4',
      'gravatar_id': '',
      'url': 'https://api.github.com/users/suzaku',
      'html_url': 'https://github.com/suzaku',
      'followers_url': 'https://api.github.com/users/suzaku/followers',
      'following_url': 'https://api.github.com/users/suzaku/following{/other_user}',
      'gists_url': 'https://api.github.com/users/suzaku/gists{/gist_id}',
      'starred_url': 'https://api.github.com/users/suzaku/starred{/owner}{/repo}',
      'subscriptions_url': 'https://api.github.com/users/suzaku/subscriptions',
      'organizations_url': 'https://api.github.com/users/suzaku/orgs',
      'repos_url': 'https://api.github.com/users/suzaku/repos',
      'events_url': 'https://api.github.com/users/suzaku/events{/privacy}',
      'received_events_url': 'https://api.github.com/users/suzaku/received_events',
      'type': 'User',
      'site_admin': False},
     'repo': {'id': 328542180,
      'node_id': 'MDEwOlJlcG9zaXRvcnkzMjg1NDIxODA=',
      'name': 'juicefs',
      'full_name': 'suzaku/juicefs',
      'private': False,
      'owner': {'login': 'suzaku',
       'id': 116473,
       'node_id': 'MDQ6VXNlcjExNjQ3Mw==',
       'avatar_url': 'https://avatars2.githubusercontent.com/u/116473?v=4',
       'gravatar_id': '',
       'url': 'https://api.github.com/users/suzaku',
       'html_url': 'https://github.com/suzaku',
       'followers_url': 'https://api.github.com/users/suzaku/followers',
       'following_url': 'https://api.github.com/users/suzaku/following{/other_user}',
       'gists_url': 'https://api.github.com/users/suzaku/gists{/gist_id}',
       'starred_url': 'https://api.github.com/users/suzaku/starred{/owner}{/repo}',
       'subscriptions_url': 'https://api.github.com/users/suzaku/subscriptions',
       'organizations_url': 'https://api.github.com/users/suzaku/orgs',
       'repos_url': 'https://api.github.com/users/suzaku/repos',
       'events_url': 'https://api.github.com/users/suzaku/events{/privacy}',
       'received_events_url': 'https://api.github.com/users/suzaku/received_events',
       'type': 'User',
       'site_admin': False},
      'html_url': 'https://github.com/suzaku/juicefs',
      'description': 'A shared POSIX file system built on top of Redis and S3.',
      'fork': True,
      'url': 'https://api.github.com/repos/suzaku/juicefs',
      'forks_url': 'https://api.github.com/repos/suzaku/juicefs/forks',
      'keys_url': 'https://api.github.com/repos/suzaku/juicefs/keys{/key_id}',
      'collaborators_url': 'https://api.github.com/repos/suzaku/juicefs/collaborators{/collaborator}',
      'teams_url': 'https://api.github.com/repos/suzaku/juicefs/teams',
      'hooks_url': 'https://api.github.com/repos/suzaku/juicefs/hooks',
      'issue_events_url': 'https://api.github.com/repos/suzaku/juicefs/issues/events{/number}',
      'events_url': 'https://api.github.com/repos/suzaku/juicefs/events',
      'assignees_url': 'https://api.github.com/repos/suzaku/juicefs/assignees{/user}',
      'branches_url': 'https://api.github.com/repos/suzaku/juicefs/branches{/branch}',
      'tags_url': 'https://api.github.com/repos/suzaku/juicefs/tags',
      'blobs_url': 'https://api.github.com/repos/suzaku/juicefs/git/blobs{/sha}',
      'git_tags_url': 'https://api.github.com/repos/suzaku/juicefs/git/tags{/sha}',
      'git_refs_url': 'https://api.github.com/repos/suzaku/juicefs/git/refs{/sha}',
      'trees_url': 'https://api.github.com/repos/suzaku/juicefs/git/trees{/sha}',
      'statuses_url': 'https://api.github.com/repos/suzaku/juicefs/statuses/{sha}',
      'languages_url': 'https://api.github.com/repos/suzaku/juicefs/languages',
      'stargazers_url': 'https://api.github.com/repos/suzaku/juicefs/stargazers',
      'contributors_url': 'https://api.github.com/repos/suzaku/juicefs/contributors',
      'subscribers_url': 'https://api.github.com/repos/suzaku/juicefs/subscribers',
      'subscription_url': 'https://api.github.com/repos/suzaku/juicefs/subscription',
      'commits_url': 'https://api.github.com/repos/suzaku/juicefs/commits{/sha}',
      'git_commits_url': 'https://api.github.com/repos/suzaku/juicefs/git/commits{/sha}',
      'comments_url': 'https://api.github.com/repos/suzaku/juicefs/comments{/number}',
      'issue_comment_url': 'https://api.github.com/repos/suzaku/juicefs/issues/comments{/number}',
      'contents_url': 'https://api.github.com/repos/suzaku/juicefs/contents/{+path}',
      'compare_url': 'https://api.github.com/repos/suzaku/juicefs/compare/{base}...{head}',
      'merges_url': 'https://api.github.com/repos/suzaku/juicefs/merges',
      'archive_url': 'https://api.github.com/repos/suzaku/juicefs/{archive_format}{/ref}',
      'downloads_url': 'https://api.github.com/repos/suzaku/juicefs/downloads',
      'issues_url': 'https://api.github.com/repos/suzaku/juicefs/issues{/number}',
      'pulls_url': 'https://api.github.com/repos/suzaku/juicefs/pulls{/number}',
      'milestones_url': 'https://api.github.com/repos/suzaku/juicefs/milestones{/number}',
      'notifications_url': 'https://api.github.com/repos/suzaku/juicefs/notifications{?since,all,participating}',
      'labels_url': 'https://api.github.com/repos/suzaku/juicefs/labels{/name}',
      'releases_url': 'https://api.github.com/repos/suzaku/juicefs/releases{/id}',
      'deployments_url': 'https://api.github.com/repos/suzaku/juicefs/deployments',
      'created_at': '2021-01-11T03:51:13Z',
      'updated_at': '2021-01-12T09:22:36Z',
      'pushed_at': '2021-01-13T05:34:23Z',
      'git_url': 'git://github.com/suzaku/juicefs.git',
      'ssh_url': 'git@github.com:suzaku/juicefs.git',
      'clone_url': 'https://github.com/suzaku/juicefs.git',
      'svn_url': 'https://github.com/suzaku/juicefs',
      'homepage': None,
      'size': 432,
      'stargazers_count': 0,
      'watchers_count': 0,
      'language': 'Go',
      'has_issues': False,
      'has_projects': True,
      'has_downloads': True,
      'has_wiki': True,
      'has_pages': False,
      'forks_count': 0,
      'mirror_url': None,
      'archived': False,
      'disabled': False,
      'open_issues_count': 0,
      'license': {'key': 'agpl-3.0',
       'name': 'GNU Affero General Public License v3.0',
       'spdx_id': 'AGPL-3.0',
       'url': 'https://api.github.com/licenses/agpl-3.0',
       'node_id': 'MDc6TGljZW5zZTE='},
      'forks': 0,
      'open_issues': 0,
      'watchers': 0,
      'default_branch': 'main'}},
    'base': {'label': 'juicedata:main',
     'ref': 'main',
     'sha': '5da313a6643242c4e9035477d8808874403a8c3f',
     'user': {'login': 'juicedata',
      'id': 27241737,
      'node_id': 'MDEyOk9yZ2FuaXphdGlvbjI3MjQxNzM3',
      'avatar_url': 'https://avatars3.githubusercontent.com/u/27241737?v=4',
      'gravatar_id': '',
      'url': 'https://api.github.com/users/juicedata',
      'html_url': 'https://github.com/juicedata',
      'followers_url': 'https://api.github.com/users/juicedata/followers',
      'following_url': 'https://api.github.com/users/juicedata/following{/other_user}',
      'gists_url': 'https://api.github.com/users/juicedata/gists{/gist_id}',
      'starred_url': 'https://api.github.com/users/juicedata/starred{/owner}{/repo}',
      'subscriptions_url': 'https://api.github.com/users/juicedata/subscriptions',
      'organizations_url': 'https://api.github.com/users/juicedata/orgs',
      'repos_url': 'https://api.github.com/users/juicedata/repos',
      'events_url': 'https://api.github.com/users/juicedata/events{/privacy}',
      'received_events_url': 'https://api.github.com/users/juicedata/received_events',
      'type': 'Organization',
      'site_admin': False},
     'repo': {'id': 327859577,
      'node_id': 'MDEwOlJlcG9zaXRvcnkzMjc4NTk1Nzc=',
      'name': 'juicefs',
      'full_name': 'juicedata/juicefs',
      'private': False,
      'owner': {'login': 'juicedata',
       'id': 27241737,
       'node_id': 'MDEyOk9yZ2FuaXphdGlvbjI3MjQxNzM3',
       'avatar_url': 'https://avatars3.githubusercontent.com/u/27241737?v=4',
       'gravatar_id': '',
       'url': 'https://api.github.com/users/juicedata',
       'html_url': 'https://github.com/juicedata',
       'followers_url': 'https://api.github.com/users/juicedata/followers',
       'following_url': 'https://api.github.com/users/juicedata/following{/other_user}',
       'gists_url': 'https://api.github.com/users/juicedata/gists{/gist_id}',
       'starred_url': 'https://api.github.com/users/juicedata/starred{/owner}{/repo}',
       'subscriptions_url': 'https://api.github.com/users/juicedata/subscriptions',
       'organizations_url': 'https://api.github.com/users/juicedata/orgs',
       'repos_url': 'https://api.github.com/users/juicedata/repos',
       'events_url': 'https://api.github.com/users/juicedata/events{/privacy}',
       'received_events_url': 'https://api.github.com/users/juicedata/received_events',
       'type': 'Organization',
       'site_admin': False},
      'html_url': 'https://github.com/juicedata/juicefs',
      'description': 'A distributed POSIX file system built on top of Redis and S3.',
      'fork': False,
      'url': 'https://api.github.com/repos/juicedata/juicefs',
      'forks_url': 'https://api.github.com/repos/juicedata/juicefs/forks',
      'keys_url': 'https://api.github.com/repos/juicedata/juicefs/keys{/key_id}',
      'collaborators_url': 'https://api.github.com/repos/juicedata/juicefs/collaborators{/collaborator}',
      'teams_url': 'https://api.github.com/repos/juicedata/juicefs/teams',
      'hooks_url': 'https://api.github.com/repos/juicedata/juicefs/hooks',
      'issue_events_url': 'https://api.github.com/repos/juicedata/juicefs/issues/events{/number}',
      'events_url': 'https://api.github.com/repos/juicedata/juicefs/events',
      'assignees_url': 'https://api.github.com/repos/juicedata/juicefs/assignees{/user}',
      'branches_url': 'https://api.github.com/repos/juicedata/juicefs/branches{/branch}',
      'tags_url': 'https://api.github.com/repos/juicedata/juicefs/tags',
      'blobs_url': 'https://api.github.com/repos/juicedata/juicefs/git/blobs{/sha}',
      'git_tags_url': 'https://api.github.com/repos/juicedata/juicefs/git/tags{/sha}',
      'git_refs_url': 'https://api.github.com/repos/juicedata/juicefs/git/refs{/sha}',
      'trees_url': 'https://api.github.com/repos/juicedata/juicefs/git/trees{/sha}',
      'statuses_url': 'https://api.github.com/repos/juicedata/juicefs/statuses/{sha}',
      'languages_url': 'https://api.github.com/repos/juicedata/juicefs/languages',
      'stargazers_url': 'https://api.github.com/repos/juicedata/juicefs/stargazers',
      'contributors_url': 'https://api.github.com/repos/juicedata/juicefs/contributors',
      'subscribers_url': 'https://api.github.com/repos/juicedata/juicefs/subscribers',
      'subscription_url': 'https://api.github.com/repos/juicedata/juicefs/subscription',
      'commits_url': 'https://api.github.com/repos/juicedata/juicefs/commits{/sha}',
      'git_commits_url': 'https://api.github.com/repos/juicedata/juicefs/git/commits{/sha}',
      'comments_url': 'https://api.github.com/repos/juicedata/juicefs/comments{/number}',
      'issue_comment_url': 'https://api.github.com/repos/juicedata/juicefs/issues/comments{/number}',
      'contents_url': 'https://api.github.com/repos/juicedata/juicefs/contents/{+path}',
      'compare_url': 'https://api.github.com/repos/juicedata/juicefs/compare/{base}...{head}',
      'merges_url': 'https://api.github.com/repos/juicedata/juicefs/merges',
      'archive_url': 'https://api.github.com/repos/juicedata/juicefs/{archive_format}{/ref}',
      'downloads_url': 'https://api.github.com/repos/juicedata/juicefs/downloads',
      'issues_url': 'https://api.github.com/repos/juicedata/juicefs/issues{/number}',
      'pulls_url': 'https://api.github.com/repos/juicedata/juicefs/pulls{/number}',
      'milestones_url': 'https://api.github.com/repos/juicedata/juicefs/milestones{/number}',
      'notifications_url': 'https://api.github.com/repos/juicedata/juicefs/notifications{?since,all,participating}',
      'labels_url': 'https://api.github.com/repos/juicedata/juicefs/labels{/name}',
      'releases_url': 'https://api.github.com/repos/juicedata/juicefs/releases{/id}',
      'deployments_url': 'https://api.github.com/repos/juicedata/juicefs/deployments',
      'created_at': '2021-01-08T09:39:46Z',
      'updated_at': '2021-01-13T06:11:25Z',
      'pushed_at': '2021-01-13T06:11:41Z',
      'git_url': 'git://github.com/juicedata/juicefs.git',
      'ssh_url': 'git@github.com:juicedata/juicefs.git',
      'clone_url': 'https://github.com/juicedata/juicefs.git',
      'svn_url': 'https://github.com/juicedata/juicefs',
      'homepage': '',
      'size': 433,
      'stargazers_count': 1089,
      'watchers_count': 1089,
      'language': 'Go',
      'has_issues': True,
      'has_projects': False,
      'has_downloads': True,
      'has_wiki': True,
      'has_pages': False,
      'forks_count': 58,
      'mirror_url': None,
      'archived': False,
      'disabled': False,
      'open_issues_count': 11,
      'license': {'key': 'agpl-3.0',
       'name': 'GNU Affero General Public License v3.0',
       'spdx_id': 'AGPL-3.0',
       'url': 'https://api.github.com/licenses/agpl-3.0',
       'node_id': 'MDc6TGljZW5zZTE='},
      'forks': 58,
      'open_issues': 11,
      'watchers': 1089,
      'default_branch': 'main'}},
    '_links': {'self': {'href': 'https://api.github.com/repos/juicedata/juicefs/pulls/39'},
     'html': {'href': 'https://github.com/juicedata/juicefs/pull/39'},
     'issue': {'href': 'https://api.github.com/repos/juicedata/juicefs/issues/39'},
     'comments': {'href': 'https://api.github.com/repos/juicedata/juicefs/issues/39/comments'},
     'review_comments': {'href': 'https://api.github.com/repos/juicedata/juicefs/pulls/39/comments'},
     'review_comment': {'href': 'https://api.github.com/repos/juicedata/juicefs/pulls/comments{/number}'},
     'commits': {'href': 'https://api.github.com/repos/juicedata/juicefs/pulls/39/commits'},
     'statuses': {'href': 'https://api.github.com/repos/juicedata/juicefs/statuses/59e4abc03b098d592e004ac0b328ffbc2a92398a'}},
    'author_association': 'CONTRIBUTOR',
    'active_lock_reason': None,
    'merged': True,
    'mergeable': None,
    'rebaseable': None,
    'mergeable_state': 'unknown',
    'merged_by': {'login': 'davies',
     'id': 40902,
     'node_id': 'MDQ6VXNlcjQwOTAy',
     'avatar_url': 'https://avatars1.githubusercontent.com/u/40902?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/davies',
     'html_url': 'https://github.com/davies',
     'followers_url': 'https://api.github.com/users/davies/followers',
     'following_url': 'https://api.github.com/users/davies/following{/other_user}',
     'gists_url': 'https://api.github.com/users/davies/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/davies/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/davies/subscriptions',
     'organizations_url': 'https://api.github.com/users/davies/orgs',
     'repos_url': 'https://api.github.com/users/davies/repos',
     'events_url': 'https://api.github.com/users/davies/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/davies/received_events',
     'type': 'User',
     'site_admin': False},
    'comments': 0,
    'review_comments': 0,
    'maintainer_can_modify': False,
    'commits': 1,
    'additions': 42,
    'deletions': 79,
    'changed_files': 10}},
  'public': True,
  'created_at': '2021-01-13T06:11:41Z',
  'org': {'id': 27241737,
   'login': 'juicedata',
   'gravatar_id': '',
   'url': 'https://api.github.com/orgs/juicedata',
   'avatar_url': 'https://avatars.githubusercontent.com/u/27241737?'}},
 {'id': '14800869050',
  'type': 'PushEvent',
  'actor': {'id': 891182,
   'login': 'andywarr',
   'display_login': 'andywarr',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/andywarr',
   'avatar_url': 'https://avatars.githubusercontent.com/u/891182?'},
  'repo': {'id': 267180037,
   'name': 'andywarr/scrabble',
   'url': 'https://api.github.com/repos/andywarr/scrabble'},
  'payload': {'push_id': 6341547283,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/master',
   'head': '40ee9d44f55d19b73827c21ae8f18dbf173774a4',
   'before': '0085498371682a5ccab59c98567d3136153f532a',
   'commits': [{'sha': '40ee9d44f55d19b73827c21ae8f18dbf173774a4',
     'author': {'email': 'andywarr@gmail.com', 'name': 'Andy Warr'},
     'message': 'Added status for near end of game',
     'distinct': True,
     'url': 'https://api.github.com/repos/andywarr/scrabble/commits/40ee9d44f55d19b73827c21ae8f18dbf173774a4'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:41Z'},
 {'id': '14800869053',
  'type': 'PushEvent',
  'actor': {'id': 76095376,
   'login': 'babobi135',
   'display_login': 'babobi135',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/babobi135',
   'avatar_url': 'https://avatars.githubusercontent.com/u/76095376?'},
  'repo': {'id': 321914160,
   'name': 'babobi135/xinhdo',
   'url': 'https://api.github.com/repos/babobi135/xinhdo'},
  'payload': {'push_id': 6341547287,
   'size': 1,
   'distinct_size': 1,
   'ref': 'refs/heads/main',
   'head': '96a3eb260886b4f587ceee38f29515b18755e0b0',
   'before': '2411dfb26835350179cf15795204c76c0b1d062a',
   'commits': [{'sha': '96a3eb260886b4f587ceee38f29515b18755e0b0',
     'author': {'email': '76095376+babobi135@users.noreply.github.com',
      'name': 'babobi135'},
     'message': '#add 1610518298615.update',
     'distinct': True,
     'url': 'https://api.github.com/repos/babobi135/xinhdo/commits/96a3eb260886b4f587ceee38f29515b18755e0b0'}]},
  'public': True,
  'created_at': '2021-01-13T06:11:41Z'},
 {'id': '14800869047',
  'type': 'IssueCommentEvent',
  'actor': {'id': 37936606,
   'login': 'github-learning-lab[bot]',
   'display_login': 'github-learning-lab',
   'gravatar_id': '',
   'url': 'https://api.github.com/users/github-learning-lab[bot]',
   'avatar_url': 'https://avatars.githubusercontent.com/u/37936606?'},
  'repo': {'id': 329211204,
   'name': 'meesh-max/java-course',
   'url': 'https://api.github.com/repos/meesh-max/java-course'},
  'payload': {'action': 'created',
   'issue': {'url': 'https://api.github.com/repos/meesh-max/java-course/issues/1',
    'repository_url': 'https://api.github.com/repos/meesh-max/java-course',
    'labels_url': 'https://api.github.com/repos/meesh-max/java-course/issues/1/labels{/name}',
    'comments_url': 'https://api.github.com/repos/meesh-max/java-course/issues/1/comments',
    'events_url': 'https://api.github.com/repos/meesh-max/java-course/issues/1/events',
    'html_url': 'https://github.com/meesh-max/java-course/issues/1',
    'id': 784819994,
    'node_id': 'MDU6SXNzdWU3ODQ4MTk5OTQ=',
    'number': 1,
    'title': 'Introduction',
    'user': {'login': 'github-learning-lab[bot]',
     'id': 37936606,
     'node_id': 'MDM6Qm90Mzc5MzY2MDY=',
     'avatar_url': 'https://avatars0.githubusercontent.com/in/10572?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D',
     'html_url': 'https://github.com/apps/github-learning-lab',
     'followers_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/followers',
     'following_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/following{/other_user}',
     'gists_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/subscriptions',
     'organizations_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/orgs',
     'repos_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/repos',
     'events_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/received_events',
     'type': 'Bot',
     'site_admin': False},
    'labels': [],
    'state': 'open',
    'locked': False,
    'assignee': None,
    'assignees': [],
    'milestone': None,
    'comments': 1,
    'created_at': '2021-01-13T06:10:42Z',
    'updated_at': '2021-01-13T06:11:41Z',
    'closed_at': None,
    'author_association': 'NONE',
    'active_lock_reason': None,
    'body': "# Java Course\n\nJava is a popular programming language for several main reasons:\n\n* It workes on many different platforms.\n* It's easy to learn and open source. \n* It's fast and powerful.\n\nJava is considered an *Object Oriented* programming language, making it easy to encapsulate data (and methods) in a _class_. A class is like a blue-print that contains all the properties that will be inherited by the _objects_ created by it. This makes it easy to organize and re-use blocks of code.\n\nJava is also a compiled language, meaning that it needs to be translated into machine readable code before it can run. \n\n## GitHub Learning Lab Instructions\n\nThis is an interactive course, where you will be prompted to do something to finish each step.\n\nIf it takes more than a few seconds for a response, try refreshing your browser. \n\n*Add a comment to this issue with the letter that answers this question.*\n\nWhich of the following is _false_ about Java?\n\na. Java is an Object Oriented programming language\nb. Java is a scripting language, read only in the browser\nc. Java files need to be compiled before you can run them",
    'performed_via_github_app': None},
   'comment': {'url': 'https://api.github.com/repos/meesh-max/java-course/issues/comments/759229937',
    'html_url': 'https://github.com/meesh-max/java-course/issues/1#issuecomment-759229937',
    'issue_url': 'https://api.github.com/repos/meesh-max/java-course/issues/1',
    'id': 759229937,
    'node_id': 'MDEyOklzc3VlQ29tbWVudDc1OTIyOTkzNw==',
    'user': {'login': 'github-learning-lab[bot]',
     'id': 37936606,
     'node_id': 'MDM6Qm90Mzc5MzY2MDY=',
     'avatar_url': 'https://avatars0.githubusercontent.com/in/10572?v=4',
     'gravatar_id': '',
     'url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D',
     'html_url': 'https://github.com/apps/github-learning-lab',
     'followers_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/followers',
     'following_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/following{/other_user}',
     'gists_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/gists{/gist_id}',
     'starred_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/starred{/owner}{/repo}',
     'subscriptions_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/subscriptions',
     'organizations_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/orgs',
     'repos_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/repos',
     'events_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/events{/privacy}',
     'received_events_url': 'https://api.github.com/users/github-learning-lab%5Bbot%5D/received_events',
     'type': 'Bot',
     'site_admin': False},
    'created_at': '2021-01-13T06:11:41Z',
    'updated_at': '2021-01-13T06:11:41Z',
    'author_association': 'NONE',
    'body': 'Sorry, that is not the right answer. 😢  \nTry again! 😄',
    'performed_via_github_app': None}},
  'public': True,
  'created_at': '2021-01-13T06:11:41Z'}]

get request

we will download dat from https://www.alphavantage.co/ we will make use their get API to download 30 min timeseries

In [32]:
API_KEY = "UKVFE0JLE0TBPDEF"
url = "https://www.alphavantage.co/query"

params = {"function" : "TIME_SERIES_INTRADAY",
          "symbol" : "IBM",
          "interval" : "30min",
          "apikey": API_KEY
}

resp = requests.get(url, params)
In [33]:
resp.status_code
Out[33]:
200
In [43]:
data = resp.json()# it actually converts already existing json data into python data
In [44]:
type(data)
Out[44]:
dict
In [45]:
data.keys()
Out[45]:
dict_keys(['Meta Data', 'Time Series (30min)'])
In [46]:
data['Meta Data']
Out[46]:
{'1. Information': 'Intraday (30min) open, high, low, close prices and volume',
 '2. Symbol': 'IBM',
 '3. Last Refreshed': '2021-01-12 20:00:00',
 '4. Interval': '30min',
 '5. Output Size': 'Compact',
 '6. Time Zone': 'US/Eastern'}
In [47]:
type(data['Time Series (30min)'])
Out[47]:
dict
In [49]:
data['Time Series (30min)'].keys()
Out[49]:
dict_keys(['2021-01-12 20:00:00', '2021-01-12 19:30:00', '2021-01-12 19:00:00', '2021-01-12 18:00:00', '2021-01-12 17:30:00', '2021-01-12 17:00:00', '2021-01-12 16:30:00', '2021-01-12 16:00:00', '2021-01-12 15:30:00', '2021-01-12 15:00:00', '2021-01-12 14:30:00', '2021-01-12 14:00:00', '2021-01-12 13:30:00', '2021-01-12 13:00:00', '2021-01-12 12:30:00', '2021-01-12 12:00:00', '2021-01-12 11:30:00', '2021-01-12 11:00:00', '2021-01-12 10:30:00', '2021-01-12 10:00:00', '2021-01-12 09:30:00', '2021-01-12 09:00:00', '2021-01-12 08:30:00', '2021-01-12 07:30:00', '2021-01-11 20:00:00', '2021-01-11 19:00:00', '2021-01-11 17:00:00', '2021-01-11 16:30:00', '2021-01-11 16:00:00', '2021-01-11 15:30:00', '2021-01-11 15:00:00', '2021-01-11 14:30:00', '2021-01-11 14:00:00', '2021-01-11 13:30:00', '2021-01-11 13:00:00', '2021-01-11 12:30:00', '2021-01-11 12:00:00', '2021-01-11 11:30:00', '2021-01-11 11:00:00', '2021-01-11 10:30:00', '2021-01-11 10:00:00', '2021-01-11 09:30:00', '2021-01-11 09:00:00', '2021-01-11 08:30:00', '2021-01-11 08:00:00', '2021-01-11 07:30:00', '2021-01-08 17:30:00', '2021-01-08 17:00:00', '2021-01-08 16:30:00', '2021-01-08 16:00:00', '2021-01-08 15:30:00', '2021-01-08 15:00:00', '2021-01-08 14:30:00', '2021-01-08 14:00:00', '2021-01-08 13:30:00', '2021-01-08 13:00:00', '2021-01-08 12:30:00', '2021-01-08 12:00:00', '2021-01-08 11:30:00', '2021-01-08 11:00:00', '2021-01-08 10:30:00', '2021-01-08 10:00:00', '2021-01-08 09:30:00', '2021-01-08 09:00:00', '2021-01-08 08:30:00', '2021-01-08 07:30:00', '2021-01-07 20:00:00', '2021-01-07 19:30:00', '2021-01-07 19:00:00', '2021-01-07 18:30:00', '2021-01-07 18:00:00', '2021-01-07 17:30:00', '2021-01-07 17:00:00', '2021-01-07 16:30:00', '2021-01-07 16:00:00', '2021-01-07 15:30:00', '2021-01-07 15:00:00', '2021-01-07 14:30:00', '2021-01-07 14:00:00', '2021-01-07 13:30:00', '2021-01-07 13:00:00', '2021-01-07 12:30:00', '2021-01-07 12:00:00', '2021-01-07 11:30:00', '2021-01-07 11:00:00', '2021-01-07 10:30:00', '2021-01-07 10:00:00', '2021-01-07 09:30:00', '2021-01-07 09:00:00', '2021-01-07 08:30:00', '2021-01-07 08:00:00', '2021-01-07 07:30:00', '2021-01-07 07:00:00', '2021-01-06 20:00:00', '2021-01-06 19:30:00', '2021-01-06 19:00:00', '2021-01-06 18:30:00', '2021-01-06 18:00:00', '2021-01-06 17:30:00', '2021-01-06 17:00:00'])
In [50]:
del jdata
In [51]:
data['Time Series (30min)']['2021-01-12 20:00:00']
Out[51]:
{'1. open': '129.5000',
 '2. high': '129.5000',
 '3. low': '129.5000',
 '4. close': '129.5000',
 '5. volume': '500'}
In [52]:
import pandas as pd
In [53]:
pd.DataFrame(data['Time Series (30min)'])
Out[53]:
2021-01-12 20:00:00 2021-01-12 19:30:00 2021-01-12 19:00:00 2021-01-12 18:00:00 2021-01-12 17:30:00 2021-01-12 17:00:00 2021-01-12 16:30:00 2021-01-12 16:00:00 2021-01-12 15:30:00 2021-01-12 15:00:00 ... 2021-01-07 08:00:00 2021-01-07 07:30:00 2021-01-07 07:00:00 2021-01-06 20:00:00 2021-01-06 19:30:00 2021-01-06 19:00:00 2021-01-06 18:30:00 2021-01-06 18:00:00 2021-01-06 17:30:00 2021-01-06 17:00:00
1. open 129.5000 129.2500 129.2500 129.4200 129.2300 129.2900 129.2100 129.1727 129.2600 129.3100 ... 129.7500 129.5100 129.3700 129.5700 129.5700 129.5700 129.3100 129.5700 129.3100 129.3100
2. high 129.5000 129.5000 129.4800 129.4200 129.3000 129.2900 129.4500 129.4400 129.3660 129.4721 ... 129.7500 129.5100 129.3700 129.7200 129.5700 129.5700 129.5700 129.5700 129.5000 129.9600
3. low 129.5000 129.2500 129.2500 129.4200 129.2300 129.2900 129.1906 129.1200 129.1400 129.0800 ... 129.7500 129.5000 129.3100 129.5700 129.5700 129.5700 129.3100 129.5700 129.3100 129.3000
4. close 129.5000 129.5000 129.4800 129.4200 129.3000 129.2900 129.2500 129.2000 129.1750 129.2500 ... 129.7500 129.5000 129.3100 129.7200 129.5700 129.5700 129.5700 129.5700 129.3196 129.3000
5. volume 500 260 291 100 1175 200 43398 594293 215469 176133 ... 357 678 374 532 1199 587 470 123 1093 3222

5 rows × 100 columns

In [54]:
pd.DataFrame(data)
Out[54]:
Meta Data Time Series (30min)
1. Information Intraday (30min) open, high, low, close prices... NaN
2. Symbol IBM NaN
3. Last Refreshed 2021-01-12 20:00:00 NaN
4. Interval 30min NaN
5. Output Size Compact NaN
... ... ...
2021-01-06 19:00:00 NaN {'1. open': '129.5700', '2. high': '129.5700',...
2021-01-06 18:30:00 NaN {'1. open': '129.3100', '2. high': '129.5700',...
2021-01-06 18:00:00 NaN {'1. open': '129.5700', '2. high': '129.5700',...
2021-01-06 17:30:00 NaN {'1. open': '129.3100', '2. high': '129.5000',...
2021-01-06 17:00:00 NaN {'1. open': '129.3100', '2. high': '129.9600',...

106 rows × 2 columns

In [56]:
pd.DataFrame(data['Time Series (30min)']).transpose()
Out[56]:
1. open 2. high 3. low 4. close 5. volume
2021-01-12 20:00:00 129.5000 129.5000 129.5000 129.5000 500
2021-01-12 19:30:00 129.2500 129.5000 129.2500 129.5000 260
2021-01-12 19:00:00 129.2500 129.4800 129.2500 129.4800 291
2021-01-12 18:00:00 129.4200 129.4200 129.4200 129.4200 100
2021-01-12 17:30:00 129.2300 129.3000 129.2300 129.3000 1175
... ... ... ... ... ...
2021-01-06 19:00:00 129.5700 129.5700 129.5700 129.5700 587
2021-01-06 18:30:00 129.3100 129.5700 129.3100 129.5700 470
2021-01-06 18:00:00 129.5700 129.5700 129.5700 129.5700 123
2021-01-06 17:30:00 129.3100 129.5000 129.3100 129.3196 1093
2021-01-06 17:00:00 129.3100 129.9600 129.3000 129.3000 3222

100 rows × 5 columns

Aunthetication

In [76]:
#nse.get_stock_codes()
In [61]:
codes = nse.get_stock_codes()
def get_code(company_name):
    return [c for c in codes if company_name in codes[c].lower()]
In [66]:
get_code("mahindra")
Out[66]:
['KOTAKBANK',
 'M&M',
 'M&MFIN',
 'MAHEPC',
 'MAHINDCIE',
 'MAHLIFE',
 'MAHLOG',
 'MHRIL',
 'TECHM']
In [67]:
def get_code(company_name):
    return {c:codes[c] for c in codes if company_name in codes[c].lower()}
In [68]:
get_code("mahindra")
Out[68]:
{'KOTAKBANK': 'Kotak Mahindra Bank Limited',
 'M&M': 'Mahindra & Mahindra Limited',
 'M&MFIN': 'Mahindra & Mahindra Financial Services Limited',
 'MAHEPC': 'Mahindra EPC Irrigation Limited',
 'MAHINDCIE': 'Mahindra CIE Automotive Limited',
 'MAHLIFE': 'Mahindra Lifespace Developers Limited',
 'MAHLOG': 'Mahindra Logistics Limited',
 'MHRIL': 'Mahindra Holidays & Resorts India Limited',
 'TECHM': 'Tech Mahindra Limited'}
In [69]:
get_code("irrigation")
Out[69]:
{'JISLDVREQS': 'Jain Irrigation Systems Limited',
 'JISLJALEQS': 'Jain Irrigation Systems Limited',
 'MAHEPC': 'Mahindra EPC Irrigation Limited'}
In [72]:
url
Out[72]:
'https://www.alphavantage.co/query'
In [73]:
resp = requests.get("https://www.alphavantage.co/")
In [75]:
print(resp.text[:100])
<!DOCTYPE html>
<html lang="en">

<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Comp
In [78]:
def get_daily_data(symbol):
    API_KEY = "UKVFE0JLE0TBPDEF"
    url = "https://www.alphavantage.co/query"

    params = {"function" : "TIME_SERIES_INTRADAY",
              "symbol" : symbol,
              "interval" : "30min",
              "apikey": API_KEY
    }

    resp = requests.get(url, params)
    return resp
In [79]:
ibm_resp = get_daily_data("IBM")
In [80]:
print(ibm_resp.text[:200])
{
    "Meta Data": {
        "1. Information": "Intraday (30min) open, high, low, close prices and volume",
        "2. Symbol": "IBM",
        "3. Last Refreshed": "2021-01-12 20:00:00",
        "4. 
In [81]:
ibm_resp.json()
Out[81]:
{'Meta Data': {'1. Information': 'Intraday (30min) open, high, low, close prices and volume',
  '2. Symbol': 'IBM',
  '3. Last Refreshed': '2021-01-12 20:00:00',
  '4. Interval': '30min',
  '5. Output Size': 'Compact',
  '6. Time Zone': 'US/Eastern'},
 'Time Series (30min)': {'2021-01-12 20:00:00': {'1. open': '129.5000',
   '2. high': '129.5000',
   '3. low': '129.5000',
   '4. close': '129.5000',
   '5. volume': '500'},
  '2021-01-12 19:30:00': {'1. open': '129.2500',
   '2. high': '129.5000',
   '3. low': '129.2500',
   '4. close': '129.5000',
   '5. volume': '260'},
  '2021-01-12 19:00:00': {'1. open': '129.2500',
   '2. high': '129.4800',
   '3. low': '129.2500',
   '4. close': '129.4800',
   '5. volume': '291'},
  '2021-01-12 18:00:00': {'1. open': '129.4200',
   '2. high': '129.4200',
   '3. low': '129.4200',
   '4. close': '129.4200',
   '5. volume': '100'},
  '2021-01-12 17:30:00': {'1. open': '129.2300',
   '2. high': '129.3000',
   '3. low': '129.2300',
   '4. close': '129.3000',
   '5. volume': '1175'},
  '2021-01-12 17:00:00': {'1. open': '129.2900',
   '2. high': '129.2900',
   '3. low': '129.2900',
   '4. close': '129.2900',
   '5. volume': '200'},
  '2021-01-12 16:30:00': {'1. open': '129.2100',
   '2. high': '129.4500',
   '3. low': '129.1906',
   '4. close': '129.2500',
   '5. volume': '43398'},
  '2021-01-12 16:00:00': {'1. open': '129.1727',
   '2. high': '129.4400',
   '3. low': '129.1200',
   '4. close': '129.2000',
   '5. volume': '594293'},
  '2021-01-12 15:30:00': {'1. open': '129.2600',
   '2. high': '129.3660',
   '3. low': '129.1400',
   '4. close': '129.1750',
   '5. volume': '215469'},
  '2021-01-12 15:00:00': {'1. open': '129.3100',
   '2. high': '129.4721',
   '3. low': '129.0800',
   '4. close': '129.2500',
   '5. volume': '176133'},
  '2021-01-12 14:30:00': {'1. open': '129.3200',
   '2. high': '129.5542',
   '3. low': '129.2800',
   '4. close': '129.3200',
   '5. volume': '228843'},
  '2021-01-12 14:00:00': {'1. open': '129.2300',
   '2. high': '129.3800',
   '3. low': '129.1700',
   '4. close': '129.3300',
   '5. volume': '170700'},
  '2021-01-12 13:30:00': {'1. open': '128.7931',
   '2. high': '129.2600',
   '3. low': '128.6500',
   '4. close': '129.2200',
   '5. volume': '203045'},
  '2021-01-12 13:00:00': {'1. open': '128.8600',
   '2. high': '128.8600',
   '3. low': '128.5500',
   '4. close': '128.7800',
   '5. volume': '230258'},
  '2021-01-12 12:30:00': {'1. open': '128.4133',
   '2. high': '128.9100',
   '3. low': '127.9400',
   '4. close': '128.8700',
   '5. volume': '421918'},
  '2021-01-12 12:00:00': {'1. open': '128.9200',
   '2. high': '128.9200',
   '3. low': '128.3400',
   '4. close': '128.4100',
   '5. volume': '169367'},
  '2021-01-12 11:30:00': {'1. open': '128.8900',
   '2. high': '129.2200',
   '3. low': '128.7450',
   '4. close': '128.9150',
   '5. volume': '147107'},
  '2021-01-12 11:00:00': {'1. open': '129.3400',
   '2. high': '129.4400',
   '3. low': '128.6600',
   '4. close': '128.8800',
   '5. volume': '189655'},
  '2021-01-12 10:30:00': {'1. open': '129.6700',
   '2. high': '129.8500',
   '3. low': '129.3600',
   '4. close': '129.4000',
   '5. volume': '212346'},
  '2021-01-12 10:00:00': {'1. open': '129.0900',
   '2. high': '129.6900',
   '3. low': '128.6500',
   '4. close': '129.6550',
   '5. volume': '472614'},
  '2021-01-12 09:30:00': {'1. open': '128.9900',
   '2. high': '128.9900',
   '3. low': '128.9900',
   '4. close': '128.9900',
   '5. volume': '606'},
  '2021-01-12 09:00:00': {'1. open': '128.8000',
   '2. high': '128.8000',
   '3. low': '128.7400',
   '4. close': '128.8000',
   '5. volume': '1679'},
  '2021-01-12 08:30:00': {'1. open': '128.9100',
   '2. high': '128.9100',
   '3. low': '128.9100',
   '4. close': '128.9100',
   '5. volume': '427'},
  '2021-01-12 07:30:00': {'1. open': '128.9300',
   '2. high': '129.0000',
   '3. low': '128.9300',
   '4. close': '129.0000',
   '5. volume': '356'},
  '2021-01-11 20:00:00': {'1. open': '128.6500',
   '2. high': '128.6500',
   '3. low': '128.6500',
   '4. close': '128.6500',
   '5. volume': '101'},
  '2021-01-11 19:00:00': {'1. open': '128.5800',
   '2. high': '128.5800',
   '3. low': '128.5800',
   '4. close': '128.5800',
   '5. volume': '100'},
  '2021-01-11 17:00:00': {'1. open': '128.6300',
   '2. high': '128.6300',
   '3. low': '128.5800',
   '4. close': '128.5800',
   '5. volume': '740'},
  '2021-01-11 16:30:00': {'1. open': '128.5800',
   '2. high': '129.0000',
   '3. low': '128.5800',
   '4. close': '129.0000',
   '5. volume': '525951'},
  '2021-01-11 16:00:00': {'1. open': '128.5100',
   '2. high': '128.6980',
   '3. low': '128.2800',
   '4. close': '128.6000',
   '5. volume': '488310'},
  '2021-01-11 15:30:00': {'1. open': '128.7900',
   '2. high': '128.8600',
   '3. low': '128.4499',
   '4. close': '128.4950',
   '5. volume': '160869'},
  '2021-01-11 15:00:00': {'1. open': '128.6517',
   '2. high': '128.8091',
   '3. low': '128.5000',
   '4. close': '128.7850',
   '5. volume': '153946'},
  '2021-01-11 14:30:00': {'1. open': '129.0000',
   '2. high': '129.1099',
   '3. low': '128.5250',
   '4. close': '128.6900',
   '5. volume': '170058'},
  '2021-01-11 14:00:00': {'1. open': '129.2031',
   '2. high': '129.2700',
   '3. low': '128.8001',
   '4. close': '129.0200',
   '5. volume': '168310'},
  '2021-01-11 13:30:00': {'1. open': '129.5850',
   '2. high': '129.6200',
   '3. low': '129.1800',
   '4. close': '129.1950',
   '5. volume': '181195'},
  '2021-01-11 13:00:00': {'1. open': '129.1350',
   '2. high': '129.6750',
   '3. low': '129.1200',
   '4. close': '129.5650',
   '5. volume': '254707'},
  '2021-01-11 12:30:00': {'1. open': '128.6700',
   '2. high': '129.1500',
   '3. low': '128.5300',
   '4. close': '129.1350',
   '5. volume': '176725'},
  '2021-01-11 12:00:00': {'1. open': '128.4000',
   '2. high': '128.7900',
   '3. low': '128.3401',
   '4. close': '128.6550',
   '5. volume': '207584'},
  '2021-01-11 11:30:00': {'1. open': '128.0600',
   '2. high': '128.5500',
   '3. low': '127.8800',
   '4. close': '128.4200',
   '5. volume': '193262'},
  '2021-01-11 11:00:00': {'1. open': '128.2000',
   '2. high': '128.2200',
   '3. low': '127.9000',
   '4. close': '128.0700',
   '5. volume': '235469'},
  '2021-01-11 10:30:00': {'1. open': '128.1300',
   '2. high': '128.3500',
   '3. low': '127.8300',
   '4. close': '128.1960',
   '5. volume': '347529'},
  '2021-01-11 10:00:00': {'1. open': '127.9500',
   '2. high': '128.6700',
   '3. low': '127.6600',
   '4. close': '128.1300',
   '5. volume': '814143'},
  '2021-01-11 09:30:00': {'1. open': '127.8000',
   '2. high': '127.8000',
   '3. low': '127.5500',
   '4. close': '127.7500',
   '5. volume': '3968'},
  '2021-01-11 09:00:00': {'1. open': '127.7300',
   '2. high': '127.7300',
   '3. low': '127.5100',
   '4. close': '127.5100',
   '5. volume': '2402'},
  '2021-01-11 08:30:00': {'1. open': '128.3000',
   '2. high': '128.3000',
   '3. low': '127.5001',
   '4. close': '127.6000',
   '5. volume': '4979'},
  '2021-01-11 08:00:00': {'1. open': '127.6000',
   '2. high': '127.6000',
   '3. low': '127.6000',
   '4. close': '127.6000',
   '5. volume': '282'},
  '2021-01-11 07:30:00': {'1. open': '128.2600',
   '2. high': '128.2600',
   '3. low': '127.6700',
   '4. close': '128.0000',
   '5. volume': '1748'},
  '2021-01-08 17:30:00': {'1. open': '128.9800',
   '2. high': '129.0000',
   '3. low': '128.7900',
   '4. close': '129.0000',
   '5. volume': '3490'},
  '2021-01-08 17:00:00': {'1. open': '128.5900',
   '2. high': '128.5900',
   '3. low': '128.5900',
   '4. close': '128.5900',
   '5. volume': '701'},
  '2021-01-08 16:30:00': {'1. open': '128.5300',
   '2. high': '128.8000',
   '3. low': '128.5300',
   '4. close': '128.5300',
   '5. volume': '115024'},
  '2021-01-08 16:00:00': {'1. open': '128.6500',
   '2. high': '129.1400',
   '3. low': '128.4900',
   '4. close': '128.5300',
   '5. volume': '735337'},
  '2021-01-08 15:30:00': {'1. open': '128.4200',
   '2. high': '128.9800',
   '3. low': '128.4200',
   '4. close': '128.6699',
   '5. volume': '238348'},
  '2021-01-08 15:00:00': {'1. open': '128.0300',
   '2. high': '128.4400',
   '3. low': '127.9500',
   '4. close': '128.4400',
   '5. volume': '193204'},
  '2021-01-08 14:30:00': {'1. open': '127.5300',
   '2. high': '128.1200',
   '3. low': '127.5300',
   '4. close': '128.0400',
   '5. volume': '203262'},
  '2021-01-08 14:00:00': {'1. open': '127.3200',
   '2. high': '127.5800',
   '3. low': '126.9800',
   '4. close': '127.5500',
   '5. volume': '312996'},
  '2021-01-08 13:30:00': {'1. open': '127.4350',
   '2. high': '127.6500',
   '3. low': '127.0800',
   '4. close': '127.3200',
   '5. volume': '182379'},
  '2021-01-08 13:00:00': {'1. open': '127.8007',
   '2. high': '127.8007',
   '3. low': '127.3300',
   '4. close': '127.4200',
   '5. volume': '139179'},
  '2021-01-08 12:30:00': {'1. open': '127.5200',
   '2. high': '127.8700',
   '3. low': '127.4200',
   '4. close': '127.7900',
   '5. volume': '190498'},
  '2021-01-08 12:00:00': {'1. open': '127.5150',
   '2. high': '127.5500',
   '3. low': '127.2200',
   '4. close': '127.5400',
   '5. volume': '237244'},
  '2021-01-08 11:30:00': {'1. open': '127.6400',
   '2. high': '127.8500',
   '3. low': '127.3500',
   '4. close': '127.5200',
   '5. volume': '226528'},
  '2021-01-08 11:00:00': {'1. open': '127.9000',
   '2. high': '128.0900',
   '3. low': '127.3400',
   '4. close': '127.6000',
   '5. volume': '321776'},
  '2021-01-08 10:30:00': {'1. open': '128.6800',
   '2. high': '128.7694',
   '3. low': '127.7100',
   '4. close': '127.8500',
   '5. volume': '339371'},
  '2021-01-08 10:00:00': {'1. open': '128.5700',
   '2. high': '129.3200',
   '3. low': '128.0300',
   '4. close': '128.7050',
   '5. volume': '558256'},
  '2021-01-08 09:30:00': {'1. open': '129.4200',
   '2. high': '129.5000',
   '3. low': '128.0600',
   '4. close': '128.0600',
   '5. volume': '13062'},
  '2021-01-08 09:00:00': {'1. open': '129.3000',
   '2. high': '129.5000',
   '3. low': '129.1500',
   '4. close': '129.5000',
   '5. volume': '1100'},
  '2021-01-08 08:30:00': {'1. open': '129.8600',
   '2. high': '129.8600',
   '3. low': '129.3000',
   '4. close': '129.3000',
   '5. volume': '1069'},
  '2021-01-08 07:30:00': {'1. open': '129.2500',
   '2. high': '129.8400',
   '3. low': '128.0000',
   '4. close': '129.7500',
   '5. volume': '8648'},
  '2021-01-07 20:00:00': {'1. open': '129.1000',
   '2. high': '129.1000',
   '3. low': '129.1000',
   '4. close': '129.1000',
   '5. volume': '600'},
  '2021-01-07 19:30:00': {'1. open': '129.0100',
   '2. high': '129.0100',
   '3. low': '129.0100',
   '4. close': '129.0100',
   '5. volume': '100'},
  '2021-01-07 19:00:00': {'1. open': '129.1000',
   '2. high': '129.1000',
   '3. low': '129.0100',
   '4. close': '129.0100',
   '5. volume': '700'},
  '2021-01-07 18:30:00': {'1. open': '128.9900',
   '2. high': '128.9900',
   '3. low': '128.9900',
   '4. close': '128.9900',
   '5. volume': '134'},
  '2021-01-07 18:00:00': {'1. open': '129.1000',
   '2. high': '129.1000',
   '3. low': '129.0100',
   '4. close': '129.0100',
   '5. volume': '793'},
  '2021-01-07 17:30:00': {'1. open': '129.0502',
   '2. high': '129.1000',
   '3. low': '128.9900',
   '4. close': '128.9900',
   '5. volume': '83352'},
  '2021-01-07 17:00:00': {'1. open': '129.0100',
   '2. high': '129.0200',
   '3. low': '129.0100',
   '4. close': '129.0100',
   '5. volume': '1669'},
  '2021-01-07 16:30:00': {'1. open': '128.9900',
   '2. high': '129.0100',
   '3. low': '128.5300',
   '4. close': '129.0100',
   '5. volume': '148132'},
  '2021-01-07 16:00:00': {'1. open': '129.2700',
   '2. high': '129.4270',
   '3. low': '128.9900',
   '4. close': '128.9900',
   '5. volume': '602721'},
  '2021-01-07 15:30:00': {'1. open': '129.4400',
   '2. high': '129.6000',
   '3. low': '129.2000',
   '4. close': '129.2800',
   '5. volume': '225759'},
  '2021-01-07 15:00:00': {'1. open': '129.0900',
   '2. high': '129.4500',
   '3. low': '129.0500',
   '4. close': '129.4500',
   '5. volume': '189756'},
  '2021-01-07 14:30:00': {'1. open': '129.1400',
   '2. high': '129.2350',
   '3. low': '128.9500',
   '4. close': '129.0800',
   '5. volume': '165469'},
  '2021-01-07 14:00:00': {'1. open': '129.0850',
   '2. high': '129.2536',
   '3. low': '129.0300',
   '4. close': '129.1400',
   '5. volume': '132636'},
  '2021-01-07 13:30:00': {'1. open': '129.4300',
   '2. high': '129.5800',
   '3. low': '129.0300',
   '4. close': '129.0600',
   '5. volume': '166080'},
  '2021-01-07 13:00:00': {'1. open': '128.9700',
   '2. high': '129.4400',
   '3. low': '128.9700',
   '4. close': '129.3900',
   '5. volume': '194105'},
  '2021-01-07 12:30:00': {'1. open': '129.1800',
   '2. high': '129.2700',
   '3. low': '128.8800',
   '4. close': '128.9850',
   '5. volume': '188015'},
  '2021-01-07 12:00:00': {'1. open': '129.3600',
   '2. high': '129.5400',
   '3. low': '129.0600',
   '4. close': '129.1900',
   '5. volume': '210296'},
  '2021-01-07 11:30:00': {'1. open': '129.8500',
   '2. high': '129.9600',
   '3. low': '129.3300',
   '4. close': '129.3800',
   '5. volume': '218561'},
  '2021-01-07 11:00:00': {'1. open': '129.8600',
   '2. high': '130.2100',
   '3. low': '129.6950',
   '4. close': '129.8300',
   '5. volume': '279730'},
  '2021-01-07 10:30:00': {'1. open': '129.2700',
   '2. high': '129.9300',
   '3. low': '129.2000',
   '4. close': '129.8900',
   '5. volume': '375182'},
  '2021-01-07 10:00:00': {'1. open': '130.0400',
   '2. high': '130.4600',
   '3. low': '128.2600',
   '4. close': '129.3400',
   '5. volume': '745685'},
  '2021-01-07 09:30:00': {'1. open': '130.2000',
   '2. high': '130.4700',
   '3. low': '130.2000',
   '4. close': '130.4700',
   '5. volume': '1277'},
  '2021-01-07 09:00:00': {'1. open': '130.0000',
   '2. high': '130.2700',
   '3. low': '130.0000',
   '4. close': '130.1000',
   '5. volume': '2681'},
  '2021-01-07 08:30:00': {'1. open': '129.7500',
   '2. high': '130.0200',
   '3. low': '129.6000',
   '4. close': '130.0000',
   '5. volume': '12993'},
  '2021-01-07 08:00:00': {'1. open': '129.7500',
   '2. high': '129.7500',
   '3. low': '129.7500',
   '4. close': '129.7500',
   '5. volume': '357'},
  '2021-01-07 07:30:00': {'1. open': '129.5100',
   '2. high': '129.5100',
   '3. low': '129.5000',
   '4. close': '129.5000',
   '5. volume': '678'},
  '2021-01-07 07:00:00': {'1. open': '129.3700',
   '2. high': '129.3700',
   '3. low': '129.3100',
   '4. close': '129.3100',
   '5. volume': '374'},
  '2021-01-06 20:00:00': {'1. open': '129.5700',
   '2. high': '129.7200',
   '3. low': '129.5700',
   '4. close': '129.7200',
   '5. volume': '532'},
  '2021-01-06 19:30:00': {'1. open': '129.5700',
   '2. high': '129.5700',
   '3. low': '129.5700',
   '4. close': '129.5700',
   '5. volume': '1199'},
  '2021-01-06 19:00:00': {'1. open': '129.5700',
   '2. high': '129.5700',
   '3. low': '129.5700',
   '4. close': '129.5700',
   '5. volume': '587'},
  '2021-01-06 18:30:00': {'1. open': '129.3100',
   '2. high': '129.5700',
   '3. low': '129.3100',
   '4. close': '129.5700',
   '5. volume': '470'},
  '2021-01-06 18:00:00': {'1. open': '129.5700',
   '2. high': '129.5700',
   '3. low': '129.5700',
   '4. close': '129.5700',
   '5. volume': '123'},
  '2021-01-06 17:30:00': {'1. open': '129.3100',
   '2. high': '129.5000',
   '3. low': '129.3100',
   '4. close': '129.3196',
   '5. volume': '1093'},
  '2021-01-06 17:00:00': {'1. open': '129.3100',
   '2. high': '129.9600',
   '3. low': '129.3000',
   '4. close': '129.3000',
   '5. volume': '3222'}}}

Authetication

In [84]:
user = "vikrant"
pass_ = open("/tmp/pass.txt").read().strip()
resp = requests.get("http://api.github.com/user", auth=(user,pass_)) # this is how you specify usrname and password of the API says it need auth
In [83]:
resp.status_code
Out[83]:
401
In [86]:
def download(url, filename): # this will not work for excel or pdf file
    resp = requests.get(url)
    with open(filename, "w") as f:
        f.write(resp.text)        
In [91]:
type(resp.text) # this is string
Out[91]:
str
In [90]:
type(resp.content)
Out[90]:
bytes
In [92]:
def download(url, filename): # this will  work for excel or pdf file and text files as well
    resp = requests.get(url)
    with open(filename, "wb") as f:
        f.write(resp.content)  

steps

  1. directly try to data using pandas pd.read_csv(url) pd.read_excel(url) pd.read_html(url)
  2. Look for API documentation? use requests module
  3. No api given, but you can look at url pattern and make sense some paramters
  4. use selenium to launch the browser and then parse the data
In [ ]: