From ae88ab9c675923c912efe2c04a936a735d78270c Mon Sep 17 00:00:00 2001 From: Karanraj Chauhan Date: Tue, 22 Feb 2022 20:42:17 +0000 Subject: [PATCH 1/2] WIP notebook to calculate repo level metrics Co-authored-by: Shrey Anand Co-authored-by: Hema Veeradhi --- notebooks/repo-metrics.ipynb | 835 +++++++++++++++++++++++++++++++++++ 1 file changed, 835 insertions(+) create mode 100644 notebooks/repo-metrics.ipynb diff --git a/notebooks/repo-metrics.ipynb b/notebooks/repo-metrics.ipynb new file mode 100644 index 0000000..cc3889a --- /dev/null +++ b/notebooks/repo-metrics.ipynb @@ -0,0 +1,835 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "50dcee0c-1ec3-4f00-9fe0-f34759445efe", + "metadata": {}, + "source": [ + "# Repo Level Metrics" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d2c5a94e-ee0e-4be8-b4a6-4756a48abc27", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import json\n", + "import boto3\n", + "import datetime as dt\n", + "import pandas as pd\n", + "\n", + "from github import Github\n", + "from pprint import pprint\n", + "\n", + "from srcopsmetrics.metrics import Metrics\n", + "from srcopsmetrics.entities.issue import Issue\n", + "from srcopsmetrics.entities.pull_request import PullRequest\n", + "\n", + "from dotenv import find_dotenv, load_dotenv" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f83af63e-fddb-4a9b-94bd-91397b70bc6a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "load_dotenv(find_dotenv())" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "10840dbf-4591-4b5b-bab6-b517f7eb3ffd", + "metadata": {}, + "outputs": [], + "source": [ + "## CEPH Bucket variables\n", + "## Create a .env file on your local with the correct configs,\n", + "s3_endpoint_url = os.getenv(\"S3_ENDPOINT\")\n", + "s3_access_key = os.getenv(\"S3_ACCESS_KEY\")\n", + "s3_secret_key = os.getenv(\"S3_SECRET_KEY\")\n", + "s3_bucket = os.getenv(\"S3_BUCKET\")\n", + "s3_path = os.getenv(\"S3_PROJECT_KEY\", \"open-services-group/metrics/github\")\n", + "repo_slug = os.getenv(\"REPO_SLUG\")\n", + "s3_input_data_path = \"raw_data\"\n", + "REMOTE = os.getenv(\"REMOTE\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "7161a152-3f3b-4072-bc86-8b1c79f40bc8", + "metadata": {}, + "outputs": [], + "source": [ + "s3 = boto3.resource(\"s3\",endpoint_url=s3_endpoint_url,aws_access_key_id=s3_access_key,aws_secret_access_key=s3_secret_key)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "84cd3828-d1b8-4770-9b89-0b16cfef3ef7", + "metadata": {}, + "outputs": [], + "source": [ + "# Function to read data from Ceph\n", + "def read_data_from_ceph(s3_file_path):\n", + " print(\"Getting dataset from Ceph\")\n", + " content = s3.Object(s3_bucket, s3_file_path)\n", + " file = content.get()[\"Body\"].read().decode(\"utf-8\")\n", + " data = json.loads(file)\n", + " separated_list = data.splitlines()\n", + " data_dict = { str(i): json.loads(separated_list[i]) for i in range(0, len(separated_list) ) }\n", + " df = pd.DataFrame(data_dict).T\n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "0f4b9fdb-bfbf-4099-bdc7-6ded5468e3e3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Getting dataset from Ceph\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebodycreated_bycreated_atclosed_byclosed_atlabelsinteractionsid
0Prepare GPU image for training teacher network...**Is your feature request related to a problem...pacospace1644527768NoneNone{'enhancement': {'color': 'a2eeef', 'labeled_a...{'pacospace': 8}128
1Value Error related to S3 in demo2 notebookValue Error related to S3 at Import in when ru...andraNew1641590227andraNew1642091274{'bug': {'color': 'd73a4a', 'labeled_at': 1641...{'andraNew': 123, 'erikerlandson': 90, 'chauha...127
2Create JupyterbookAdd _toc.yaml and _config.yml for the repo and...oindrillac1639764581oindrillac1640024593{}{}125
3Should we state which base image tag is used i...See: https://github.com/os-climate/aicoe-osc-d...pacospace1639086094MichaelClifford1639189607{}{'chauhankaranraj': 71, 'pacospace': 39}122
4Use overlays for building images**Is your feature request related to a problem...chauhankaranraj1639077221NoneNone{'enhancement': {'color': 'a2eeef', 'labeled_a...{'pacospace': 19, 'chauhankaranraj': 40}121
\n", + "
" + ], + "text/plain": [ + " title \\\n", + "0 Prepare GPU image for training teacher network... \n", + "1 Value Error related to S3 in demo2 notebook \n", + "2 Create Jupyterbook \n", + "3 Should we state which base image tag is used i... \n", + "4 Use overlays for building images \n", + "\n", + " body created_by \\\n", + "0 **Is your feature request related to a problem... pacospace \n", + "1 Value Error related to S3 at Import in when ru... andraNew \n", + "2 Add _toc.yaml and _config.yml for the repo and... oindrillac \n", + "3 See: https://github.com/os-climate/aicoe-osc-d... pacospace \n", + "4 **Is your feature request related to a problem... chauhankaranraj \n", + "\n", + " created_at closed_by closed_at \\\n", + "0 1644527768 None None \n", + "1 1641590227 andraNew 1642091274 \n", + "2 1639764581 oindrillac 1640024593 \n", + "3 1639086094 MichaelClifford 1639189607 \n", + "4 1639077221 None None \n", + "\n", + " labels \\\n", + "0 {'enhancement': {'color': 'a2eeef', 'labeled_a... \n", + "1 {'bug': {'color': 'd73a4a', 'labeled_at': 1641... \n", + "2 {} \n", + "3 {} \n", + "4 {'enhancement': {'color': 'a2eeef', 'labeled_a... \n", + "\n", + " interactions id \n", + "0 {'pacospace': 8} 128 \n", + "1 {'andraNew': 123, 'erikerlandson': 90, 'chauha... 127 \n", + "2 {} 125 \n", + "3 {'chauhankaranraj': 71, 'pacospace': 39} 122 \n", + "4 {'pacospace': 19, 'chauhankaranraj': 40} 121 " + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "issues_df = read_data_from_ceph(f\"{s3_path}/srcopsmetrics/bot_knowledge/{repo_slug}/Issue.json\")\n", + "issues_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "6f75f8db-ff0e-4c7b-b7cc-2bba9a6e2220", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Getting dataset from Ceph\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
titlebodysizecreated_bycreated_atclosed_atclosed_bymerged_atmerged_bycommits_numberchanged_files_numberinteractionsreviewslabelscommitschanged_filesfirst_review_atfirst_approve_atid
0Add manifests for GPU image buildSigned-off-by: Francesco Murdaca <fmurdaca@red...XLpacospace1644855027NoneNoneNoneNone19{'pacospace': 22}{'881638114': {'author': 'erikerlandson', 'wor...[][d2af49daf938560856f315e573cd9e54e92aa570][manifests/.sops.yaml, manifests/README.md, ma...16448637651644863765129
1Updated documentationcloses #125 \\r\\ncloses #110 \\r\\n\\r\\nJupyterBoo...Moindrillac16397772001640024594oindrillac1640024593oindrillac15{'oindrillac': 13, 'chauhankaranraj': 18}{'835457435': {'author': 'aakankshaduggal', 'w...[][523e26606333956764986a296149ca56edf56b40][README.md, _config.yml, _toc.yml, notebooks/d...16397787431639793939126
2Update READMEThis PR \\r\\n- updates the README to mention th...XSchauhankaranraj16395327081639591055MichaelClifford1639591055MichaelClifford11{'MichaelClifford': 1}{}[][ad9668f096e1e5ebc5b123d1c6df4ea5ed98af5a][notebooks/demo2/README.md]NoneNone124
3Use specific versions instead of latest for im...Closes #122Schauhankaranraj16390947501639189607MichaelClifford1639189607MichaelClifford13{'MichaelClifford': 1}{'828089083': {'author': 'oindrillac', 'words_...[][c0666de738d99cf9a40e2867fc8f4e51a305d086][Dockerfile, notebooks/demo2/inference.pipelin...16390948971639094897123
4Finalize Demo 2 readmeThis PR adds Superset dashboard link to the Re...XSShreyanand16389826451639079020MichaelClifford1639079020MichaelClifford11{'MichaelClifford': 1}{'827649205': {'author': 'chauhankaranraj', 'w...[][ce265997ec1e5bf368d804f571e660edb261a77a][notebooks/demo2/README.md]16390728731639072873119
\n", + "
" + ], + "text/plain": [ + " title \\\n", + "0 Add manifests for GPU image build \n", + "1 Updated documentation \n", + "2 Update README \n", + "3 Use specific versions instead of latest for im... \n", + "4 Finalize Demo 2 readme \n", + "\n", + " body size created_by \\\n", + "0 Signed-off-by: Francesco Murdaca (dt.datetime.now()-dt.timedelta(days=90)).timestamp()])\n", + "num_closed_prs_90d = len(prs_df[prs_df['closed_at'] > (dt.datetime.now()-dt.timedelta(days=90)).timestamp()])\n", + "print(num_open_prs_90d, num_closed_prs_90d)\n", + "\n", + "ratio = num_closed_prs_90d / num_open_prs_90d\n", + "ratio" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ae0daab4-f10a-410c-af94-a3f7ec7f3bd1", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "9ae10ba8-5264-4398-b54f-f9a63aa2450a", + "metadata": {}, + "outputs": [], + "source": [ + "_GITHUB_ACCESS_TOKEN = os.getenv('GITHUB_ACCESS_TOKEN')" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "9a2f0a9a-b2f8-4ea5-ab24-aed6bb408a6a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[Issue(title=\"KPI metric calculation notebooks\", number=19),\n", + " Issue(title=\"Automate metric collection and processing workflow\", number=18),\n", + " Issue(title=\"[WIP] Add GitHub data analysis notebook\", number=17),\n", + " Issue(title=\"Notebook to explore the issue/pr data for OSG repos\", number=16),\n", + " Issue(title=\"Automatic update of dependencies by Kebechet for the rhel:8 environment\", number=15),\n", + " Issue(title=\"Spike: Define OKR completion\", number=10),\n", + " Issue(title=\"[EPIC] Visualization\", number=7),\n", + " Issue(title=\"[EPIC] EDA of metrics\", number=6),\n", + " Issue(title=\"[EPIC] Metric collection\", number=5),\n", + " Issue(title=\"Spike: Define initial set of metrics\", number=3)]\n" + ] + } + ], + "source": [ + "g = Github(_GITHUB_ACCESS_TOKEN)\n", + "repo = g.get_repo(\"open-services-group/metrics\")\n", + "issues = repo.get_issues(state=\"open\")\n", + "pprint(issues.get_page(0))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "0cca5f89-bf82-4056-93f3-0f375c8e54e6", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'NoneType' object has no attribute 'endswith'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipykernel_2131/3103816518.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mgh_repo\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mGithub\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlogin_or_token\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0m_GITHUB_ACCESS_TOKEN\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m50\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_repo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrepository\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mprs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mPullRequest\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mgh_repo\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_previous_knowledge\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mis_local\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;31m# issues = Issue(gh_repo)#.load_previous_knowledge(is_local=False)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/srcopsmetrics/entities/interface.py\u001b[0m in \u001b[0;36mload_previous_knowledge\u001b[0;34m(self, is_local)\u001b[0m\n\u001b[1;32m 157\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mload_previous_knowledge\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mis_local\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mbool\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 158\u001b[0m \u001b[0;34m\"\"\"Load previously collected repo knowledge. If a repo was not inspected before, create its directory.\"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 159\u001b[0;31m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mKnowledgeStorage\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mis_local\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mis_local\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_data\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfile_path\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 160\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 161\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mempty\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/srcopsmetrics/entities/tools/storage.py\u001b[0m in \u001b[0;36mload_data\u001b[0;34m(self, file_path, as_json)\u001b[0m\n\u001b[1;32m 126\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_locally\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfile_path\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mas_json\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mas_json\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 127\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_local\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 128\u001b[0;31m \u001b[0;32melse\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mload_remotely\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfile_path\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mas_json\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mas_json\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 129\u001b[0m )\n\u001b[1;32m 130\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/srcopsmetrics/entities/tools/storage.py\u001b[0m in \u001b[0;36mload_remotely\u001b[0;34m(self, file_path, as_json)\u001b[0m\n\u001b[1;32m 151\u001b[0m \u001b[0mceph_filename\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpath\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrelpath\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfile_path\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreplace\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"./\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 152\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 153\u001b[0;31m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_ceph_store\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mretrieve_document\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mceph_filename\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 154\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mas_json\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 155\u001b[0m \u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mload_data_frame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/srcopsmetrics/entities/tools/storage.py\u001b[0m in \u001b[0;36mget_ceph_store\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget_ceph_store\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mCephStore\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0;34m\"\"\"Establish a connection to the CEPH.\"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 81\u001b[0;31m s3 = CephStore(\n\u001b[0m\u001b[1;32m 82\u001b[0m \u001b[0mkey_id\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_KEY_ID\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msecret_key\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_SECRET_KEY\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mprefix\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_PREFIX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mhost\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_HOST\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbucket\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_BUCKET\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 83\u001b[0m )\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/thoth/storages/ceph.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, prefix, host, key_id, secret_key, bucket, region)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprefix\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mprefix\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 56\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 57\u001b[0;31m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprefix\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mendswith\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"/\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 58\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprefix\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;34m\"/\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mAttributeError\u001b[0m: 'NoneType' object has no attribute 'endswith'" + ] + } + ], + "source": [ + "repository = \"os-climate/aicoe-osc-demo\"\n", + "\n", + "gh_repo = Github(login_or_token=_GITHUB_ACCESS_TOKEN, timeout=50).get_repo(repository)\n", + "prs = PullRequest(gh_repo).load_previous_knowledge(is_local=False)\n", + "# issues = Issue(gh_repo)#.load_previous_knowledge(is_local=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "421f85e5-8ae0-4200-8afa-0ef50a4a0922", + "metadata": {}, + "outputs": [], + "source": [ + "metrics = Metrics(repository=\"os-climate/aicoe-osc-demo\")" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "611ecdc4-2d0c-4059-b41d-8872819c6d40", + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "Length mismatch: Expected axis has 0 elements, new values have 3 elements", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipykernel_2045/2715422034.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0missue_metrics\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmetrics\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprocess_issues\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0missue_metrics\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/srcopsmetrics/metrics.py\u001b[0m in \u001b[0;36mprocess_issues\u001b[0;34m(self, remove_outliers)\u001b[0m\n\u001b[1;32m 74\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 75\u001b[0m \u001b[0maggregated\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 76\u001b[0;31m \u001b[0maggregated\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m\"issue_id\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"date\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"ttci\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 77\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 78\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mremove_outliers\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m__setattr__\u001b[0;34m(self, name, value)\u001b[0m\n\u001b[1;32m 5498\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5499\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 5500\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__setattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5501\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mAttributeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5502\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/pandas/_libs/properties.pyx\u001b[0m in \u001b[0;36mpandas._libs.properties.AxisProperty.__set__\u001b[0;34m()\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m_set_axis\u001b[0;34m(self, axis, labels)\u001b[0m\n\u001b[1;32m 764\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_set_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mIndex\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 765\u001b[0m \u001b[0mlabels\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mensure_index\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 766\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_mgr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 767\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_clear_item_cache\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 768\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/pandas/core/internals/managers.py\u001b[0m in \u001b[0;36mset_axis\u001b[0;34m(self, axis, new_labels)\u001b[0m\n\u001b[1;32m 214\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mset_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnew_labels\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mIndex\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 215\u001b[0m \u001b[0;31m# Caller is responsible for ensuring we have an Index object.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 216\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_set_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnew_labels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 217\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maxes\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnew_labels\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 218\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/pandas/core/internals/base.py\u001b[0m in \u001b[0;36m_validate_set_axis\u001b[0;34m(self, axis, new_labels)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 56\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mnew_len\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mold_len\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 57\u001b[0;31m raise ValueError(\n\u001b[0m\u001b[1;32m 58\u001b[0m \u001b[0;34mf\"Length mismatch: Expected axis has {old_len} elements, new \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0;34mf\"values have {new_len} elements\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: Length mismatch: Expected axis has 0 elements, new values have 3 elements" + ] + } + ], + "source": [ + "issue_metrics = metrics.process_issues()\n", + "issue_metrics" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "7c76728f-d174-4c3e-b405-10dfdbc8a8a7", + "metadata": { + "tags": [] + }, + "outputs": [ + { + "ename": "ValueError", + "evalue": "Length mismatch: Expected axis has 0 elements, new values have 9 elements", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/tmp/ipykernel_2045/334568982.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mpr_metrics\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mmetrics\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprocess_pull_requests\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mpr_metrics\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/srcopsmetrics/metrics.py\u001b[0m in \u001b[0;36mprocess_pull_requests\u001b[0;34m(self, remove_outliers)\u001b[0m\n\u001b[1;32m 118\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 119\u001b[0m \u001b[0maggregated\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 120\u001b[0;31m \u001b[0maggregated\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m\"pr_id\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"date\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"author\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"size\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"labels\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"reviewers\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"ttm\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"ttfr\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m\"tta\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 121\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 122\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mremove_outliers\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m__setattr__\u001b[0;34m(self, name, value)\u001b[0m\n\u001b[1;32m 5498\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5499\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 5500\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__setattr__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5501\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mAttributeError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5502\u001b[0m \u001b[0;32mpass\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/pandas/_libs/properties.pyx\u001b[0m in \u001b[0;36mpandas._libs.properties.AxisProperty.__set__\u001b[0;34m()\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m_set_axis\u001b[0;34m(self, axis, labels)\u001b[0m\n\u001b[1;32m 764\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_set_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mIndex\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 765\u001b[0m \u001b[0mlabels\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mensure_index\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 766\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_mgr\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mset_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlabels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 767\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_clear_item_cache\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 768\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/pandas/core/internals/managers.py\u001b[0m in \u001b[0;36mset_axis\u001b[0;34m(self, axis, new_labels)\u001b[0m\n\u001b[1;32m 214\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mset_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mint\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnew_labels\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mIndex\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 215\u001b[0m \u001b[0;31m# Caller is responsible for ensuring we have an Index object.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 216\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_validate_set_axis\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnew_labels\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 217\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0maxes\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0maxis\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnew_labels\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 218\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/opt/app-root/lib64/python3.8/site-packages/pandas/core/internals/base.py\u001b[0m in \u001b[0;36m_validate_set_axis\u001b[0;34m(self, axis, new_labels)\u001b[0m\n\u001b[1;32m 55\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 56\u001b[0m \u001b[0;32melif\u001b[0m \u001b[0mnew_len\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0mold_len\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 57\u001b[0;31m raise ValueError(\n\u001b[0m\u001b[1;32m 58\u001b[0m \u001b[0;34mf\"Length mismatch: Expected axis has {old_len} elements, new \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m \u001b[0;34mf\"values have {new_len} elements\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mValueError\u001b[0m: Length mismatch: Expected axis has 0 elements, new values have 9 elements" + ] + } + ], + "source": [ + "pr_metrics = metrics.process_pull_requests()\n", + "pr_metrics" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e538ef47-d1de-499d-a3d3-4bd633fcf2cc", + "metadata": {}, + "outputs": [], + "source": [ + "# define repos for which we want to calculate metrics\n", + "REPOS = [\"os-climate/aicoe-osc-demo\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d5d3c043-2fb1-4e77-afaa-6fe3e37a5cab", + "metadata": {}, + "outputs": [], + "source": [ + "## CEPH Bucket variables\n", + "## Create a .env file on your local with the correct configs,\n", + "s3_endpoint_url = os.getenv(\"S3_ENDPOINT\")\n", + "s3_access_key = os.getenv(\"S3_ACCESS_KEY\")\n", + "s3_secret_key = os.getenv(\"S3_SECRET_KEY\")\n", + "s3_bucket = os.getenv(\"S3_BUCKET\")\n", + "s3_path = os.getenv(\"S3_PROJECT_KEY\", \"open-services-group/metrics/github\")\n", + "s3_input_data_path = \"raw_data\"\n", + "REMOTE = os.getenv(\"REMOTE\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5929f11b-546e-4c5e-9c2d-7c5425e2092f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "761427b0-8540-47ba-abe9-007ca990be80", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e72cb0fd-6529-441f-a72a-9f78b550165c", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 086febf918f5270f43072cb8bbd9244481353aea Mon Sep 17 00:00:00 2001 From: 1000700000 user Date: Thu, 10 Mar 2022 21:23:55 +0000 Subject: [PATCH 2/2] Add contributors table and pipfile Co-authored-by: Hema Veeradhi Co-authored-by: Karanraj Chauhan --- .pre-commit-config.yaml | 6 +- Pipfile | 8 + Pipfile.lock | 1712 ++++++++++++++++++++++++++++++--- notebooks/Repo_Analysis.ipynb | 1633 +++++++++++++++---------------- notebooks/repo-metrics.ipynb | 42 +- 5 files changed, 2370 insertions(+), 1031 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 34aaf6c..8e29fc1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,11 +1,11 @@ --- repos: - - repo: git://github.com/Lucas-C/pre-commit-hooks + - repo: https://github.com/Lucas-C/pre-commit-hooks rev: v1.1.13 hooks: - id: remove-tabs - - repo: git://github.com/pre-commit/pre-commit-hooks + - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.1.0 hooks: - id: trailing-whitespace @@ -21,7 +21,7 @@ repos: - id: check-ast - id: debug-statements - - repo: git://github.com/pycqa/pydocstyle.git + - repo: https://github.com/pycqa/pydocstyle.git rev: 6.1.1 hooks: - id: pydocstyle diff --git a/Pipfile b/Pipfile index 5649d09..edb216d 100644 --- a/Pipfile +++ b/Pipfile @@ -10,6 +10,14 @@ Sphinx = "*" [packages] awscli = "*" +trino = "*" +pydriller = "*" +python-dotenv = "*" +boto3 = "*" +pandas = "*" +pyarrow = "*" +srcopsmetrics = "*" +matplotlib = "*" [requires] python_version = "3.8" diff --git a/Pipfile.lock b/Pipfile.lock index 16db2e8..5117a13 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "caa1733f2ecf58c83331095362d7c9b089fc77039032e2c8e80e9a7b242bcdd0" + "sha256": "7114afaf186f971ce84a8d3a46ae1ae0ce46f461d57eddb59adb37784f9dd551" }, "pipfile-spec": 6, "requires": { @@ -16,21 +16,276 @@ ] }, "default": { + "aiohttp": { + "hashes": [ + "sha256:01d7bdb774a9acc838e6b8f1d114f45303841b89b95984cbb7d80ea41172a9e3", + "sha256:03a6d5349c9ee8f79ab3ff3694d6ce1cfc3ced1c9d36200cb8f08ba06bd3b782", + "sha256:04d48b8ce6ab3cf2097b1855e1505181bdd05586ca275f2505514a6e274e8e75", + "sha256:0770e2806a30e744b4e21c9d73b7bee18a1cfa3c47991ee2e5a65b887c49d5cf", + "sha256:07b05cd3305e8a73112103c834e91cd27ce5b4bd07850c4b4dbd1877d3f45be7", + "sha256:086f92daf51a032d062ec5f58af5ca6a44d082c35299c96376a41cbb33034675", + "sha256:099ebd2c37ac74cce10a3527d2b49af80243e2a4fa39e7bce41617fbc35fa3c1", + "sha256:0c7ebbbde809ff4e970824b2b6cb7e4222be6b95a296e46c03cf050878fc1785", + "sha256:102e487eeb82afac440581e5d7f8f44560b36cf0bdd11abc51a46c1cd88914d4", + "sha256:11691cf4dc5b94236ccc609b70fec991234e7ef8d4c02dd0c9668d1e486f5abf", + "sha256:11a67c0d562e07067c4e86bffc1553f2cf5b664d6111c894671b2b8712f3aba5", + "sha256:12de6add4038df8f72fac606dff775791a60f113a725c960f2bab01d8b8e6b15", + "sha256:13487abd2f761d4be7c8ff9080de2671e53fff69711d46de703c310c4c9317ca", + "sha256:15b09b06dae900777833fe7fc4b4aa426556ce95847a3e8d7548e2d19e34edb8", + "sha256:1c182cb873bc91b411e184dab7a2b664d4fea2743df0e4d57402f7f3fa644bac", + "sha256:1ed0b6477896559f17b9eaeb6d38e07f7f9ffe40b9f0f9627ae8b9926ae260a8", + "sha256:28d490af82bc6b7ce53ff31337a18a10498303fe66f701ab65ef27e143c3b0ef", + "sha256:2e5d962cf7e1d426aa0e528a7e198658cdc8aa4fe87f781d039ad75dcd52c516", + "sha256:2ed076098b171573161eb146afcb9129b5ff63308960aeca4b676d9d3c35e700", + "sha256:2f2f69dca064926e79997f45b2f34e202b320fd3782f17a91941f7eb85502ee2", + "sha256:31560d268ff62143e92423ef183680b9829b1b482c011713ae941997921eebc8", + "sha256:31d1e1c0dbf19ebccbfd62eff461518dcb1e307b195e93bba60c965a4dcf1ba0", + "sha256:37951ad2f4a6df6506750a23f7cbabad24c73c65f23f72e95897bb2cecbae676", + "sha256:3af642b43ce56c24d063325dd2cf20ee012d2b9ba4c3c008755a301aaea720ad", + "sha256:44db35a9e15d6fe5c40d74952e803b1d96e964f683b5a78c3cc64eb177878155", + "sha256:473d93d4450880fe278696549f2e7aed8cd23708c3c1997981464475f32137db", + "sha256:477c3ea0ba410b2b56b7efb072c36fa91b1e6fc331761798fa3f28bb224830dd", + "sha256:4a4a4e30bf1edcad13fb0804300557aedd07a92cabc74382fdd0ba6ca2661091", + "sha256:4aed991a28ea3ce320dc8ce655875e1e00a11bdd29fe9444dd4f88c30d558602", + "sha256:51467000f3647d519272392f484126aa716f747859794ac9924a7aafa86cd411", + "sha256:55c3d1072704d27401c92339144d199d9de7b52627f724a949fc7d5fc56d8b93", + "sha256:589c72667a5febd36f1315aa6e5f56dd4aa4862df295cb51c769d16142ddd7cd", + "sha256:5bfde62d1d2641a1f5173b8c8c2d96ceb4854f54a44c23102e2ccc7e02f003ec", + "sha256:5c23b1ad869653bc818e972b7a3a79852d0e494e9ab7e1a701a3decc49c20d51", + "sha256:61bfc23df345d8c9716d03717c2ed5e27374e0fe6f659ea64edcd27b4b044cf7", + "sha256:6ae828d3a003f03ae31915c31fa684b9890ea44c9c989056fea96e3d12a9fa17", + "sha256:6c7cefb4b0640703eb1069835c02486669312bf2f12b48a748e0a7756d0de33d", + "sha256:6d69f36d445c45cda7b3b26afef2fc34ef5ac0cdc75584a87ef307ee3c8c6d00", + "sha256:6f0d5f33feb5f69ddd57a4a4bd3d56c719a141080b445cbf18f238973c5c9923", + "sha256:6f8b01295e26c68b3a1b90efb7a89029110d3a4139270b24fda961893216c440", + "sha256:713ac174a629d39b7c6a3aa757b337599798da4c1157114a314e4e391cd28e32", + "sha256:718626a174e7e467f0558954f94af117b7d4695d48eb980146016afa4b580b2e", + "sha256:7187a76598bdb895af0adbd2fb7474d7f6025d170bc0a1130242da817ce9e7d1", + "sha256:71927042ed6365a09a98a6377501af5c9f0a4d38083652bcd2281a06a5976724", + "sha256:7d08744e9bae2ca9c382581f7dce1273fe3c9bae94ff572c3626e8da5b193c6a", + "sha256:7dadf3c307b31e0e61689cbf9e06be7a867c563d5a63ce9dca578f956609abf8", + "sha256:81e3d8c34c623ca4e36c46524a3530e99c0bc95ed068fd6e9b55cb721d408fb2", + "sha256:844a9b460871ee0a0b0b68a64890dae9c415e513db0f4a7e3cab41a0f2fedf33", + "sha256:8b7ef7cbd4fec9a1e811a5de813311ed4f7ac7d93e0fda233c9b3e1428f7dd7b", + "sha256:97ef77eb6b044134c0b3a96e16abcb05ecce892965a2124c566af0fd60f717e2", + "sha256:99b5eeae8e019e7aad8af8bb314fb908dd2e028b3cdaad87ec05095394cce632", + "sha256:a25fa703a527158aaf10dafd956f7d42ac6d30ec80e9a70846253dd13e2f067b", + "sha256:a2f635ce61a89c5732537a7896b6319a8fcfa23ba09bec36e1b1ac0ab31270d2", + "sha256:a79004bb58748f31ae1cbe9fa891054baaa46fb106c2dc7af9f8e3304dc30316", + "sha256:a996d01ca39b8dfe77440f3cd600825d05841088fd6bc0144cc6c2ec14cc5f74", + "sha256:b0e20cddbd676ab8a64c774fefa0ad787cc506afd844de95da56060348021e96", + "sha256:b6613280ccedf24354406caf785db748bebbddcf31408b20c0b48cb86af76866", + "sha256:b9d00268fcb9f66fbcc7cd9fe423741d90c75ee029a1d15c09b22d23253c0a44", + "sha256:bb01ba6b0d3f6c68b89fce7305080145d4877ad3acaed424bae4d4ee75faa950", + "sha256:c2aef4703f1f2ddc6df17519885dbfa3514929149d3ff900b73f45998f2532fa", + "sha256:c34dc4958b232ef6188c4318cb7b2c2d80521c9a56c52449f8f93ab7bc2a8a1c", + "sha256:c3630c3ef435c0a7c549ba170a0633a56e92629aeed0e707fec832dee313fb7a", + "sha256:c3d6a4d0619e09dcd61021debf7059955c2004fa29f48788a3dfaf9c9901a7cd", + "sha256:d15367ce87c8e9e09b0f989bfd72dc641bcd04ba091c68cd305312d00962addd", + "sha256:d2f9b69293c33aaa53d923032fe227feac867f81682f002ce33ffae978f0a9a9", + "sha256:e999f2d0e12eea01caeecb17b653f3713d758f6dcc770417cf29ef08d3931421", + "sha256:ea302f34477fda3f85560a06d9ebdc7fa41e82420e892fc50b577e35fc6a50b2", + "sha256:eaba923151d9deea315be1f3e2b31cc39a6d1d2f682f942905951f4e40200922", + "sha256:ef9612483cb35171d51d9173647eed5d0069eaa2ee812793a75373447d487aa4", + "sha256:f5315a2eb0239185af1bddb1abf472d877fede3cc8d143c6cddad37678293237", + "sha256:fa0ffcace9b3aa34d205d8130f7873fcfefcb6a4dd3dd705b0dab69af6712642", + "sha256:fc5471e1a54de15ef71c1bc6ebe80d4dc681ea600e68bfd1cbce40427f0b7578" + ], + "markers": "python_version >= '3.6'", + "version": "==3.8.1" + }, + "aiosignal": { + "hashes": [ + "sha256:26e62109036cd181df6e6ad646f91f0dcfd05fe16d0cb924138ff2ab75d64e3a", + "sha256:78ed67db6c7b7ced4f98e495e572106d5c432a93e1ddd1bf475e1dc05f5b7df2" + ], + "markers": "python_version >= '3.6'", + "version": "==1.2.0" + }, + "alembic": { + "hashes": [ + "sha256:6c0c05e9768a896d804387e20b299880fe01bc56484246b0dffe8075d6d3d847", + "sha256:ad842f2c3ab5c5d4861232730779c05e33db4ba880a08b85eb505e87c01095bc" + ], + "markers": "python_version >= '3.6'", + "version": "==1.7.6" + }, + "amun": { + "hashes": [ + "sha256:023af456346c71bf8ff6f1ce97aef83b3c3817a68482552ff6b137e2043052e3", + "sha256:e3efc606c677cd25010c190a88edbdcaba711b608e26e59b411144fe180d4460" + ], + "version": "==0.5.0" + }, + "argo-workflows": { + "hashes": [ + "sha256:56d77ad3e0053402f694760011fcfe5ab7de8cb52dfd7b21b9e98c30f6879161", + "sha256:f7705f212828712c869d17a1ff6bd39cf51af6c51a55e8f668c7f94601d09453" + ], + "version": "==3.6.1" + }, + "async-timeout": { + "hashes": [ + "sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15", + "sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c" + ], + "markers": "python_version >= '3.6'", + "version": "==4.0.2" + }, + "attrdict": { + "hashes": [ + "sha256:35c90698b55c683946091177177a9e9c0713a0860f0e049febd72649ccd77b70", + "sha256:9432e3498c74ff7e1b20b3d93b45d766b71cbffa90923496f82c4ae38b92be34" + ], + "version": "==2.0.1" + }, + "attrs": { + "hashes": [ + "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4", + "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==21.4.0" + }, "awscli": { "hashes": [ - "sha256:eadaa662cf34d43123cee252e21ab0cc7a160316ddfb107ad3d3c8cc1d1f722d", - "sha256:fb0631f46e163f4d0f88c496554df1ea748adb9cc5d616ccff2e89a1daaddd75" + "sha256:1bd0c8c5833a1f6f775672b0f61af16f31ccd1abd5b846eb26c38c2b8c7b680f", + "sha256:45645e7d5d69c0e7c646b96a82318804088d8be6326ad6f1cd2ef4e16329b819" ], "index": "pypi", - "version": "==1.22.51" + "version": "==1.22.72" + }, + "backports.zoneinfo": { + "hashes": [ + "sha256:17746bd546106fa389c51dbea67c8b7c8f0d14b5526a579ca6ccf5ed72c526cf", + "sha256:1b13e654a55cd45672cb54ed12148cd33628f672548f373963b0bff67b217328", + "sha256:1c5742112073a563c81f786e77514969acb58649bcdf6cdf0b4ed31a348d4546", + "sha256:4a0f800587060bf8880f954dbef70de6c11bbe59c673c3d818921f042f9954a6", + "sha256:5c144945a7752ca544b4b78c8c41544cdfaf9786f25fe5ffb10e838e19a27570", + "sha256:7b0a64cda4145548fed9efc10322770f929b944ce5cee6c0dfe0c87bf4c0c8c9", + "sha256:8439c030a11780786a2002261569bdf362264f605dfa4d65090b64b05c9f79a7", + "sha256:8961c0f32cd0336fb8e8ead11a1f8cd99ec07145ec2931122faaac1c8f7fd987", + "sha256:89a48c0d158a3cc3f654da4c2de1ceba85263fafb861b98b59040a5086259722", + "sha256:a76b38c52400b762e48131494ba26be363491ac4f9a04c1b7e92483d169f6582", + "sha256:da6013fd84a690242c310d77ddb8441a559e9cb3d3d59ebac9aca1a57b2e18bc", + "sha256:e55b384612d93be96506932a786bbcde5a2db7a9e6a4bb4bffe8b733f5b9036b", + "sha256:e81b76cace8eda1fca50e345242ba977f9be6ae3945af8d46326d776b4cf78d1", + "sha256:e8236383a20872c0cdf5a62b554b27538db7fa1bbec52429d8d106effbaeca08", + "sha256:f04e857b59d9d1ccc39ce2da1021d196e47234873820cbeaad210724b1ee28ac", + "sha256:fadbfe37f74051d024037f223b8e001611eac868b5c5b06144ef4d8b799862f2" + ], + "markers": "python_version >= '3.6' and python_version < '3.9'", + "version": "==0.2.1" + }, + "beautifulsoup4": { + "hashes": [ + "sha256:194ec62a25438adcb3fdb06378b26559eda1ea8a747367d34c33cef9c7f48d57", + "sha256:90f8e61121d6ae58362ce3bed8cd997efb00c914eae0ff3d363c32f9a9822d10", + "sha256:f0abd31228055d698bb392a826528ea08ebb9959e6bea17c606fd9c9009db938" + ], + "version": "==4.6.3" + }, + "boto3": { + "hashes": [ + "sha256:a235c422239d1b468924b37faa95f5750c6abd43651fe7deb3976e10a331c991", + "sha256:b01d29305527fe8754a0c5847c0431ec677dca34069aaed9429ff178826ab366" + ], + "index": "pypi", + "version": "==1.21.17" }, "botocore": { "hashes": [ - "sha256:372428fb18ba813431b2301c9306b97c0bc0a888127725b427f227734e370c7e", - "sha256:f715fba22d1d2ecf995d3168ddd9adca63979a6cddd35534ccc8550c690f1c88" + "sha256:29212b4be640efc047665650fee474357e884725a3e2a9bc029bca46a6ef0853", + "sha256:e61b9e6d0d5e384f8135211f05fc05694571505390293d939a9688ac08d4f62a" ], "markers": "python_version >= '3.6'", - "version": "==1.23.51" + "version": "==1.24.17" + }, + "cachetools": { + "hashes": [ + "sha256:486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6", + "sha256:8fecd4203a38af17928be7b90689d8083603073622229ca7077b72d8e5a976e4" + ], + "markers": "python_version ~= '3.7'", + "version": "==5.0.0" + }, + "certifi": { + "hashes": [ + "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", + "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" + ], + "version": "==2021.10.8" + }, + "cffi": { + "hashes": [ + "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3", + "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2", + "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636", + "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20", + "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728", + "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27", + "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66", + "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443", + "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0", + "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7", + "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39", + "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605", + "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a", + "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37", + "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029", + "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139", + "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc", + "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df", + "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14", + "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880", + "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2", + "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a", + "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e", + "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474", + "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024", + "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8", + "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0", + "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e", + "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a", + "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e", + "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032", + "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6", + "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e", + "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b", + "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e", + "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954", + "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962", + "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c", + "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4", + "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55", + "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962", + "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023", + "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c", + "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6", + "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8", + "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382", + "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7", + "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc", + "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997", + "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796" + ], + "version": "==1.15.0" + }, + "charset-normalizer": { + "hashes": [ + "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597", + "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df" + ], + "markers": "python_version >= '3'", + "version": "==2.0.12" + }, + "click": { + "hashes": [ + "sha256:6a7a62563bbfabfda3a38f3023a1db4a35978c0abd76f6c9605ecd6554d6d9b1", + "sha256:8458d7b1287c5fb128c90e23381cf99dcde74beaf6c7ff6384ce84d6fe090adb" + ], + "markers": "python_version >= '3.6'", + "version": "==8.0.4" }, "colorama": { "hashes": [ @@ -40,6 +295,51 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", "version": "==0.4.3" }, + "cycler": { + "hashes": [ + "sha256:3a27e95f763a428a739d2add979fa7494c912a32c17c4c38c4d5f082cad165a3", + "sha256:9c87405839a19696e837b3b818fed3f5f69f16f1eec1a1ad77e043dcea9c772f" + ], + "markers": "python_version >= '3.6'", + "version": "==0.11.0" + }, + "daiquiri": { + "hashes": [ + "sha256:0ab561a11f4dbd2e73de9d7890eef45b46be2cfdaef0b5fbf01b8b9f093d5242", + "sha256:70995a0f7a2d5a62ec5498ffeef733dca47e10cc96ee6331fba5f6ec0387e6fb" + ], + "version": "==3.0.1" + }, + "delegator.py": { + "hashes": [ + "sha256:814657d96b98a244c479e3d5f6e9e850ac333e85f807d6bc846e72bbb2537806", + "sha256:e6cc9cedab9ae59b169ee0422e17231adedadb144e63c0b5a60e6ff8adf8521b" + ], + "version": "==0.1.1" + }, + "deprecated": { + "hashes": [ + "sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d", + "sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.2.13" + }, + "dictdiffer": { + "hashes": [ + "sha256:17bacf5fbfe613ccf1b6d512bd766e6b21fb798822a133aa86098b8ac9997578", + "sha256:442bfc693cfcadaf46674575d2eba1c53b42f5e404218ca2c2ff549f2df56595" + ], + "version": "==0.9.0" + }, + "distro": { + "hashes": [ + "sha256:151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39", + "sha256:d596311d707e692c2160c37807f83e3820c5d539d5a83e87cfb6babd8ba3a06b" + ], + "markers": "python_version >= '3.6'", + "version": "==1.7.0" + }, "docutils": { "hashes": [ "sha256:6c4f696463b79f1fb8ba0c594b63840ebd41f059e92b31957c46b74a4599b6d0", @@ -49,6 +349,135 @@ "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==0.15.2" }, + "fonttools": { + "hashes": [ + "sha256:084dd1762f083a1bf49e41da1bfeafb475c9dce46265690a6bdd33290b9a63f4", + "sha256:6985cc5380c06db07fdc73ade15e6adbd4ce6ff850d7561ca00f97090b4b263d" + ], + "markers": "python_version >= '3.7'", + "version": "==4.30.0" + }, + "frozenlist": { + "hashes": [ + "sha256:006d3595e7d4108a12025ddf415ae0f6c9e736e726a5db0183326fd191b14c5e", + "sha256:01a73627448b1f2145bddb6e6c2259988bb8aee0fb361776ff8604b99616cd08", + "sha256:03a7dd1bfce30216a3f51a84e6dd0e4a573d23ca50f0346634916ff105ba6e6b", + "sha256:0437fe763fb5d4adad1756050cbf855bbb2bf0d9385c7bb13d7a10b0dd550486", + "sha256:04cb491c4b1c051734d41ea2552fde292f5f3a9c911363f74f39c23659c4af78", + "sha256:0c36e78b9509e97042ef869c0e1e6ef6429e55817c12d78245eb915e1cca7468", + "sha256:25af28b560e0c76fa41f550eacb389905633e7ac02d6eb3c09017fa1c8cdfde1", + "sha256:2fdc3cd845e5a1f71a0c3518528bfdbfe2efaf9886d6f49eacc5ee4fd9a10953", + "sha256:30530930410855c451bea83f7b272fb1c495ed9d5cc72895ac29e91279401db3", + "sha256:31977f84828b5bb856ca1eb07bf7e3a34f33a5cddce981d880240ba06639b94d", + "sha256:3c62964192a1c0c30b49f403495911298810bada64e4f03249ca35a33ca0417a", + "sha256:3f7c935c7b58b0d78c0beea0c7358e165f95f1fd8a7e98baa40d22a05b4a8141", + "sha256:40dff8962b8eba91fd3848d857203f0bd704b5f1fa2b3fc9af64901a190bba08", + "sha256:40ec383bc194accba825fbb7d0ef3dda5736ceab2375462f1d8672d9f6b68d07", + "sha256:436496321dad302b8b27ca955364a439ed1f0999311c393dccb243e451ff66aa", + "sha256:4406cfabef8f07b3b3af0f50f70938ec06d9f0fc26cbdeaab431cbc3ca3caeaa", + "sha256:45334234ec30fc4ea677f43171b18a27505bfb2dba9aca4398a62692c0ea8868", + "sha256:47be22dc27ed933d55ee55845d34a3e4e9f6fee93039e7f8ebadb0c2f60d403f", + "sha256:4a44ebbf601d7bac77976d429e9bdb5a4614f9f4027777f9e54fd765196e9d3b", + "sha256:4eda49bea3602812518765810af732229b4291d2695ed24a0a20e098c45a707b", + "sha256:57f4d3f03a18facacb2a6bcd21bccd011e3b75d463dc49f838fd699d074fabd1", + "sha256:603b9091bd70fae7be28bdb8aa5c9990f4241aa33abb673390a7f7329296695f", + "sha256:65bc6e2fece04e2145ab6e3c47428d1bbc05aede61ae365b2c1bddd94906e478", + "sha256:691ddf6dc50480ce49f68441f1d16a4c3325887453837036e0fb94736eae1e58", + "sha256:6983a31698490825171be44ffbafeaa930ddf590d3f051e397143a5045513b01", + "sha256:6a202458d1298ced3768f5a7d44301e7c86defac162ace0ab7434c2e961166e8", + "sha256:6eb275c6385dd72594758cbe96c07cdb9bd6becf84235f4a594bdf21e3596c9d", + "sha256:754728d65f1acc61e0f4df784456106e35afb7bf39cfe37227ab00436fb38676", + "sha256:768efd082074bb203c934e83a61654ed4931ef02412c2fbdecea0cff7ecd0274", + "sha256:772965f773757a6026dea111a15e6e2678fbd6216180f82a48a40b27de1ee2ab", + "sha256:871d42623ae15eb0b0e9df65baeee6976b2e161d0ba93155411d58ff27483ad8", + "sha256:88aafd445a233dbbf8a65a62bc3249a0acd0d81ab18f6feb461cc5a938610d24", + "sha256:8c905a5186d77111f02144fab5b849ab524f1e876a1e75205cd1386a9be4b00a", + "sha256:8cf829bd2e2956066dd4de43fd8ec881d87842a06708c035b37ef632930505a2", + "sha256:92e650bd09b5dda929523b9f8e7f99b24deac61240ecc1a32aeba487afcd970f", + "sha256:93641a51f89473837333b2f8100f3f89795295b858cd4c7d4a1f18e299dc0a4f", + "sha256:94c7a8a9fc9383b52c410a2ec952521906d355d18fccc927fca52ab575ee8b93", + "sha256:9f892d6a94ec5c7b785e548e42722e6f3a52f5f32a8461e82ac3e67a3bd073f1", + "sha256:acb267b09a509c1df5a4ca04140da96016f40d2ed183cdc356d237286c971b51", + "sha256:adac9700675cf99e3615eb6a0eb5e9f5a4143c7d42c05cea2e7f71c27a3d0846", + "sha256:aff388be97ef2677ae185e72dc500d19ecaf31b698986800d3fc4f399a5e30a5", + "sha256:b5009062d78a8c6890d50b4e53b0ddda31841b3935c1937e2ed8c1bda1c7fb9d", + "sha256:b684c68077b84522b5c7eafc1dc735bfa5b341fb011d5552ebe0968e22ed641c", + "sha256:b9e3e9e365991f8cc5f5edc1fd65b58b41d0514a6a7ad95ef5c7f34eb49b3d3e", + "sha256:bd89acd1b8bb4f31b47072615d72e7f53a948d302b7c1d1455e42622de180eae", + "sha256:bde99812f237f79eaf3f04ebffd74f6718bbd216101b35ac7955c2d47c17da02", + "sha256:c6c321dd013e8fc20735b92cb4892c115f5cdb82c817b1e5b07f6b95d952b2f0", + "sha256:ce6f2ba0edb7b0c1d8976565298ad2deba6f8064d2bebb6ffce2ca896eb35b0b", + "sha256:d2257aaba9660f78c7b1d8fea963b68f3feffb1a9d5d05a18401ca9eb3e8d0a3", + "sha256:d26b650b71fdc88065b7a21f8ace70175bcf3b5bdba5ea22df4bfd893e795a3b", + "sha256:d6d32ff213aef0fd0bcf803bffe15cfa2d4fde237d1d4838e62aec242a8362fa", + "sha256:e1e26ac0a253a2907d654a37e390904426d5ae5483150ce3adedb35c8c06614a", + "sha256:e30b2f9683812eb30cf3f0a8e9f79f8d590a7999f731cf39f9105a7c4a39489d", + "sha256:e84cb61b0ac40a0c3e0e8b79c575161c5300d1d89e13c0e02f76193982f066ed", + "sha256:e982878792c971cbd60ee510c4ee5bf089a8246226dea1f2138aa0bb67aff148", + "sha256:f20baa05eaa2bcd5404c445ec51aed1c268d62600362dc6cfe04fae34a424bd9", + "sha256:f7353ba3367473d1d616ee727945f439e027f0bb16ac1a750219a8344d1d5d3c", + "sha256:f96293d6f982c58ebebb428c50163d010c2f05de0cde99fd681bfdc18d4b2dc2", + "sha256:ff9310f05b9d9c5c4dd472983dc956901ee6cb2c3ec1ab116ecdde25f3ce4951" + ], + "markers": "python_version >= '3.7'", + "version": "==1.3.0" + }, + "gitdb": { + "hashes": [ + "sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd", + "sha256:bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa" + ], + "markers": "python_version >= '3.6'", + "version": "==4.0.9" + }, + "gitpython": { + "hashes": [ + "sha256:1c885ce809e8ba2d88a29befeb385fcea06338d3640712b59ca623c220bb5704", + "sha256:5b68b000463593e05ff2b261acff0ff0972df8ab1b70d3cdbd41b546c8b8fc3d" + ], + "markers": "python_version >= '3.7'", + "version": "==3.1.27" + }, + "google-auth": { + "hashes": [ + "sha256:218ca03d7744ca0c8b6697b6083334be7df49b7bf76a69d555962fd1a7657b5f", + "sha256:ad160fc1ea8f19e331a16a14a79f3d643d813a69534ba9611d2c80dc10439dad" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==2.6.0" + }, + "idna": { + "hashes": [ + "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", + "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" + ], + "markers": "python_version >= '3'", + "version": "==3.3" + }, + "importlib-metadata": { + "hashes": [ + "sha256:b36ffa925fe3139b2f6ff11d6925ffd4fa7bc47870165e3ac260ac7b4f91e6ac", + "sha256:d16e8c1deb60de41b8e8ed21c1a7b947b0bc62fab7e1d470bcdf331cea2e6735" + ], + "markers": "python_version < '3.9'", + "version": "==4.11.2" + }, + "importlib-resources": { + "hashes": [ + "sha256:33a95faed5fc19b4bc16b29a6eeae248a3fe69dd55d4d229d2b480e23eeaad45", + "sha256:d756e2f85dd4de2ba89be0b21dba2a3bbec2e871a42a3a16719258a11f87506b" + ], + "markers": "python_version < '3.9'", + "version": "==5.4.0" + }, + "jinja2": { + "hashes": [ + "sha256:077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8", + "sha256:611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7" + ], + "markers": "python_version >= '3.6'", + "version": "==3.0.3" + }, "jmespath": { "hashes": [ "sha256:b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9", @@ -57,6 +486,540 @@ "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==0.10.0" }, + "jsonformatter": { + "hashes": [ + "sha256:e71ee274490990141b69af2055a9b95d110bd2b786c52bbda867c7603796fb9f" + ], + "markers": "python_version >= '2.7'", + "version": "==0.3.1" + }, + "kiwisolver": { + "hashes": [ + "sha256:0007840186bacfaa0aba4466d5890334ea5938e0bb7e28078a0eb0e63b5b59d5", + "sha256:19554bd8d54cf41139f376753af1a644b63c9ca93f8f72009d50a2080f870f77", + "sha256:1d45d1c74f88b9f41062716c727f78f2a59a5476ecbe74956fafb423c5c87a76", + "sha256:1d819553730d3c2724582124aee8a03c846ec4362ded1034c16fb3ef309264e6", + "sha256:2210f28778c7d2ee13f3c2a20a3a22db889e75f4ec13a21072eabb5693801e84", + "sha256:22521219ca739654a296eea6d4367703558fba16f98688bd8ce65abff36eaa84", + "sha256:25405f88a37c5f5bcba01c6e350086d65e7465fd1caaf986333d2a045045a223", + "sha256:2b65bd35f3e06a47b5c30ea99e0c2b88f72c6476eedaf8cfbc8e66adb5479dcf", + "sha256:2ddb500a2808c100e72c075cbb00bf32e62763c82b6a882d403f01a119e3f402", + "sha256:2f8f6c8f4f1cff93ca5058d6ec5f0efda922ecb3f4c5fb76181f327decff98b8", + "sha256:30fa008c172355c7768159983a7270cb23838c4d7db73d6c0f6b60dde0d432c6", + "sha256:3dbb3cea20b4af4f49f84cffaf45dd5f88e8594d18568e0225e6ad9dec0e7967", + "sha256:4116ba9a58109ed5e4cb315bdcbff9838f3159d099ba5259c7c7fb77f8537492", + "sha256:44e6adf67577dbdfa2d9f06db9fbc5639afefdb5bf2b4dfec25c3a7fbc619536", + "sha256:5326ddfacbe51abf9469fe668944bc2e399181a2158cb5d45e1d40856b2a0589", + "sha256:70adc3658138bc77a36ce769f5f183169bc0a2906a4f61f09673f7181255ac9b", + "sha256:72be6ebb4e92520b9726d7146bc9c9b277513a57a38efcf66db0620aec0097e0", + "sha256:7843b1624d6ccca403a610d1277f7c28ad184c5aa88a1750c1a999754e65b439", + "sha256:7ba5a1041480c6e0a8b11a9544d53562abc2d19220bfa14133e0cdd9967e97af", + "sha256:80efd202108c3a4150e042b269f7c78643420cc232a0a771743bb96b742f838f", + "sha256:82f49c5a79d3839bc8f38cb5f4bfc87e15f04cbafa5fbd12fb32c941cb529cfb", + "sha256:83d2c9db5dfc537d0171e32de160461230eb14663299b7e6d18ca6dca21e4977", + "sha256:8d93a1095f83e908fc253f2fb569c2711414c0bfd451cab580466465b235b470", + "sha256:8dc3d842fa41a33fe83d9f5c66c0cc1f28756530cd89944b63b072281e852031", + "sha256:9661a04ca3c950a8ac8c47f53cbc0b530bce1b52f516a1e87b7736fec24bfff0", + "sha256:a498bcd005e8a3fedd0022bb30ee0ad92728154a8798b703f394484452550507", + "sha256:a7a4cf5bbdc861987a7745aed7a536c6405256853c94abc9f3287c3fa401b174", + "sha256:b5074fb09429f2b7bc82b6fb4be8645dcbac14e592128beeff5461dcde0af09f", + "sha256:b6a5431940f28b6de123de42f0eb47b84a073ee3c3345dc109ad550a3307dd28", + "sha256:ba677bcaff9429fd1bf01648ad0901cea56c0d068df383d5f5856d88221fe75b", + "sha256:bcadb05c3d4794eb9eee1dddf1c24215c92fb7b55a80beae7a60530a91060560", + "sha256:bf7eb45d14fc036514c09554bf983f2a72323254912ed0c3c8e697b62c4c158f", + "sha256:c358721aebd40c243894298f685a19eb0491a5c3e0b923b9f887ef1193ddf829", + "sha256:c4550a359c5157aaf8507e6820d98682872b9100ce7607f8aa070b4b8af6c298", + "sha256:c6572c2dab23c86a14e82c245473d45b4c515314f1f859e92608dcafbd2f19b8", + "sha256:cba430db673c29376135e695c6e2501c44c256a81495da849e85d1793ee975ad", + "sha256:dedc71c8eb9c5096037766390172c34fb86ef048b8e8958b4e484b9e505d66bc", + "sha256:e6f5eb2f53fac7d408a45fbcdeda7224b1cfff64919d0f95473420a931347ae9", + "sha256:ec2eba188c1906b05b9b49ae55aae4efd8150c61ba450e6721f64620c50b59eb", + "sha256:ee040a7de8d295dbd261ef2d6d3192f13e2b08ec4a954de34a6fb8ff6422e24c", + "sha256:eedd3b59190885d1ebdf6c5e0ca56828beb1949b4dfe6e5d0256a461429ac386", + "sha256:f441422bb313ab25de7b3dbfd388e790eceb76ce01a18199ec4944b369017009", + "sha256:f8eb7b6716f5b50e9c06207a14172cf2de201e41912ebe732846c02c830455b9", + "sha256:fc4453705b81d03568d5b808ad8f09c77c47534f6ac2e72e733f9ca4714aa75c" + ], + "markers": "python_version >= '3.7'", + "version": "==1.3.2" + }, + "kubernetes": { + "hashes": [ + "sha256:1a2472f8b01bc6aa87e3a34781f859bded5a5c8ff791a53d889a8bd6cc550430", + "sha256:4af81201520977139a143f96123fb789fa351879df37f122916b9b6ed050bbaf" + ], + "version": "==11.0.0" + }, + "lizard": { + "hashes": [ + "sha256:3a5c429321e67d4a1970adb30ce8c6aebf4688c275b2589d89b4bbd6ed3d40a9", + "sha256:76ee0e631d985bea1dd6521a03c6c2fa9dce5a2248b3d26c49890e9e085b7aed" + ], + "version": "==1.17.9" + }, + "lxml": { + "hashes": [ + "sha256:078306d19a33920004addeb5f4630781aaeabb6a8d01398045fcde085091a169", + "sha256:0c1978ff1fd81ed9dcbba4f91cf09faf1f8082c9d72eb122e92294716c605428", + "sha256:1010042bfcac2b2dc6098260a2ed022968dbdfaf285fc65a3acf8e4eb1ffd1bc", + "sha256:1d650812b52d98679ed6c6b3b55cbb8fe5a5460a0aef29aeb08dc0b44577df85", + "sha256:20b8a746a026017acf07da39fdb10aa80ad9877046c9182442bf80c84a1c4696", + "sha256:2403a6d6fb61c285969b71f4a3527873fe93fd0abe0832d858a17fe68c8fa507", + "sha256:24f5c5ae618395ed871b3d8ebfcbb36e3f1091fd847bf54c4de623f9107942f3", + "sha256:28d1af847786f68bec57961f31221125c29d6f52d9187c01cd34dc14e2b29430", + "sha256:31499847fc5f73ee17dbe1b8e24c6dafc4e8d5b48803d17d22988976b0171f03", + "sha256:31ba2cbc64516dcdd6c24418daa7abff989ddf3ba6d3ea6f6ce6f2ed6e754ec9", + "sha256:330bff92c26d4aee79c5bc4d9967858bdbe73fdbdbacb5daf623a03a914fe05b", + "sha256:5045ee1ccd45a89c4daec1160217d363fcd23811e26734688007c26f28c9e9e7", + "sha256:52cbf2ff155b19dc4d4100f7442f6a697938bf4493f8d3b0c51d45568d5666b5", + "sha256:530f278849031b0eb12f46cca0e5db01cfe5177ab13bd6878c6e739319bae654", + "sha256:545bd39c9481f2e3f2727c78c169425efbfb3fbba6e7db4f46a80ebb249819ca", + "sha256:5804e04feb4e61babf3911c2a974a5b86f66ee227cc5006230b00ac6d285b3a9", + "sha256:5a58d0b12f5053e270510bf12f753a76aaf3d74c453c00942ed7d2c804ca845c", + "sha256:5f148b0c6133fb928503cfcdfdba395010f997aa44bcf6474fcdd0c5398d9b63", + "sha256:5f7d7d9afc7b293147e2d506a4596641d60181a35279ef3aa5778d0d9d9123fe", + "sha256:60d2f60bd5a2a979df28ab309352cdcf8181bda0cca4529769a945f09aba06f9", + "sha256:6259b511b0f2527e6d55ad87acc1c07b3cbffc3d5e050d7e7bcfa151b8202df9", + "sha256:6268e27873a3d191849204d00d03f65c0e343b3bcb518a6eaae05677c95621d1", + "sha256:627e79894770783c129cc5e89b947e52aa26e8e0557c7e205368a809da4b7939", + "sha256:62f93eac69ec0f4be98d1b96f4d6b964855b8255c345c17ff12c20b93f247b68", + "sha256:6d6483b1229470e1d8835e52e0ff3c6973b9b97b24cd1c116dca90b57a2cc613", + "sha256:6f7b82934c08e28a2d537d870293236b1000d94d0b4583825ab9649aef7ddf63", + "sha256:6fe4ef4402df0250b75ba876c3795510d782def5c1e63890bde02d622570d39e", + "sha256:719544565c2937c21a6f76d520e6e52b726d132815adb3447ccffbe9f44203c4", + "sha256:730766072fd5dcb219dd2b95c4c49752a54f00157f322bc6d71f7d2a31fecd79", + "sha256:74eb65ec61e3c7c019d7169387d1b6ffcfea1b9ec5894d116a9a903636e4a0b1", + "sha256:7993232bd4044392c47779a3c7e8889fea6883be46281d45a81451acfd704d7e", + "sha256:80bbaddf2baab7e6de4bc47405e34948e694a9efe0861c61cdc23aa774fcb141", + "sha256:86545e351e879d0b72b620db6a3b96346921fa87b3d366d6c074e5a9a0b8dadb", + "sha256:891dc8f522d7059ff0024cd3ae79fd224752676447f9c678f2a5c14b84d9a939", + "sha256:8a31f24e2a0b6317f33aafbb2f0895c0bce772980ae60c2c640d82caac49628a", + "sha256:8b99ec73073b37f9ebe8caf399001848fced9c08064effdbfc4da2b5a8d07b93", + "sha256:986b7a96228c9b4942ec420eff37556c5777bfba6758edcb95421e4a614b57f9", + "sha256:a1547ff4b8a833511eeaceacbcd17b043214fcdb385148f9c1bc5556ca9623e2", + "sha256:a2bfc7e2a0601b475477c954bf167dee6d0f55cb167e3f3e7cefad906e7759f6", + "sha256:a3c5f1a719aa11866ffc530d54ad965063a8cbbecae6515acbd5f0fae8f48eaa", + "sha256:a9f1c3489736ff8e1c7652e9dc39f80cff820f23624f23d9eab6e122ac99b150", + "sha256:aa0cf4922da7a3c905d000b35065df6184c0dc1d866dd3b86fd961905bbad2ea", + "sha256:ad4332a532e2d5acb231a2e5d33f943750091ee435daffca3fec0a53224e7e33", + "sha256:b2582b238e1658c4061ebe1b4df53c435190d22457642377fd0cb30685cdfb76", + "sha256:b6fc2e2fb6f532cf48b5fed57567ef286addcef38c28874458a41b7837a57807", + "sha256:b92d40121dcbd74831b690a75533da703750f7041b4bf951befc657c37e5695a", + "sha256:bbab6faf6568484707acc052f4dfc3802bdb0cafe079383fbaa23f1cdae9ecd4", + "sha256:c0b88ed1ae66777a798dc54f627e32d3b81c8009967c63993c450ee4cbcbec15", + "sha256:ce13d6291a5f47c1c8dbd375baa78551053bc6b5e5c0e9bb8e39c0a8359fd52f", + "sha256:db3535733f59e5605a88a706824dfcb9bd06725e709ecb017e165fc1d6e7d429", + "sha256:dd10383f1d6b7edf247d0960a3db274c07e96cf3a3fc7c41c8448f93eac3fb1c", + "sha256:e01f9531ba5420838c801c21c1b0f45dbc9607cb22ea2cf132844453bec863a5", + "sha256:e11527dc23d5ef44d76fef11213215c34f36af1608074561fcc561d983aeb870", + "sha256:e1ab2fac607842ac36864e358c42feb0960ae62c34aa4caaf12ada0a1fb5d99b", + "sha256:e1fd7d2fe11f1cb63d3336d147c852f6d07de0d0020d704c6031b46a30b02ca8", + "sha256:e9f84ed9f4d50b74fbc77298ee5c870f67cb7e91dcdc1a6915cb1ff6a317476c", + "sha256:ec4b4e75fc68da9dc0ed73dcdb431c25c57775383fec325d23a770a64e7ebc87", + "sha256:f10ce66fcdeb3543df51d423ede7e238be98412232fca5daec3e54bcd16b8da0", + "sha256:f63f62fc60e6228a4ca9abae28228f35e1bd3ce675013d1dfb828688d50c6e23", + "sha256:fa56bb08b3dd8eac3a8c5b7d075c94e74f755fd9d8a04543ae8d37b1612dd170", + "sha256:fa9b7c450be85bfc6cd39f6df8c5b8cbd76b5d6fc1f69efec80203f9894b885f" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==4.8.0" + }, + "mako": { + "hashes": [ + "sha256:23aab11fdbbb0f1051b93793a58323ff937e98e34aece1c4219675122e57e4ba", + "sha256:9a7c7e922b87db3686210cf49d5d767033a41d4010b284e747682c92bddd8b39" + ], + "markers": "python_version >= '3.7'", + "version": "==1.2.0" + }, + "markupsafe": { + "hashes": [ + "sha256:023af8c54fe63530545f70dd2a2a7eed18d07a9a77b94e8bf1e2ff7f252db9a3", + "sha256:09c86c9643cceb1d87ca08cdc30160d1b7ab49a8a21564868921959bd16441b8", + "sha256:142119fb14a1ef6d758912b25c4e803c3ff66920635c44078666fe7cc3f8f759", + "sha256:1d1fb9b2eec3c9714dd936860850300b51dbaa37404209c8d4cb66547884b7ed", + "sha256:204730fd5fe2fe3b1e9ccadb2bd18ba8712b111dcabce185af0b3b5285a7c989", + "sha256:24c3be29abb6b34052fd26fc7a8e0a49b1ee9d282e3665e8ad09a0a68faee5b3", + "sha256:290b02bab3c9e216da57c1d11d2ba73a9f73a614bbdcc027d299a60cdfabb11a", + "sha256:3028252424c72b2602a323f70fbf50aa80a5d3aa616ea6add4ba21ae9cc9da4c", + "sha256:30c653fde75a6e5eb814d2a0a89378f83d1d3f502ab710904ee585c38888816c", + "sha256:3cace1837bc84e63b3fd2dfce37f08f8c18aeb81ef5cf6bb9b51f625cb4e6cd8", + "sha256:4056f752015dfa9828dce3140dbadd543b555afb3252507348c493def166d454", + "sha256:454ffc1cbb75227d15667c09f164a0099159da0c1f3d2636aa648f12675491ad", + "sha256:598b65d74615c021423bd45c2bc5e9b59539c875a9bdb7e5f2a6b92dfcfc268d", + "sha256:599941da468f2cf22bf90a84f6e2a65524e87be2fce844f96f2dd9a6c9d1e635", + "sha256:5ddea4c352a488b5e1069069f2f501006b1a4362cb906bee9a193ef1245a7a61", + "sha256:62c0285e91414f5c8f621a17b69fc0088394ccdaa961ef469e833dbff64bd5ea", + "sha256:679cbb78914ab212c49c67ba2c7396dc599a8479de51b9a87b174700abd9ea49", + "sha256:6e104c0c2b4cd765b4e83909cde7ec61a1e313f8a75775897db321450e928cce", + "sha256:736895a020e31b428b3382a7887bfea96102c529530299f426bf2e636aacec9e", + "sha256:75bb36f134883fdbe13d8e63b8675f5f12b80bb6627f7714c7d6c5becf22719f", + "sha256:7d2f5d97fcbd004c03df8d8fe2b973fe2b14e7bfeb2cfa012eaa8759ce9a762f", + "sha256:80beaf63ddfbc64a0452b841d8036ca0611e049650e20afcb882f5d3c266d65f", + "sha256:84ad5e29bf8bab3ad70fd707d3c05524862bddc54dc040982b0dbcff36481de7", + "sha256:8da5924cb1f9064589767b0f3fc39d03e3d0fb5aa29e0cb21d43106519bd624a", + "sha256:961eb86e5be7d0973789f30ebcf6caab60b844203f4396ece27310295a6082c7", + "sha256:96de1932237abe0a13ba68b63e94113678c379dca45afa040a17b6e1ad7ed076", + "sha256:a0a0abef2ca47b33fb615b491ce31b055ef2430de52c5b3fb19a4042dbc5cadb", + "sha256:b2a5a856019d2833c56a3dcac1b80fe795c95f401818ea963594b345929dffa7", + "sha256:b8811d48078d1cf2a6863dafb896e68406c5f513048451cd2ded0473133473c7", + "sha256:c532d5ab79be0199fa2658e24a02fce8542df196e60665dd322409a03db6a52c", + "sha256:d3b64c65328cb4cd252c94f83e66e3d7acf8891e60ebf588d7b493a55a1dbf26", + "sha256:d4e702eea4a2903441f2735799d217f4ac1b55f7d8ad96ab7d4e25417cb0827c", + "sha256:d5653619b3eb5cbd35bfba3c12d575db2a74d15e0e1c08bf1db788069d410ce8", + "sha256:d66624f04de4af8bbf1c7f21cc06649c1c69a7f84109179add573ce35e46d448", + "sha256:e67ec74fada3841b8c5f4c4f197bea916025cb9aa3fe5abf7d52b655d042f956", + "sha256:e6f7f3f41faffaea6596da86ecc2389672fa949bd035251eab26dc6697451d05", + "sha256:f02cf7221d5cd915d7fa58ab64f7ee6dd0f6cddbb48683debf5d04ae9b1c2cc1", + "sha256:f0eddfcabd6936558ec020130f932d479930581171368fd728efcfb6ef0dd357", + "sha256:fabbe18087c3d33c5824cb145ffca52eccd053061df1d79d4b66dafa5ad2a5ea", + "sha256:fc3150f85e2dbcf99e65238c842d1cfe69d3e7649b19864c1cc043213d9cd730" + ], + "markers": "python_version >= '3.7'", + "version": "==2.1.0" + }, + "matplotlib": { + "hashes": [ + "sha256:14334b9902ec776461c4b8c6516e26b450f7ebe0b3ef8703bf5cdfbbaecf774a", + "sha256:2252bfac85cec7af4a67e494bfccf9080bcba8a0299701eab075f48847cca907", + "sha256:2e3484d8455af3fdb0424eae1789af61f6a79da0c80079125112fd5c1b604218", + "sha256:34a1fc29f8f96e78ec57a5eff5e8d8b53d3298c3be6df61e7aa9efba26929522", + "sha256:3e66497cd990b1a130e21919b004da2f1dc112132c01ac78011a90a0f9229778", + "sha256:40e0d7df05e8efe60397c69b467fc8f87a2affeb4d562fe92b72ff8937a2b511", + "sha256:456cc8334f6d1124e8ff856b42d2cc1c84335375a16448189999496549f7182b", + "sha256:506b210cc6e66a0d1c2bb765d055f4f6bc2745070fb1129203b67e85bbfa5c18", + "sha256:53273c5487d1c19c3bc03b9eb82adaf8456f243b97ed79d09dded747abaf1235", + "sha256:577ed20ec9a18d6bdedb4616f5e9e957b4c08563a9f985563a31fd5b10564d2a", + "sha256:6803299cbf4665eca14428d9e886de62e24f4223ac31ab9c5d6d5339a39782c7", + "sha256:68fa30cec89b6139dc559ed6ef226c53fd80396da1919a1b5ef672c911aaa767", + "sha256:6c094e4bfecd2fa7f9adffd03d8abceed7157c928c2976899de282f3600f0a3d", + "sha256:778d398c4866d8e36ee3bf833779c940b5f57192fa0a549b3ad67bc4c822771b", + "sha256:7a350ca685d9f594123f652ba796ee37219bf72c8e0fc4b471473d87121d6d34", + "sha256:87900c67c0f1728e6db17c6809ec05c025c6624dcf96a8020326ea15378fe8e7", + "sha256:8a77906dc2ef9b67407cec0bdbf08e3971141e535db888974a915be5e1e3efc6", + "sha256:8e70ae6475cfd0fad3816dcbf6cac536dc6f100f7474be58d59fa306e6e768a4", + "sha256:abf67e05a1b7f86583f6ebd01f69b693b9c535276f4e943292e444855870a1b8", + "sha256:b04fc29bcef04d4e2d626af28d9d892be6aba94856cb46ed52bcb219ceac8943", + "sha256:b19a761b948e939a9e20173aaae76070025f0024fc8f7ba08bef22a5c8573afc", + "sha256:b2e9810e09c3a47b73ce9cab5a72243a1258f61e7900969097a817232246ce1c", + "sha256:b71f3a7ca935fc759f2aed7cec06cfe10bc3100fadb5dbd9c435b04e557971e1", + "sha256:b8a4fb2a0c5afbe9604f8a91d7d0f27b1832c3e0b5e365f95a13015822b4cd65", + "sha256:bb1c613908f11bac270bc7494d68b1ef6e7c224b7a4204d5dacf3522a41e2bc3", + "sha256:d24e5bb8028541ce25e59390122f5e48c8506b7e35587e5135efcb6471b4ac6c", + "sha256:d70a32ee1f8b55eed3fd4e892f0286df8cccc7e0475c11d33b5d0a148f5c7599", + "sha256:e293b16cf303fe82995e41700d172a58a15efc5331125d08246b520843ef21ee", + "sha256:e2f28a07b4f82abb40267864ad7b3a4ed76f1b1663e81c7efc84a9b9248f672f", + "sha256:e3520a274a0e054e919f5b3279ee5dbccf5311833819ccf3399dab7c83e90a25", + "sha256:e3b6f3fd0d8ca37861c31e9a7cab71a0ef14c639b4c95654ea1dd153158bf0df", + "sha256:e486f60db0cd1c8d68464d9484fd2a94011c1ac8593d765d0211f9daba2bd535", + "sha256:e8c87cdaf06fd7b2477f68909838ff4176f105064a72ca9d24d3f2a29f73d393", + "sha256:edf5e4e1d5fb22c18820e8586fb867455de3b109c309cb4fce3aaed85d9468d1", + "sha256:fe8d40c434a8e2c68d64c6d6a04e77f21791a93ff6afe0dce169597c110d3079" + ], + "index": "pypi", + "version": "==3.5.1" + }, + "mock": { + "hashes": [ + "sha256:122fcb64ee37cfad5b3f48d7a7d51875d7031aaf3d8be7c42e2bee25044eee62", + "sha256:7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc" + ], + "markers": "python_version >= '3.6'", + "version": "==4.0.3" + }, + "multidict": { + "hashes": [ + "sha256:0327292e745a880459ef71be14e709aaea2f783f3537588fb4ed09b6c01bca60", + "sha256:041b81a5f6b38244b34dc18c7b6aba91f9cdaf854d9a39e5ff0b58e2b5773b9c", + "sha256:0556a1d4ea2d949efe5fd76a09b4a82e3a4a30700553a6725535098d8d9fb672", + "sha256:05f6949d6169878a03e607a21e3b862eaf8e356590e8bdae4227eedadacf6e51", + "sha256:07a017cfa00c9890011628eab2503bee5872f27144936a52eaab449be5eaf032", + "sha256:0b9e95a740109c6047602f4db4da9949e6c5945cefbad34a1299775ddc9a62e2", + "sha256:19adcfc2a7197cdc3987044e3f415168fc5dc1f720c932eb1ef4f71a2067e08b", + "sha256:19d9bad105dfb34eb539c97b132057a4e709919ec4dd883ece5838bcbf262b80", + "sha256:225383a6603c086e6cef0f2f05564acb4f4d5f019a4e3e983f572b8530f70c88", + "sha256:23b616fdc3c74c9fe01d76ce0d1ce872d2d396d8fa8e4899398ad64fb5aa214a", + "sha256:2957489cba47c2539a8eb7ab32ff49101439ccf78eab724c828c1a54ff3ff98d", + "sha256:2d36e929d7f6a16d4eb11b250719c39560dd70545356365b494249e2186bc389", + "sha256:2e4a0785b84fb59e43c18a015ffc575ba93f7d1dbd272b4cdad9f5134b8a006c", + "sha256:3368bf2398b0e0fcbf46d85795adc4c259299fec50c1416d0f77c0a843a3eed9", + "sha256:373ba9d1d061c76462d74e7de1c0c8e267e9791ee8cfefcf6b0b2495762c370c", + "sha256:4070613ea2227da2bfb2c35a6041e4371b0af6b0be57f424fe2318b42a748516", + "sha256:45183c96ddf61bf96d2684d9fbaf6f3564d86b34cb125761f9a0ef9e36c1d55b", + "sha256:4571f1beddff25f3e925eea34268422622963cd8dc395bb8778eb28418248e43", + "sha256:47e6a7e923e9cada7c139531feac59448f1f47727a79076c0b1ee80274cd8eee", + "sha256:47fbeedbf94bed6547d3aa632075d804867a352d86688c04e606971595460227", + "sha256:497988d6b6ec6ed6f87030ec03280b696ca47dbf0648045e4e1d28b80346560d", + "sha256:4bae31803d708f6f15fd98be6a6ac0b6958fcf68fda3c77a048a4f9073704aae", + "sha256:50bd442726e288e884f7be9071016c15a8742eb689a593a0cac49ea093eef0a7", + "sha256:514fe2b8d750d6cdb4712346a2c5084a80220821a3e91f3f71eec11cf8d28fd4", + "sha256:5774d9218d77befa7b70d836004a768fb9aa4fdb53c97498f4d8d3f67bb9cfa9", + "sha256:5fdda29a3c7e76a064f2477c9aab1ba96fd94e02e386f1e665bca1807fc5386f", + "sha256:5ff3bd75f38e4c43f1f470f2df7a4d430b821c4ce22be384e1459cb57d6bb013", + "sha256:626fe10ac87851f4cffecee161fc6f8f9853f0f6f1035b59337a51d29ff3b4f9", + "sha256:6701bf8a5d03a43375909ac91b6980aea74b0f5402fbe9428fc3f6edf5d9677e", + "sha256:684133b1e1fe91eda8fa7447f137c9490a064c6b7f392aa857bba83a28cfb693", + "sha256:6f3cdef8a247d1eafa649085812f8a310e728bdf3900ff6c434eafb2d443b23a", + "sha256:75bdf08716edde767b09e76829db8c1e5ca9d8bb0a8d4bd94ae1eafe3dac5e15", + "sha256:7c40b7bbece294ae3a87c1bc2abff0ff9beef41d14188cda94ada7bcea99b0fb", + "sha256:8004dca28e15b86d1b1372515f32eb6f814bdf6f00952699bdeb541691091f96", + "sha256:8064b7c6f0af936a741ea1efd18690bacfbae4078c0c385d7c3f611d11f0cf87", + "sha256:89171b2c769e03a953d5969b2f272efa931426355b6c0cb508022976a17fd376", + "sha256:8cbf0132f3de7cc6c6ce00147cc78e6439ea736cee6bca4f068bcf892b0fd658", + "sha256:9cc57c68cb9139c7cd6fc39f211b02198e69fb90ce4bc4a094cf5fe0d20fd8b0", + "sha256:a007b1638e148c3cfb6bf0bdc4f82776cef0ac487191d093cdc316905e504071", + "sha256:a2c34a93e1d2aa35fbf1485e5010337c72c6791407d03aa5f4eed920343dd360", + "sha256:a45e1135cb07086833ce969555df39149680e5471c04dfd6a915abd2fc3f6dbc", + "sha256:ac0e27844758d7177989ce406acc6a83c16ed4524ebc363c1f748cba184d89d3", + "sha256:aef9cc3d9c7d63d924adac329c33835e0243b5052a6dfcbf7732a921c6e918ba", + "sha256:b9d153e7f1f9ba0b23ad1568b3b9e17301e23b042c23870f9ee0522dc5cc79e8", + "sha256:bfba7c6d5d7c9099ba21f84662b037a0ffd4a5e6b26ac07d19e423e6fdf965a9", + "sha256:c207fff63adcdf5a485969131dc70e4b194327666b7e8a87a97fbc4fd80a53b2", + "sha256:d0509e469d48940147e1235d994cd849a8f8195e0bca65f8f5439c56e17872a3", + "sha256:d16cce709ebfadc91278a1c005e3c17dd5f71f5098bfae1035149785ea6e9c68", + "sha256:d48b8ee1d4068561ce8033d2c344cf5232cb29ee1a0206a7b828c79cbc5982b8", + "sha256:de989b195c3d636ba000ee4281cd03bb1234635b124bf4cd89eeee9ca8fcb09d", + "sha256:e07c8e79d6e6fd37b42f3250dba122053fddb319e84b55dd3a8d6446e1a7ee49", + "sha256:e2c2e459f7050aeb7c1b1276763364884595d47000c1cddb51764c0d8976e608", + "sha256:e5b20e9599ba74391ca0cfbd7b328fcc20976823ba19bc573983a25b32e92b57", + "sha256:e875b6086e325bab7e680e4316d667fc0e5e174bb5611eb16b3ea121c8951b86", + "sha256:f4f052ee022928d34fe1f4d2bc743f32609fb79ed9c49a1710a5ad6b2198db20", + "sha256:fcb91630817aa8b9bc4a74023e4198480587269c272c58b3279875ed7235c293", + "sha256:fd9fc9c4849a07f3635ccffa895d57abce554b467d611a5009ba4f39b78a8849", + "sha256:feba80698173761cddd814fa22e88b0661e98cb810f9f986c54aa34d281e4937", + "sha256:feea820722e69451743a3d56ad74948b68bf456984d63c1a92e8347b7b88452d" + ], + "markers": "python_version >= '3.7'", + "version": "==6.0.2" + }, + "numpy": { + "hashes": [ + "sha256:07a8c89a04997625236c5ecb7afe35a02af3896c8aa01890a849913a2309c676", + "sha256:08d9b008d0156c70dc392bb3ab3abb6e7a711383c3247b410b39962263576cd4", + "sha256:201b4d0552831f7250a08d3b38de0d989d6f6e4658b709a02a73c524ccc6ffce", + "sha256:2c10a93606e0b4b95c9b04b77dc349b398fdfbda382d2a39ba5a822f669a0123", + "sha256:3ca688e1b9b95d80250bca34b11a05e389b1420d00e87a0d12dc45f131f704a1", + "sha256:48a3aecd3b997bf452a2dedb11f4e79bc5bfd21a1d4cc760e703c31d57c84b3e", + "sha256:568dfd16224abddafb1cbcce2ff14f522abe037268514dd7e42c6776a1c3f8e5", + "sha256:5bfb1bb598e8229c2d5d48db1860bcf4311337864ea3efdbe1171fb0c5da515d", + "sha256:639b54cdf6aa4f82fe37ebf70401bbb74b8508fddcf4797f9fe59615b8c5813a", + "sha256:8251ed96f38b47b4295b1ae51631de7ffa8260b5b087808ef09a39a9d66c97ab", + "sha256:92bfa69cfbdf7dfc3040978ad09a48091143cffb778ec3b03fa170c494118d75", + "sha256:97098b95aa4e418529099c26558eeb8486e66bd1e53a6b606d684d0c3616b168", + "sha256:a3bae1a2ed00e90b3ba5f7bd0a7c7999b55d609e0c54ceb2b076a25e345fa9f4", + "sha256:c34ea7e9d13a70bf2ab64a2532fe149a9aced424cd05a2c4ba662fd989e3e45f", + "sha256:dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18", + "sha256:e7927a589df200c5e23c57970bafbd0cd322459aa7b1ff73b7c2e84d6e3eae62", + "sha256:f8c1f39caad2c896bc0018f699882b345b2a63708008be29b1f355ebf6f933fe", + "sha256:f950f8845b480cffe522913d35567e29dd381b0dc7e4ce6a4a9f9156417d2430", + "sha256:fade0d4f4d292b6f39951b6836d7a3c7ef5b2347f3c420cd9820a1d90d794802", + "sha256:fdf3c08bce27132395d3c3ba1503cac12e17282358cb4bddc25cc46b0aca07aa" + ], + "markers": "python_version < '3.10' and platform_machine != 'aarch64' and platform_machine != 'arm64'", + "version": "==1.22.3" + }, + "oauthlib": { + "hashes": [ + "sha256:23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2", + "sha256:6db33440354787f9b7f3a6dbd4febf5d0f93758354060e802f6c06cb493022fe" + ], + "markers": "python_version >= '3.6'", + "version": "==3.2.0" + }, + "openshift": { + "hashes": [ + "sha256:bfc398aac8ad9d903b520e473290ebc35d9c9a739c8e083fde55d93288c7f67d" + ], + "version": "==0.11.0" + }, + "packaging": { + "hashes": [ + "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", + "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" + ], + "markers": "python_version >= '3.6'", + "version": "==21.3" + }, + "pandas": { + "hashes": [ + "sha256:0259cd11e7e6125aaea3af823b80444f3adad6149ff4c97fef760093598b3e34", + "sha256:04dd15d9db538470900c851498e532ef28d4e56bfe72c9523acb32042de43dfb", + "sha256:0b1a13f647e4209ed7dbb5da3497891d0045da9785327530ab696417ef478f84", + "sha256:19f7c632436b1b4f84615c3b127bbd7bc603db95e3d4332ed259dc815c9aaa26", + "sha256:1b384516dbb4e6aae30e3464c2e77c563da5980440fbdfbd0968e3942f8f9d70", + "sha256:1d85d5f6be66dfd6d1d8d13b9535e342a2214260f1852654b19fa4d7b8d1218b", + "sha256:2e5a7a1e0ecaac652326af627a3eca84886da9e667d68286866d4e33f6547caf", + "sha256:3129a35d9dad1d80c234dd78f8f03141b914395d23f97cf92a366dcd19f8f8bf", + "sha256:358b0bc98a5ff067132d23bf7a2242ee95db9ea5b7bbc401cf79205f11502fd3", + "sha256:3dfb32ed50122fe8c5e7f2b8d97387edd742cc78f9ec36f007ee126cd3720907", + "sha256:4e1176f45981c8ccc8161bc036916c004ca51037a7ed73f2d2a9857e6dbe654f", + "sha256:508c99debccd15790d526ce6b1624b97a5e1e4ca5b871319fb0ebfd46b8f4dad", + "sha256:6105af6533f8b63a43ea9f08a2ede04e8f43e49daef0209ab0d30352bcf08bee", + "sha256:6d6ad1da00c7cc7d8dd1559a6ba59ba3973be6b15722d49738b2be0977eb8a0c", + "sha256:7ea47ba1d6f359680130bd29af497333be6110de8f4c35b9211eec5a5a9630fa", + "sha256:8db93ec98ac7cb5f8ac1420c10f5e3c43533153f253fe7fb6d891cf5aa2b80d2", + "sha256:96e9ece5759f9b47ae43794b6359bbc54805d76e573b161ae770c1ea59393106", + "sha256:bbb15ad79050e8b8d39ec40dd96a30cd09b886a2ae8848d0df1abba4d5502a67", + "sha256:c614001129b2a5add5e3677c3a213a9e6fd376204cb8d17c04e84ff7dfc02a73", + "sha256:e6a7bbbb7950063bfc942f8794bc3e31697c020a14f1cd8905fc1d28ec674a01", + "sha256:f02e85e6d832be37d7f16cf6ac8bb26b519ace3e5f3235564a91c7f658ab2a43" + ], + "index": "pypi", + "version": "==1.4.1" + }, + "pexpect": { + "hashes": [ + "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937", + "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c" + ], + "version": "==4.8.0" + }, + "pillow": { + "hashes": [ + "sha256:011233e0c42a4a7836498e98c1acf5e744c96a67dd5032a6f666cc1fb97eab97", + "sha256:0f29d831e2151e0b7b39981756d201f7108d3d215896212ffe2e992d06bfe049", + "sha256:12875d118f21cf35604176872447cdb57b07126750a33748bac15e77f90f1f9c", + "sha256:14d4b1341ac07ae07eb2cc682f459bec932a380c3b122f5540432d8977e64eae", + "sha256:1c3c33ac69cf059bbb9d1a71eeaba76781b450bc307e2291f8a4764d779a6b28", + "sha256:1d19397351f73a88904ad1aee421e800fe4bbcd1aeee6435fb62d0a05ccd1030", + "sha256:253e8a302a96df6927310a9d44e6103055e8fb96a6822f8b7f514bb7ef77de56", + "sha256:2632d0f846b7c7600edf53c48f8f9f1e13e62f66a6dbc15191029d950bfed976", + "sha256:335ace1a22325395c4ea88e00ba3dc89ca029bd66bd5a3c382d53e44f0ccd77e", + "sha256:413ce0bbf9fc6278b2d63309dfeefe452835e1c78398efb431bab0672fe9274e", + "sha256:5100b45a4638e3c00e4d2320d3193bdabb2d75e79793af7c3eb139e4f569f16f", + "sha256:514ceac913076feefbeaf89771fd6febde78b0c4c1b23aaeab082c41c694e81b", + "sha256:528a2a692c65dd5cafc130de286030af251d2ee0483a5bf50c9348aefe834e8a", + "sha256:6295f6763749b89c994fcb6d8a7f7ce03c3992e695f89f00b741b4580b199b7e", + "sha256:6c8bc8238a7dfdaf7a75f5ec5a663f4173f8c367e5a39f87e720495e1eed75fa", + "sha256:718856856ba31f14f13ba885ff13874be7fefc53984d2832458f12c38205f7f7", + "sha256:7f7609a718b177bf171ac93cea9fd2ddc0e03e84d8fa4e887bdfc39671d46b00", + "sha256:80ca33961ced9c63358056bd08403ff866512038883e74f3a4bf88ad3eb66838", + "sha256:80fe64a6deb6fcfdf7b8386f2cf216d329be6f2781f7d90304351811fb591360", + "sha256:81c4b81611e3a3cb30e59b0cf05b888c675f97e3adb2c8672c3154047980726b", + "sha256:855c583f268edde09474b081e3ddcd5cf3b20c12f26e0d434e1386cc5d318e7a", + "sha256:9bfdb82cdfeccec50aad441afc332faf8606dfa5e8efd18a6692b5d6e79f00fd", + "sha256:a5d24e1d674dd9d72c66ad3ea9131322819ff86250b30dc5821cbafcfa0b96b4", + "sha256:a9f44cd7e162ac6191491d7249cceb02b8116b0f7e847ee33f739d7cb1ea1f70", + "sha256:b5b3f092fe345c03bca1e0b687dfbb39364b21ebb8ba90e3fa707374b7915204", + "sha256:b9618823bd237c0d2575283f2939655f54d51b4527ec3972907a927acbcc5bfc", + "sha256:cef9c85ccbe9bee00909758936ea841ef12035296c748aaceee535969e27d31b", + "sha256:d21237d0cd37acded35154e29aec853e945950321dd2ffd1a7d86fe686814669", + "sha256:d3c5c79ab7dfce6d88f1ba639b77e77a17ea33a01b07b99840d6ed08031cb2a7", + "sha256:d9d7942b624b04b895cb95af03a23407f17646815495ce4547f0e60e0b06f58e", + "sha256:db6d9fac65bd08cea7f3540b899977c6dee9edad959fa4eaf305940d9cbd861c", + "sha256:ede5af4a2702444a832a800b8eb7f0a7a1c0eed55b644642e049c98d589e5092", + "sha256:effb7749713d5317478bb3acb3f81d9d7c7f86726d41c1facca068a04cf5bb4c", + "sha256:f154d173286a5d1863637a7dcd8c3437bb557520b01bddb0be0258dcb72696b5", + "sha256:f25ed6e28ddf50de7e7ea99d7a976d6a9c415f03adcaac9c41ff6ff41b6d86ac" + ], + "markers": "python_version >= '3.7'", + "version": "==9.0.1" + }, + "psycopg2-binary": { + "hashes": [ + "sha256:01310cf4cf26db9aea5158c217caa92d291f0500051a6469ac52166e1a16f5b7", + "sha256:083a55275f09a62b8ca4902dd11f4b33075b743cf0d360419e2051a8a5d5ff76", + "sha256:090f3348c0ab2cceb6dfbe6bf721ef61262ddf518cd6cc6ecc7d334996d64efa", + "sha256:0a29729145aaaf1ad8bafe663131890e2111f13416b60e460dae0a96af5905c9", + "sha256:0c9d5450c566c80c396b7402895c4369a410cab5a82707b11aee1e624da7d004", + "sha256:10bb90fb4d523a2aa67773d4ff2b833ec00857f5912bafcfd5f5414e45280fb1", + "sha256:12b11322ea00ad8db8c46f18b7dfc47ae215e4df55b46c67a94b4effbaec7094", + "sha256:152f09f57417b831418304c7f30d727dc83a12761627bb826951692cc6491e57", + "sha256:15803fa813ea05bef089fa78835118b5434204f3a17cb9f1e5dbfd0b9deea5af", + "sha256:15c4e4cfa45f5a60599d9cec5f46cd7b1b29d86a6390ec23e8eebaae84e64554", + "sha256:183a517a3a63503f70f808b58bfbf962f23d73b6dccddae5aa56152ef2bcb232", + "sha256:1f14c8b0942714eb3c74e1e71700cbbcb415acbc311c730370e70c578a44a25c", + "sha256:1f6b813106a3abdf7b03640d36e24669234120c72e91d5cbaeb87c5f7c36c65b", + "sha256:280b0bb5cbfe8039205c7981cceb006156a675362a00fe29b16fbc264e242834", + "sha256:2d872e3c9d5d075a2e104540965a1cf898b52274a5923936e5bfddb58c59c7c2", + "sha256:2f9ffd643bc7349eeb664eba8864d9e01f057880f510e4681ba40a6532f93c71", + "sha256:3303f8807f342641851578ee7ed1f3efc9802d00a6f83c101d21c608cb864460", + "sha256:35168209c9d51b145e459e05c31a9eaeffa9a6b0fd61689b48e07464ffd1a83e", + "sha256:3a79d622f5206d695d7824cbf609a4f5b88ea6d6dab5f7c147fc6d333a8787e4", + "sha256:404224e5fef3b193f892abdbf8961ce20e0b6642886cfe1fe1923f41aaa75c9d", + "sha256:46f0e0a6b5fa5851bbd9ab1bc805eef362d3a230fbdfbc209f4a236d0a7a990d", + "sha256:47133f3f872faf28c1e87d4357220e809dfd3fa7c64295a4a148bcd1e6e34ec9", + "sha256:526ea0378246d9b080148f2d6681229f4b5964543c170dd10bf4faaab6e0d27f", + "sha256:53293533fcbb94c202b7c800a12c873cfe24599656b341f56e71dd2b557be063", + "sha256:539b28661b71da7c0e428692438efbcd048ca21ea81af618d845e06ebfd29478", + "sha256:57804fc02ca3ce0dbfbef35c4b3a4a774da66d66ea20f4bda601294ad2ea6092", + "sha256:63638d875be8c2784cfc952c9ac34e2b50e43f9f0a0660b65e2a87d656b3116c", + "sha256:6472a178e291b59e7f16ab49ec8b4f3bdada0a879c68d3817ff0963e722a82ce", + "sha256:68641a34023d306be959101b345732360fc2ea4938982309b786f7be1b43a4a1", + "sha256:6e82d38390a03da28c7985b394ec3f56873174e2c88130e6966cb1c946508e65", + "sha256:761df5313dc15da1502b21453642d7599d26be88bff659382f8f9747c7ebea4e", + "sha256:7af0dd86ddb2f8af5da57a976d27cd2cd15510518d582b478fbb2292428710b4", + "sha256:7b1e9b80afca7b7a386ef087db614faebbf8839b7f4db5eb107d0f1a53225029", + "sha256:874a52ecab70af13e899f7847b3e074eeb16ebac5615665db33bce8a1009cf33", + "sha256:887dd9aac71765ac0d0bac1d0d4b4f2c99d5f5c1382d8b770404f0f3d0ce8a39", + "sha256:8b344adbb9a862de0c635f4f0425b7958bf5a4b927c8594e6e8d261775796d53", + "sha256:8fc53f9af09426a61db9ba357865c77f26076d48669f2e1bb24d85a22fb52307", + "sha256:91920527dea30175cc02a1099f331aa8c1ba39bf8b7762b7b56cbf54bc5cce42", + "sha256:93cd1967a18aa0edd4b95b1dfd554cf15af657cb606280996d393dadc88c3c35", + "sha256:99485cab9ba0fa9b84f1f9e1fef106f44a46ef6afdeec8885e0b88d0772b49e8", + "sha256:9d29409b625a143649d03d0fd7b57e4b92e0ecad9726ba682244b73be91d2fdb", + "sha256:a29b3ca4ec9defec6d42bf5feb36bb5817ba3c0230dd83b4edf4bf02684cd0ae", + "sha256:a9e1f75f96ea388fbcef36c70640c4efbe4650658f3d6a2967b4cc70e907352e", + "sha256:accfe7e982411da3178ec690baaceaad3c278652998b2c45828aaac66cd8285f", + "sha256:adf20d9a67e0b6393eac162eb81fb10bc9130a80540f4df7e7355c2dd4af9fba", + "sha256:af9813db73395fb1fc211bac696faea4ca9ef53f32dc0cfa27e4e7cf766dcf24", + "sha256:b1c8068513f5b158cf7e29c43a77eb34b407db29aca749d3eb9293ee0d3103ca", + "sha256:bda845b664bb6c91446ca9609fc69f7db6c334ec5e4adc87571c34e4f47b7ddb", + "sha256:c381bda330ddf2fccbafab789d83ebc6c53db126e4383e73794c74eedce855ef", + "sha256:c3ae8e75eb7160851e59adc77b3a19a976e50622e44fd4fd47b8b18208189d42", + "sha256:d1c1b569ecafe3a69380a94e6ae09a4789bbb23666f3d3a08d06bbd2451f5ef1", + "sha256:def68d7c21984b0f8218e8a15d514f714d96904265164f75f8d3a70f9c295667", + "sha256:dffc08ca91c9ac09008870c9eb77b00a46b3378719584059c034b8945e26b272", + "sha256:e3699852e22aa68c10de06524a3721ade969abf382da95884e6a10ff798f9281", + "sha256:e847774f8ffd5b398a75bc1c18fbb56564cda3d629fe68fd81971fece2d3c67e", + "sha256:ffb7a888a047696e7f8240d649b43fb3644f14f0ee229077e7f6b9f9081635bd" + ], + "markers": "python_version >= '3.6'", + "version": "==2.9.3" + }, + "ptyprocess": { + "hashes": [ + "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", + "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220" + ], + "version": "==0.7.0" + }, + "pyarrow": { + "hashes": [ + "sha256:040dce5345603e4e621bcf4f3b21f18d557852e7b15307e559bb14c8951c8714", + "sha256:06183a7ff2b0c030ec0413fc4dc98abad8cf336c78c280a0b7f4bcbebb78d125", + "sha256:087769dac6e567d58d59b94c4f866b3356c00d3db5b261387ece47e7324c2150", + "sha256:0f10928745c6ff66e121552731409803bed86c66ac79c64c90438b053b5242c5", + "sha256:0f15213f380539c9640cb2413dc677b55e70f04c9e98cfc2e1d8b36c770e1036", + "sha256:11a591f11d2697c751261c9d57e6e5b0d38fdc7f0cc57f4fd6edc657da7737df", + "sha256:13dc05bcf79dbc1bd2de1b05d26eb64824b85883d019d81ca3c2eca9b68b5a44", + "sha256:1f2d00b892fe865e43346acb78761ba268f8bb1cbdba588816590abcb780ee3d", + "sha256:29c4e3b3be0b94d07ff4921a5e410fc690a3a066a850a302fc504de5fc638495", + "sha256:306120af554e7e137895254a3b4741fad682875a5f6403509cd276de3fe5b844", + "sha256:3d3e3f93ac2993df9c5e1922eab7bdea047b9da918a74e52145399bc1f0099a3", + "sha256:3e06b0e29ce1e32f219c670c6b31c33d25a5b8e29c7828f873373aab78bf30a5", + "sha256:49d431ed644a3e8f53ae2bbf4b514743570b495b5829548db51610534b6eeee7", + "sha256:6183c700877852dc0f8a76d4c0c2ffd803ba459e2b4a452e355c2d58d48cf39f", + "sha256:702c5a9f960b56d03569eaaca2c1a05e8728f05ea1a2138ef64234aa53cd5884", + "sha256:759090caa1474cafb5e68c93a9bd6cb45d8bb8e4f2cad2f1a0cc9439bae8ae88", + "sha256:759f59ac77b84878dbd54d06cf6df74ff781b8e7cf9313eeffbb5ec97b94385c", + "sha256:8a9bfc8a016bcb8f9a8536d2fa14a890b340bc7a236275cd60fd4fb8b93ff405", + "sha256:aa6442a321c1e49480b3d436f7d631c895048a16df572cf71c23c6b53c45ed66", + "sha256:ba69488ae25c7fde1a2ae9ea29daf04d676de8960ffd6f82e1e13ca945bb5861", + "sha256:c7313038203df77ec4092d6363dbc0945071caa72635f365f2b1ae0dd7469865", + "sha256:d1748154714b543e6ae8452a68d4af85caf5298296a7e5d4d00f1b3021838ac6", + "sha256:da656cad3c23a2ebb6a307ab01d35fce22f7850059cffafcb90d12590f8f4f38", + "sha256:e3fe34bcfc28d9c4a747adc3926d2307a04c5c50b89155946739515ccfe5eab0", + "sha256:e7fecd5d5604f47e003f50887a42aee06cb8b7bf8e8bf7dc543a22331d9ba832", + "sha256:e87d1f7dc7a0b2ecaeb0c7a883a85710f5b5626d4134454f905571c04bc73d5a", + "sha256:ed4b647c3345ae3463d341a9d28d0260cd302fb92ecf4e2e3e0f1656d6e0e55c", + "sha256:f439f7d77201681fd31391d189aa6b1322d27c9311a8f2fce7d23972471b02b6", + "sha256:f6b01a23cb401750092c6f7c4dcae67cd8fd6b99ae710e26f654f23508f25f25", + "sha256:fcc8f934c7847a88f13ec35feecffb61fe63bb7a3078bd98dd353762e969ce60" + ], + "index": "pypi", + "version": "==7.0.0" + }, "pyasn1": { "hashes": [ "sha256:014c0e9976956a08139dc0712ae195324a75e142284d5f87f1a87ee1b068a359", @@ -75,6 +1038,85 @@ ], "version": "==0.4.8" }, + "pyasn1-modules": { + "hashes": [ + "sha256:0845a5582f6a02bb3e1bde9ecfc4bfcae6ec3210dd270522fee602365430c3f8", + "sha256:0fe1b68d1e486a1ed5473f1302bd991c1611d319bba158e98b106ff86e1d7199", + "sha256:15b7c67fabc7fc240d87fb9aabf999cf82311a6d6fb2c70d00d3d0604878c811", + "sha256:426edb7a5e8879f1ec54a1864f16b882c2837bfd06eee62f2c982315ee2473ed", + "sha256:65cebbaffc913f4fe9e4808735c95ea22d7a7775646ab690518c056784bc21b4", + "sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e", + "sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74", + "sha256:a99324196732f53093a84c4369c996713eb8c89d360a496b599fb1a9c47fc3eb", + "sha256:b80486a6c77252ea3a3e9b1e360bc9cf28eaac41263d173c032581ad2f20fe45", + "sha256:c29a5e5cc7a3f05926aff34e097e84f8589cd790ce0ed41b67aed6857b26aafd", + "sha256:cbac4bc38d117f2a49aeedec4407d23e8866ea4ac27ff2cf7fb3e5b570df19e0", + "sha256:f39edd8c4ecaa4556e989147ebf219227e2cd2e8a43c7e7fcb1f1c18c5fd6a3d", + "sha256:fe0644d9ab041506b62782e92b06b8c68cca799e1a9636ec398675459e031405" + ], + "version": "==0.2.8" + }, + "pycparser": { + "hashes": [ + "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", + "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" + ], + "version": "==2.21" + }, + "pydriller": { + "hashes": [ + "sha256:5be420c3630cc29b59d1938dfbb337c41d07689b83c7df98f19a4563bb80d005" + ], + "index": "pypi", + "version": "==2.1" + }, + "pyelftools": { + "hashes": [ + "sha256:1509d30756a14a8c9a6670778144fb9a04b311751ddac019dcc0c2f28da03ccc", + "sha256:53e5609cac016471d40bd88dc410cd90755942c25e58a61021cfdf7abdfeacff" + ], + "version": "==0.28" + }, + "pygithub": { + "hashes": [ + "sha256:1bbfff9372047ff3f21d5cd8e07720f3dbfdaf6462fcaed9d815f528f1ba7283", + "sha256:2caf0054ea079b71e539741ae56c5a95e073b81fa472ce222e81667381b9601b" + ], + "markers": "python_version >= '3.6'", + "version": "==1.55" + }, + "pyjwt": { + "hashes": [ + "sha256:b888b4d56f06f6dcd777210c334e69c737be74755d3e5e9ee3fe67dc18a0ee41", + "sha256:e0c4bb8d9f0af0c7f5b1ec4c5036309617d03d56932877f2f7a0beeb5318322f" + ], + "markers": "python_version >= '3.6'", + "version": "==2.3.0" + }, + "pynacl": { + "hashes": [ + "sha256:06b8f6fa7f5de8d5d2f7573fe8c863c051225a27b61e6860fd047b1775807858", + "sha256:0c84947a22519e013607c9be43706dd42513f9e6ae5d39d3613ca1e142fba44d", + "sha256:20f42270d27e1b6a29f54032090b972d97f0a1b0948cc52392041ef7831fee93", + "sha256:401002a4aaa07c9414132aaed7f6836ff98f59277a234704ff66878c2ee4a0d1", + "sha256:52cb72a79269189d4e0dc537556f4740f7f0a9ec41c1322598799b0bdad4ef92", + "sha256:61f642bf2378713e2c2e1de73444a3778e5f0a38be6fee0fe532fe30060282ff", + "sha256:8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba", + "sha256:a36d4a9dda1f19ce6e03c9a784a2921a4b726b02e1c736600ca9c22029474394", + "sha256:a422368fc821589c228f4c49438a368831cb5bbc0eab5ebe1d7fac9dded6567b", + "sha256:e46dae94e34b085175f8abb3b0aaa7da40767865ac82c928eeb9e57e1ea8a543" + ], + "markers": "python_version >= '3.6'", + "version": "==1.5.0" + }, + "pyparsing": { + "hashes": [ + "sha256:18ee9022775d270c55187733956460083db60b37d0d0fb357445f3094eed3eea", + "sha256:a6c06a88f252e6c322f65faf8f418b16213b51bdfaece0524c1c1bc30c63c484" + ], + "markers": "python_version >= '3.6'", + "version": "==3.0.7" + }, "python-dateutil": { "hashes": [ "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", @@ -83,6 +1125,45 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.8.2" }, + "python-dotenv": { + "hashes": [ + "sha256:32b2bdc1873fd3a3c346da1c6db83d0053c3c62f28f1f38516070c4c8971b1d3", + "sha256:a5de49a31e953b45ff2d2fd434bbc2670e8db5273606c1e737cc6b93eff3655f" + ], + "index": "pypi", + "version": "==0.19.2" + }, + "python-json-logger": { + "hashes": [ + "sha256:202a4f29901a4b8002a6d1b958407eeb2dd1d83c18b18b816f5b64476dde9096", + "sha256:99310d148f054e858cd5f4258794ed6777e7ad2c3fd7e1c1b527f1cba4d08420" + ], + "markers": "python_version >= '3.5'", + "version": "==2.0.2" + }, + "python-string-utils": { + "hashes": [ + "sha256:dcf9060b03f07647c0a603408dc8b03f807f3b54a05c6e19eb14460256fac0cb", + "sha256:f1a88700baf99db1a9b6953f44181ad9ca56623c81e257e6009707e2e7851fa4" + ], + "markers": "python_version >= '3.5'", + "version": "==1.0.0" + }, + "pytz": { + "hashes": [ + "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c", + "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326" + ], + "version": "==2021.3" + }, + "pytz-deprecation-shim": { + "hashes": [ + "sha256:8314c9692a636c8eb3bda879b9f119e350e93223ae83e70e80c31675a0fdc1a6", + "sha256:af097bae1b616dde5c5744441e2ddc69e74dfdcb0c263129610d85b87445a59d" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==0.1.0.post0" + }, "pyyaml": { "hashes": [ "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf", @@ -118,21 +1199,106 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", "version": "==5.4.1" }, + "requests": { + "hashes": [ + "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61", + "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", + "version": "==2.27.1" + }, + "requests-oauthlib": { + "hashes": [ + "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5", + "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.3.1" + }, + "rfc5424-logging-handler": { + "hashes": [ + "sha256:9ae14073ef6d76d0c730ad6b6e3aeece841a6d413672d282876c0506dc097257", + "sha256:eaba528e47fba3e2845d52d559885cbc27a37db42a9d265ea539b3b4452d3057" + ], + "version": "==1.4.3" + }, "rsa": { "hashes": [ "sha256:78f9a9bf4e7be0c5ded4583326e7461e3a3c5aae24073648b4bdfa797d78c9d2", "sha256:9d689e6ca1b3038bc82bf8d23e944b6b6037bc02301a574935b2dd946e0353b9" ], - "markers": "python_version >= '3.5' and python_version < '4'", + "markers": "python_version >= '3.6'", "version": "==4.7.2" }, + "ruamel.yaml": { + "hashes": [ + "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7", + "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af" + ], + "markers": "python_version >= '3'", + "version": "==0.17.21" + }, + "ruamel.yaml.clib": { + "hashes": [ + "sha256:0847201b767447fc33b9c235780d3aa90357d20dd6108b92be544427bea197dd", + "sha256:1070ba9dd7f9370d0513d649420c3b362ac2d687fe78c6e888f5b12bf8bc7bee", + "sha256:1866cf2c284a03b9524a5cc00daca56d80057c5ce3cdc86a52020f4c720856f0", + "sha256:221eca6f35076c6ae472a531afa1c223b9c29377e62936f61bc8e6e8bdc5f9e7", + "sha256:31ea73e564a7b5fbbe8188ab8b334393e06d997914a4e184975348f204790277", + "sha256:3fb9575a5acd13031c57a62cc7823e5d2ff8bc3835ba4d94b921b4e6ee664104", + "sha256:4ff604ce439abb20794f05613c374759ce10e3595d1867764dd1ae675b85acbd", + "sha256:6e7be2c5bcb297f5b82fee9c665eb2eb7001d1050deaba8471842979293a80b0", + "sha256:72a2b8b2ff0a627496aad76f37a652bcef400fd861721744201ef1b45199ab78", + "sha256:77df077d32921ad46f34816a9a16e6356d8100374579bc35e15bab5d4e9377de", + "sha256:78988ed190206672da0f5d50c61afef8f67daa718d614377dcd5e3ed85ab4a99", + "sha256:7b2927e92feb51d830f531de4ccb11b320255ee95e791022555971c466af4527", + "sha256:7f7ecb53ae6848f959db6ae93bdff1740e651809780822270eab111500842a84", + "sha256:825d5fccef6da42f3c8eccd4281af399f21c02b32d98e113dbc631ea6a6ecbc7", + "sha256:846fc8336443106fe23f9b6d6b8c14a53d38cef9a375149d61f99d78782ea468", + "sha256:89221ec6d6026f8ae859c09b9718799fea22c0e8da8b766b0b2c9a9ba2db326b", + "sha256:9efef4aab5353387b07f6b22ace0867032b900d8e91674b5d8ea9150db5cae94", + "sha256:a32f8d81ea0c6173ab1b3da956869114cae53ba1e9f72374032e33ba3118c233", + "sha256:a49e0161897901d1ac9c4a79984b8410f450565bbad64dbfcbf76152743a0cdb", + "sha256:ada3f400d9923a190ea8b59c8f60680c4ef8a4b0dfae134d2f2ff68429adfab5", + "sha256:bf75d28fa071645c529b5474a550a44686821decebdd00e21127ef1fd566eabe", + "sha256:cfdb9389d888c5b74af297e51ce357b800dd844898af9d4a547ffc143fa56751", + "sha256:d67f273097c368265a7b81e152e07fb90ed395df6e552b9fa858c6d2c9f42502", + "sha256:dc6a613d6c74eef5a14a214d433d06291526145431c3b964f5e16529b1842bed", + "sha256:de9c6b8a1ba52919ae919f3ae96abb72b994dd0350226e28f3686cb4f142165c" + ], + "markers": "python_version < '3.11' and platform_python_implementation == 'CPython'", + "version": "==0.2.6" + }, "s3transfer": { "hashes": [ - "sha256:25c140f5c66aa79e1ac60be50dcd45ddc59e83895f062a3aab263b870102911f", - "sha256:69d264d3e760e569b78aaa0f22c97e955891cd22e32b10c51f784eeda4d9d10a" + "sha256:7a6f4c4d1fdb9a2b640244008e142cbc2cd3ae34b386584ef044dd0f27101971", + "sha256:95c58c194ce657a5f4fb0b9e60a84968c808888aed628cd98ab8771fe1db98ed" ], "markers": "python_version >= '3.6'", - "version": "==0.5.1" + "version": "==0.5.2" + }, + "semantic-version": { + "hashes": [ + "sha256:abf54873553e5e07a6fd4d5f653b781f5ae41297a493666b59dcf214006a12b2", + "sha256:db2504ab37902dd2c9876ece53567aa43a5b2a417fbe188097b2048fff46da3d" + ], + "markers": "python_version >= '2.7'", + "version": "==2.9.0" + }, + "semver": { + "hashes": [ + "sha256:ced8b23dceb22134307c1b8abfa523da14198793d9787ac838e70e29e77458d4", + "sha256:fa0fe2722ee1c3f57eac478820c3a5ae2f624af8264cbdf9000c980ff7f75e3f" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==2.13.0" + }, + "sentry-sdk": { + "hashes": [ + "sha256:411a8495bd18cf13038e5749e4710beb4efa53da6351f67b4c2f307c2d9b6d49", + "sha256:aa52da941c56b5a76fd838f8e9e92a850bf893a9eb1e33ffce6c21431d07ee30" + ], + "version": "==1.5.7" }, "six": { "hashes": [ @@ -142,6 +1308,147 @@ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.16.0" }, + "smmap": { + "hashes": [ + "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94", + "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936" + ], + "markers": "python_version >= '3.6'", + "version": "==5.0.0" + }, + "sqlalchemy": { + "hashes": [ + "sha256:014ea143572fee1c18322b7908140ad23b3994036ef4c0d630110faf942652f8", + "sha256:0172423a27fbcae3751ef016663b72e1a516777de324a76e30efa170dbd3dd2d", + "sha256:01aa5f803db724447c1d423ed583e42bf5264c597fd55e4add4301f163b0be48", + "sha256:0352db1befcbed2f9282e72843f1963860bf0e0472a4fa5cf8ee084318e0e6ab", + "sha256:09083c2487ca3c0865dc588e07aeaa25416da3d95f7482c07e92f47e080aa17b", + "sha256:0d5d862b1cfbec5028ce1ecac06a3b42bc7703eb80e4b53fceb2738724311443", + "sha256:14f0eb5db872c231b20c18b1e5806352723a3a89fb4254af3b3e14f22eaaec75", + "sha256:1e2f89d2e5e3c7a88e25a3b0e43626dba8db2aa700253023b82e630d12b37109", + "sha256:26155ea7a243cbf23287f390dba13d7927ffa1586d3208e0e8d615d0c506f996", + "sha256:2ed6343b625b16bcb63c5b10523fd15ed8934e1ed0f772c534985e9f5e73d894", + "sha256:34fcec18f6e4b24b4a5f6185205a04f1eab1e56f8f1d028a2a03694ebcc2ddd4", + "sha256:4d0e3515ef98aa4f0dc289ff2eebb0ece6260bbf37c2ea2022aad63797eacf60", + "sha256:5de2464c254380d8a6c20a2746614d5a436260be1507491442cf1088e59430d2", + "sha256:6607ae6cd3a07f8a4c3198ffbf256c261661965742e2b5265a77cd5c679c9bba", + "sha256:8110e6c414d3efc574543109ee618fe2c1f96fa31833a1ff36cc34e968c4f233", + "sha256:816de75418ea0953b5eb7b8a74933ee5a46719491cd2b16f718afc4b291a9658", + "sha256:861e459b0e97673af6cc5e7f597035c2e3acdfb2608132665406cded25ba64c7", + "sha256:87a2725ad7d41cd7376373c15fd8bf674e9c33ca56d0b8036add2d634dba372e", + "sha256:a006d05d9aa052657ee3e4dc92544faae5fcbaafc6128217310945610d862d39", + "sha256:bce28277f308db43a6b4965734366f533b3ff009571ec7ffa583cb77539b84d6", + "sha256:c10ff6112d119f82b1618b6dc28126798481b9355d8748b64b9b55051eb4f01b", + "sha256:d375d8ccd3cebae8d90270f7aa8532fe05908f79e78ae489068f3b4eee5994e8", + "sha256:d37843fb8df90376e9e91336724d78a32b988d3d20ab6656da4eb8ee3a45b63c", + "sha256:e47e257ba5934550d7235665eee6c911dc7178419b614ba9e1fbb1ce6325b14f", + "sha256:e98d09f487267f1e8d1179bf3b9d7709b30a916491997137dd24d6ae44d18d79", + "sha256:ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519", + "sha256:ee5f5188edb20a29c1cc4a039b074fdc5575337c9a68f3063449ab47757bb064", + "sha256:f03bd97650d2e42710fbe4cf8a59fae657f191df851fc9fc683ecef10746a375", + "sha256:f1149d6e5c49d069163e58a3196865e4321bad1803d7886e07d8710de392c548", + "sha256:f3c5c52f7cb8b84bfaaf22d82cb9e6e9a8297f7c2ed14d806a0f5e4d22e83fb7", + "sha256:f597a243b8550a3a0b15122b14e49d8a7e622ba1c9d29776af741f1845478d79", + "sha256:fc1f2a5a5963e2e73bac4926bdaf7790c4d7d77e8fc0590817880e22dd9d0b8b", + "sha256:fc4cddb0b474b12ed7bdce6be1b9edc65352e8ce66bc10ff8cbbfb3d4047dbf4", + "sha256:fcb251305fa24a490b6a9ee2180e5f8252915fb778d3dafc70f9cc3f863827b9" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==1.3.24" + }, + "sqlalchemy-utils": { + "hashes": [ + "sha256:622235b1598f97300e4d08820ab024f5219c9a6309937a8b908093f487b4ba54", + "sha256:9e01d6d3fb52d3926fcd4ea4a13f3540701b751aced0316bff78264402c2ceb4" + ], + "markers": "python_version ~= '3.4'", + "version": "==0.38.2" + }, + "srcopsmetrics": { + "hashes": [ + "sha256:d42f461f0fe434b74069fde759dca376c250a28135a2a4f0d56e9cad2533429e", + "sha256:e878c70bd7abea6d49789df59b4d1d5018c00f184a79a1f13ce71aefc30268a5" + ], + "index": "pypi", + "version": "==2.10.6" + }, + "thoth-analyzer": { + "hashes": [ + "sha256:3f830334a3ba725cacf64ccc756e42f0c7946fd8038da6565cb2de569ea5c9c1", + "sha256:8a29ce615e5feddd301a8c6656132268bede23d4187a5cfb60f790f80cd04dc1" + ], + "version": "==0.1.8" + }, + "thoth-common": { + "hashes": [ + "sha256:4c7c850de3dda5c381c509726b732bfd7c714313aca08578e0f2ca850956d35e", + "sha256:9bd73618d9c31463ae9959988d061923879915c4f89e6f02bd254a4cffd33699" + ], + "version": "==0.36.0" + }, + "thoth-python": { + "hashes": [ + "sha256:485fef2def2d632103db8116175ac0c56b8e9b5985dda2dd25e6f69c2dbe3ebb", + "sha256:6f949d7d8f5815b0d87a1b5d9640093b8a071ae3e11ce5ff054017e4f53a4261" + ], + "version": "==0.16.9" + }, + "thoth-ssdeep": { + "hashes": [ + "sha256:3a4d4881dfa2ac286e3d6e67851cb3eefb3236eed82100b6b4edd18563db2911", + "sha256:a71e3de2bda71b9d7ca01dd1ae540f24e4a041f6eff7de2a139c58434f401383", + "sha256:a9a5293cc5a5ebeb147e0c95eeb2d391dfdd3ff20d36e7c955025615c2be1257", + "sha256:c68de3473b740dd7ec6ef47410a2c2f8f83044b16c27528e175334f0a7195a61", + "sha256:fa0c7432ed64061afcde9b2e32287ba7024be856a3dc5a5d022cd27afdb19731" + ], + "version": "==3.4" + }, + "thoth-storages": { + "hashes": [ + "sha256:850ab0b7a1dcace9dd35903b6943cdcff7694190a1f391514d3ef684a5d0f1a2", + "sha256:a55853d82ad468bac806398e5f812f1102029c4905c311980173cfffea3ad1df" + ], + "version": "==0.71.0" + }, + "toml": { + "hashes": [ + "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", + "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f" + ], + "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", + "version": "==0.10.2" + }, + "trino": { + "hashes": [ + "sha256:7c0f332ffe185653316c275838411ee20e38d8716cb0d061b54ea8b870241fd7", + "sha256:dcbe42d7e04103409d97afe515fcf2b7161ed6c77d949462dea89f95db81da4d" + ], + "index": "pypi", + "version": "==0.310.0" + }, + "types-pytz": { + "hashes": [ + "sha256:8831f689379ac9e2a62668157381379ed74b3702980e08e71f8673c179c4e3c7", + "sha256:fef8de238ee95135952229a2a23bfb87bd63d5a6c8598106a46cfcf48f069ea8" + ], + "version": "==2021.3.5" + }, + "tzdata": { + "hashes": [ + "sha256:3eee491e22ebfe1e5cfcc97a4137cd70f092ce59144d81f8924a844de05ba8f5", + "sha256:68dbe41afd01b867894bbdfd54fa03f468cfa4f0086bfb4adcd8de8f24f3ee21" + ], + "markers": "python_version >= '3.6'", + "version": "==2021.5" + }, + "tzlocal": { + "hashes": [ + "sha256:0f28015ac68a5c067210400a9197fc5d36ba9bc3f8eaf1da3cbd59acdfed9e09", + "sha256:28ba8d9fcb6c9a782d6e0078b4f6627af1ea26aeaa32b4eab5324abc7df4149f" + ], + "markers": "python_version >= '3.6'", + "version": "==4.1" + }, "urllib3": { "hashes": [ "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed", @@ -149,6 +1456,176 @@ ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", "version": "==1.26.8" + }, + "voluptuous": { + "hashes": [ + "sha256:4db1ac5079db9249820d49c891cb4660a6f8cae350491210abce741fabf56513" + ], + "version": "==0.12.2" + }, + "websocket-client": { + "hashes": [ + "sha256:074e2ed575e7c822fc0940d31c3ac9bb2b1142c303eafcf3e304e6ce035522e8", + "sha256:6278a75065395418283f887de7c3beafb3aa68dada5cacbe4b214e8d26da499b" + ], + "markers": "python_version >= '3.6'", + "version": "==1.3.1" + }, + "wrapt": { + "hashes": [ + "sha256:00108411e0f34c52ce16f81f1d308a571df7784932cc7491d1e94be2ee93374b", + "sha256:01f799def9b96a8ec1ef6b9c1bbaf2bbc859b87545efbecc4a78faea13d0e3a0", + "sha256:09d16ae7a13cff43660155383a2372b4aa09109c7127aa3f24c3cf99b891c330", + "sha256:14e7e2c5f5fca67e9a6d5f753d21f138398cad2b1159913ec9e9a67745f09ba3", + "sha256:167e4793dc987f77fd476862d32fa404d42b71f6a85d3b38cbce711dba5e6b68", + "sha256:1807054aa7b61ad8d8103b3b30c9764de2e9d0c0978e9d3fc337e4e74bf25faa", + "sha256:1f83e9c21cd5275991076b2ba1cd35418af3504667affb4745b48937e214bafe", + "sha256:21b1106bff6ece8cb203ef45b4f5778d7226c941c83aaaa1e1f0f4f32cc148cd", + "sha256:22626dca56fd7f55a0733e604f1027277eb0f4f3d95ff28f15d27ac25a45f71b", + "sha256:23f96134a3aa24cc50614920cc087e22f87439053d886e474638c68c8d15dc80", + "sha256:2498762814dd7dd2a1d0248eda2afbc3dd9c11537bc8200a4b21789b6df6cd38", + "sha256:28c659878f684365d53cf59dc9a1929ea2eecd7ac65da762be8b1ba193f7e84f", + "sha256:2eca15d6b947cfff51ed76b2d60fd172c6ecd418ddab1c5126032d27f74bc350", + "sha256:354d9fc6b1e44750e2a67b4b108841f5f5ea08853453ecbf44c81fdc2e0d50bd", + "sha256:36a76a7527df8583112b24adc01748cd51a2d14e905b337a6fefa8b96fc708fb", + "sha256:3a0a4ca02752ced5f37498827e49c414d694ad7cf451ee850e3ff160f2bee9d3", + "sha256:3a71dbd792cc7a3d772ef8cd08d3048593f13d6f40a11f3427c000cf0a5b36a0", + "sha256:3a88254881e8a8c4784ecc9cb2249ff757fd94b911d5df9a5984961b96113fff", + "sha256:47045ed35481e857918ae78b54891fac0c1d197f22c95778e66302668309336c", + "sha256:4775a574e9d84e0212f5b18886cace049a42e13e12009bb0491562a48bb2b758", + "sha256:493da1f8b1bb8a623c16552fb4a1e164c0200447eb83d3f68b44315ead3f9036", + "sha256:4b847029e2d5e11fd536c9ac3136ddc3f54bc9488a75ef7d040a3900406a91eb", + "sha256:59d7d92cee84a547d91267f0fea381c363121d70fe90b12cd88241bd9b0e1763", + "sha256:5a0898a640559dec00f3614ffb11d97a2666ee9a2a6bad1259c9facd01a1d4d9", + "sha256:5a9a1889cc01ed2ed5f34574c90745fab1dd06ec2eee663e8ebeefe363e8efd7", + "sha256:5b835b86bd5a1bdbe257d610eecab07bf685b1af2a7563093e0e69180c1d4af1", + "sha256:5f24ca7953f2643d59a9c87d6e272d8adddd4a53bb62b9208f36db408d7aafc7", + "sha256:61e1a064906ccba038aa3c4a5a82f6199749efbbb3cef0804ae5c37f550eded0", + "sha256:65bf3eb34721bf18b5a021a1ad7aa05947a1767d1aa272b725728014475ea7d5", + "sha256:6807bcee549a8cb2f38f73f469703a1d8d5d990815c3004f21ddb68a567385ce", + "sha256:68aeefac31c1f73949662ba8affaf9950b9938b712fb9d428fa2a07e40ee57f8", + "sha256:6915682f9a9bc4cf2908e83caf5895a685da1fbd20b6d485dafb8e218a338279", + "sha256:6d9810d4f697d58fd66039ab959e6d37e63ab377008ef1d63904df25956c7db0", + "sha256:729d5e96566f44fccac6c4447ec2332636b4fe273f03da128fff8d5559782b06", + "sha256:748df39ed634851350efa87690c2237a678ed794fe9ede3f0d79f071ee042561", + "sha256:763a73ab377390e2af26042f685a26787c402390f682443727b847e9496e4a2a", + "sha256:8323a43bd9c91f62bb7d4be74cc9ff10090e7ef820e27bfe8815c57e68261311", + "sha256:8529b07b49b2d89d6917cfa157d3ea1dfb4d319d51e23030664a827fe5fd2131", + "sha256:87fa943e8bbe40c8c1ba4086971a6fefbf75e9991217c55ed1bcb2f1985bd3d4", + "sha256:88236b90dda77f0394f878324cfbae05ae6fde8a84d548cfe73a75278d760291", + "sha256:891c353e95bb11abb548ca95c8b98050f3620a7378332eb90d6acdef35b401d4", + "sha256:89ba3d548ee1e6291a20f3c7380c92f71e358ce8b9e48161401e087e0bc740f8", + "sha256:8c6be72eac3c14baa473620e04f74186c5d8f45d80f8f2b4eda6e1d18af808e8", + "sha256:9a242871b3d8eecc56d350e5e03ea1854de47b17f040446da0e47dc3e0b9ad4d", + "sha256:9a3ff5fb015f6feb78340143584d9f8a0b91b6293d6b5cf4295b3e95d179b88c", + "sha256:9a5a544861b21e0e7575b6023adebe7a8c6321127bb1d238eb40d99803a0e8bd", + "sha256:9d57677238a0c5411c76097b8b93bdebb02eb845814c90f0b01727527a179e4d", + "sha256:9d8c68c4145041b4eeae96239802cfdfd9ef927754a5be3f50505f09f309d8c6", + "sha256:9d9fcd06c952efa4b6b95f3d788a819b7f33d11bea377be6b8980c95e7d10775", + "sha256:a0057b5435a65b933cbf5d859cd4956624df37b8bf0917c71756e4b3d9958b9e", + "sha256:a65bffd24409454b889af33b6c49d0d9bcd1a219b972fba975ac935f17bdf627", + "sha256:b0ed6ad6c9640671689c2dbe6244680fe8b897c08fd1fab2228429b66c518e5e", + "sha256:b21650fa6907e523869e0396c5bd591cc326e5c1dd594dcdccac089561cacfb8", + "sha256:b3f7e671fb19734c872566e57ce7fc235fa953d7c181bb4ef138e17d607dc8a1", + "sha256:b77159d9862374da213f741af0c361720200ab7ad21b9f12556e0eb95912cd48", + "sha256:bb36fbb48b22985d13a6b496ea5fb9bb2a076fea943831643836c9f6febbcfdc", + "sha256:d066ffc5ed0be00cd0352c95800a519cf9e4b5dd34a028d301bdc7177c72daf3", + "sha256:d332eecf307fca852d02b63f35a7872de32d5ba8b4ec32da82f45df986b39ff6", + "sha256:d808a5a5411982a09fef6b49aac62986274ab050e9d3e9817ad65b2791ed1425", + "sha256:d9bdfa74d369256e4218000a629978590fd7cb6cf6893251dad13d051090436d", + "sha256:db6a0ddc1282ceb9032e41853e659c9b638789be38e5b8ad7498caac00231c23", + "sha256:debaf04f813ada978d7d16c7dfa16f3c9c2ec9adf4656efdc4defdf841fc2f0c", + "sha256:f0408e2dbad9e82b4c960274214af533f856a199c9274bd4aff55d4634dedc33", + "sha256:f2f3bc7cd9c9fcd39143f11342eb5963317bd54ecc98e3650ca22704b69d9653" + ], + "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", + "version": "==1.14.0" + }, + "yarl": { + "hashes": [ + "sha256:044daf3012e43d4b3538562da94a88fb12a6490652dbc29fb19adfa02cf72eac", + "sha256:0cba38120db72123db7c58322fa69e3c0efa933040ffb586c3a87c063ec7cae8", + "sha256:167ab7f64e409e9bdd99333fe8c67b5574a1f0495dcfd905bc7454e766729b9e", + "sha256:1be4bbb3d27a4e9aa5f3df2ab61e3701ce8fcbd3e9846dbce7c033a7e8136746", + "sha256:1ca56f002eaf7998b5fcf73b2421790da9d2586331805f38acd9997743114e98", + "sha256:1d3d5ad8ea96bd6d643d80c7b8d5977b4e2fb1bab6c9da7322616fd26203d125", + "sha256:1eb6480ef366d75b54c68164094a6a560c247370a68c02dddb11f20c4c6d3c9d", + "sha256:1edc172dcca3f11b38a9d5c7505c83c1913c0addc99cd28e993efeaafdfaa18d", + "sha256:211fcd65c58bf250fb994b53bc45a442ddc9f441f6fec53e65de8cba48ded986", + "sha256:29e0656d5497733dcddc21797da5a2ab990c0cb9719f1f969e58a4abac66234d", + "sha256:368bcf400247318382cc150aaa632582d0780b28ee6053cd80268c7e72796dec", + "sha256:39d5493c5ecd75c8093fa7700a2fb5c94fe28c839c8e40144b7ab7ccba6938c8", + "sha256:3abddf0b8e41445426d29f955b24aeecc83fa1072be1be4e0d194134a7d9baee", + "sha256:3bf8cfe8856708ede6a73907bf0501f2dc4e104085e070a41f5d88e7faf237f3", + "sha256:3ec1d9a0d7780416e657f1e405ba35ec1ba453a4f1511eb8b9fbab81cb8b3ce1", + "sha256:45399b46d60c253327a460e99856752009fcee5f5d3c80b2f7c0cae1c38d56dd", + "sha256:52690eb521d690ab041c3919666bea13ab9fbff80d615ec16fa81a297131276b", + "sha256:534b047277a9a19d858cde163aba93f3e1677d5acd92f7d10ace419d478540de", + "sha256:580c1f15500e137a8c37053e4cbf6058944d4c114701fa59944607505c2fe3a0", + "sha256:59218fef177296451b23214c91ea3aba7858b4ae3306dde120224cfe0f7a6ee8", + "sha256:5ba63585a89c9885f18331a55d25fe81dc2d82b71311ff8bd378fc8004202ff6", + "sha256:5bb7d54b8f61ba6eee541fba4b83d22b8a046b4ef4d8eb7f15a7e35db2e1e245", + "sha256:6152224d0a1eb254f97df3997d79dadd8bb2c1a02ef283dbb34b97d4f8492d23", + "sha256:67e94028817defe5e705079b10a8438b8cb56e7115fa01640e9c0bb3edf67332", + "sha256:695ba021a9e04418507fa930d5f0704edbce47076bdcfeeaba1c83683e5649d1", + "sha256:6a1a9fe17621af43e9b9fcea8bd088ba682c8192d744b386ee3c47b56eaabb2c", + "sha256:6ab0c3274d0a846840bf6c27d2c60ba771a12e4d7586bf550eefc2df0b56b3b4", + "sha256:6feca8b6bfb9eef6ee057628e71e1734caf520a907b6ec0d62839e8293e945c0", + "sha256:737e401cd0c493f7e3dd4db72aca11cfe069531c9761b8ea474926936b3c57c8", + "sha256:788713c2896f426a4e166b11f4ec538b5736294ebf7d5f654ae445fd44270832", + "sha256:797c2c412b04403d2da075fb93c123df35239cd7b4cc4e0cd9e5839b73f52c58", + "sha256:8300401dc88cad23f5b4e4c1226f44a5aa696436a4026e456fe0e5d2f7f486e6", + "sha256:87f6e082bce21464857ba58b569370e7b547d239ca22248be68ea5d6b51464a1", + "sha256:89ccbf58e6a0ab89d487c92a490cb5660d06c3a47ca08872859672f9c511fc52", + "sha256:8b0915ee85150963a9504c10de4e4729ae700af11df0dc5550e6587ed7891e92", + "sha256:8cce6f9fa3df25f55521fbb5c7e4a736683148bcc0c75b21863789e5185f9185", + "sha256:95a1873b6c0dd1c437fb3bb4a4aaa699a48c218ac7ca1e74b0bee0ab16c7d60d", + "sha256:9b4c77d92d56a4c5027572752aa35082e40c561eec776048330d2907aead891d", + "sha256:9bfcd43c65fbb339dc7086b5315750efa42a34eefad0256ba114cd8ad3896f4b", + "sha256:9c1f083e7e71b2dd01f7cd7434a5f88c15213194df38bc29b388ccdf1492b739", + "sha256:a1d0894f238763717bdcfea74558c94e3bc34aeacd3351d769460c1a586a8b05", + "sha256:a467a431a0817a292121c13cbe637348b546e6ef47ca14a790aa2fa8cc93df63", + "sha256:aa32aaa97d8b2ed4e54dc65d241a0da1c627454950f7d7b1f95b13985afd6c5d", + "sha256:ac10bbac36cd89eac19f4e51c032ba6b412b3892b685076f4acd2de18ca990aa", + "sha256:ac35ccde589ab6a1870a484ed136d49a26bcd06b6a1c6397b1967ca13ceb3913", + "sha256:bab827163113177aee910adb1f48ff7af31ee0289f434f7e22d10baf624a6dfe", + "sha256:baf81561f2972fb895e7844882898bda1eef4b07b5b385bcd308d2098f1a767b", + "sha256:bf19725fec28452474d9887a128e98dd67eee7b7d52e932e6949c532d820dc3b", + "sha256:c01a89a44bb672c38f42b49cdb0ad667b116d731b3f4c896f72302ff77d71656", + "sha256:c0910c6b6c31359d2f6184828888c983d54d09d581a4a23547a35f1d0b9484b1", + "sha256:c10ea1e80a697cf7d80d1ed414b5cb8f1eec07d618f54637067ae3c0334133c4", + "sha256:c1164a2eac148d85bbdd23e07dfcc930f2e633220f3eb3c3e2a25f6148c2819e", + "sha256:c145ab54702334c42237a6c6c4cc08703b6aa9b94e2f227ceb3d477d20c36c63", + "sha256:c17965ff3706beedafd458c452bf15bac693ecd146a60a06a214614dc097a271", + "sha256:c19324a1c5399b602f3b6e7db9478e5b1adf5cf58901996fc973fe4fccd73eed", + "sha256:c2a1ac41a6aa980db03d098a5531f13985edcb451bcd9d00670b03129922cd0d", + "sha256:c6ddcd80d79c96eb19c354d9dca95291589c5954099836b7c8d29278a7ec0bda", + "sha256:c9c6d927e098c2d360695f2e9d38870b2e92e0919be07dbe339aefa32a090265", + "sha256:cc8b7a7254c0fc3187d43d6cb54b5032d2365efd1df0cd1749c0c4df5f0ad45f", + "sha256:cff3ba513db55cc6a35076f32c4cdc27032bd075c9faef31fec749e64b45d26c", + "sha256:d260d4dc495c05d6600264a197d9d6f7fc9347f21d2594926202fd08cf89a8ba", + "sha256:d6f3d62e16c10e88d2168ba2d065aa374e3c538998ed04996cd373ff2036d64c", + "sha256:da6df107b9ccfe52d3a48165e48d72db0eca3e3029b5b8cb4fe6ee3cb870ba8b", + "sha256:dfe4b95b7e00c6635a72e2d00b478e8a28bfb122dc76349a06e20792eb53a523", + "sha256:e39378894ee6ae9f555ae2de332d513a5763276a9265f8e7cbaeb1b1ee74623a", + "sha256:ede3b46cdb719c794427dcce9d8beb4abe8b9aa1e97526cc20de9bd6583ad1ef", + "sha256:f2a8508f7350512434e41065684076f640ecce176d262a7d54f0da41d99c5a95", + "sha256:f44477ae29025d8ea87ec308539f95963ffdc31a82f42ca9deecf2d505242e72", + "sha256:f64394bd7ceef1237cc604b5a89bf748c95982a84bcd3c4bbeb40f685c810794", + "sha256:fc4dd8b01a8112809e6b636b00f487846956402834a7fd59d46d4f4267181c41", + "sha256:fce78593346c014d0d986b7ebc80d782b7f5e19843ca798ed62f8e3ba8728576", + "sha256:fd547ec596d90c8676e369dd8a581a21227fe9b4ad37d0dc7feb4ccf544c2d59" + ], + "markers": "python_version >= '3.6'", + "version": "==1.7.2" + }, + "zipp": { + "hashes": [ + "sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d", + "sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375" + ], + "markers": "python_version < '3.10'", + "version": "==3.7.0" } }, "develop": { @@ -176,58 +1653,58 @@ }, "charset-normalizer": { "hashes": [ - "sha256:2842d8f5e82a1f6aa437380934d5e1cd4fcf2003b06fed6940769c164a480a45", - "sha256:98398a9d69ee80548c762ba991a4728bfc3836768ed226b3945908d1a688371c" + "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597", + "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df" ], "markers": "python_version >= '3'", - "version": "==2.0.11" + "version": "==2.0.12" }, "coverage": { "hashes": [ - "sha256:1245ab82e8554fa88c4b2ab1e098ae051faac5af829efdcf2ce6b34dccd5567c", - "sha256:1bc6d709939ff262fd1432f03f080c5042dc6508b6e0d3d20e61dd045456a1a0", - "sha256:25e73d4c81efa8ea3785274a2f7f3bfbbeccb6fcba2a0bdd3be9223371c37554", - "sha256:276b13cc085474e482566c477c25ed66a097b44c6e77132f3304ac0b039f83eb", - "sha256:2aed4761809640f02e44e16b8b32c1a5dee5e80ea30a0ff0912158bde9c501f2", - "sha256:2dd70a167843b4b4b2630c0c56f1b586fe965b4f8ac5da05b6690344fd065c6b", - "sha256:352c68e233409c31048a3725c446a9e48bbff36e39db92774d4f2380d630d8f8", - "sha256:3f2b05757c92ad96b33dbf8e8ec8d4ccb9af6ae3c9e9bd141c7cc44d20c6bcba", - "sha256:448d7bde7ceb6c69e08474c2ddbc5b4cd13c9e4aa4a717467f716b5fc938a734", - "sha256:463e52616ea687fd323888e86bf25e864a3cc6335a043fad6bbb037dbf49bbe2", - "sha256:482fb42eea6164894ff82abbcf33d526362de5d1a7ed25af7ecbdddd28fc124f", - "sha256:56c4a409381ddd7bbff134e9756077860d4e8a583d310a6f38a2315b9ce301d0", - "sha256:56d296cbc8254a7dffdd7bcc2eb70be5a233aae7c01856d2d936f5ac4e8ac1f1", - "sha256:5e15d424b8153756b7c903bde6d4610be0c3daca3986173c18dd5c1a1625e4cd", - "sha256:618eeba986cea7f621d8607ee378ecc8c2504b98b3fdc4952b30fe3578304687", - "sha256:61d47a897c1e91f33f177c21de897267b38fbb45f2cd8e22a710bcef1df09ac1", - "sha256:621f6ea7260ea2ffdaec64fe5cb521669984f567b66f62f81445221d4754df4c", - "sha256:6a5cdc3adb4f8bb8d8f5e64c2e9e282bc12980ef055ec6da59db562ee9bdfefa", - "sha256:6c3f6158b02ac403868eea390930ae64e9a9a2a5bbfafefbb920d29258d9f2f8", - "sha256:704f89b87c4f4737da2860695a18c852b78ec7279b24eedacab10b29067d3a38", - "sha256:72128176fea72012063200b7b395ed8a57849282b207321124d7ff14e26988e8", - "sha256:78fbb2be068a13a5d99dce9e1e7d168db880870f7bc73f876152130575bd6167", - "sha256:7bff3a98f63b47464480de1b5bdd80c8fade0ba2832c9381253c9b74c4153c27", - "sha256:84f2436d6742c01136dd940ee158bfc7cf5ced3da7e4c949662b8703b5cd8145", - "sha256:9976fb0a5709988778ac9bc44f3d50fccd989987876dfd7716dee28beed0a9fa", - "sha256:9ad0a117b8dc2061ce9461ea4c1b4799e55edceb236522c5b8f958ce9ed8fa9a", - "sha256:9e3dd806f34de38d4c01416344e98eab2437ac450b3ae39c62a0ede2f8b5e4ed", - "sha256:9eb494070aa060ceba6e4bbf44c1bc5fa97bfb883a0d9b0c9049415f9e944793", - "sha256:9fde6b90889522c220dd56a670102ceef24955d994ff7af2cb786b4ba8fe11e4", - "sha256:9fff3ff052922cb99f9e52f63f985d4f7a54f6b94287463bc66b7cdf3eb41217", - "sha256:a06c358f4aed05fa1099c39decc8022261bb07dfadc127c08cfbd1391b09689e", - "sha256:a4f923b9ab265136e57cc14794a15b9dcea07a9c578609cd5dbbfff28a0d15e6", - "sha256:c5b81fb37db76ebea79aa963b76d96ff854e7662921ce742293463635a87a78d", - "sha256:d5ed164af5c9078596cfc40b078c3b337911190d3faeac830c3f1274f26b8320", - "sha256:d651fde74a4d3122e5562705824507e2f5b2d3d57557f1916c4b27635f8fbe3f", - "sha256:de73fca6fb403dd72d4da517cfc49fcf791f74eee697d3219f6be29adf5af6ce", - "sha256:e647a0be741edbb529a72644e999acb09f2ad60465f80757da183528941ff975", - "sha256:e92c7a5f7d62edff50f60a045dc9542bf939758c95b2fcd686175dd10ce0ed10", - "sha256:eeffd96882d8c06d31b65dddcf51db7c612547babc1c4c5db6a011abe9798525", - "sha256:f5a4551dfd09c3bd12fca8144d47fe7745275adf3229b7223c2f9e29a975ebda", - "sha256:fac0bcc5b7e8169bffa87f0dcc24435446d329cbc2b5486d155c2e0f3b493ae1" + "sha256:03e2a7826086b91ef345ff18742ee9fc47a6839ccd517061ef8fa1976e652ce9", + "sha256:07e6db90cd9686c767dcc593dff16c8c09f9814f5e9c51034066cad3373b914d", + "sha256:18d520c6860515a771708937d2f78f63cc47ab3b80cb78e86573b0a760161faf", + "sha256:1ebf730d2381158ecf3dfd4453fbca0613e16eaa547b4170e2450c9707665ce7", + "sha256:21b7745788866028adeb1e0eca3bf1101109e2dc58456cb49d2d9b99a8c516e6", + "sha256:26e2deacd414fc2f97dd9f7676ee3eaecd299ca751412d89f40bc01557a6b1b4", + "sha256:2c6dbb42f3ad25760010c45191e9757e7dce981cbfb90e42feef301d71540059", + "sha256:2fea046bfb455510e05be95e879f0e768d45c10c11509e20e06d8fcaa31d9e39", + "sha256:34626a7eee2a3da12af0507780bb51eb52dca0e1751fd1471d0810539cefb536", + "sha256:37d1141ad6b2466a7b53a22e08fe76994c2d35a5b6b469590424a9953155afac", + "sha256:46191097ebc381fbf89bdce207a6c107ac4ec0890d8d20f3360345ff5976155c", + "sha256:4dd8bafa458b5c7d061540f1ee9f18025a68e2d8471b3e858a9dad47c8d41903", + "sha256:4e21876082ed887baed0146fe222f861b5815455ada3b33b890f4105d806128d", + "sha256:58303469e9a272b4abdb9e302a780072c0633cdcc0165db7eec0f9e32f901e05", + "sha256:5ca5aeb4344b30d0bec47481536b8ba1181d50dbe783b0e4ad03c95dc1296684", + "sha256:68353fe7cdf91f109fc7d474461b46e7f1f14e533e911a2a2cbb8b0fc8613cf1", + "sha256:6f89d05e028d274ce4fa1a86887b071ae1755082ef94a6740238cd7a8178804f", + "sha256:7a15dc0a14008f1da3d1ebd44bdda3e357dbabdf5a0b5034d38fcde0b5c234b7", + "sha256:8bdde1177f2311ee552f47ae6e5aa7750c0e3291ca6b75f71f7ffe1f1dab3dca", + "sha256:8ce257cac556cb03be4a248d92ed36904a59a4a5ff55a994e92214cde15c5bad", + "sha256:8cf5cfcb1521dc3255d845d9dca3ff204b3229401994ef8d1984b32746bb45ca", + "sha256:8fbbdc8d55990eac1b0919ca69eb5a988a802b854488c34b8f37f3e2025fa90d", + "sha256:9548f10d8be799551eb3a9c74bbf2b4934ddb330e08a73320123c07f95cc2d92", + "sha256:96f8a1cb43ca1422f36492bebe63312d396491a9165ed3b9231e778d43a7fca4", + "sha256:9b27d894748475fa858f9597c0ee1d4829f44683f3813633aaf94b19cb5453cf", + "sha256:9baff2a45ae1f17c8078452e9e5962e518eab705e50a0aa8083733ea7d45f3a6", + "sha256:a2a8b8bcc399edb4347a5ca8b9b87e7524c0967b335fbb08a83c8421489ddee1", + "sha256:acf53bc2cf7282ab9b8ba346746afe703474004d9e566ad164c91a7a59f188a4", + "sha256:b0be84e5a6209858a1d3e8d1806c46214e867ce1b0fd32e4ea03f4bd8b2e3359", + "sha256:b31651d018b23ec463e95cf10070d0b2c548aa950a03d0b559eaa11c7e5a6fa3", + "sha256:b78e5afb39941572209f71866aa0b206c12f0109835aa0d601e41552f9b3e620", + "sha256:c76aeef1b95aff3905fb2ae2d96e319caca5b76fa41d3470b19d4e4a3a313512", + "sha256:dd035edafefee4d573140a76fdc785dc38829fe5a455c4bb12bac8c20cfc3d69", + "sha256:dd6fe30bd519694b356cbfcaca9bd5c1737cddd20778c6a581ae20dc8c04def2", + "sha256:e5f4e1edcf57ce94e5475fe09e5afa3e3145081318e5fd1a43a6b4539a97e518", + "sha256:ec6bc7fe73a938933d4178c9b23c4e0568e43e220aef9472c4f6044bfc6dd0f0", + "sha256:f1555ea6d6da108e1999b2463ea1003fe03f29213e459145e70edbaf3e004aaa", + "sha256:f5fa5803f47e095d7ad8443d28b01d48c0359484fec1b9d8606d0e3282084bc4", + "sha256:f7331dbf301b7289013175087636bbaf5b2405e57259dd2c42fdcc9fcc47325e", + "sha256:f9987b0354b06d4df0f4d3e0ec1ae76d7ce7cbca9a2f98c25041eb79eec766f1", + "sha256:fd9e830e9d8d89b20ab1e5af09b32d33e1a08ef4c4e14411e559556fd788e6b2" ], "index": "pypi", - "version": "==6.3.1" + "version": "==6.3.2" }, "docutils": { "hashes": [ @@ -264,11 +1741,11 @@ }, "importlib-metadata": { "hashes": [ - "sha256:899e2a40a8c4a1aec681feef45733de8a6c58f3f6a0dbed2eb6574b4387a77b6", - "sha256:951f0d8a5b7260e9db5e41d429285b5f451e928479f19d80818878527d36e95e" + "sha256:b36ffa925fe3139b2f6ff11d6925ffd4fa7bc47870165e3ac260ac7b4f91e6ac", + "sha256:d16e8c1deb60de41b8e8ed21c1a7b947b0bc62fab7e1d470bcdf331cea2e6735" ], - "markers": "python_version < '3.10'", - "version": "==4.10.1" + "markers": "python_version < '3.9'", + "version": "==4.11.2" }, "jinja2": { "hashes": [ @@ -280,78 +1757,49 @@ }, "markupsafe": { "hashes": [ - "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298", - "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64", - "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b", - "sha256:04635854b943835a6ea959e948d19dcd311762c5c0c6e1f0e16ee57022669194", - "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567", - "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff", - "sha256:0d4b31cc67ab36e3392bbf3862cfbadac3db12bdd8b02a2731f509ed5b829724", - "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74", - "sha256:168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646", - "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35", - "sha256:1f2ade76b9903f39aa442b4aadd2177decb66525062db244b35d71d0ee8599b6", - "sha256:20dca64a3ef2d6e4d5d615a3fd418ad3bde77a47ec8a23d984a12b5b4c74491a", - "sha256:2a7d351cbd8cfeb19ca00de495e224dea7e7d919659c2841bbb7f420ad03e2d6", - "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad", - "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26", - "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38", - "sha256:37205cac2a79194e3750b0af2a5720d95f786a55ce7df90c3af697bfa100eaac", - "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7", - "sha256:3dd007d54ee88b46be476e293f48c85048603f5f516008bee124ddd891398ed6", - "sha256:4296f2b1ce8c86a6aea78613c34bb1a672ea0e3de9c6ba08a960efe0b0a09047", - "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75", - "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f", - "sha256:4dc8f9fb58f7364b63fd9f85013b780ef83c11857ae79f2feda41e270468dd9b", - "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135", - "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8", - "sha256:5855f8438a7d1d458206a2466bf82b0f104a3724bf96a1c781ab731e4201731a", - "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a", - "sha256:5b6d930f030f8ed98e3e6c98ffa0652bdb82601e7a016ec2ab5d7ff23baa78d1", - "sha256:5bb28c636d87e840583ee3adeb78172efc47c8b26127267f54a9c0ec251d41a9", - "sha256:60bf42e36abfaf9aff1f50f52644b336d4f0a3fd6d8a60ca0d054ac9f713a864", - "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914", - "sha256:6300b8454aa6930a24b9618fbb54b5a68135092bc666f7b06901f897fa5c2fee", - "sha256:63f3268ba69ace99cab4e3e3b5840b03340efed0948ab8f78d2fd87ee5442a4f", - "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18", - "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8", - "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2", - "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d", - "sha256:6fcf051089389abe060c9cd7caa212c707e58153afa2c649f00346ce6d260f1b", - "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b", - "sha256:89c687013cb1cd489a0f0ac24febe8c7a666e6e221b783e53ac50ebf68e45d86", - "sha256:8d206346619592c6200148b01a2142798c989edcb9c896f9ac9722a99d4e77e6", - "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f", - "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb", - "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833", - "sha256:99df47edb6bda1249d3e80fdabb1dab8c08ef3975f69aed437cb69d0a5de1e28", - "sha256:9f02365d4e99430a12647f09b6cc8bab61a6564363f313126f775eb4f6ef798e", - "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415", - "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902", - "sha256:aca6377c0cb8a8253e493c6b451565ac77e98c2951c45f913e0b52facdcff83f", - "sha256:add36cb2dbb8b736611303cd3bfcee00afd96471b09cda130da3581cbdc56a6d", - "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9", - "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d", - "sha256:baa1a4e8f868845af802979fcdbf0bb11f94f1cb7ced4c4b8a351bb60d108145", - "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066", - "sha256:bf5d821ffabf0ef3533c39c518f3357b171a1651c1ff6827325e4489b0e46c3c", - "sha256:c47adbc92fc1bb2b3274c4b3a43ae0e4573d9fbff4f54cd484555edbf030baf1", - "sha256:cdfba22ea2f0029c9261a4bd07e830a8da012291fbe44dc794e488b6c9bb353a", - "sha256:d6c7ebd4e944c85e2c3421e612a7057a2f48d478d79e61800d81468a8d842207", - "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f", - "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53", - "sha256:deb993cacb280823246a026e3b2d81c493c53de6acfd5e6bfe31ab3402bb37dd", - "sha256:e0f138900af21926a02425cf736db95be9f4af72ba1bb21453432a07f6082134", - "sha256:e9936f0b261d4df76ad22f8fee3ae83b60d7c3e871292cd42f40b81b70afae85", - "sha256:f0567c4dc99f264f49fe27da5f735f414c4e7e7dd850cfd8e69f0862d7c74ea9", - "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5", - "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94", - "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509", - "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51", - "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872" + "sha256:023af8c54fe63530545f70dd2a2a7eed18d07a9a77b94e8bf1e2ff7f252db9a3", + "sha256:09c86c9643cceb1d87ca08cdc30160d1b7ab49a8a21564868921959bd16441b8", + "sha256:142119fb14a1ef6d758912b25c4e803c3ff66920635c44078666fe7cc3f8f759", + "sha256:1d1fb9b2eec3c9714dd936860850300b51dbaa37404209c8d4cb66547884b7ed", + "sha256:204730fd5fe2fe3b1e9ccadb2bd18ba8712b111dcabce185af0b3b5285a7c989", + "sha256:24c3be29abb6b34052fd26fc7a8e0a49b1ee9d282e3665e8ad09a0a68faee5b3", + "sha256:290b02bab3c9e216da57c1d11d2ba73a9f73a614bbdcc027d299a60cdfabb11a", + "sha256:3028252424c72b2602a323f70fbf50aa80a5d3aa616ea6add4ba21ae9cc9da4c", + "sha256:30c653fde75a6e5eb814d2a0a89378f83d1d3f502ab710904ee585c38888816c", + "sha256:3cace1837bc84e63b3fd2dfce37f08f8c18aeb81ef5cf6bb9b51f625cb4e6cd8", + "sha256:4056f752015dfa9828dce3140dbadd543b555afb3252507348c493def166d454", + "sha256:454ffc1cbb75227d15667c09f164a0099159da0c1f3d2636aa648f12675491ad", + "sha256:598b65d74615c021423bd45c2bc5e9b59539c875a9bdb7e5f2a6b92dfcfc268d", + "sha256:599941da468f2cf22bf90a84f6e2a65524e87be2fce844f96f2dd9a6c9d1e635", + "sha256:5ddea4c352a488b5e1069069f2f501006b1a4362cb906bee9a193ef1245a7a61", + "sha256:62c0285e91414f5c8f621a17b69fc0088394ccdaa961ef469e833dbff64bd5ea", + "sha256:679cbb78914ab212c49c67ba2c7396dc599a8479de51b9a87b174700abd9ea49", + "sha256:6e104c0c2b4cd765b4e83909cde7ec61a1e313f8a75775897db321450e928cce", + "sha256:736895a020e31b428b3382a7887bfea96102c529530299f426bf2e636aacec9e", + "sha256:75bb36f134883fdbe13d8e63b8675f5f12b80bb6627f7714c7d6c5becf22719f", + "sha256:7d2f5d97fcbd004c03df8d8fe2b973fe2b14e7bfeb2cfa012eaa8759ce9a762f", + "sha256:80beaf63ddfbc64a0452b841d8036ca0611e049650e20afcb882f5d3c266d65f", + "sha256:84ad5e29bf8bab3ad70fd707d3c05524862bddc54dc040982b0dbcff36481de7", + "sha256:8da5924cb1f9064589767b0f3fc39d03e3d0fb5aa29e0cb21d43106519bd624a", + "sha256:961eb86e5be7d0973789f30ebcf6caab60b844203f4396ece27310295a6082c7", + "sha256:96de1932237abe0a13ba68b63e94113678c379dca45afa040a17b6e1ad7ed076", + "sha256:a0a0abef2ca47b33fb615b491ce31b055ef2430de52c5b3fb19a4042dbc5cadb", + "sha256:b2a5a856019d2833c56a3dcac1b80fe795c95f401818ea963594b345929dffa7", + "sha256:b8811d48078d1cf2a6863dafb896e68406c5f513048451cd2ded0473133473c7", + "sha256:c532d5ab79be0199fa2658e24a02fce8542df196e60665dd322409a03db6a52c", + "sha256:d3b64c65328cb4cd252c94f83e66e3d7acf8891e60ebf588d7b493a55a1dbf26", + "sha256:d4e702eea4a2903441f2735799d217f4ac1b55f7d8ad96ab7d4e25417cb0827c", + "sha256:d5653619b3eb5cbd35bfba3c12d575db2a74d15e0e1c08bf1db788069d410ce8", + "sha256:d66624f04de4af8bbf1c7f21cc06649c1c69a7f84109179add573ce35e46d448", + "sha256:e67ec74fada3841b8c5f4c4f197bea916025cb9aa3fe5abf7d52b655d042f956", + "sha256:e6f7f3f41faffaea6596da86ecc2389672fa949bd035251eab26dc6697451d05", + "sha256:f02cf7221d5cd915d7fa58ab64f7ee6dd0f6cddbb48683debf5d04ae9b1c2cc1", + "sha256:f0eddfcabd6936558ec020130f932d479930581171368fd728efcfb6ef0dd357", + "sha256:fabbe18087c3d33c5824cb145ffca52eccd053061df1d79d4b66dafa5ad2a5ea", + "sha256:fc3150f85e2dbcf99e65238c842d1cfe69d3e7649b19864c1cc043213d9cd730" ], - "markers": "python_version >= '3.6'", - "version": "==2.0.1" + "markers": "python_version >= '3.7'", + "version": "==2.1.0" }, "mccabe": { "hashes": [ @@ -491,7 +1939,7 @@ "sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d", "sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375" ], - "markers": "python_version >= '3.7'", + "markers": "python_version < '3.10'", "version": "==3.7.0" } } diff --git a/notebooks/Repo_Analysis.ipynb b/notebooks/Repo_Analysis.ipynb index 737a39a..8f06c84 100644 --- a/notebooks/Repo_Analysis.ipynb +++ b/notebooks/Repo_Analysis.ipynb @@ -37,6 +37,8 @@ "import warnings\n", "import trino\n", "from s3_communication import S3Communication\n", + "from github import Github\n", + "import pandas as pd\n", "\n", "warnings.filterwarnings(\"ignore\")\n", "load_dotenv(find_dotenv())" @@ -52,63 +54,43 @@ "## Create a .env file on your local with the correct configs\n", "REPO = os.getenv(\"REPO\")\n", "ORG = os.getenv(\"ORG\")\n", + "SIG = os.getenv(\"SIG\")\n", "GITHUB_ACCESS_TOKEN = os.getenv(\"GITHUB_ACCESS_TOKEN\")\n", "s3_endpoint_url = os.getenv(\"S3_ENDPOINT\")\n", "aws_access_key_id = os.getenv(\"S3_ACCESS_KEY\")\n", "aws_secret_access_key = os.getenv(\"S3_SECRET_KEY\")\n", - "s3_bucket = os.getenv(\"S3_BUCKET\")" + "s3_bucket = os.getenv(\"S3_BUCKET\")\n", + "repo_slug = f\"{ORG}/{REPO}\"" ] }, { "cell_type": "code", "execution_count": 3, - "id": "f85e435f-ac52-46a7-bc89-911d44c59d97", + "id": "479ac8ce-ee25-4266-91c7-09e5b018bac9", "metadata": {}, "outputs": [], "source": [ - "# init s3 connector\n", - "s3c = S3Communication(\n", - " s3_endpoint_url, aws_access_key_id, aws_secret_access_key, s3_bucket\n", - ")" + "# Note: The GitHub access token needs to be exported before importing the srcopmetrics package (current bug)\n", + "from srcopsmetrics.entities.issue import Issue # noqa: E402\n", + "from srcopsmetrics.entities.pull_request import PullRequest # noqa: E402" ] }, { "cell_type": "code", "execution_count": 4, - "id": "11d4c8ee-b5bb-4917-9721-2f3eaa5983b4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'os-climate/aicoe-osc-demo'" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "repo_slug = f\"{ORG}/{REPO}\"\n", - "repo_slug" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "3621064e-c067-4cb8-ac6a-f998275cf78f", + "id": "f85e435f-ac52-46a7-bc89-911d44c59d97", "metadata": {}, "outputs": [], "source": [ - "# Note: The GitHub access token needs to be exported before importing the srcopmetrics package (current bug)\n", - "from srcopsmetrics.entities.issue import Issue # noqa: E402\n", - "from srcopsmetrics.entities.pull_request import PullRequest # noqa: E402" + "# init s3 connector\n", + "s3c = S3Communication(\n", + " s3_endpoint_url, aws_access_key_id, aws_secret_access_key, s3_bucket\n", + ")" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "c0050913-d122-4020-a1ce-2ef83a56fdee", "metadata": {}, "outputs": [ @@ -117,7 +99,7 @@ "output_type": "stream", "text": [ "INFO:srcopsmetrics.github_knowledge:Overall repositories found: 1\n", - "INFO:srcopsmetrics.bot_knowledge:######################## Analysing os-climate/aicoe-osc-demo ########################\n", + "INFO:srcopsmetrics.bot_knowledge:######################## Analysing open-services-group/metrics ########################\n", "\n", "INFO:srcopsmetrics.bot_knowledge:########################\n", "INFO:srcopsmetrics.bot_knowledge:Detected entities:\n", @@ -126,79 +108,49 @@ "INFO:srcopsmetrics.bot_knowledge:Issue inspection\n", "INFO:srcopsmetrics.entities.tools.storage:Loading knowledge locally\n", "INFO:srcopsmetrics.entities.tools.storage:Data from file %s loaded\n", - "INFO:srcopsmetrics.entities.interface:Found previous Issue knowledge for os-climate/aicoe-osc-demo with 77 records\n", + "INFO:srcopsmetrics.entities.interface:Found previous Issue knowledge for open-services-group/metrics with 7 records\n", "INFO:srcopsmetrics.iterator:-------------Issue Analysis-------------\n", - "100%|████████████████████| 133/133 [00:17<00:00, 7.55it/s, RATE remaining=4914]\n", - "INFO:srcopsmetrics.entities.interface:Nothing to store.\n", - "INFO:srcopsmetrics.entities.interface:\n", - "\n", + "100%|██████████████████████| 24/24 [00:09<00:00, 2.57it/s, RATE remaining=4878]\n", + "INFO:srcopsmetrics.entities.interface:Knowledge file Issue.json\n", + "INFO:srcopsmetrics.entities.interface:new 11 entities\n", + "INFO:srcopsmetrics.entities.interface:(overall 18 entities)\n", + "INFO:srcopsmetrics.entities.interface:Saved locally at /opt/app-root/src/metrics/notebooks/srcopsmetrics/bot_knowledge/open-services-group/metrics/Issue.json\n", "INFO:srcopsmetrics.bot_knowledge:\n", "\n", "INFO:srcopsmetrics.bot_knowledge:PullRequest inspection\n", "INFO:srcopsmetrics.entities.tools.storage:Loading knowledge locally\n", "INFO:srcopsmetrics.entities.tools.storage:Data from file %s loaded\n", - "INFO:srcopsmetrics.entities.interface:Found previous PullRequest knowledge for os-climate/aicoe-osc-demo with 56 records\n", + "INFO:srcopsmetrics.entities.interface:No previous knowledge of type PullRequest found\n", "INFO:srcopsmetrics.iterator:-------------PullRequest Analysis-------------\n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #133 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #130 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #129 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #126 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #124 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #123 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #119 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #117 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #116 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #114 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #112 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #108 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #107 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #104 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #103 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #101 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #98 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #89 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #86 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #85 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #83 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #82 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #81 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #77 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #76 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #75 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #74 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #73 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #71 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #70 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #67 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #66 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #65 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #64 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #63 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #62 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #55 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #53 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #50 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #47 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #46 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #42 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #41 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #37 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #36 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #35 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #34 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #33 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #31 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #30 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #27 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #21 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #16 \n", + "INFO:srcopsmetrics.entities.pull_request:Extracting PR #20 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 1/10 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 2/10 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 3/10 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 4/10 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 5/10 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 6/10 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 7/10 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 8/10 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 9/10 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 10/10 \n", + "INFO:srcopsmetrics.entities.pull_request:Extracting PR #17 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 1/4 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 2/4 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 3/4 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 4/4 \n", "INFO:srcopsmetrics.entities.pull_request:Extracting PR #15 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #2 \n", - "INFO:srcopsmetrics.entities.pull_request:Extracting PR #1 \n", - "100%|██████████████████████| 56/56 [00:04<00:00, 12.69it/s, RATE remaining=4911]\n", - "INFO:srcopsmetrics.entities.interface:Nothing to store.\n", - "INFO:srcopsmetrics.entities.interface:\n", - "\n", + "INFO:srcopsmetrics.entities.pull_request:Extracting PR #14 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 1/4 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 2/4 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 3/4 \n", + "INFO:srcopsmetrics.entities.pull_request: -analysing review no. 4/4 \n", + "INFO:srcopsmetrics.entities.pull_request:Extracting PR #12 \n", + "INFO:srcopsmetrics.entities.pull_request:Extracting PR #11 \n", + "100%|████████████████████████| 6/6 [00:09<00:00, 1.58s/it, RATE remaining=4827]\n", + "INFO:srcopsmetrics.entities.interface:Knowledge file PullRequest.json\n", + "INFO:srcopsmetrics.entities.interface:new 6 entities\n", + "INFO:srcopsmetrics.entities.interface:(overall 6 entities)\n", + "INFO:srcopsmetrics.entities.interface:Saved locally at /opt/app-root/src/metrics/notebooks/srcopsmetrics/bot_knowledge/open-services-group/metrics/PullRequest.json\n", "INFO:srcopsmetrics.bot_knowledge:\n", "\n" ] @@ -221,180 +173,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "9f01d6a8-5925-466a-a01f-ae47a334f975", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
titlebodycreated_bycreated_atclosed_byclosed_atlabelsinteractions
id
132Rerun NLP demo on the new clusterThe new dev cluster with a bigger GPU is up ([...Shreyanand2022-02-24 16:12:24NoneNaT{}{}
131Use physical-landing bucket for NLP demoAs an effort to decouple data owned by Trino, ...Shreyanand2022-02-24 15:57:35NoneNaT{'enhancement': {'color': 'a2eeef', 'labeled_a...{}
128Prepare GPU image for training teacher network...**Is your feature request related to a problem...pacospace2022-02-10 16:16:08erikerlandson2022-02-17 16:09:37{'enhancement': {'color': 'a2eeef', 'labeled_a...{'pacospace': 8}
127Value Error related to S3 in demo2 notebookValue Error related to S3 at Import in when ru...andraNew2022-01-07 16:17:07andraNew2022-01-13 11:27:54{'bug': {'color': 'd73a4a', 'labeled_at': 1641...{'andraNew': 123, 'erikerlandson': 90, 'chauha...
125Create JupyterbookAdd _toc.yaml and _config.yml for the repo and...oindrillac2021-12-17 13:09:41oindrillac2021-12-20 13:23:13{}{}
\n", - "
" - ], - "text/plain": [ - " title \\\n", - "id \n", - "132 Rerun NLP demo on the new cluster \n", - "131 Use physical-landing bucket for NLP demo \n", - "128 Prepare GPU image for training teacher network... \n", - "127 Value Error related to S3 in demo2 notebook \n", - "125 Create Jupyterbook \n", - "\n", - " body created_by \\\n", - "id \n", - "132 The new dev cluster with a bigger GPU is up ([... Shreyanand \n", - "131 As an effort to decouple data owned by Trino, ... Shreyanand \n", - "128 **Is your feature request related to a problem... pacospace \n", - "127 Value Error related to S3 at Import in when ru... andraNew \n", - "125 Add _toc.yaml and _config.yml for the repo and... oindrillac \n", - "\n", - " created_at closed_by closed_at \\\n", - "id \n", - "132 2022-02-24 16:12:24 None NaT \n", - "131 2022-02-24 15:57:35 None NaT \n", - "128 2022-02-10 16:16:08 erikerlandson 2022-02-17 16:09:37 \n", - "127 2022-01-07 16:17:07 andraNew 2022-01-13 11:27:54 \n", - "125 2021-12-17 13:09:41 oindrillac 2021-12-20 13:23:13 \n", - "\n", - " labels \\\n", - "id \n", - "132 {} \n", - "131 {'enhancement': {'color': 'a2eeef', 'labeled_a... \n", - "128 {'enhancement': {'color': 'a2eeef', 'labeled_a... \n", - "127 {'bug': {'color': 'd73a4a', 'labeled_at': 1641... \n", - "125 {} \n", - "\n", - " interactions \n", - "id \n", - "132 {} \n", - "131 {} \n", - "128 {'pacospace': 8} \n", - "127 {'andraNew': 123, 'erikerlandson': 90, 'chauha... \n", - "125 {} " - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "issue = Issue(repo_slug)\n", - "issue_df = issue.load_previous_knowledge(is_local=True)\n", - "issue_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "ecc6718e-9b65-4246-a89d-5ea1caf52f47", - "metadata": {}, - "outputs": [], - "source": [ - "issue_df = issue_df.reset_index()" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "74f8831a-fc80-4fb7-b20d-d3ef158c308a", - "metadata": {}, "outputs": [ { "data": { @@ -431,61 +212,61 @@ " \n", " \n", " 0\n", - " 132\n", - " Rerun NLP demo on the new cluster\n", - " The new dev cluster with a bigger GPU is up ([...\n", - " Shreyanand\n", - " 2022-02-24 16:12:24\n", - " None\n", - " NaT\n", - " {}\n", + " 13\n", + " Collect metrics for all sub-projects in the OS...\n", + " Collect GitHub data using the MI tool i.e issu...\n", + " hemajv\n", + " 1970-01-20 00:55:37.949\n", + " hemajv\n", + " 1970-01-20 00:58:32.352\n", " {}\n", + " {'oindrillac': 128, 'hemajv': 170, 'MichaelCli...\n", " \n", " \n", " 1\n", - " 131\n", - " Use physical-landing bucket for NLP demo\n", - " As an effort to decouple data owned by Trino, ...\n", + " 10\n", + " Spike: Define OKR completion\n", + " This issue is created to discuss different app...\n", " Shreyanand\n", - " 2022-02-24 15:57:35\n", + " 1970-01-20 00:44:17.165\n", " None\n", " NaT\n", - " {'enhancement': {'color': 'a2eeef', 'labeled_a...\n", " {}\n", + " {'MichaelClifford': 33, 'Shreyanand': 104, 'he...\n", " \n", " \n", " 2\n", - " 128\n", - " Prepare GPU image for training teacher network...\n", - " **Is your feature request related to a problem...\n", - " pacospace\n", - " 2022-02-10 16:16:08\n", - " erikerlandson\n", - " 2022-02-17 16:09:37\n", - " {'enhancement': {'color': 'a2eeef', 'labeled_a...\n", - " {'pacospace': 8}\n", + " 9\n", + " Project workflow diagram\n", + " Create an architecture diagram describing the ...\n", + " hemajv\n", + " 1970-01-20 00:44:16.319\n", + " hemajv\n", + " 1970-01-20 00:55:56.040\n", + " {}\n", + " {'oindrillac': 30, 'hemajv': 39, 'MichaelCliff...\n", " \n", " \n", " 3\n", - " 127\n", - " Value Error related to S3 in demo2 notebook\n", - " Value Error related to S3 at Import in when ru...\n", - " andraNew\n", - " 2022-01-07 16:17:07\n", - " andraNew\n", - " 2022-01-13 11:27:54\n", - " {'bug': {'color': 'd73a4a', 'labeled_at': 1641...\n", - " {'andraNew': 123, 'erikerlandson': 90, 'chauha...\n", + " 8\n", + " Update Readme\n", + " Update the Readme to reflect project goals, re...\n", + " Shreyanand\n", + " 1970-01-20 00:44:14.140\n", + " sesheta\n", + " 1970-01-20 00:55:55.068\n", + " {}\n", + " {}\n", " \n", " \n", " 4\n", - " 125\n", - " Create Jupyterbook\n", - " Add _toc.yaml and _config.yml for the repo and...\n", - " oindrillac\n", - " 2021-12-17 13:09:41\n", - " oindrillac\n", - " 2021-12-20 13:23:13\n", + " 7\n", + " [EPIC] Visualization\n", + " Create dashboards/reports to visualize metrics...\n", + " hemajv\n", + " 1970-01-20 00:38:36.285\n", + " None\n", + " NaT\n", " {}\n", " {}\n", " \n", @@ -494,54 +275,50 @@ "" ], "text/plain": [ - " id title \\\n", - "0 132 Rerun NLP demo on the new cluster \n", - "1 131 Use physical-landing bucket for NLP demo \n", - "2 128 Prepare GPU image for training teacher network... \n", - "3 127 Value Error related to S3 in demo2 notebook \n", - "4 125 Create Jupyterbook \n", + " id title \\\n", + "0 13 Collect metrics for all sub-projects in the OS... \n", + "1 10 Spike: Define OKR completion \n", + "2 9 Project workflow diagram \n", + "3 8 Update Readme \n", + "4 7 [EPIC] Visualization \n", "\n", " body created_by \\\n", - "0 The new dev cluster with a bigger GPU is up ([... Shreyanand \n", - "1 As an effort to decouple data owned by Trino, ... Shreyanand \n", - "2 **Is your feature request related to a problem... pacospace \n", - "3 Value Error related to S3 at Import in when ru... andraNew \n", - "4 Add _toc.yaml and _config.yml for the repo and... oindrillac \n", - "\n", - " created_at closed_by closed_at \\\n", - "0 2022-02-24 16:12:24 None NaT \n", - "1 2022-02-24 15:57:35 None NaT \n", - "2 2022-02-10 16:16:08 erikerlandson 2022-02-17 16:09:37 \n", - "3 2022-01-07 16:17:07 andraNew 2022-01-13 11:27:54 \n", - "4 2021-12-17 13:09:41 oindrillac 2021-12-20 13:23:13 \n", + "0 Collect GitHub data using the MI tool i.e issu... hemajv \n", + "1 This issue is created to discuss different app... Shreyanand \n", + "2 Create an architecture diagram describing the ... hemajv \n", + "3 Update the Readme to reflect project goals, re... Shreyanand \n", + "4 Create dashboards/reports to visualize metrics... hemajv \n", "\n", - " labels \\\n", - "0 {} \n", - "1 {'enhancement': {'color': 'a2eeef', 'labeled_a... \n", - "2 {'enhancement': {'color': 'a2eeef', 'labeled_a... \n", - "3 {'bug': {'color': 'd73a4a', 'labeled_at': 1641... \n", - "4 {} \n", + " created_at closed_by closed_at labels \\\n", + "0 1970-01-20 00:55:37.949 hemajv 1970-01-20 00:58:32.352 {} \n", + "1 1970-01-20 00:44:17.165 None NaT {} \n", + "2 1970-01-20 00:44:16.319 hemajv 1970-01-20 00:55:56.040 {} \n", + "3 1970-01-20 00:44:14.140 sesheta 1970-01-20 00:55:55.068 {} \n", + "4 1970-01-20 00:38:36.285 None NaT {} \n", "\n", " interactions \n", - "0 {} \n", - "1 {} \n", - "2 {'pacospace': 8} \n", - "3 {'andraNew': 123, 'erikerlandson': 90, 'chauha... \n", + "0 {'oindrillac': 128, 'hemajv': 170, 'MichaelCli... \n", + "1 {'MichaelClifford': 33, 'Shreyanand': 104, 'he... \n", + "2 {'oindrillac': 30, 'hemajv': 39, 'MichaelCliff... \n", + "3 {} \n", "4 {} " ] }, - "execution_count": 9, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "issue = Issue(repo_slug)\n", + "issue_df = issue.load_previous_knowledge(is_local=True)\n", + "issue_df = issue_df.reset_index()\n", "issue_df.head()" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 7, "id": "1d6ee917-2aae-4838-ba43-89c9c5957886", "metadata": {}, "outputs": [ @@ -580,99 +357,99 @@ " \n", " \n", " 0\n", - " 132\n", - " Rerun NLP demo on the new cluster\n", - " The new dev cluster with a bigger GPU is up ([...\n", - " Shreyanand\n", - " 2022-02-24 16:12:24\n", - " None\n", - " NaT\n", - " os-climate\n", - " aicoe-osc-demo\n", + " 13\n", + " Collect metrics for all sub-projects in the OS...\n", + " Collect GitHub data using the MI tool i.e issu...\n", + " hemajv\n", + " 1970-01-20 00:55:37.949\n", + " hemajv\n", + " 1970-01-20 00:58:32.352\n", + " open-services-group\n", + " metrics\n", " \n", " \n", " 1\n", - " 131\n", - " Use physical-landing bucket for NLP demo\n", - " As an effort to decouple data owned by Trino, ...\n", + " 10\n", + " Spike: Define OKR completion\n", + " This issue is created to discuss different app...\n", " Shreyanand\n", - " 2022-02-24 15:57:35\n", + " 1970-01-20 00:44:17.165\n", " None\n", " NaT\n", - " os-climate\n", - " aicoe-osc-demo\n", + " open-services-group\n", + " metrics\n", " \n", " \n", " 2\n", - " 128\n", - " Prepare GPU image for training teacher network...\n", - " **Is your feature request related to a problem...\n", - " pacospace\n", - " 2022-02-10 16:16:08\n", - " erikerlandson\n", - " 2022-02-17 16:09:37\n", - " os-climate\n", - " aicoe-osc-demo\n", + " 9\n", + " Project workflow diagram\n", + " Create an architecture diagram describing the ...\n", + " hemajv\n", + " 1970-01-20 00:44:16.319\n", + " hemajv\n", + " 1970-01-20 00:55:56.040\n", + " open-services-group\n", + " metrics\n", " \n", " \n", " 3\n", - " 127\n", - " Value Error related to S3 in demo2 notebook\n", - " Value Error related to S3 at Import in when ru...\n", - " andraNew\n", - " 2022-01-07 16:17:07\n", - " andraNew\n", - " 2022-01-13 11:27:54\n", - " os-climate\n", - " aicoe-osc-demo\n", + " 8\n", + " Update Readme\n", + " Update the Readme to reflect project goals, re...\n", + " Shreyanand\n", + " 1970-01-20 00:44:14.140\n", + " sesheta\n", + " 1970-01-20 00:55:55.068\n", + " open-services-group\n", + " metrics\n", " \n", " \n", " 4\n", - " 125\n", - " Create Jupyterbook\n", - " Add _toc.yaml and _config.yml for the repo and...\n", - " oindrillac\n", - " 2021-12-17 13:09:41\n", - " oindrillac\n", - " 2021-12-20 13:23:13\n", - " os-climate\n", - " aicoe-osc-demo\n", + " 7\n", + " [EPIC] Visualization\n", + " Create dashboards/reports to visualize metrics...\n", + " hemajv\n", + " 1970-01-20 00:38:36.285\n", + " None\n", + " NaT\n", + " open-services-group\n", + " metrics\n", " \n", " \n", "\n", "" ], "text/plain": [ - " id title \\\n", - "0 132 Rerun NLP demo on the new cluster \n", - "1 131 Use physical-landing bucket for NLP demo \n", - "2 128 Prepare GPU image for training teacher network... \n", - "3 127 Value Error related to S3 in demo2 notebook \n", - "4 125 Create Jupyterbook \n", + " id title \\\n", + "0 13 Collect metrics for all sub-projects in the OS... \n", + "1 10 Spike: Define OKR completion \n", + "2 9 Project workflow diagram \n", + "3 8 Update Readme \n", + "4 7 [EPIC] Visualization \n", "\n", " body created_by \\\n", - "0 The new dev cluster with a bigger GPU is up ([... Shreyanand \n", - "1 As an effort to decouple data owned by Trino, ... Shreyanand \n", - "2 **Is your feature request related to a problem... pacospace \n", - "3 Value Error related to S3 at Import in when ru... andraNew \n", - "4 Add _toc.yaml and _config.yml for the repo and... oindrillac \n", + "0 Collect GitHub data using the MI tool i.e issu... hemajv \n", + "1 This issue is created to discuss different app... Shreyanand \n", + "2 Create an architecture diagram describing the ... hemajv \n", + "3 Update the Readme to reflect project goals, re... Shreyanand \n", + "4 Create dashboards/reports to visualize metrics... hemajv \n", "\n", - " created_at closed_by closed_at org \\\n", - "0 2022-02-24 16:12:24 None NaT os-climate \n", - "1 2022-02-24 15:57:35 None NaT os-climate \n", - "2 2022-02-10 16:16:08 erikerlandson 2022-02-17 16:09:37 os-climate \n", - "3 2022-01-07 16:17:07 andraNew 2022-01-13 11:27:54 os-climate \n", - "4 2021-12-17 13:09:41 oindrillac 2021-12-20 13:23:13 os-climate \n", + " created_at closed_by closed_at \\\n", + "0 1970-01-20 00:55:37.949 hemajv 1970-01-20 00:58:32.352 \n", + "1 1970-01-20 00:44:17.165 None NaT \n", + "2 1970-01-20 00:44:16.319 hemajv 1970-01-20 00:55:56.040 \n", + "3 1970-01-20 00:44:14.140 sesheta 1970-01-20 00:55:55.068 \n", + "4 1970-01-20 00:38:36.285 None NaT \n", "\n", - " repo \n", - "0 aicoe-osc-demo \n", - "1 aicoe-osc-demo \n", - "2 aicoe-osc-demo \n", - "3 aicoe-osc-demo \n", - "4 aicoe-osc-demo " + " org repo \n", + "0 open-services-group metrics \n", + "1 open-services-group metrics \n", + "2 open-services-group metrics \n", + "3 open-services-group metrics \n", + "4 open-services-group metrics " ] }, - "execution_count": 10, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -689,27 +466,27 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 8, "id": "bd536b2f-a47d-4ec7-af84-60401245861c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'ResponseMetadata': {'RequestId': 'tx000000000000000054328-0062212460-bd9943-ocs-storagecluster-cephobjectstore',\n", + "{'ResponseMetadata': {'RequestId': 'tx00000000000000007b9c8-00622a6baa-bd9943-ocs-storagecluster-cephobjectstore',\n", " 'HostId': '',\n", " 'HTTPStatusCode': 200,\n", " 'HTTPHeaders': {'content-length': '0',\n", - " 'etag': '\"425a237e4e4a645d4b9a5e369ed2cb22\"',\n", + " 'etag': '\"244ad606c3438da06a0739d6dfa728f7\"',\n", " 'accept-ranges': 'bytes',\n", - " 'x-amz-request-id': 'tx000000000000000054328-0062212460-bd9943-ocs-storagecluster-cephobjectstore',\n", - " 'date': 'Thu, 03 Mar 2022 20:26:08 GMT',\n", + " 'x-amz-request-id': 'tx00000000000000007b9c8-00622a6baa-bd9943-ocs-storagecluster-cephobjectstore',\n", + " 'date': 'Thu, 10 Mar 2022 21:20:42 GMT',\n", " 'set-cookie': 'bbdcd938787a45e68f8d240a4e2dadcf=9245b3fe660230b2beaa13e1023f5083; path=/; HttpOnly'},\n", " 'RetryAttempts': 0},\n", - " 'ETag': '\"425a237e4e4a645d4b9a5e369ed2cb22\"'}" + " 'ETag': '\"244ad606c3438da06a0739d6dfa728f7\"'}" ] }, - "execution_count": 11, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -735,7 +512,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 9, "id": "4047933a-e7fa-4424-aa9a-98efc072202a", "metadata": {}, "outputs": [ @@ -760,6 +537,7 @@ " \n", " \n", " \n", + " id\n", " title\n", " body\n", " size\n", @@ -779,131 +557,115 @@ " first_review_at\n", " first_approve_at\n", " \n", - " \n", - " id\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", " \n", - " 133\n", - " [WIP] Add move data util nb and update config\n", - " # Related issues\\r\\n#131 #132 \\r\\n\\r\\nThis PR ...\n", - " L\n", - " Shreyanand\n", - " 2022-02-28 21:18:36\n", - " NaT\n", - " None\n", + " 0\n", + " 20\n", + " Add repo analysis notebook\n", + " Adding a repo analysis template notebook\\r\\n\\r...\n", + " XXL\n", + " hemajv\n", + " 2022-02-25 19:37:55\n", + " 2022-03-07 20:00:21\n", + " sesheta\n", + " 2022-03-07 20:00:21\n", + " sesheta\n", + " 1\n", + " 2\n", + " {'review-notebook-app[bot]': 29, 'MichaelCliff...\n", + " {'899535619': {'author': 'MichaelClifford', 'w...\n", + " [lgtm, size/XXL, approved]\n", + " [df21207d6580e3977af41cfde8cefc347e1d3085]\n", + " [notebooks/Repo_Analysis.ipynb, notebooks/s3_c...\n", + " 2022-03-03 21:28:32\n", " NaT\n", - " None\n", + " \n", + " \n", + " 1\n", + " 17\n", + " Add GitHub data analysis notebook\n", + " Resolves #16\n", + " XXL\n", + " hemajv\n", + " 2022-02-17 19:17:47\n", + " 2022-02-25 16:46:44\n", + " sesheta\n", + " 2022-02-25 16:46:43\n", + " sesheta\n", " 1\n", " 3\n", - " {'review-notebook-app[bot]': 29}\n", - " {}\n", - " []\n", - " [fcd345815e73d8c8d570a8c32a2a34e3e6bf7447]\n", - " [notebooks/demo2/config.py, notebooks/move_dat...\n", - " NaT\n", + " {'suppathak': 139, 'hemajv': 168, 'review-note...\n", + " {'892912080': {'author': 'Shreyanand', 'words_...\n", + " [lgtm, size/XXL, approved]\n", + " [1655de6634ab9f2676844929f3ef8bf7f60384ef]\n", + " [.pre-commit-config.yaml, docs/conf.py, notebo...\n", + " 2022-02-24 19:40:11\n", " NaT\n", " \n", " \n", - " 130\n", - " Fix gpu manifests builds\n", - " Signed-off-by: Francesco Murdaca <fmurdaca@red...\n", - " XS\n", - " pacospace\n", - " 2022-02-22 09:31:00\n", + " 2\n", + " 15\n", + " Automatic update of dependencies by Kebechet f...\n", + " Kebechet has updated the dependencies to the l...\n", + " S\n", + " khebhut[bot]\n", + " 2022-02-15 20:28:05\n", " NaT\n", " None\n", " NaT\n", " None\n", " 1\n", " 1\n", + " {'sesheta': 202, 'khebhut[bot]': 12}\n", " {}\n", - " {}\n", - " []\n", - " [d87b0a45185451072c2fef554024a273ed8985a3]\n", - " [manifests/nm-gpu-training-manifests.yaml]\n", + " [size/S, needs-ok-to-test, bot]\n", + " [d4b232ee026e1f46d6c430d3a447ff3531afea84]\n", + " [Pipfile.lock]\n", " NaT\n", " NaT\n", " \n", " \n", - " 129\n", - " Add manifests for GPU image build\n", - " Signed-off-by: Francesco Murdaca <fmurdaca@red...\n", - " XL\n", - " pacospace\n", - " 2022-02-14 11:10:27\n", - " 2022-02-17 16:09:37\n", - " erikerlandson\n", - " 2022-02-17 16:09:37\n", - " erikerlandson\n", - " 1\n", - " 9\n", - " {'pacospace': 22}\n", - " {'881638114': {'author': 'erikerlandson', 'wor...\n", - " []\n", - " [17709f8aac5533bbaa20c311a937c89384644b14]\n", - " [manifests/.sops.yaml, manifests/README.md, ma...\n", - " 2022-02-14 13:36:05\n", - " 2022-02-14 13:36:05\n", - " \n", - " \n", - " 126\n", - " Updated documentation\n", - " closes #125 \\r\\ncloses #110 \\r\\n\\r\\nJupyterBoo...\n", + " 3\n", + " 14\n", + " Update README\n", + " Resolves #8\n", " M\n", - " oindrillac\n", - " 2021-12-17 16:40:00\n", - " 2021-12-20 13:23:14\n", - " oindrillac\n", - " 2021-12-20 13:23:13\n", - " oindrillac\n", + " hemajv\n", + " 2022-02-15 17:00:53\n", + " 2022-02-15 19:57:48\n", + " sesheta\n", + " 2022-02-15 19:57:48\n", + " sesheta\n", " 1\n", - " 5\n", - " {'oindrillac': 13, 'chauhankaranraj': 18}\n", - " {'835457435': {'author': 'aakankshaduggal', 'w...\n", - " []\n", - " [523e26606333956764986a296149ca56edf56b40]\n", - " [README.md, _config.yml, _toc.yml, notebooks/d...\n", - " 2021-12-17 17:05:43\n", - " 2021-12-17 21:18:59\n", + " 2\n", + " {'sesheta': 65}\n", + " {'883344363': {'author': 'oindrillac', 'words_...\n", + " [lgtm, size/M, approved]\n", + " [09a63cf6c1b8d058d14c3ca831be672232c4b91e]\n", + " [README.md, docs/imgs/project_architecture.jpeg]\n", + " 2022-02-15 17:07:29\n", + " 2022-02-15 19:56:42\n", " \n", " \n", - " 124\n", - " Update README\n", - " This PR \\r\\n- updates the README to mention th...\n", - " XS\n", - " chauhankaranraj\n", - " 2021-12-14 20:45:08\n", - " 2021-12-15 12:57:35\n", - " MichaelClifford\n", - " 2021-12-15 12:57:35\n", - " MichaelClifford\n", + " 4\n", + " 12\n", + " Update OWNERS\n", + " cc @Shreyanand\n", + " S\n", + " hemajv\n", + " 2022-02-09 18:07:46\n", + " 2022-02-14 15:59:37\n", + " sesheta\n", + " 2022-02-14 15:59:37\n", + " sesheta\n", " 1\n", " 1\n", - " {'MichaelClifford': 1}\n", + " {'MichaelClifford': 11, 'sesheta': 65, 'harsha...\n", " {}\n", - " []\n", - " [ad9668f096e1e5ebc5b123d1c6df4ea5ed98af5a]\n", - " [notebooks/demo2/README.md]\n", + " [size/S, approved]\n", + " [6dff26159faa30e67808db422db9131fb67888e6]\n", + " [OWNERS]\n", " NaT\n", " NaT\n", " \n", @@ -912,80 +674,78 @@ "" ], "text/plain": [ - " title \\\n", - "id \n", - "133 [WIP] Add move data util nb and update config \n", - "130 Fix gpu manifests builds \n", - "129 Add manifests for GPU image build \n", - "126 Updated documentation \n", - "124 Update README \n", + " id title \\\n", + "0 20 Add repo analysis notebook \n", + "1 17 Add GitHub data analysis notebook \n", + "2 15 Automatic update of dependencies by Kebechet f... \n", + "3 14 Update README \n", + "4 12 Update OWNERS \n", "\n", - " body size created_by \\\n", - "id \n", - "133 # Related issues\\r\\n#131 #132 \\r\\n\\r\\nThis PR ... L Shreyanand \n", - "130 Signed-off-by: Francesco Murdaca merged_by\n", " commits_number\n", " changed_files_number\n", - " interactions\n", - " reviews\n", - " labels\n", - " commits\n", - " changed_files\n", " first_review_at\n", " first_approve_at\n", + " org\n", + " repo\n", " \n", " \n", " \n", " \n", " 0\n", - " 133\n", - " [WIP] Add move data util nb and update config\n", - " # Related issues\\r\\n#131 #132 \\r\\n\\r\\nThis PR ...\n", - " L\n", - " Shreyanand\n", - " 2022-02-28 21:18:36\n", - " NaT\n", - " None\n", + " 20\n", + " Add repo analysis notebook\n", + " Adding a repo analysis template notebook\\r\\n\\r...\n", + " XXL\n", + " hemajv\n", + " 2022-02-25 19:37:55\n", + " 2022-03-07 20:00:21\n", + " sesheta\n", + " 2022-03-07 20:00:21\n", + " sesheta\n", + " 1\n", + " 2\n", + " 2022-03-03 21:28:32\n", " NaT\n", - " None\n", + " open-services-group\n", + " metrics\n", + " \n", + " \n", + " 1\n", + " 17\n", + " Add GitHub data analysis notebook\n", + " Resolves #16\n", + " XXL\n", + " hemajv\n", + " 2022-02-17 19:17:47\n", + " 2022-02-25 16:46:44\n", + " sesheta\n", + " 2022-02-25 16:46:43\n", + " sesheta\n", " 1\n", " 3\n", - " {'review-notebook-app[bot]': 29}\n", - " {}\n", - " []\n", - " [fcd345815e73d8c8d570a8c32a2a34e3e6bf7447]\n", - " [notebooks/demo2/config.py, notebooks/move_dat...\n", - " NaT\n", + " 2022-02-24 19:40:11\n", " NaT\n", + " open-services-group\n", + " metrics\n", " \n", " \n", - " 1\n", - " 130\n", - " Fix gpu manifests builds\n", - " Signed-off-by: Francesco Murdaca <fmurdaca@red...\n", - " XS\n", - " pacospace\n", - " 2022-02-22 09:31:00\n", + " 2\n", + " 15\n", + " Automatic update of dependencies by Kebechet f...\n", + " Kebechet has updated the dependencies to the l...\n", + " S\n", + " khebhut[bot]\n", + " 2022-02-15 20:28:05\n", " NaT\n", " None\n", " NaT\n", " None\n", " 1\n", " 1\n", - " {}\n", - " {}\n", - " []\n", - " [d87b0a45185451072c2fef554024a273ed8985a3]\n", - " [manifests/nm-gpu-training-manifests.yaml]\n", " NaT\n", " NaT\n", - " \n", - " \n", - " 2\n", - " 129\n", - " Add manifests for GPU image build\n", - " Signed-off-by: Francesco Murdaca <fmurdaca@red...\n", - " XL\n", - " pacospace\n", - " 2022-02-14 11:10:27\n", - " 2022-02-17 16:09:37\n", - " erikerlandson\n", - " 2022-02-17 16:09:37\n", - " erikerlandson\n", - " 1\n", - " 9\n", - " {'pacospace': 22}\n", - " {'881638114': {'author': 'erikerlandson', 'wor...\n", - " []\n", - " [17709f8aac5533bbaa20c311a937c89384644b14]\n", - " [manifests/.sops.yaml, manifests/README.md, ma...\n", - " 2022-02-14 13:36:05\n", - " 2022-02-14 13:36:05\n", + " open-services-group\n", + " metrics\n", " \n", " \n", " 3\n", - " 126\n", - " Updated documentation\n", - " closes #125 \\r\\ncloses #110 \\r\\n\\r\\nJupyterBoo...\n", + " 14\n", + " Update README\n", + " Resolves #8\n", " M\n", - " oindrillac\n", - " 2021-12-17 16:40:00\n", - " 2021-12-20 13:23:14\n", - " oindrillac\n", - " 2021-12-20 13:23:13\n", - " oindrillac\n", + " hemajv\n", + " 2022-02-15 17:00:53\n", + " 2022-02-15 19:57:48\n", + " sesheta\n", + " 2022-02-15 19:57:48\n", + " sesheta\n", " 1\n", - " 5\n", - " {'oindrillac': 13, 'chauhankaranraj': 18}\n", - " {'835457435': {'author': 'aakankshaduggal', 'w...\n", - " []\n", - " [523e26606333956764986a296149ca56edf56b40]\n", - " [README.md, _config.yml, _toc.yml, notebooks/d...\n", - " 2021-12-17 17:05:43\n", - " 2021-12-17 21:18:59\n", + " 2\n", + " 2022-02-15 17:07:29\n", + " 2022-02-15 19:56:42\n", + " open-services-group\n", + " metrics\n", " \n", " \n", " 4\n", - " 124\n", - " Update README\n", - " This PR \\r\\n- updates the README to mention th...\n", - " XS\n", - " chauhankaranraj\n", - " 2021-12-14 20:45:08\n", - " 2021-12-15 12:57:35\n", - " MichaelClifford\n", - " 2021-12-15 12:57:35\n", - " MichaelClifford\n", + " 12\n", + " Update OWNERS\n", + " cc @Shreyanand\n", + " S\n", + " hemajv\n", + " 2022-02-09 18:07:46\n", + " 2022-02-14 15:59:37\n", + " sesheta\n", + " 2022-02-14 15:59:37\n", + " sesheta\n", " 1\n", " 1\n", - " {'MichaelClifford': 1}\n", - " {}\n", - " []\n", - " [ad9668f096e1e5ebc5b123d1c6df4ea5ed98af5a]\n", - " [notebooks/demo2/README.md]\n", " NaT\n", " NaT\n", + " open-services-group\n", + " metrics\n", " \n", " \n", "\n", "" ], "text/plain": [ - " id title \\\n", - "0 133 [WIP] Add move data util nb and update config \n", - "1 130 Fix gpu manifests builds \n", - "2 129 Add manifests for GPU image build \n", - "3 126 Updated documentation \n", - "4 124 Update README \n", + " id title \\\n", + "0 20 Add repo analysis notebook \n", + "1 17 Add GitHub data analysis notebook \n", + "2 15 Automatic update of dependencies by Kebechet f... \n", + "3 14 Update README \n", + "4 12 Update OWNERS \n", "\n", - " body size created_by \\\n", - "0 # Related issues\\r\\n#131 #132 \\r\\n\\r\\nThis PR ... L Shreyanand \n", - "1 Signed-off-by: Francesco Murdaca \n", " \n", " id\n", - " title\n", - " body\n", - " size\n", - " created_by\n", " created_at\n", - " closed_at\n", - " closed_by\n", - " merged_at\n", - " merged_by\n", - " commits_number\n", - " changed_files_number\n", - " first_review_at\n", - " first_approve_at\n", + " contributor_id\n", + " contributor_name\n", + " type\n", + " action\n", + " issue_or_pr_id\n", " org\n", " repo\n", + " sig\n", + " internal_contributor\n", " \n", " \n", " \n", " \n", " 0\n", - " 133\n", - " [WIP] Add move data util nb and update config\n", - " # Related issues\\r\\n#131 #132 \\r\\n\\r\\nThis PR ...\n", - " L\n", - " Shreyanand\n", - " 2022-02-28 21:18:36\n", - " NaT\n", - " None\n", - " NaT\n", - " None\n", - " 1\n", - " 3\n", - " NaT\n", - " NaT\n", - " os-climate\n", - " aicoe-osc-demo\n", + " 20675625842\n", + " 2022-03-10 08:59:40\n", + " 33906690\n", + " sesheta\n", + " IssueCommentEvent\n", + " created\n", + " 24\n", + " open-services-group\n", + " metrics\n", + " sig-data-science\n", + " True\n", " \n", " \n", " 1\n", - " 130\n", - " Fix gpu manifests builds\n", - " Signed-off-by: Francesco Murdaca <fmurdaca@red...\n", - " XS\n", - " pacospace\n", - " 2022-02-22 09:31:00\n", - " NaT\n", - " None\n", - " NaT\n", - " None\n", - " 1\n", - " 1\n", - " NaT\n", - " NaT\n", - " os-climate\n", - " aicoe-osc-demo\n", + " 20675625438\n", + " 2022-03-10 08:59:39\n", + " 89909507\n", + " schwesig\n", + " IssueCommentEvent\n", + " created\n", + " 24\n", + " open-services-group\n", + " metrics\n", + " sig-data-science\n", + " True\n", " \n", " \n", " 2\n", - " 129\n", - " Add manifests for GPU image build\n", - " Signed-off-by: Francesco Murdaca <fmurdaca@red...\n", - " XL\n", - " pacospace\n", - " 2022-02-14 11:10:27\n", - " 2022-02-17 16:09:37\n", - " erikerlandson\n", - " 2022-02-17 16:09:37\n", - " erikerlandson\n", - " 1\n", - " 9\n", - " 2022-02-14 13:36:05\n", - " 2022-02-14 13:36:05\n", - " os-climate\n", - " aicoe-osc-demo\n", + " 20655246647\n", + " 2022-03-09 09:48:47\n", + " 89909507\n", + " schwesig\n", + " IssueCommentEvent\n", + " created\n", + " 24\n", + " open-services-group\n", + " metrics\n", + " sig-data-science\n", + " True\n", " \n", " \n", " 3\n", - " 126\n", - " Updated documentation\n", - " closes #125 \\r\\ncloses #110 \\r\\n\\r\\nJupyterBoo...\n", - " M\n", - " oindrillac\n", - " 2021-12-17 16:40:00\n", - " 2021-12-20 13:23:14\n", - " oindrillac\n", - " 2021-12-20 13:23:13\n", - " oindrillac\n", - " 1\n", - " 5\n", - " 2021-12-17 17:05:43\n", - " 2021-12-17 21:18:59\n", - " os-climate\n", - " aicoe-osc-demo\n", + " 20644931142\n", + " 2022-03-08 20:05:32\n", + " 8916126\n", + " Shreyanand\n", + " IssuesEvent\n", + " opened\n", + " 24\n", + " open-services-group\n", + " metrics\n", + " sig-data-science\n", + " True\n", " \n", " \n", " 4\n", - " 124\n", - " Update README\n", - " This PR \\r\\n- updates the README to mention th...\n", - " XS\n", - " chauhankaranraj\n", - " 2021-12-14 20:45:08\n", - " 2021-12-15 12:57:35\n", - " MichaelClifford\n", - " 2021-12-15 12:57:35\n", - " MichaelClifford\n", - " 1\n", - " 1\n", - " NaT\n", - " NaT\n", - " os-climate\n", - " aicoe-osc-demo\n", + " 20644735935\n", + " 2022-03-08 19:52:51\n", + " 8916126\n", + " Shreyanand\n", + " IssueCommentEvent\n", + " created\n", + " 23\n", + " open-services-group\n", + " metrics\n", + " sig-data-science\n", + " True\n", " \n", " \n", "\n", "" ], "text/plain": [ - " id title \\\n", - "0 133 [WIP] Add move data util nb and update config \n", - "1 130 Fix gpu manifests builds \n", - "2 129 Add manifests for GPU image build \n", - "3 126 Updated documentation \n", - "4 124 Update README \n", - "\n", - " body size created_by \\\n", - "0 # Related issues\\r\\n#131 #132 \\r\\n\\r\\nThis PR ... L Shreyanand \n", - "1 Signed-off-by: Francesco Murdaca (dt.datetime.now()-dt.timedelta(days=90)).timestamp()])\n", - "num_closed_prs_90d = len(prs_df[prs_df['closed_at'] > (dt.datetime.now()-dt.timedelta(days=90)).timestamp()])\n", + "num_open_prs_90d = len(\n", + " prs_df[\n", + " prs_df[\"created_at\"] > (dt.datetime.now() - dt.timedelta(days=90)).timestamp()\n", + " ]\n", + ")\n", + "num_closed_prs_90d = len(\n", + " prs_df[\n", + " prs_df[\"closed_at\"] > (dt.datetime.now() - dt.timedelta(days=90)).timestamp()\n", + " ]\n", + ")\n", "print(num_open_prs_90d, num_closed_prs_90d)\n", "\n", "ratio = num_closed_prs_90d / num_open_prs_90d\n", @@ -621,7 +639,7 @@ "metadata": {}, "outputs": [], "source": [ - "_GITHUB_ACCESS_TOKEN = os.getenv('GITHUB_ACCESS_TOKEN')" + "_GITHUB_ACCESS_TOKEN = os.getenv(\"GITHUB_ACCESS_TOKEN\")" ] }, { @@ -813,7 +831,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" },