Created
August 17, 2015 23:19
-
-
Save ICBacon/8c19be2b28370ac07c14 to your computer and use it in GitHub Desktop.
Using pandas tables to visualize PyPi package data
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Ordering Key Value Objects using Real Data \n", | |
"\n", | |
"Use [PyPi releases data for Bokeh](https://pypi.python.org/pypi/bokeh/json) create ordered keys from an unordered JSON object." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
" \n", | |
" <link rel=\"stylesheet\" href=\"http://cdn.pydata.org/bokeh/release/bokeh-0.9.2.min.css\" type=\"text/css\" />\n", | |
" <script type=\"text/javascript\" src=\"http://cdn.pydata.org/bokeh/release/bokeh-0.9.2.min.js\"></script>\n", | |
" <script type=\"text/javascript\">\n", | |
" Bokeh.set_log_level(\"info\");\n", | |
" </script>\n", | |
" <div>\n", | |
" <a href=\"http://bokeh.pydata.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n", | |
" <span>BokehJS successfully loaded.</span>\n", | |
" </div>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"from bokeh.io import output_notebook\n", | |
"from bokeh.resources import CDN\n", | |
"from bokeh.models import BoxSelectTool, ColumnDataSource, HoverTool, OpenURL, TapTool\n", | |
"from bokeh.plotting import figure, output_file, show, gridplot\n", | |
"from collections import OrderedDict\n", | |
"from functools import partial\n", | |
"\n", | |
"output_notebook(resources=CDN)\n", | |
"\n", | |
"import requests\n", | |
"import numpy as np\n", | |
"import pandas as pd" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
":0: FutureWarning: IPython widgets are experimental and may change in the future.\n" | |
] | |
} | |
], | |
"source": [ | |
"import os\n", | |
"import itertools\n", | |
"import matplotlib\n", | |
"from datetime import datetime,date\n", | |
"from IPython.display import HTML\n", | |
"from IPython.html import widgets" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"package = 'scipy'" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"response = requests.get(\n", | |
" url = 'https://pypi.python.org/pypi/%s/json' % package\n", | |
")\n", | |
"data = response.json()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> The unordered objects are in their key ``releases``" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"releases = data['releases']" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> The releases use [Semantic Versionsing](http://semver.org/)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"24\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"[u'0.15.0',\n", | |
" u'0.14.1rc1',\n", | |
" u'0.11.0',\n", | |
" u'0.10.1',\n", | |
" u'0.10.0',\n", | |
" u'0.14.1rc1.dev-52fb336',\n", | |
" u'0.6.0',\n", | |
" u'0.7.2',\n", | |
" u'0.7.0',\n", | |
" u'0.12.1',\n", | |
" u'0.12.0',\n", | |
" u'0.16.0',\n", | |
" u'0.13.2',\n", | |
" u'0.4.4',\n", | |
" u'0.5.2',\n", | |
" u'0.13.1',\n", | |
" u'0.9.0',\n", | |
" u'0.15.1',\n", | |
" u'0.14.1',\n", | |
" u'0.14.0',\n", | |
" u'0.8.0',\n", | |
" u'0.14.1rc1.dev-205726a',\n", | |
" u'0.13.3',\n", | |
" u'0.13.0']" | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"version = releases.keys() # Extracting the dictionary keys\n", | |
"num_releases = len(version)\n", | |
"\n", | |
"print(num_releases)\n", | |
"version" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"#version = sorted(version)\n", | |
"#version" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"collapsed": true | |
}, | |
"source": [ | |
"> Seeing which versions have multiple releases" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"(u'0.15.0', 5)\n", | |
"(u'0.14.1rc1', 3)\n", | |
"(u'0.11.0', 3)\n", | |
"(u'0.10.1', 2)\n", | |
"(u'0.10.0', 3)\n", | |
"(u'0.14.1rc1.dev-52fb336', 3)\n", | |
"(u'0.6.0', 'none')\n", | |
"(u'0.7.2', 'none')\n", | |
"(u'0.7.0', 'none')\n", | |
"(u'0.12.1', 2)\n", | |
"(u'0.12.0', 3)\n", | |
"(u'0.16.0', 5)\n", | |
"(u'0.13.2', 2)\n", | |
"(u'0.4.4', 'none')\n", | |
"(u'0.5.2', 'none')\n", | |
"(u'0.13.1', 2)\n", | |
"(u'0.9.0', 2)\n", | |
"(u'0.15.1', 5)\n", | |
"(u'0.14.1', 5)\n", | |
"(u'0.14.0', 8)\n", | |
"(u'0.8.0', 1)\n", | |
"(u'0.14.1rc1.dev-205726a', 3)\n", | |
"(u'0.13.3', 5)\n", | |
"(u'0.13.0', 5)\n" | |
] | |
} | |
], | |
"source": [ | |
"for i in range(0, num_releases):\n", | |
" if len(releases[version[i]]) >= 1:\n", | |
" print(version[i],len(releases[version[i]]))\n", | |
" else:\n", | |
" print(version[i],'none')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"5\n", | |
"8\n", | |
"11\n", | |
"13\n", | |
"16\n", | |
"19\n", | |
"19\n", | |
"19\n", | |
"19\n", | |
"21\n", | |
"24\n", | |
"29\n", | |
"31\n", | |
"31\n", | |
"31\n", | |
"33\n", | |
"35\n", | |
"40\n", | |
"45\n", | |
"53\n", | |
"54\n", | |
"57\n", | |
"62\n", | |
"67\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"(5, 18)" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"counter = 0 # counting the number of version formats\n", | |
"empty = 0 # counting the number of empty version formats\n", | |
"extra = 0 # counting the number of versions with more than one format\n", | |
"for i in range (0, num_releases):\n", | |
" counter += len(releases[version[i]])\n", | |
" if len(releases[version[i]]) == 0:\n", | |
" empty += 1\n", | |
" elif len(releases[version[i]]) > 1:\n", | |
" extra += 1\n", | |
" # print(len(releases[version[i]]))\n", | |
" print(counter)\n", | |
"empty, extra" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Accessing the information for every format of the PyPi package version\n", | |
"\n", | |
" ``access = formatID['itemName']``\n", | |
" \n", | |
" ``formatID = releases[versionID][index], where index`` $\\equiv$ ``((Total # of version formats) - 1))``\n", | |
" \n", | |
" ``versionID = version[idx], where idx`` $\\equiv$ ``((Total # of versions) - 1))``" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Extracting the number of downloads per version format from the JSON data and appending them to a list" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"72\n" | |
] | |
} | |
], | |
"source": [ | |
"num_downloads = []\n", | |
"for i in range(0, num_releases):\n", | |
" #if isinstance( version[i], list ):\n", | |
" if (len(releases[version[i]]) == 0):\n", | |
" num_downloads.append(0)\n", | |
" else:\n", | |
" for j in range(0, len(releases[version[i]])):\n", | |
" num_downloads.append(releases[version[i]][j]['downloads']) \n", | |
" #else:\n", | |
" # print( version[i] )\n", | |
"\n", | |
"#print(num_downloads)\n", | |
"print(len(num_downloads))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": { | |
"collapsed": true | |
}, | |
"source": [ | |
"### Extracting the release date per version format from the JSON data and appending them to a list" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"72\n" | |
] | |
} | |
], | |
"source": [ | |
"upload_at = []\n", | |
"for i in range(0, num_releases):\n", | |
" if (len(releases[version[i]]) == 0):\n", | |
" upload_at.append('N/A')\n", | |
" else:\n", | |
" for j in range(0, len(releases[version[i]])):\n", | |
" datetime_object = datetime.strptime(releases[version[i]][j]['upload_time'], '%Y-%m-%dT%H:%M:%S')\n", | |
" upload_at.append(datetime_object.date())\n", | |
"\n", | |
"print(len(upload_at))\n", | |
"#upload_at" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"### Extracting the version formats from the JSON data and appending them to a list" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"72\n" | |
] | |
} | |
], | |
"source": [ | |
"file_ext = []\n", | |
"for i in range(0, num_releases):\n", | |
" if (len(releases[version[i]]) == 0):\n", | |
" file_ext.append(None)\n", | |
" else:\n", | |
" for j in range(0, len(releases[version[i]])):\n", | |
" file_name, extension = (os.path.splitext(releases[version[i]][j]['filename']))\n", | |
" if (extension != '.gz'):\n", | |
" file_ext.append(extension)\n", | |
" else:\n", | |
" file_name1, extension1 = (os.path.splitext(file_name))\n", | |
" file_ext.append(extension1)\n", | |
" \n", | |
"#print(file_ext)\n", | |
"print(len(file_ext))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> Iterating over two lists in parallel to combine the lists of release dates and number of downloads per version format into a list of tuples" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"list1 = []\n", | |
"for f,b in itertools.izip(upload_at, num_downloads):\n", | |
" list1.append((f,b))\n", | |
"#list1" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> Iterating over two lists in parallel to combine the list of version formats with the previous list of tuples" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"list2 = []\n", | |
"for f,b in itertools.izip(file_ext, list1):\n", | |
" list2.append((f,b))\n", | |
"#list2" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> Creating a new list that will take into account versions that have multiple releases" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"v = []\n", | |
"for i in range(num_releases):\n", | |
" if (len(releases[version[i]]) >= 1):\n", | |
" l = list(itertools.repeat(version[i], len(releases[version[i]])))\n", | |
" v.append(l)\n", | |
" else:\n", | |
" v.append([version[i]])\n", | |
"\n", | |
"#v" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"merged = list(itertools.chain(*v))\n", | |
"#merged" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> Creating a final list that associates each version release with its release date, number of downloads, and archive format " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"list3 = []\n", | |
"for f,b in itertools.izip(merged, list2):\n", | |
" list3.append((f,b))\n", | |
"#list3" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Extracting the version number for every release of the PyPi package " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"def extract_version_number( version_string ):\n", | |
" \"\"\"\n", | |
" Remove the leading number part of an alphanumeric string that begins with a number\n", | |
" \"\"\"\n", | |
" version_number = ''\n", | |
" for character in version_string:\n", | |
" if character.isdigit():\n", | |
" version_number += character\n", | |
" else:\n", | |
" break\n", | |
" return int( version_number )" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"versions = []\n", | |
"for version in merged:\n", | |
" try:\n", | |
" major, minor, patch = version.split('.',2)\n", | |
" except:\n", | |
" patch = '0'\n", | |
" major, minor = version.split('.',1)\n", | |
" versions.append({\n", | |
" 'major': extract_version_number(major),\n", | |
" 'minor': extract_version_number(minor),\n", | |
" 'patch': extract_version_number(patch),\n", | |
" 'key': version\n", | |
" })" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> Create a pandas DataFrame" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>key</th>\n", | |
" <th>major</th>\n", | |
" <th>minor</th>\n", | |
" <th>patch</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>0.6.0</td>\n", | |
" <td>0</td>\n", | |
" <td>6</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>0.7.2</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>0.7.0</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>42</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>43</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>44</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>45</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>46</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>47</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>48</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>49</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>50</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>51</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>52</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>53</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>54</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>55</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>56</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>57</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>58</th>\n", | |
" <td>0.8.0</td>\n", | |
" <td>0</td>\n", | |
" <td>8</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>59</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>60</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>61</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>62</th>\n", | |
" <td>0.13.3</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>63</th>\n", | |
" <td>0.13.3</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>64</th>\n", | |
" <td>0.13.3</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>65</th>\n", | |
" <td>0.13.3</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>66</th>\n", | |
" <td>0.13.3</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>67</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>68</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>69</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>70</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>71</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>72 rows × 4 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" key major minor patch\n", | |
"0 0.15.0 0 15 0\n", | |
"1 0.15.0 0 15 0\n", | |
"2 0.15.0 0 15 0\n", | |
"3 0.15.0 0 15 0\n", | |
"4 0.15.0 0 15 0\n", | |
"5 0.14.1rc1 0 14 1\n", | |
"6 0.14.1rc1 0 14 1\n", | |
"7 0.14.1rc1 0 14 1\n", | |
"8 0.11.0 0 11 0\n", | |
"9 0.11.0 0 11 0\n", | |
"10 0.11.0 0 11 0\n", | |
"11 0.10.1 0 10 1\n", | |
"12 0.10.1 0 10 1\n", | |
"13 0.10.0 0 10 0\n", | |
"14 0.10.0 0 10 0\n", | |
"15 0.10.0 0 10 0\n", | |
"16 0.14.1rc1.dev-52fb336 0 14 1\n", | |
"17 0.14.1rc1.dev-52fb336 0 14 1\n", | |
"18 0.14.1rc1.dev-52fb336 0 14 1\n", | |
"19 0.6.0 0 6 0\n", | |
"20 0.7.2 0 7 2\n", | |
"21 0.7.0 0 7 0\n", | |
"22 0.12.1 0 12 1\n", | |
"23 0.12.1 0 12 1\n", | |
"24 0.12.0 0 12 0\n", | |
"25 0.12.0 0 12 0\n", | |
"26 0.12.0 0 12 0\n", | |
"27 0.16.0 0 16 0\n", | |
"28 0.16.0 0 16 0\n", | |
"29 0.16.0 0 16 0\n", | |
".. ... ... ... ...\n", | |
"42 0.15.1 0 15 1\n", | |
"43 0.15.1 0 15 1\n", | |
"44 0.15.1 0 15 1\n", | |
"45 0.14.1 0 14 1\n", | |
"46 0.14.1 0 14 1\n", | |
"47 0.14.1 0 14 1\n", | |
"48 0.14.1 0 14 1\n", | |
"49 0.14.1 0 14 1\n", | |
"50 0.14.0 0 14 0\n", | |
"51 0.14.0 0 14 0\n", | |
"52 0.14.0 0 14 0\n", | |
"53 0.14.0 0 14 0\n", | |
"54 0.14.0 0 14 0\n", | |
"55 0.14.0 0 14 0\n", | |
"56 0.14.0 0 14 0\n", | |
"57 0.14.0 0 14 0\n", | |
"58 0.8.0 0 8 0\n", | |
"59 0.14.1rc1.dev-205726a 0 14 1\n", | |
"60 0.14.1rc1.dev-205726a 0 14 1\n", | |
"61 0.14.1rc1.dev-205726a 0 14 1\n", | |
"62 0.13.3 0 13 3\n", | |
"63 0.13.3 0 13 3\n", | |
"64 0.13.3 0 13 3\n", | |
"65 0.13.3 0 13 3\n", | |
"66 0.13.3 0 13 3\n", | |
"67 0.13.0 0 13 0\n", | |
"68 0.13.0 0 13 0\n", | |
"69 0.13.0 0 13 0\n", | |
"70 0.13.0 0 13 0\n", | |
"71 0.13.0 0 13 0\n", | |
"\n", | |
"[72 rows x 4 columns]" | |
] | |
}, | |
"execution_count": 20, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df = pd.DataFrame(versions)\n", | |
"df" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> Sort the DataFrame based on version" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>key</th>\n", | |
" <th>major</th>\n", | |
" <th>minor</th>\n", | |
" <th>patch</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>34</th>\n", | |
" <td>0.4.4</td>\n", | |
" <td>0</td>\n", | |
" <td>4</td>\n", | |
" <td>4</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>35</th>\n", | |
" <td>0.5.2</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>0.6.0</td>\n", | |
" <td>0</td>\n", | |
" <td>6</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>0.7.0</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>0.7.2</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>58</th>\n", | |
" <td>0.8.0</td>\n", | |
" <td>0</td>\n", | |
" <td>8</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>38</th>\n", | |
" <td>0.9.0</td>\n", | |
" <td>0</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>39</th>\n", | |
" <td>0.9.0</td>\n", | |
" <td>0</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>67</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>68</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>69</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>70</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>71</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>36</th>\n", | |
" <td>0.13.1</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>37</th>\n", | |
" <td>0.13.1</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>32</th>\n", | |
" <td>0.13.2</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>33</th>\n", | |
" <td>0.13.2</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>57</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>45</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>46</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>47</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>48</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>49</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>59</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>60</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>61</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>40</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>41</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>42</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>43</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>44</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>72 rows × 4 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" key major minor patch\n", | |
"34 0.4.4 0 4 4\n", | |
"35 0.5.2 0 5 2\n", | |
"19 0.6.0 0 6 0\n", | |
"21 0.7.0 0 7 0\n", | |
"20 0.7.2 0 7 2\n", | |
"58 0.8.0 0 8 0\n", | |
"38 0.9.0 0 9 0\n", | |
"39 0.9.0 0 9 0\n", | |
"13 0.10.0 0 10 0\n", | |
"14 0.10.0 0 10 0\n", | |
"15 0.10.0 0 10 0\n", | |
"11 0.10.1 0 10 1\n", | |
"12 0.10.1 0 10 1\n", | |
"8 0.11.0 0 11 0\n", | |
"9 0.11.0 0 11 0\n", | |
"10 0.11.0 0 11 0\n", | |
"24 0.12.0 0 12 0\n", | |
"25 0.12.0 0 12 0\n", | |
"26 0.12.0 0 12 0\n", | |
"22 0.12.1 0 12 1\n", | |
"23 0.12.1 0 12 1\n", | |
"67 0.13.0 0 13 0\n", | |
"68 0.13.0 0 13 0\n", | |
"69 0.13.0 0 13 0\n", | |
"70 0.13.0 0 13 0\n", | |
"71 0.13.0 0 13 0\n", | |
"36 0.13.1 0 13 1\n", | |
"37 0.13.1 0 13 1\n", | |
"32 0.13.2 0 13 2\n", | |
"33 0.13.2 0 13 2\n", | |
".. ... ... ... ...\n", | |
"57 0.14.0 0 14 0\n", | |
"5 0.14.1rc1 0 14 1\n", | |
"6 0.14.1rc1 0 14 1\n", | |
"7 0.14.1rc1 0 14 1\n", | |
"16 0.14.1rc1.dev-52fb336 0 14 1\n", | |
"17 0.14.1rc1.dev-52fb336 0 14 1\n", | |
"18 0.14.1rc1.dev-52fb336 0 14 1\n", | |
"45 0.14.1 0 14 1\n", | |
"46 0.14.1 0 14 1\n", | |
"47 0.14.1 0 14 1\n", | |
"48 0.14.1 0 14 1\n", | |
"49 0.14.1 0 14 1\n", | |
"59 0.14.1rc1.dev-205726a 0 14 1\n", | |
"60 0.14.1rc1.dev-205726a 0 14 1\n", | |
"61 0.14.1rc1.dev-205726a 0 14 1\n", | |
"0 0.15.0 0 15 0\n", | |
"1 0.15.0 0 15 0\n", | |
"2 0.15.0 0 15 0\n", | |
"3 0.15.0 0 15 0\n", | |
"4 0.15.0 0 15 0\n", | |
"40 0.15.1 0 15 1\n", | |
"41 0.15.1 0 15 1\n", | |
"42 0.15.1 0 15 1\n", | |
"43 0.15.1 0 15 1\n", | |
"44 0.15.1 0 15 1\n", | |
"27 0.16.0 0 16 0\n", | |
"28 0.16.0 0 16 0\n", | |
"29 0.16.0 0 16 0\n", | |
"30 0.16.0 0 16 0\n", | |
"31 0.16.0 0 16 0\n", | |
"\n", | |
"[72 rows x 4 columns]" | |
] | |
}, | |
"execution_count": 21, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.sort([ 'major','minor','patch'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> Number of releases per version" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"(34, '0.4.4 of scipy has 0 release(s)')\n", | |
"(35, '0.5.2 of scipy has 0 release(s)')\n", | |
"(19, '0.6.0 of scipy has 0 release(s)')\n", | |
"(21, '0.7.0 of scipy has 0 release(s)')\n", | |
"(20, '0.7.2 of scipy has 0 release(s)')\n", | |
"(58, '0.8.0 of scipy has 1 release(s)')\n", | |
"(38, '0.9.0 of scipy has 2 release(s)')\n", | |
"(39, '0.9.0 of scipy has 2 release(s)')\n", | |
"(13, '0.10.0 of scipy has 3 release(s)')\n", | |
"(14, '0.10.0 of scipy has 3 release(s)')\n", | |
"(15, '0.10.0 of scipy has 3 release(s)')\n", | |
"(11, '0.10.1 of scipy has 2 release(s)')\n", | |
"(12, '0.10.1 of scipy has 2 release(s)')\n", | |
"(8, '0.11.0 of scipy has 3 release(s)')\n", | |
"(9, '0.11.0 of scipy has 3 release(s)')\n", | |
"(10, '0.11.0 of scipy has 3 release(s)')\n", | |
"(24, '0.12.0 of scipy has 3 release(s)')\n", | |
"(25, '0.12.0 of scipy has 3 release(s)')\n", | |
"(26, '0.12.0 of scipy has 3 release(s)')\n", | |
"(22, '0.12.1 of scipy has 2 release(s)')\n", | |
"(23, '0.12.1 of scipy has 2 release(s)')\n", | |
"(67, '0.13.0 of scipy has 5 release(s)')\n", | |
"(68, '0.13.0 of scipy has 5 release(s)')\n", | |
"(69, '0.13.0 of scipy has 5 release(s)')\n", | |
"(70, '0.13.0 of scipy has 5 release(s)')\n", | |
"(71, '0.13.0 of scipy has 5 release(s)')\n", | |
"(36, '0.13.1 of scipy has 2 release(s)')\n", | |
"(37, '0.13.1 of scipy has 2 release(s)')\n", | |
"(32, '0.13.2 of scipy has 2 release(s)')\n", | |
"(33, '0.13.2 of scipy has 2 release(s)')\n", | |
"(62, '0.13.3 of scipy has 5 release(s)')\n", | |
"(63, '0.13.3 of scipy has 5 release(s)')\n", | |
"(64, '0.13.3 of scipy has 5 release(s)')\n", | |
"(65, '0.13.3 of scipy has 5 release(s)')\n", | |
"(66, '0.13.3 of scipy has 5 release(s)')\n", | |
"(50, '0.14.0 of scipy has 8 release(s)')\n", | |
"(51, '0.14.0 of scipy has 8 release(s)')\n", | |
"(52, '0.14.0 of scipy has 8 release(s)')\n", | |
"(53, '0.14.0 of scipy has 8 release(s)')\n", | |
"(54, '0.14.0 of scipy has 8 release(s)')\n", | |
"(55, '0.14.0 of scipy has 8 release(s)')\n", | |
"(56, '0.14.0 of scipy has 8 release(s)')\n", | |
"(57, '0.14.0 of scipy has 8 release(s)')\n", | |
"(5, '0.14.1rc1 of scipy has 3 release(s)')\n", | |
"(6, '0.14.1rc1 of scipy has 3 release(s)')\n", | |
"(7, '0.14.1rc1 of scipy has 3 release(s)')\n", | |
"(16, '0.14.1rc1.dev-52fb336 of scipy has 3 release(s)')\n", | |
"(17, '0.14.1rc1.dev-52fb336 of scipy has 3 release(s)')\n", | |
"(18, '0.14.1rc1.dev-52fb336 of scipy has 3 release(s)')\n", | |
"(45, '0.14.1 of scipy has 5 release(s)')\n", | |
"(46, '0.14.1 of scipy has 5 release(s)')\n", | |
"(47, '0.14.1 of scipy has 5 release(s)')\n", | |
"(48, '0.14.1 of scipy has 5 release(s)')\n", | |
"(49, '0.14.1 of scipy has 5 release(s)')\n", | |
"(59, '0.14.1rc1.dev-205726a of scipy has 3 release(s)')\n", | |
"(60, '0.14.1rc1.dev-205726a of scipy has 3 release(s)')\n", | |
"(61, '0.14.1rc1.dev-205726a of scipy has 3 release(s)')\n", | |
"(0, '0.15.0 of scipy has 5 release(s)')\n", | |
"(1, '0.15.0 of scipy has 5 release(s)')\n", | |
"(2, '0.15.0 of scipy has 5 release(s)')\n", | |
"(3, '0.15.0 of scipy has 5 release(s)')\n", | |
"(4, '0.15.0 of scipy has 5 release(s)')\n", | |
"(40, '0.15.1 of scipy has 5 release(s)')\n", | |
"(41, '0.15.1 of scipy has 5 release(s)')\n", | |
"(42, '0.15.1 of scipy has 5 release(s)')\n", | |
"(43, '0.15.1 of scipy has 5 release(s)')\n", | |
"(44, '0.15.1 of scipy has 5 release(s)')\n", | |
"(27, '0.16.0 of scipy has 5 release(s)')\n", | |
"(28, '0.16.0 of scipy has 5 release(s)')\n", | |
"(29, '0.16.0 of scipy has 5 release(s)')\n", | |
"(30, '0.16.0 of scipy has 5 release(s)')\n", | |
"(31, '0.16.0 of scipy has 5 release(s)')\n" | |
] | |
} | |
], | |
"source": [ | |
"df['number_of_releases'] = None\n", | |
"for index,sortedVersion in df.sort(['major','minor','patch']).iterrows():\n", | |
" print(index,\n", | |
" '{version} of {package} has {numRelease} release(s)'.format(\n", | |
" version = sortedVersion['key'],\n", | |
" package = package,\n", | |
" numRelease = len(releases[sortedVersion['key']])\n", | |
" )\n", | |
" )\n", | |
" df.loc[index,'number_of_releases' ] = len(releases[sortedVersion['key']])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>key</th>\n", | |
" <th>major</th>\n", | |
" <th>minor</th>\n", | |
" <th>patch</th>\n", | |
" <th>number_of_releases</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>34</th>\n", | |
" <td>0.4.4</td>\n", | |
" <td>0</td>\n", | |
" <td>4</td>\n", | |
" <td>4</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>35</th>\n", | |
" <td>0.5.2</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>0.6.0</td>\n", | |
" <td>0</td>\n", | |
" <td>6</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>0.7.0</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>0.7.2</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>58</th>\n", | |
" <td>0.8.0</td>\n", | |
" <td>0</td>\n", | |
" <td>8</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>38</th>\n", | |
" <td>0.9.0</td>\n", | |
" <td>0</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>39</th>\n", | |
" <td>0.9.0</td>\n", | |
" <td>0</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>67</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>68</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>69</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>70</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>71</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>36</th>\n", | |
" <td>0.13.1</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>37</th>\n", | |
" <td>0.13.1</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>32</th>\n", | |
" <td>0.13.2</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>33</th>\n", | |
" <td>0.13.2</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>57</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" <td>8</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>45</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>46</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>47</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>48</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>49</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>59</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>60</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>61</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>40</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>41</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>42</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>43</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>44</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>72 rows × 5 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" key major minor patch number_of_releases\n", | |
"34 0.4.4 0 4 4 0\n", | |
"35 0.5.2 0 5 2 0\n", | |
"19 0.6.0 0 6 0 0\n", | |
"21 0.7.0 0 7 0 0\n", | |
"20 0.7.2 0 7 2 0\n", | |
"58 0.8.0 0 8 0 1\n", | |
"38 0.9.0 0 9 0 2\n", | |
"39 0.9.0 0 9 0 2\n", | |
"13 0.10.0 0 10 0 3\n", | |
"14 0.10.0 0 10 0 3\n", | |
"15 0.10.0 0 10 0 3\n", | |
"11 0.10.1 0 10 1 2\n", | |
"12 0.10.1 0 10 1 2\n", | |
"8 0.11.0 0 11 0 3\n", | |
"9 0.11.0 0 11 0 3\n", | |
"10 0.11.0 0 11 0 3\n", | |
"24 0.12.0 0 12 0 3\n", | |
"25 0.12.0 0 12 0 3\n", | |
"26 0.12.0 0 12 0 3\n", | |
"22 0.12.1 0 12 1 2\n", | |
"23 0.12.1 0 12 1 2\n", | |
"67 0.13.0 0 13 0 5\n", | |
"68 0.13.0 0 13 0 5\n", | |
"69 0.13.0 0 13 0 5\n", | |
"70 0.13.0 0 13 0 5\n", | |
"71 0.13.0 0 13 0 5\n", | |
"36 0.13.1 0 13 1 2\n", | |
"37 0.13.1 0 13 1 2\n", | |
"32 0.13.2 0 13 2 2\n", | |
"33 0.13.2 0 13 2 2\n", | |
".. ... ... ... ... ...\n", | |
"57 0.14.0 0 14 0 8\n", | |
"5 0.14.1rc1 0 14 1 3\n", | |
"6 0.14.1rc1 0 14 1 3\n", | |
"7 0.14.1rc1 0 14 1 3\n", | |
"16 0.14.1rc1.dev-52fb336 0 14 1 3\n", | |
"17 0.14.1rc1.dev-52fb336 0 14 1 3\n", | |
"18 0.14.1rc1.dev-52fb336 0 14 1 3\n", | |
"45 0.14.1 0 14 1 5\n", | |
"46 0.14.1 0 14 1 5\n", | |
"47 0.14.1 0 14 1 5\n", | |
"48 0.14.1 0 14 1 5\n", | |
"49 0.14.1 0 14 1 5\n", | |
"59 0.14.1rc1.dev-205726a 0 14 1 3\n", | |
"60 0.14.1rc1.dev-205726a 0 14 1 3\n", | |
"61 0.14.1rc1.dev-205726a 0 14 1 3\n", | |
"0 0.15.0 0 15 0 5\n", | |
"1 0.15.0 0 15 0 5\n", | |
"2 0.15.0 0 15 0 5\n", | |
"3 0.15.0 0 15 0 5\n", | |
"4 0.15.0 0 15 0 5\n", | |
"40 0.15.1 0 15 1 5\n", | |
"41 0.15.1 0 15 1 5\n", | |
"42 0.15.1 0 15 1 5\n", | |
"43 0.15.1 0 15 1 5\n", | |
"44 0.15.1 0 15 1 5\n", | |
"27 0.16.0 0 16 0 5\n", | |
"28 0.16.0 0 16 0 5\n", | |
"29 0.16.0 0 16 0 5\n", | |
"30 0.16.0 0 16 0 5\n", | |
"31 0.16.0 0 16 0 5\n", | |
"\n", | |
"[72 rows x 5 columns]" | |
] | |
}, | |
"execution_count": 23, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.sort( ['major','minor','patch'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> Type of release per version" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"(34, '0.4.4 of scipy released a None format')\n", | |
"(35, '0.5.2 of scipy released a None format')\n", | |
"(19, '0.6.0 of scipy released a None format')\n", | |
"(21, '0.7.0 of scipy released a None format')\n", | |
"(20, '0.7.2 of scipy released a None format')\n", | |
"(58, '0.8.0 of scipy released a .tar format')\n", | |
"(38, '0.9.0 of scipy released a .tar format')\n", | |
"(39, '0.9.0 of scipy released a .zip format')\n", | |
"(13, '0.10.0 of scipy released a .whl format')\n", | |
"(14, '0.10.0 of scipy released a .tar format')\n", | |
"(15, '0.10.0 of scipy released a .zip format')\n", | |
"(11, '0.10.1 of scipy released a .tar format')\n", | |
"(12, '0.10.1 of scipy released a .zip format')\n", | |
"(8, '0.11.0 of scipy released a .whl format')\n", | |
"(9, '0.11.0 of scipy released a .tar format')\n", | |
"(10, '0.11.0 of scipy released a .zip format')\n", | |
"(24, '0.12.0 of scipy released a .whl format')\n", | |
"(25, '0.12.0 of scipy released a .tar format')\n", | |
"(26, '0.12.0 of scipy released a .zip format')\n", | |
"(22, '0.12.1 of scipy released a .tar format')\n", | |
"(23, '0.12.1 of scipy released a .zip format')\n", | |
"(67, '0.13.0 of scipy released a .whl format')\n", | |
"(68, '0.13.0 of scipy released a .whl format')\n", | |
"(69, '0.13.0 of scipy released a .whl format')\n", | |
"(70, '0.13.0 of scipy released a .tar format')\n", | |
"(71, '0.13.0 of scipy released a .zip format')\n", | |
"(36, '0.13.1 of scipy released a .tar format')\n", | |
"(37, '0.13.1 of scipy released a .zip format')\n", | |
"(32, '0.13.2 of scipy released a .tar format')\n", | |
"(33, '0.13.2 of scipy released a .zip format')\n", | |
"(62, '0.13.3 of scipy released a .whl format')\n", | |
"(63, '0.13.3 of scipy released a .whl format')\n", | |
"(64, '0.13.3 of scipy released a .whl format')\n", | |
"(65, '0.13.3 of scipy released a .tar format')\n", | |
"(66, '0.13.3 of scipy released a .zip format')\n", | |
"(50, '0.14.0 of scipy released a .whl format')\n", | |
"(51, '0.14.0 of scipy released a .whl format')\n", | |
"(52, '0.14.0 of scipy released a .whl format')\n", | |
"(53, '0.14.0 of scipy released a .whl format')\n", | |
"(54, '0.14.0 of scipy released a .whl format')\n", | |
"(55, '0.14.0 of scipy released a .whl format')\n", | |
"(56, '0.14.0 of scipy released a .tar format')\n", | |
"(57, '0.14.0 of scipy released a .zip format')\n", | |
"(5, '0.14.1rc1 of scipy released a .whl format')\n", | |
"(6, '0.14.1rc1 of scipy released a .whl format')\n", | |
"(7, '0.14.1rc1 of scipy released a .whl format')\n", | |
"(16, '0.14.1rc1.dev-52fb336 of scipy released a .whl format')\n", | |
"(17, '0.14.1rc1.dev-52fb336 of scipy released a .whl format')\n", | |
"(18, '0.14.1rc1.dev-52fb336 of scipy released a .whl format')\n", | |
"(45, '0.14.1 of scipy released a .whl format')\n", | |
"(46, '0.14.1 of scipy released a .whl format')\n", | |
"(47, '0.14.1 of scipy released a .whl format')\n", | |
"(48, '0.14.1 of scipy released a .tar format')\n", | |
"(49, '0.14.1 of scipy released a .zip format')\n", | |
"(59, '0.14.1rc1.dev-205726a of scipy released a .whl format')\n", | |
"(60, '0.14.1rc1.dev-205726a of scipy released a .whl format')\n", | |
"(61, '0.14.1rc1.dev-205726a of scipy released a .whl format')\n", | |
"(0, '0.15.0 of scipy released a .whl format')\n", | |
"(1, '0.15.0 of scipy released a .whl format')\n", | |
"(2, '0.15.0 of scipy released a .whl format')\n", | |
"(3, '0.15.0 of scipy released a .tar format')\n", | |
"(4, '0.15.0 of scipy released a .zip format')\n", | |
"(40, '0.15.1 of scipy released a .whl format')\n", | |
"(41, '0.15.1 of scipy released a .whl format')\n", | |
"(42, '0.15.1 of scipy released a .whl format')\n", | |
"(43, '0.15.1 of scipy released a .tar format')\n", | |
"(44, '0.15.1 of scipy released a .zip format')\n", | |
"(27, '0.16.0 of scipy released a .whl format')\n", | |
"(28, '0.16.0 of scipy released a .whl format')\n", | |
"(29, '0.16.0 of scipy released a .whl format')\n", | |
"(30, '0.16.0 of scipy released a .tar format')\n", | |
"(31, '0.16.0 of scipy released a .zip format')\n" | |
] | |
} | |
], | |
"source": [ | |
"df['type_of_release'] = None\n", | |
"for index,sortedVersion in df.sort(['major','minor','patch']).iterrows():\n", | |
" print(index,\n", | |
" '{version} of {package} released a {releaseType} format'.format(\n", | |
" version = sortedVersion['key'],\n", | |
" package = package,\n", | |
" releaseType = file_ext[index]\n", | |
" )\n", | |
" )\n", | |
" df.loc[index,'type_of_release' ] = file_ext[index]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>key</th>\n", | |
" <th>major</th>\n", | |
" <th>minor</th>\n", | |
" <th>patch</th>\n", | |
" <th>number_of_releases</th>\n", | |
" <th>type_of_release</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>34</th>\n", | |
" <td>0.4.4</td>\n", | |
" <td>0</td>\n", | |
" <td>4</td>\n", | |
" <td>4</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>35</th>\n", | |
" <td>0.5.2</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>0.6.0</td>\n", | |
" <td>0</td>\n", | |
" <td>6</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>0.7.0</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>0.7.2</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>58</th>\n", | |
" <td>0.8.0</td>\n", | |
" <td>0</td>\n", | |
" <td>8</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>38</th>\n", | |
" <td>0.9.0</td>\n", | |
" <td>0</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>39</th>\n", | |
" <td>0.9.0</td>\n", | |
" <td>0</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>67</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>68</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>69</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>70</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>71</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>36</th>\n", | |
" <td>0.13.1</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>37</th>\n", | |
" <td>0.13.1</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>32</th>\n", | |
" <td>0.13.2</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>33</th>\n", | |
" <td>0.13.2</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>57</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" <td>8</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>45</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>46</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>47</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>48</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>49</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>59</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>60</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>61</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>40</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>41</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>42</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>43</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>44</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>72 rows × 6 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" key major minor patch number_of_releases \\\n", | |
"34 0.4.4 0 4 4 0 \n", | |
"35 0.5.2 0 5 2 0 \n", | |
"19 0.6.0 0 6 0 0 \n", | |
"21 0.7.0 0 7 0 0 \n", | |
"20 0.7.2 0 7 2 0 \n", | |
"58 0.8.0 0 8 0 1 \n", | |
"38 0.9.0 0 9 0 2 \n", | |
"39 0.9.0 0 9 0 2 \n", | |
"13 0.10.0 0 10 0 3 \n", | |
"14 0.10.0 0 10 0 3 \n", | |
"15 0.10.0 0 10 0 3 \n", | |
"11 0.10.1 0 10 1 2 \n", | |
"12 0.10.1 0 10 1 2 \n", | |
"8 0.11.0 0 11 0 3 \n", | |
"9 0.11.0 0 11 0 3 \n", | |
"10 0.11.0 0 11 0 3 \n", | |
"24 0.12.0 0 12 0 3 \n", | |
"25 0.12.0 0 12 0 3 \n", | |
"26 0.12.0 0 12 0 3 \n", | |
"22 0.12.1 0 12 1 2 \n", | |
"23 0.12.1 0 12 1 2 \n", | |
"67 0.13.0 0 13 0 5 \n", | |
"68 0.13.0 0 13 0 5 \n", | |
"69 0.13.0 0 13 0 5 \n", | |
"70 0.13.0 0 13 0 5 \n", | |
"71 0.13.0 0 13 0 5 \n", | |
"36 0.13.1 0 13 1 2 \n", | |
"37 0.13.1 0 13 1 2 \n", | |
"32 0.13.2 0 13 2 2 \n", | |
"33 0.13.2 0 13 2 2 \n", | |
".. ... ... ... ... ... \n", | |
"57 0.14.0 0 14 0 8 \n", | |
"5 0.14.1rc1 0 14 1 3 \n", | |
"6 0.14.1rc1 0 14 1 3 \n", | |
"7 0.14.1rc1 0 14 1 3 \n", | |
"16 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
"17 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
"18 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
"45 0.14.1 0 14 1 5 \n", | |
"46 0.14.1 0 14 1 5 \n", | |
"47 0.14.1 0 14 1 5 \n", | |
"48 0.14.1 0 14 1 5 \n", | |
"49 0.14.1 0 14 1 5 \n", | |
"59 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
"60 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
"61 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
"0 0.15.0 0 15 0 5 \n", | |
"1 0.15.0 0 15 0 5 \n", | |
"2 0.15.0 0 15 0 5 \n", | |
"3 0.15.0 0 15 0 5 \n", | |
"4 0.15.0 0 15 0 5 \n", | |
"40 0.15.1 0 15 1 5 \n", | |
"41 0.15.1 0 15 1 5 \n", | |
"42 0.15.1 0 15 1 5 \n", | |
"43 0.15.1 0 15 1 5 \n", | |
"44 0.15.1 0 15 1 5 \n", | |
"27 0.16.0 0 16 0 5 \n", | |
"28 0.16.0 0 16 0 5 \n", | |
"29 0.16.0 0 16 0 5 \n", | |
"30 0.16.0 0 16 0 5 \n", | |
"31 0.16.0 0 16 0 5 \n", | |
"\n", | |
" type_of_release \n", | |
"34 None \n", | |
"35 None \n", | |
"19 None \n", | |
"21 None \n", | |
"20 None \n", | |
"58 .tar \n", | |
"38 .tar \n", | |
"39 .zip \n", | |
"13 .whl \n", | |
"14 .tar \n", | |
"15 .zip \n", | |
"11 .tar \n", | |
"12 .zip \n", | |
"8 .whl \n", | |
"9 .tar \n", | |
"10 .zip \n", | |
"24 .whl \n", | |
"25 .tar \n", | |
"26 .zip \n", | |
"22 .tar \n", | |
"23 .zip \n", | |
"67 .whl \n", | |
"68 .whl \n", | |
"69 .whl \n", | |
"70 .tar \n", | |
"71 .zip \n", | |
"36 .tar \n", | |
"37 .zip \n", | |
"32 .tar \n", | |
"33 .zip \n", | |
".. ... \n", | |
"57 .zip \n", | |
"5 .whl \n", | |
"6 .whl \n", | |
"7 .whl \n", | |
"16 .whl \n", | |
"17 .whl \n", | |
"18 .whl \n", | |
"45 .whl \n", | |
"46 .whl \n", | |
"47 .whl \n", | |
"48 .tar \n", | |
"49 .zip \n", | |
"59 .whl \n", | |
"60 .whl \n", | |
"61 .whl \n", | |
"0 .whl \n", | |
"1 .whl \n", | |
"2 .whl \n", | |
"3 .tar \n", | |
"4 .zip \n", | |
"40 .whl \n", | |
"41 .whl \n", | |
"42 .whl \n", | |
"43 .tar \n", | |
"44 .zip \n", | |
"27 .whl \n", | |
"28 .whl \n", | |
"29 .whl \n", | |
"30 .tar \n", | |
"31 .zip \n", | |
"\n", | |
"[72 rows x 6 columns]" | |
] | |
}, | |
"execution_count": 25, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.sort( ['major','minor','patch'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> Time of release per version format" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 26, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"(34, '0.4.4 of scipy was released on N/A')\n", | |
"(35, '0.5.2 of scipy was released on N/A')\n", | |
"(19, '0.6.0 of scipy was released on N/A')\n", | |
"(21, '0.7.0 of scipy was released on N/A')\n", | |
"(20, '0.7.2 of scipy was released on N/A')\n", | |
"(58, '0.8.0 of scipy was released on 2010-07-27')\n", | |
"(38, '0.9.0 of scipy was released on 2011-02-28')\n", | |
"(39, '0.9.0 of scipy was released on 2011-02-28')\n", | |
"(13, '0.10.0 of scipy was released on 2014-07-31')\n", | |
"(14, '0.10.0 of scipy was released on 2011-11-13')\n", | |
"(15, '0.10.0 of scipy was released on 2011-11-13')\n", | |
"(11, '0.10.1 of scipy was released on 2012-02-28')\n", | |
"(12, '0.10.1 of scipy was released on 2012-02-28')\n", | |
"(8, '0.11.0 of scipy was released on 2014-07-31')\n", | |
"(9, '0.11.0 of scipy was released on 2012-09-29')\n", | |
"(10, '0.11.0 of scipy was released on 2012-09-29')\n", | |
"(24, '0.12.0 of scipy was released on 2014-07-31')\n", | |
"(25, '0.12.0 of scipy was released on 2013-04-09')\n", | |
"(26, '0.12.0 of scipy was released on 2013-04-09')\n", | |
"(22, '0.12.1 of scipy was released on 2013-10-12')\n", | |
"(23, '0.12.1 of scipy was released on 2013-10-12')\n", | |
"(67, '0.13.0 of scipy was released on 2014-07-31')\n", | |
"(68, '0.13.0 of scipy was released on 2014-07-31')\n", | |
"(69, '0.13.0 of scipy was released on 2014-07-31')\n", | |
"(70, '0.13.0 of scipy was released on 2013-10-19')\n", | |
"(71, '0.13.0 of scipy was released on 2013-10-19')\n", | |
"(36, '0.13.1 of scipy was released on 2013-11-17')\n", | |
"(37, '0.13.1 of scipy was released on 2013-11-17')\n", | |
"(32, '0.13.2 of scipy was released on 2013-12-08')\n", | |
"(33, '0.13.2 of scipy was released on 2013-12-08')\n", | |
"(62, '0.13.3 of scipy was released on 2014-04-29')\n", | |
"(63, '0.13.3 of scipy was released on 2014-04-29')\n", | |
"(64, '0.13.3 of scipy was released on 2014-04-29')\n", | |
"(65, '0.13.3 of scipy was released on 2014-02-04')\n", | |
"(66, '0.13.3 of scipy was released on 2014-02-04')\n", | |
"(50, '0.14.0 of scipy was released on 2014-11-03')\n", | |
"(51, '0.14.0 of scipy was released on 2014-06-28')\n", | |
"(52, '0.14.0 of scipy was released on 2014-11-03')\n", | |
"(53, '0.14.0 of scipy was released on 2014-06-28')\n", | |
"(54, '0.14.0 of scipy was released on 2014-11-03')\n", | |
"(55, '0.14.0 of scipy was released on 2014-06-28')\n", | |
"(56, '0.14.0 of scipy was released on 2014-05-03')\n", | |
"(57, '0.14.0 of scipy was released on 2014-05-03')\n", | |
"(5, '0.14.1rc1 of scipy was released on 2014-12-30')\n", | |
"(6, '0.14.1rc1 of scipy was released on 2014-12-30')\n", | |
"(7, '0.14.1rc1 of scipy was released on 2014-12-30')\n", | |
"(16, '0.14.1rc1.dev-52fb336 of scipy was released on 2014-12-30')\n", | |
"(17, '0.14.1rc1.dev-52fb336 of scipy was released on 2014-12-30')\n", | |
"(18, '0.14.1rc1.dev-52fb336 of scipy was released on 2014-12-30')\n", | |
"(45, '0.14.1 of scipy was released on 2014-12-30')\n", | |
"(46, '0.14.1 of scipy was released on 2014-12-30')\n", | |
"(47, '0.14.1 of scipy was released on 2014-12-30')\n", | |
"(48, '0.14.1 of scipy was released on 2014-12-30')\n", | |
"(49, '0.14.1 of scipy was released on 2014-12-30')\n", | |
"(59, '0.14.1rc1.dev-205726a of scipy was released on 2014-12-30')\n", | |
"(60, '0.14.1rc1.dev-205726a of scipy was released on 2014-12-30')\n", | |
"(61, '0.14.1rc1.dev-205726a of scipy was released on 2014-12-30')\n", | |
"(0, '0.15.0 of scipy was released on 2015-01-11')\n", | |
"(1, '0.15.0 of scipy was released on 2015-01-11')\n", | |
"(2, '0.15.0 of scipy was released on 2015-01-11')\n", | |
"(3, '0.15.0 of scipy was released on 2015-01-11')\n", | |
"(4, '0.15.0 of scipy was released on 2015-01-11')\n", | |
"(40, '0.15.1 of scipy was released on 2015-01-18')\n", | |
"(41, '0.15.1 of scipy was released on 2015-01-18')\n", | |
"(42, '0.15.1 of scipy was released on 2015-01-18')\n", | |
"(43, '0.15.1 of scipy was released on 2015-01-18')\n", | |
"(44, '0.15.1 of scipy was released on 2015-01-18')\n", | |
"(27, '0.16.0 of scipy was released on 2015-07-24')\n", | |
"(28, '0.16.0 of scipy was released on 2015-07-24')\n", | |
"(29, '0.16.0 of scipy was released on 2015-07-24')\n", | |
"(30, '0.16.0 of scipy was released on 2015-07-24')\n", | |
"(31, '0.16.0 of scipy was released on 2015-07-24')\n" | |
] | |
} | |
], | |
"source": [ | |
"df['uploaded_on'] = None\n", | |
"for index,sortedVersion in df.sort(['major','minor','patch']).iterrows():\n", | |
" print(index,\n", | |
" '{version} of {package} was released on {uploadTime}'.format(\n", | |
" version = sortedVersion['key'],\n", | |
" package = package,\n", | |
" uploadTime = upload_at[index]\n", | |
" )\n", | |
" )\n", | |
" df.loc[index,'uploaded_on' ] = upload_at[index]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>key</th>\n", | |
" <th>major</th>\n", | |
" <th>minor</th>\n", | |
" <th>patch</th>\n", | |
" <th>number_of_releases</th>\n", | |
" <th>type_of_release</th>\n", | |
" <th>uploaded_on</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>34</th>\n", | |
" <td>0.4.4</td>\n", | |
" <td>0</td>\n", | |
" <td>4</td>\n", | |
" <td>4</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" <td>N/A</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>35</th>\n", | |
" <td>0.5.2</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" <td>N/A</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>0.6.0</td>\n", | |
" <td>0</td>\n", | |
" <td>6</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" <td>N/A</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>0.7.0</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" <td>N/A</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>0.7.2</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" <td>N/A</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>58</th>\n", | |
" <td>0.8.0</td>\n", | |
" <td>0</td>\n", | |
" <td>8</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2010-07-27</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>38</th>\n", | |
" <td>0.9.0</td>\n", | |
" <td>0</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2011-02-28</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>39</th>\n", | |
" <td>0.9.0</td>\n", | |
" <td>0</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2011-02-28</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2011-11-13</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2011-11-13</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2012-02-28</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2012-02-28</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2012-09-29</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2012-09-29</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2013-04-09</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2013-04-09</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2013-10-12</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2013-10-12</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>67</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>68</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>69</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>70</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2013-10-19</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>71</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2013-10-19</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>36</th>\n", | |
" <td>0.13.1</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2013-11-17</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>37</th>\n", | |
" <td>0.13.1</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2013-11-17</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>32</th>\n", | |
" <td>0.13.2</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2013-12-08</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>33</th>\n", | |
" <td>0.13.2</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2013-12-08</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>57</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" <td>8</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2014-05-03</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>45</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>46</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>47</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>48</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>49</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>59</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>60</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>61</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-11</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-11</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-11</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2015-01-11</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2015-01-11</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>40</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>41</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>42</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>43</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2015-01-18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>44</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2015-01-18</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-07-24</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-07-24</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-07-24</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2015-07-24</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2015-07-24</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>72 rows × 7 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" key major minor patch number_of_releases \\\n", | |
"34 0.4.4 0 4 4 0 \n", | |
"35 0.5.2 0 5 2 0 \n", | |
"19 0.6.0 0 6 0 0 \n", | |
"21 0.7.0 0 7 0 0 \n", | |
"20 0.7.2 0 7 2 0 \n", | |
"58 0.8.0 0 8 0 1 \n", | |
"38 0.9.0 0 9 0 2 \n", | |
"39 0.9.0 0 9 0 2 \n", | |
"13 0.10.0 0 10 0 3 \n", | |
"14 0.10.0 0 10 0 3 \n", | |
"15 0.10.0 0 10 0 3 \n", | |
"11 0.10.1 0 10 1 2 \n", | |
"12 0.10.1 0 10 1 2 \n", | |
"8 0.11.0 0 11 0 3 \n", | |
"9 0.11.0 0 11 0 3 \n", | |
"10 0.11.0 0 11 0 3 \n", | |
"24 0.12.0 0 12 0 3 \n", | |
"25 0.12.0 0 12 0 3 \n", | |
"26 0.12.0 0 12 0 3 \n", | |
"22 0.12.1 0 12 1 2 \n", | |
"23 0.12.1 0 12 1 2 \n", | |
"67 0.13.0 0 13 0 5 \n", | |
"68 0.13.0 0 13 0 5 \n", | |
"69 0.13.0 0 13 0 5 \n", | |
"70 0.13.0 0 13 0 5 \n", | |
"71 0.13.0 0 13 0 5 \n", | |
"36 0.13.1 0 13 1 2 \n", | |
"37 0.13.1 0 13 1 2 \n", | |
"32 0.13.2 0 13 2 2 \n", | |
"33 0.13.2 0 13 2 2 \n", | |
".. ... ... ... ... ... \n", | |
"57 0.14.0 0 14 0 8 \n", | |
"5 0.14.1rc1 0 14 1 3 \n", | |
"6 0.14.1rc1 0 14 1 3 \n", | |
"7 0.14.1rc1 0 14 1 3 \n", | |
"16 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
"17 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
"18 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
"45 0.14.1 0 14 1 5 \n", | |
"46 0.14.1 0 14 1 5 \n", | |
"47 0.14.1 0 14 1 5 \n", | |
"48 0.14.1 0 14 1 5 \n", | |
"49 0.14.1 0 14 1 5 \n", | |
"59 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
"60 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
"61 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
"0 0.15.0 0 15 0 5 \n", | |
"1 0.15.0 0 15 0 5 \n", | |
"2 0.15.0 0 15 0 5 \n", | |
"3 0.15.0 0 15 0 5 \n", | |
"4 0.15.0 0 15 0 5 \n", | |
"40 0.15.1 0 15 1 5 \n", | |
"41 0.15.1 0 15 1 5 \n", | |
"42 0.15.1 0 15 1 5 \n", | |
"43 0.15.1 0 15 1 5 \n", | |
"44 0.15.1 0 15 1 5 \n", | |
"27 0.16.0 0 16 0 5 \n", | |
"28 0.16.0 0 16 0 5 \n", | |
"29 0.16.0 0 16 0 5 \n", | |
"30 0.16.0 0 16 0 5 \n", | |
"31 0.16.0 0 16 0 5 \n", | |
"\n", | |
" type_of_release uploaded_on \n", | |
"34 None N/A \n", | |
"35 None N/A \n", | |
"19 None N/A \n", | |
"21 None N/A \n", | |
"20 None N/A \n", | |
"58 .tar 2010-07-27 \n", | |
"38 .tar 2011-02-28 \n", | |
"39 .zip 2011-02-28 \n", | |
"13 .whl 2014-07-31 \n", | |
"14 .tar 2011-11-13 \n", | |
"15 .zip 2011-11-13 \n", | |
"11 .tar 2012-02-28 \n", | |
"12 .zip 2012-02-28 \n", | |
"8 .whl 2014-07-31 \n", | |
"9 .tar 2012-09-29 \n", | |
"10 .zip 2012-09-29 \n", | |
"24 .whl 2014-07-31 \n", | |
"25 .tar 2013-04-09 \n", | |
"26 .zip 2013-04-09 \n", | |
"22 .tar 2013-10-12 \n", | |
"23 .zip 2013-10-12 \n", | |
"67 .whl 2014-07-31 \n", | |
"68 .whl 2014-07-31 \n", | |
"69 .whl 2014-07-31 \n", | |
"70 .tar 2013-10-19 \n", | |
"71 .zip 2013-10-19 \n", | |
"36 .tar 2013-11-17 \n", | |
"37 .zip 2013-11-17 \n", | |
"32 .tar 2013-12-08 \n", | |
"33 .zip 2013-12-08 \n", | |
".. ... ... \n", | |
"57 .zip 2014-05-03 \n", | |
"5 .whl 2014-12-30 \n", | |
"6 .whl 2014-12-30 \n", | |
"7 .whl 2014-12-30 \n", | |
"16 .whl 2014-12-30 \n", | |
"17 .whl 2014-12-30 \n", | |
"18 .whl 2014-12-30 \n", | |
"45 .whl 2014-12-30 \n", | |
"46 .whl 2014-12-30 \n", | |
"47 .whl 2014-12-30 \n", | |
"48 .tar 2014-12-30 \n", | |
"49 .zip 2014-12-30 \n", | |
"59 .whl 2014-12-30 \n", | |
"60 .whl 2014-12-30 \n", | |
"61 .whl 2014-12-30 \n", | |
"0 .whl 2015-01-11 \n", | |
"1 .whl 2015-01-11 \n", | |
"2 .whl 2015-01-11 \n", | |
"3 .tar 2015-01-11 \n", | |
"4 .zip 2015-01-11 \n", | |
"40 .whl 2015-01-18 \n", | |
"41 .whl 2015-01-18 \n", | |
"42 .whl 2015-01-18 \n", | |
"43 .tar 2015-01-18 \n", | |
"44 .zip 2015-01-18 \n", | |
"27 .whl 2015-07-24 \n", | |
"28 .whl 2015-07-24 \n", | |
"29 .whl 2015-07-24 \n", | |
"30 .tar 2015-07-24 \n", | |
"31 .zip 2015-07-24 \n", | |
"\n", | |
"[72 rows x 7 columns]" | |
] | |
}, | |
"execution_count": 27, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.sort( ['major','minor','patch'])" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"> Number of downloads per version format" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 28, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"(34, '0.4.4 of scipy has 0 downloads')\n", | |
"(35, '0.5.2 of scipy has 0 downloads')\n", | |
"(19, '0.6.0 of scipy has 0 downloads')\n", | |
"(21, '0.7.0 of scipy has 0 downloads')\n", | |
"(20, '0.7.2 of scipy has 0 downloads')\n", | |
"(58, '0.8.0 of scipy has 56945 downloads')\n", | |
"(38, '0.9.0 of scipy has 13242 downloads')\n", | |
"(39, '0.9.0 of scipy has 32703 downloads')\n", | |
"(13, '0.10.0 of scipy has 968 downloads')\n", | |
"(14, '0.10.0 of scipy has 13114 downloads')\n", | |
"(15, '0.10.0 of scipy has 17207 downloads')\n", | |
"(11, '0.10.1 of scipy has 33823 downloads')\n", | |
"(12, '0.10.1 of scipy has 63332 downloads')\n", | |
"(8, '0.11.0 of scipy has 1431 downloads')\n", | |
"(9, '0.11.0 of scipy has 320750 downloads')\n", | |
"(10, '0.11.0 of scipy has 94598 downloads')\n", | |
"(24, '0.12.0 of scipy has 5554 downloads')\n", | |
"(25, '0.12.0 of scipy has 93602 downloads')\n", | |
"(26, '0.12.0 of scipy has 113455 downloads')\n", | |
"(22, '0.12.1 of scipy has 10513 downloads')\n", | |
"(23, '0.12.1 of scipy has 3246 downloads')\n", | |
"(67, '0.13.0 of scipy has 1159 downloads')\n", | |
"(68, '0.13.0 of scipy has 946 downloads')\n", | |
"(69, '0.13.0 of scipy has 959 downloads')\n", | |
"(70, '0.13.0 of scipy has 48604 downloads')\n", | |
"(71, '0.13.0 of scipy has 8386 downloads')\n", | |
"(36, '0.13.1 of scipy has 26768 downloads')\n", | |
"(37, '0.13.1 of scipy has 5852 downloads')\n", | |
"(32, '0.13.2 of scipy has 74236 downloads')\n", | |
"(33, '0.13.2 of scipy has 64609 downloads')\n", | |
"(62, '0.13.3 of scipy has 1767 downloads')\n", | |
"(63, '0.13.3 of scipy has 1215 downloads')\n", | |
"(64, '0.13.3 of scipy has 1297 downloads')\n", | |
"(65, '0.13.3 of scipy has 157426 downloads')\n", | |
"(66, '0.13.3 of scipy has 25931 downloads')\n", | |
"(50, '0.14.0 of scipy has 18014 downloads')\n", | |
"(51, '0.14.0 of scipy has 27740 downloads')\n", | |
"(52, '0.14.0 of scipy has 992 downloads')\n", | |
"(53, '0.14.0 of scipy has 1773 downloads')\n", | |
"(54, '0.14.0 of scipy has 3556 downloads')\n", | |
"(55, '0.14.0 of scipy has 6158 downloads')\n", | |
"(56, '0.14.0 of scipy has 536728 downloads')\n", | |
"(57, '0.14.0 of scipy has 68592 downloads')\n", | |
"(5, '0.14.1rc1 of scipy has 664 downloads')\n", | |
"(6, '0.14.1rc1 of scipy has 662 downloads')\n", | |
"(7, '0.14.1rc1 of scipy has 665 downloads')\n", | |
"(16, '0.14.1rc1.dev-52fb336 of scipy has 823 downloads')\n", | |
"(17, '0.14.1rc1.dev-52fb336 of scipy has 687 downloads')\n", | |
"(18, '0.14.1rc1.dev-52fb336 of scipy has 753 downloads')\n", | |
"(45, '0.14.1 of scipy has 4681 downloads')\n", | |
"(46, '0.14.1 of scipy has 743 downloads')\n", | |
"(47, '0.14.1 of scipy has 1419 downloads')\n", | |
"(48, '0.14.1 of scipy has 41891 downloads')\n", | |
"(49, '0.14.1 of scipy has 13304 downloads')\n", | |
"(59, '0.14.1rc1.dev-205726a of scipy has 656 downloads')\n", | |
"(60, '0.14.1rc1.dev-205726a of scipy has 648 downloads')\n", | |
"(61, '0.14.1rc1.dev-205726a of scipy has 649 downloads')\n", | |
"(0, '0.15.0 of scipy has 3645 downloads')\n", | |
"(1, '0.15.0 of scipy has 733 downloads')\n", | |
"(2, '0.15.0 of scipy has 1146 downloads')\n", | |
"(3, '0.15.0 of scipy has 39965 downloads')\n", | |
"(4, '0.15.0 of scipy has 4435 downloads')\n", | |
"(40, '0.15.1 of scipy has 70390 downloads')\n", | |
"(41, '0.15.1 of scipy has 5422 downloads')\n", | |
"(42, '0.15.1 of scipy has 19935 downloads')\n", | |
"(43, '0.15.1 of scipy has 506741 downloads')\n", | |
"(44, '0.15.1 of scipy has 67128 downloads')\n", | |
"(27, '0.16.0 of scipy has 15238 downloads')\n", | |
"(28, '0.16.0 of scipy has 340 downloads')\n", | |
"(29, '0.16.0 of scipy has 7977 downloads')\n", | |
"(30, '0.16.0 of scipy has 81593 downloads')\n", | |
"(31, '0.16.0 of scipy has 20372 downloads')\n" | |
] | |
} | |
], | |
"source": [ | |
"df['number_of_downloads'] = None\n", | |
"for index,sortedVersion in df.sort(['major','minor','patch']).iterrows():\n", | |
" print(index,\n", | |
" '{version} of {package} has {numDownloads} downloads'.format(\n", | |
" version = sortedVersion['key'],\n", | |
" package = package,\n", | |
" numDownloads = num_downloads[index]\n", | |
" )\n", | |
" )\n", | |
" df.loc[index,'number_of_downloads' ] = num_downloads[index]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": true | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<div>\n", | |
"<table border=\"1\" class=\"dataframe\">\n", | |
" <thead>\n", | |
" <tr style=\"text-align: right;\">\n", | |
" <th></th>\n", | |
" <th>key</th>\n", | |
" <th>major</th>\n", | |
" <th>minor</th>\n", | |
" <th>patch</th>\n", | |
" <th>number_of_releases</th>\n", | |
" <th>type_of_release</th>\n", | |
" <th>uploaded_on</th>\n", | |
" <th>number_of_downloads</th>\n", | |
" </tr>\n", | |
" </thead>\n", | |
" <tbody>\n", | |
" <tr>\n", | |
" <th>34</th>\n", | |
" <td>0.4.4</td>\n", | |
" <td>0</td>\n", | |
" <td>4</td>\n", | |
" <td>4</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" <td>N/A</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>35</th>\n", | |
" <td>0.5.2</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" <td>N/A</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>19</th>\n", | |
" <td>0.6.0</td>\n", | |
" <td>0</td>\n", | |
" <td>6</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" <td>N/A</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>21</th>\n", | |
" <td>0.7.0</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>0</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" <td>N/A</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>20</th>\n", | |
" <td>0.7.2</td>\n", | |
" <td>0</td>\n", | |
" <td>7</td>\n", | |
" <td>2</td>\n", | |
" <td>0</td>\n", | |
" <td>None</td>\n", | |
" <td>N/A</td>\n", | |
" <td>0</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>58</th>\n", | |
" <td>0.8.0</td>\n", | |
" <td>0</td>\n", | |
" <td>8</td>\n", | |
" <td>0</td>\n", | |
" <td>1</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2010-07-27</td>\n", | |
" <td>56945</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>38</th>\n", | |
" <td>0.9.0</td>\n", | |
" <td>0</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2011-02-28</td>\n", | |
" <td>13242</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>39</th>\n", | |
" <td>0.9.0</td>\n", | |
" <td>0</td>\n", | |
" <td>9</td>\n", | |
" <td>0</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2011-02-28</td>\n", | |
" <td>32703</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>13</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" <td>968</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>14</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2011-11-13</td>\n", | |
" <td>13114</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>15</th>\n", | |
" <td>0.10.0</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2011-11-13</td>\n", | |
" <td>17207</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>11</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2012-02-28</td>\n", | |
" <td>33823</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>12</th>\n", | |
" <td>0.10.1</td>\n", | |
" <td>0</td>\n", | |
" <td>10</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2012-02-28</td>\n", | |
" <td>63332</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>8</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" <td>1431</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>9</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2012-09-29</td>\n", | |
" <td>320750</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>10</th>\n", | |
" <td>0.11.0</td>\n", | |
" <td>0</td>\n", | |
" <td>11</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2012-09-29</td>\n", | |
" <td>94598</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>24</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" <td>5554</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>25</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2013-04-09</td>\n", | |
" <td>93602</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>26</th>\n", | |
" <td>0.12.0</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>0</td>\n", | |
" <td>3</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2013-04-09</td>\n", | |
" <td>113455</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>22</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2013-10-12</td>\n", | |
" <td>10513</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>23</th>\n", | |
" <td>0.12.1</td>\n", | |
" <td>0</td>\n", | |
" <td>12</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2013-10-12</td>\n", | |
" <td>3246</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>67</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" <td>1159</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>68</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" <td>946</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>69</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-07-31</td>\n", | |
" <td>959</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>70</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2013-10-19</td>\n", | |
" <td>48604</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>71</th>\n", | |
" <td>0.13.0</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2013-10-19</td>\n", | |
" <td>8386</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>36</th>\n", | |
" <td>0.13.1</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2013-11-17</td>\n", | |
" <td>26768</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>37</th>\n", | |
" <td>0.13.1</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>1</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2013-11-17</td>\n", | |
" <td>5852</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>32</th>\n", | |
" <td>0.13.2</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2013-12-08</td>\n", | |
" <td>74236</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>33</th>\n", | |
" <td>0.13.2</td>\n", | |
" <td>0</td>\n", | |
" <td>13</td>\n", | |
" <td>2</td>\n", | |
" <td>2</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2013-12-08</td>\n", | |
" <td>64609</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>...</th>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" <td>...</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>57</th>\n", | |
" <td>0.14.0</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>0</td>\n", | |
" <td>8</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2014-05-03</td>\n", | |
" <td>68592</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>5</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>664</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>6</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>662</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>7</th>\n", | |
" <td>0.14.1rc1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>665</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>16</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>823</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>17</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>687</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>18</th>\n", | |
" <td>0.14.1rc1.dev-52fb336</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>753</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>45</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>4681</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>46</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>743</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>47</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>1419</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>48</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>41891</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>49</th>\n", | |
" <td>0.14.1</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>13304</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>59</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>656</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>60</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>648</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>61</th>\n", | |
" <td>0.14.1rc1.dev-205726a</td>\n", | |
" <td>0</td>\n", | |
" <td>14</td>\n", | |
" <td>1</td>\n", | |
" <td>3</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2014-12-30</td>\n", | |
" <td>649</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>0</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-11</td>\n", | |
" <td>3645</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>1</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-11</td>\n", | |
" <td>733</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>2</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-11</td>\n", | |
" <td>1146</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>3</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2015-01-11</td>\n", | |
" <td>39965</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>4</th>\n", | |
" <td>0.15.0</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2015-01-11</td>\n", | |
" <td>4435</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>40</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-18</td>\n", | |
" <td>70390</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>41</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-18</td>\n", | |
" <td>5422</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>42</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-01-18</td>\n", | |
" <td>19935</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>43</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2015-01-18</td>\n", | |
" <td>506741</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>44</th>\n", | |
" <td>0.15.1</td>\n", | |
" <td>0</td>\n", | |
" <td>15</td>\n", | |
" <td>1</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2015-01-18</td>\n", | |
" <td>67128</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>27</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-07-24</td>\n", | |
" <td>15238</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>28</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-07-24</td>\n", | |
" <td>340</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>29</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.whl</td>\n", | |
" <td>2015-07-24</td>\n", | |
" <td>7977</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>30</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.tar</td>\n", | |
" <td>2015-07-24</td>\n", | |
" <td>81593</td>\n", | |
" </tr>\n", | |
" <tr>\n", | |
" <th>31</th>\n", | |
" <td>0.16.0</td>\n", | |
" <td>0</td>\n", | |
" <td>16</td>\n", | |
" <td>0</td>\n", | |
" <td>5</td>\n", | |
" <td>.zip</td>\n", | |
" <td>2015-07-24</td>\n", | |
" <td>20372</td>\n", | |
" </tr>\n", | |
" </tbody>\n", | |
"</table>\n", | |
"<p>72 rows × 8 columns</p>\n", | |
"</div>" | |
], | |
"text/plain": [ | |
" key major minor patch number_of_releases \\\n", | |
"34 0.4.4 0 4 4 0 \n", | |
"35 0.5.2 0 5 2 0 \n", | |
"19 0.6.0 0 6 0 0 \n", | |
"21 0.7.0 0 7 0 0 \n", | |
"20 0.7.2 0 7 2 0 \n", | |
"58 0.8.0 0 8 0 1 \n", | |
"38 0.9.0 0 9 0 2 \n", | |
"39 0.9.0 0 9 0 2 \n", | |
"13 0.10.0 0 10 0 3 \n", | |
"14 0.10.0 0 10 0 3 \n", | |
"15 0.10.0 0 10 0 3 \n", | |
"11 0.10.1 0 10 1 2 \n", | |
"12 0.10.1 0 10 1 2 \n", | |
"8 0.11.0 0 11 0 3 \n", | |
"9 0.11.0 0 11 0 3 \n", | |
"10 0.11.0 0 11 0 3 \n", | |
"24 0.12.0 0 12 0 3 \n", | |
"25 0.12.0 0 12 0 3 \n", | |
"26 0.12.0 0 12 0 3 \n", | |
"22 0.12.1 0 12 1 2 \n", | |
"23 0.12.1 0 12 1 2 \n", | |
"67 0.13.0 0 13 0 5 \n", | |
"68 0.13.0 0 13 0 5 \n", | |
"69 0.13.0 0 13 0 5 \n", | |
"70 0.13.0 0 13 0 5 \n", | |
"71 0.13.0 0 13 0 5 \n", | |
"36 0.13.1 0 13 1 2 \n", | |
"37 0.13.1 0 13 1 2 \n", | |
"32 0.13.2 0 13 2 2 \n", | |
"33 0.13.2 0 13 2 2 \n", | |
".. ... ... ... ... ... \n", | |
"57 0.14.0 0 14 0 8 \n", | |
"5 0.14.1rc1 0 14 1 3 \n", | |
"6 0.14.1rc1 0 14 1 3 \n", | |
"7 0.14.1rc1 0 14 1 3 \n", | |
"16 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
"17 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
"18 0.14.1rc1.dev-52fb336 0 14 1 3 \n", | |
"45 0.14.1 0 14 1 5 \n", | |
"46 0.14.1 0 14 1 5 \n", | |
"47 0.14.1 0 14 1 5 \n", | |
"48 0.14.1 0 14 1 5 \n", | |
"49 0.14.1 0 14 1 5 \n", | |
"59 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
"60 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
"61 0.14.1rc1.dev-205726a 0 14 1 3 \n", | |
"0 0.15.0 0 15 0 5 \n", | |
"1 0.15.0 0 15 0 5 \n", | |
"2 0.15.0 0 15 0 5 \n", | |
"3 0.15.0 0 15 0 5 \n", | |
"4 0.15.0 0 15 0 5 \n", | |
"40 0.15.1 0 15 1 5 \n", | |
"41 0.15.1 0 15 1 5 \n", | |
"42 0.15.1 0 15 1 5 \n", | |
"43 0.15.1 0 15 1 5 \n", | |
"44 0.15.1 0 15 1 5 \n", | |
"27 0.16.0 0 16 0 5 \n", | |
"28 0.16.0 0 16 0 5 \n", | |
"29 0.16.0 0 16 0 5 \n", | |
"30 0.16.0 0 16 0 5 \n", | |
"31 0.16.0 0 16 0 5 \n", | |
"\n", | |
" type_of_release uploaded_on number_of_downloads \n", | |
"34 None N/A 0 \n", | |
"35 None N/A 0 \n", | |
"19 None N/A 0 \n", | |
"21 None N/A 0 \n", | |
"20 None N/A 0 \n", | |
"58 .tar 2010-07-27 56945 \n", | |
"38 .tar 2011-02-28 13242 \n", | |
"39 .zip 2011-02-28 32703 \n", | |
"13 .whl 2014-07-31 968 \n", | |
"14 .tar 2011-11-13 13114 \n", | |
"15 .zip 2011-11-13 17207 \n", | |
"11 .tar 2012-02-28 33823 \n", | |
"12 .zip 2012-02-28 63332 \n", | |
"8 .whl 2014-07-31 1431 \n", | |
"9 .tar 2012-09-29 320750 \n", | |
"10 .zip 2012-09-29 94598 \n", | |
"24 .whl 2014-07-31 5554 \n", | |
"25 .tar 2013-04-09 93602 \n", | |
"26 .zip 2013-04-09 113455 \n", | |
"22 .tar 2013-10-12 10513 \n", | |
"23 .zip 2013-10-12 3246 \n", | |
"67 .whl 2014-07-31 1159 \n", | |
"68 .whl 2014-07-31 946 \n", | |
"69 .whl 2014-07-31 959 \n", | |
"70 .tar 2013-10-19 48604 \n", | |
"71 .zip 2013-10-19 8386 \n", | |
"36 .tar 2013-11-17 26768 \n", | |
"37 .zip 2013-11-17 5852 \n", | |
"32 .tar 2013-12-08 74236 \n", | |
"33 .zip 2013-12-08 64609 \n", | |
".. ... ... ... \n", | |
"57 .zip 2014-05-03 68592 \n", | |
"5 .whl 2014-12-30 664 \n", | |
"6 .whl 2014-12-30 662 \n", | |
"7 .whl 2014-12-30 665 \n", | |
"16 .whl 2014-12-30 823 \n", | |
"17 .whl 2014-12-30 687 \n", | |
"18 .whl 2014-12-30 753 \n", | |
"45 .whl 2014-12-30 4681 \n", | |
"46 .whl 2014-12-30 743 \n", | |
"47 .whl 2014-12-30 1419 \n", | |
"48 .tar 2014-12-30 41891 \n", | |
"49 .zip 2014-12-30 13304 \n", | |
"59 .whl 2014-12-30 656 \n", | |
"60 .whl 2014-12-30 648 \n", | |
"61 .whl 2014-12-30 649 \n", | |
"0 .whl 2015-01-11 3645 \n", | |
"1 .whl 2015-01-11 733 \n", | |
"2 .whl 2015-01-11 1146 \n", | |
"3 .tar 2015-01-11 39965 \n", | |
"4 .zip 2015-01-11 4435 \n", | |
"40 .whl 2015-01-18 70390 \n", | |
"41 .whl 2015-01-18 5422 \n", | |
"42 .whl 2015-01-18 19935 \n", | |
"43 .tar 2015-01-18 506741 \n", | |
"44 .zip 2015-01-18 67128 \n", | |
"27 .whl 2015-07-24 15238 \n", | |
"28 .whl 2015-07-24 340 \n", | |
"29 .whl 2015-07-24 7977 \n", | |
"30 .tar 2015-07-24 81593 \n", | |
"31 .zip 2015-07-24 20372 \n", | |
"\n", | |
"[72 rows x 8 columns]" | |
] | |
}, | |
"execution_count": 29, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"df.sort( ['major','minor','patch'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 30, | |
"metadata": { | |
"collapsed": false, | |
"scrolled": false | |
}, | |
"outputs": [], | |
"source": [ | |
"#df = pd.DataFrame(np.random.normal(size=(2,2)), columns = ['a', 'b'])\n", | |
"#HTML(df.to_html())\n", | |
"#df.plot(kind='bar', stacked=True);" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [ | |
"output_file(\"index.html\", mode = 'cdn' )\n", | |
"TOOLS = [BoxSelectTool(), HoverTool(), TapTool()]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"df = pd.DataFrame(versions)\n", | |
"#incorporate languages later\n", | |
"#circleMult = 9\n", | |
"#df['number_of_downloads'] = [len(f.keys())*circleMult for f in df['number_of_downloads']]\n", | |
"df['index'] = df.index\n", | |
"df.loc[index,'number_of_downloads' ] = num_downloads[index]\n", | |
"df.loc[index,'number_of_releases' ] = len(releases[sortedVersion['key']])\n", | |
"df.loc[index,'type_of_release' ] = file_ext[index]\n", | |
"df.loc[index,'uploaded_on' ] = upload_at[index]\n", | |
"\n", | |
"source = ColumnDataSource(df)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 33, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"#ix3 = pd.MultiIndex.from_arrays([['a', 'a', 'a', 'a', 'b', 'b', 'b', 'b'], ['foo', 'foo', 'bar', 'bar', 'foo', 'foo', 'bar', 'bar']], names=['letter', 'word'])\n", | |
"\n", | |
"#df3 = pd.DataFrame({'data1': [3, 2, 4, 3, 2, 4, 3, 2], 'data2': [6, 5, 7, 5, 4, 5, 6, 5]}, index=ix3)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"#df = pd.DataFrame(np.random.randn(1000, 2), columns=['index', 'number_of_downloads'])\n", | |
"\n", | |
"#df['number_of_downloads'] = df['number_of_downloads'] + np.arange(1000)\n", | |
"\n", | |
"#df.plot(kind='hexbin', x='index', y='number_of_downloads', gridsize=25)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"collapsed": true | |
}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 35, | |
"metadata": { | |
"collapsed": false | |
}, | |
"outputs": [], | |
"source": [ | |
"#p = figure(x_axis_type = \"datetime\", tools=TOOLS)\n", | |
"\n", | |
"#p.segment(\n", | |
"# x0 = 'index',\n", | |
"# x1 = 'index',\n", | |
"# y0 = 'uploaded_on',\n", | |
"# y1 = 'uploaded_on',\n", | |
"# color = \"blue\",\n", | |
"# line_alpha = 1,\n", | |
"# source = source\n", | |
"#)\n", | |
"\n", | |
"#p.circle(\n", | |
"# x= 'index',\n", | |
"# y = 'type_of_release',\n", | |
"# source = source,\n", | |
"# size = 'number_of_downloads',\n", | |
"# color = 'purple',\n", | |
"# fill_alpha = 0.85\n", | |
"#)\n", | |
"\n", | |
"#url = \"https://pypi.python.org/pypi/%s/@version\" % package\n", | |
"#taptool = p.select(type = TapTool)\n", | |
"#taptool.action = OpenURL(url = url)\n", | |
"\n", | |
"#hover = p.select(dict(type = HoverTool))\n", | |
"\n", | |
"#hover.tooltips = OrderedDict([\n", | |
"# (\"index\", \"$index\"),\n", | |
" #(\"description\", \"@short_description\"),\n", | |
"# (\"format\", \"@type_of_release\"),\n", | |
"# (\"created\", \"@uploaded_on\"), \n", | |
" #(\"updated\", \"@updated_to\"),\n", | |
"# (\"downloads\", \"@number_of_downloads\"),\n", | |
"#])\n", | |
"\n", | |
"#show(p)" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 2", | |
"language": "python", | |
"name": "python2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.8" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 0 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment