Created
July 9, 2019 18:54
-
-
Save klarh/d68396f8da4e38f9b4e912ea31c2df9e to your computer and use it in GitHub Desktop.
This file contains 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": "code", | |
"execution_count": 31, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import sys \n", | |
"import requests\n", | |
"from pkg_resources import parse_version \n", | |
"import collections\n", | |
"import IPython\n", | |
"\n", | |
"def get_versions(pkg_name):\n", | |
" url = f'https://pypi.python.org/pypi/{pkg_name}/json'\n", | |
" releases = requests.get(url).json()['releases']\n", | |
" \n", | |
" result = collections.defaultdict(set)\n", | |
" for version, descriptions in releases.items():\n", | |
" for description in descriptions:\n", | |
" packagetype = description['packagetype']\n", | |
" pyver = description['python_version'].replace('.', '').replace('cp', '')\n", | |
" \n", | |
" fname = description['filename']\n", | |
" \n", | |
" if fname.endswith('.whl'):\n", | |
" osys_list = tuple([key for key in ['linux', 'win', 'mac'] if key in fname])\n", | |
" \n", | |
" if len(osys_list) != 1:\n", | |
" print(fname)\n", | |
" print(description)\n", | |
" return\n", | |
" \n", | |
" osys = osys_list[0]\n", | |
" elif fname.endswith('tar.gz'):\n", | |
" osys = 'src'\n", | |
" elif fname.endswith('.zip'):\n", | |
" osys = 'src'\n", | |
" elif fname.endswith('.exe'):\n", | |
" continue\n", | |
" else:\n", | |
" print(fname)\n", | |
" print(description)\n", | |
" return\n", | |
" \n", | |
" result[(version, pyver)].add(osys)\n", | |
" \n", | |
" return result\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"metadata": { | |
"scrolled": false | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<table><tr><td><b>version</b></td>\n", | |
"<td><b>26</b></td>\n", | |
"<td><b>27</b></td>\n", | |
"<td><b>32</b></td>\n", | |
"<td><b>33</b></td>\n", | |
"<td><b>34</b></td>\n", | |
"<td><b>35</b></td>\n", | |
"<td><b>36</b></td>\n", | |
"<td><b>37</b></td>\n", | |
"<td><b>source</b></td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.3.0</td>\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", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.4.1</td>\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", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.5.0</td>\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", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.5.1</td>\n", | |
"<td></td>\n", | |
"<td>M</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.6.0</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.6.1</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.6.2</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.7.0</td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.7.1</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td>M</td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.7.2</td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.8.0</td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.8.1</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.8.2</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.9.0</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.9.1</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.9.2</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.9.3</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.10.0</td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.10.1</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.10.2</td>\n", | |
"<td>L</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.10.3</td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td>L</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.10.4</td>\n", | |
"<td>L</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>ML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.11.0</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>M</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.11.0rc1</td>\n", | |
"<td></td>\n", | |
"<td>M</td>\n", | |
"<td></td>\n", | |
"<td>M</td>\n", | |
"<td>M</td>\n", | |
"<td>M</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.11.0rc2</td>\n", | |
"<td></td>\n", | |
"<td>M</td>\n", | |
"<td></td>\n", | |
"<td>M</td>\n", | |
"<td>M</td>\n", | |
"<td>M</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.11.0b3</td>\n", | |
"<td></td>\n", | |
"<td>M</td>\n", | |
"<td></td>\n", | |
"<td>M</td>\n", | |
"<td>M</td>\n", | |
"<td>M</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.11.1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.11.1rc1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>M</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.11.2</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.11.2rc1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.11.3</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>ML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.12.0</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.12.0rc1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.12.0b1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.12.0rc2</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.12.1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.12.1rc1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.13.0</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.13.0rc1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.13.0rc2</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.13.1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.13.3</td>\n", | |
"<td></td>\n", | |
"<td>MWL</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>MWL</td>\n", | |
"<td>MWL</td>\n", | |
"<td>MWL</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.14.0</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.14.0rc1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.14.1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.14.2</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.14.3</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.14.4</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.14.5</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.14.6</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.15.0</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.15.0rc1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.15.0rc2</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.15.1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.15.2</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.15.3</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.15.4</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.16.0</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.16.0rc1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.16.0rc2</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.16.1</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.16.2</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.16.3</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.16.4</td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>\n", | |
"<tr>\n", | |
"<td>1.17.0rc1</td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td></td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>WML</td>\n", | |
"<td>S</td>\n", | |
"</tr>" | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"execution_count": 34, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"all_packages = get_versions('numpy')\n", | |
"\n", | |
"def version_sort_key(v):\n", | |
" bits = v.replace('rc', '.').replace('b', '.').split('.')\n", | |
" try:\n", | |
" return tuple(map(int, bits))\n", | |
" except:\n", | |
" print(v)\n", | |
"\n", | |
"versions = list(sorted(set(v for (v, _) in all_packages), key=version_sort_key))\n", | |
"pyvers = list(sorted(set(p for (_, p) in all_packages)))\n", | |
"\n", | |
"html = ['<table><tr><td><b>version</b></td>']\n", | |
"for pyver in pyvers:\n", | |
" html.append('<td><b>{}</b></td>'.format(pyver))\n", | |
"html.append('</tr>')\n", | |
"\n", | |
"for version in versions:\n", | |
" html.append('<tr>')\n", | |
" html.append('<td>{}</td>'.format(version))\n", | |
" for pyver in pyvers:\n", | |
" found_packages = all_packages[(version, pyver)]\n", | |
" elt = ''.join(name[0].upper() for name in found_packages)\n", | |
" html.append('<td>{}</td>'.format(elt))\n", | |
" html.append('</tr>')\n", | |
" \n", | |
"IPython.display.HTML('\\n'.join(html))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.7.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment