Skip to content

Instantly share code, notes, and snippets.

@mwcraig
Created July 10, 2017 16:22
Show Gist options
  • Save mwcraig/dfa6f25daae255bd5d763091006c5f0c to your computer and use it in GitHub Desktop.
Save mwcraig/dfa6f25daae255bd5d763091006c5f0c to your computer and use it in GitHub Desktop.
Find packages for which there is an MD5 mismatch
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from __future__ import print_function\n",
"from collections import defaultdict\n",
"from astropy.table import Table, join, vstack, Column"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"oses = ['win-64', 'osx-64', 'linux-64']\n",
"flares = ['ORD', 'MSP']"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"result_columns = ['os', 'package', 'cf-ray-root']\n"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"cf-ray-root\n",
"['ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'ORD', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP', 'MSP']\n",
"package\n",
"['numpy-1.7.1-py33_0.tar.bz2', 'numpy-1.7.0-py33_0.tar.bz2', 'numpy-1.7.1-py33_2.tar.bz2', 'numpy-1.8.2-py33_0.tar.bz2', 'numpy-1.10.1-py35_0.tar.bz2', 'numpy-1.7.0-py27_0.tar.bz2', 'numpy-1.7.1-py27_3.tar.bz2', 'numpy-1.7.1-py27_1.tar.bz2', 'numpy-1.8.1-py33_0.tar.bz2', 'numpy-1.8.0-py26_0.tar.bz2', 'numpy-1.6.2-py26_0.tar.bz2', 'numpy-1.8.2-py26_0.tar.bz2', 'numpy-1.7.0-py26_0.tar.bz2', 'numpy-1.8.2-py34_0.tar.bz2', 'numpy-1.7.1-py26_1.tar.bz2', 'numpy-1.9.3-py35_0.tar.bz2', 'numpy-1.10.1-py34_0.tar.bz2', 'numpy-1.7.1-py26_0.tar.bz2', 'numpy-1.9.3-py27_0.tar.bz2', 'numpy-1.7.1-py33_3.tar.bz2', 'numpy-1.7.1-py27_2.tar.bz2', 'numpy-1.10.1-py27_0.tar.bz2', 'numpy-1.6.2-py26_4.tar.bz2', 'numpy-1.10.0-py34_0.tar.bz2', 'numpy-1.7.1-py26_3.tar.bz2', 'numpy-1.9.2-py35_0.tar.bz2', 'numpy-1.8.1-py34_0.tar.bz2', 'numpy-1.8.0-py27_0.tar.bz2', 'numpy-1.7.1-py26_2.tar.bz2', 'numpy-1.9.3-py34_0.tar.bz2', 'numpy-1.8.0-py33_0.tar.bz2', 'numpy-1.7.1-py27_0.tar.bz2', 'numpy-1.10.0-py27_0.tar.bz2', 'numpy-1.7.1-py33_1.tar.bz2', 'numpy-1.8.1-py27_0.tar.bz2', 'numpy-1.9.2-py34_2.tar.bz2', 'numpy-1.8.2-py27_0.tar.bz2', 'numpy-1.8.1-py26_0.tar.bz2', 'numpy-1.9.2-py27_2.tar.bz2', 'numpy-1.7.1-py33_0.tar.bz2', 'numpy-1.7.0-py33_0.tar.bz2', 'numpy-1.7.1-py33_2.tar.bz2', 'numpy-1.8.2-py33_0.tar.bz2', 'numpy-1.10.1-py35_0.tar.bz2', 'numpy-1.7.0-py27_0.tar.bz2', 'numpy-1.7.1-py27_3.tar.bz2', 'numpy-1.7.1-py27_1.tar.bz2', 'numpy-1.8.1-py33_0.tar.bz2', 'numpy-1.8.0-py26_0.tar.bz2', 'numpy-1.6.2-py26_0.tar.bz2', 'numpy-1.8.2-py26_0.tar.bz2', 'numpy-1.7.0-py26_0.tar.bz2', 'numpy-1.8.2-py34_0.tar.bz2', 'numpy-1.7.1-py26_1.tar.bz2', 'numpy-1.9.3-py35_0.tar.bz2', 'numpy-1.13.0-py36_0.tar.bz2', 'numpy-1.10.1-py34_0.tar.bz2', 'numpy-1.12.1-py35_0.tar.bz2', 'numpy-1.7.1-py26_0.tar.bz2', 'numpy-1.11.3-py35_0.tar.bz2', 'numpy-1.9.3-py27_0.tar.bz2', 'numpy-1.7.1-py33_3.tar.bz2', 'numpy-1.7.1-py27_2.tar.bz2', 'numpy-1.10.1-py27_0.tar.bz2', 'numpy-1.6.2-py26_4.tar.bz2', 'numpy-1.10.0-py34_0.tar.bz2', 'numpy-1.7.1-py26_3.tar.bz2', 'numpy-1.9.2-py35_0.tar.bz2', 'numpy-1.8.1-py34_0.tar.bz2', 'numpy-1.8.0-py27_0.tar.bz2', 'numpy-1.7.1-py26_2.tar.bz2', 'numpy-1.9.3-py34_0.tar.bz2', 'numpy-1.8.0-py33_0.tar.bz2', 'numpy-1.7.1-py27_0.tar.bz2', 'numpy-1.10.0-py27_0.tar.bz2', 'numpy-1.7.1-py33_1.tar.bz2', 'numpy-1.8.1-py27_0.tar.bz2', 'numpy-1.9.2-py34_2.tar.bz2', 'numpy-1.8.2-py27_0.tar.bz2', 'numpy-1.8.1-py26_0.tar.bz2', 'numpy-1.9.2-py27_2.tar.bz2', 'numpy-1.12.1-py35_0.tar.bz2', 'numpy-1.13.0-py36_0.tar.bz2', 'numpy-1.12.1-py35_0.tar.bz2', 'numpy-1.11.3-py27_0.tar.bz2']\n",
"os\n",
"['win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'win-64', 'osx-64', 'osx-64', 'linux-64', 'linux-64']\n"
]
}
],
"source": [
"result_dict = defaultdict(list)\n",
"bads = []\n",
"for os_ in oses:\n",
" package_table = Table.read('package-list-{}.csv'.format(os_))\n",
" for flare in flares:\n",
" numpys = Table.read('numpy-{}-{}.csv'.format(os_, flare))\n",
" numpys.rename_column('ETag', 'MD5')\n",
" numpys['MD5'] = [md5.strip('\"') for md5 in numpys['MD5']]\n",
" joined = join(package_table, numpys, keys='MD5', join_type='right')\n",
" if not any(joined['Size'].mask):\n",
" # All the MD5s matched, keep going\n",
" continue\n",
" bad = joined[joined['Size'].mask]\n",
" for f in bad['Filename_2']:\n",
" result_dict['os'].append(os_)\n",
" result_dict['package'].append(f)\n",
" result_dict['cf-ray-root'].append(flare)\n",
" bads.append(bad)\n",
"bad_table = vstack(bads)\n",
"for column in reversed(result_columns):\n",
" print(column)\n",
" print(result_dict[column])\n",
" bad_table.add_column(Column(data=result_dict[column], name=column), index=0)"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<Table masked=True length=39>\n",
" Filename_1 Size Last Modified ... Content-Type CF-RAY \n",
" str53 str6 str19 ... str17 str20 \n",
" ---------- ---- ------------- ... ----------------- --------------------\n",
" -- -- -- ... application/x-tar 37a4088affb554f2-ORD\n",
" -- -- -- ... application/x-tar 37a408818f302604-ORD\n",
" -- -- -- ... application/x-tar 37a4088d299271e5-ORD\n",
" -- -- -- ... application/x-tar 37a408b35c265631-ORD\n",
" -- -- -- ... application/x-tar 37a408523b8f71e5-ORD\n",
" -- -- -- ... application/x-tar 37a408808b7d250d-ORD\n",
" -- -- -- ... application/x-tar 37a40889fee271e5-ORD\n",
" -- -- -- ... application/x-tar 37a40887eaab5631-ORD\n",
" -- -- -- ... application/x-tar 37a4089deebd2549-ORD\n",
" -- -- -- ... application/x-tar 37a4088f68e7552e-ORD\n",
" ... ... ... ... ... ...\n",
" -- -- -- ... application/x-tar 37a408cb1b96552e-ORD\n",
" -- -- -- ... application/x-tar 37a40894db492585-ORD\n",
" -- -- -- ... application/x-tar 37a40886da3555be-ORD\n",
" -- -- -- ... application/x-tar 37a4084e1a857143-ORD\n",
" -- -- -- ... application/x-tar 37a4088c1c7755fa-ORD\n",
" -- -- -- ... application/x-tar 37a4089a99505582-ORD\n",
" -- -- -- ... application/x-tar 37a408c53dab250d-ORD\n",
" -- -- -- ... application/x-tar 37a408b24ebb55be-ORD\n",
" -- -- -- ... application/x-tar 37a408975f5c5582-ORD\n",
" -- -- -- ... application/x-tar 37a408c1592c7179-ORD,\n",
" <Table masked=True length=42>\n",
" Filename_1 Size Last Modified ... Content-Type CF-RAY \n",
" str53 str6 str19 ... str17 str20 \n",
" ---------- ---- ------------- ... ----------------- --------------------\n",
" -- -- -- ... application/x-tar 37a3ffe73c1c420d-MSP\n",
" -- -- -- ... application/x-tar 37a3ffd8fe3b423d-MSP\n",
" -- -- -- ... application/x-tar 37a3ffea6ced420d-MSP\n",
" -- -- -- ... application/x-tar 37a3fffbba824219-MSP\n",
" -- -- -- ... application/x-tar 37a3ff8edeef4249-MSP\n",
" -- -- -- ... application/x-tar 37a3ffd75dde423d-MSP\n",
" -- -- -- ... application/x-tar 37a3ffe59dc54243-MSP\n",
" -- -- -- ... application/x-tar 37a3ffe26e95422b-MSP\n",
" -- -- -- ... application/x-tar 37a3fff56a024207-MSP\n",
" -- -- -- ... application/x-tar 37a3ffed9ff94225-MSP\n",
" ... ... ... ... ... ...\n",
" -- -- -- ... application/x-tar 37a4001be9ed420d-MSP\n",
" -- -- -- ... application/x-tar 37a3fff0bad6422b-MSP\n",
" -- -- -- ... application/x-tar 37a3ffe0effc423d-MSP\n",
" -- -- -- ... application/x-tar 37a3ff8619e84219-MSP\n",
" -- -- -- ... application/x-tar 37a3ffe8d850421f-MSP\n",
" -- -- -- ... application/x-tar 37a3fff3df86420d-MSP\n",
" -- -- -- ... application/x-tar 37a40013c9d74207-MSP\n",
" -- -- -- ... application/x-tar 37a3fffa2936420d-MSP\n",
" -- -- -- ... application/x-tar 37a3fff24f274237-MSP\n",
" -- -- -- ... application/x-tar 37a4000f1f544219-MSP,\n",
" <Table masked=True length=2>\n",
" Filename_1 Size Last Modified ... Content-Type CF-RAY \n",
" str53 str6 str19 ... str17 str20 \n",
" ---------- ---- ------------- ... ----------------- --------------------\n",
" -- -- -- ... application/x-tar 37a400958daf4207-MSP\n",
" -- -- -- ... application/x-tar 37a400a47ff14231-MSP,\n",
" <Table masked=True length=2>\n",
" Filename_1 Size Last Modified ... Content-Type CF-RAY \n",
" str53 str6 str19 ... str17 str20 \n",
" ---------- ---- ------------- ... ----------------- --------------------\n",
" -- -- -- ... application/x-tar 37a401a8ab454231-MSP\n",
" -- -- -- ... application/x-tar 37a401833b8f421f-MSP]"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bads"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"&lt;Table masked=True length=85&gt;\n",
"<table id=\"table4535809168\" class=\"table-striped table-bordered table-condensed\">\n",
"<thead><tr><th>os</th><th>package</th><th>cf-ray-root</th><th>Filename_1</th><th>Size</th><th>Last Modified</th><th>MD5</th><th>Content-Length</th><th>x-amz-meta-s3cmd-attrs</th><th>x-amz-id-2</th><th>Set-Cookie</th><th>CF-Cache-Status</th><th>Expires</th><th>Vary</th><th>Server</th><th>Last-Modified</th><th>Connection</th><th>x-amz-request-id</th><th>Cache-Control</th><th>Date</th><th>x-amz-version-id</th><th>Filename_2</th><th>Content-Type</th><th>CF-RAY</th></tr></thead>\n",
"<thead><tr><th>str8</th><th>str27</th><th>str3</th><th>str53</th><th>str6</th><th>str19</th><th>str35</th><th>int64</th><th>str101</th><th>str76</th><th>str129</th><th>str3</th><th>str29</th><th>str15</th><th>str16</th><th>str29</th><th>str10</th><th>str16</th><th>str18</th><th>str29</th><th>str32</th><th>str33</th><th>str17</th><th>str20</th></tr></thead>\n",
"<tr><td>win-64</td><td>numpy-1.7.1-py33_0.tar.bz2</td><td>ORD</td><td>--</td><td>--</td><td>--</td><td>0a0fffcd2d8f8b976df2c1134d0b73d3-2</td><td>14317225</td><td>--</td><td>n82SBb1ouje3YfpxAdxYi/Oe3WXfGZH6h5t4tjXtjAnUfx/2GL8eLZKhI8zvxCTioMQBls3Yqd8=</td><td>__cfduid=d3aea874d7caabd59f0c8e1a3d015cb0b1499359515; expires=Fri, 06-Jul-18 16:45:15 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:45:45 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 28 Feb 2017 07:17:47 GMT</td><td>keep-alive</td><td>B1B745AE93041CB0</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:45:15 GMT</td><td>Pzl0OKwQWVSB9xxHXPDgBZu4k5nf71rN</td><td>numpy-1.7.1-py33_0.tar.bz2</td><td>application/x-tar</td><td>37a4088affb554f2-ORD</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.7.0-py33_0.tar.bz2</td><td>ORD</td><td>--</td><td>--</td><td>--</td><td>0c4d429e4619b70d1649cd14a775d7b5-2</td><td>14259544</td><td>--</td><td>9lfRgPZ9qEH18KLyG1aQTwGCQ2oP0iLEsnEYkVtWV0BCfuHsGWHQUBPrEWO4vVcckai/A+b7eJE=</td><td>__cfduid=ddd2acf6c0de0a23639abe86c6ec9bc4f1499359513; expires=Fri, 06-Jul-18 16:45:13 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:45:43 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 28 Feb 2017 07:17:35 GMT</td><td>keep-alive</td><td>04FC608742B83619</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:45:13 GMT</td><td>FljdloqRvsWAcYXvZAf.KFsXGWgcIyn.</td><td>numpy-1.7.0-py33_0.tar.bz2</td><td>application/x-tar</td><td>37a408818f302604-ORD</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.7.1-py33_2.tar.bz2</td><td>ORD</td><td>--</td><td>--</td><td>--</td><td>0d93bba67a9cc117391a00cce915fc13-2</td><td>14317111</td><td>--</td><td>1KyX7C0CwHcDClBk+2MScqNcQznlod9zwVz1cQdwpk982jAVb13sSGLqHqUMeZYo+WWCBzUtQAI=</td><td>__cfduid=dd466e713bde72aadcc0e091f90a1ce8d1499359515; expires=Fri, 06-Jul-18 16:45:15 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:45:45 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 28 Feb 2017 07:17:47 GMT</td><td>keep-alive</td><td>5B61116FCB9DA692</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:45:15 GMT</td><td>kE6Ky6SN8hiwXRoduXLxkoPkFYbf7Kqj</td><td>numpy-1.7.1-py33_2.tar.bz2</td><td>application/x-tar</td><td>37a4088d299271e5-ORD</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.8.2-py33_0.tar.bz2</td><td>ORD</td><td>--</td><td>--</td><td>--</td><td>1a9a7b15074138c298cfae803fdb5ad3-4</td><td>25582533</td><td>--</td><td>lsPq2NWEASlxOahWRhxTPAroks6JiQfRZqxKLeLIptKAcsKt8Fh/3bOEmWvf2RStr9AgJpwKBhw=</td><td>__cfduid=d4f9fb9ffa282eceff374a2c0f6b01a6b1499359521; expires=Fri, 06-Jul-18 16:45:21 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:45:51 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 31 Jan 2017 04:45:22 GMT</td><td>keep-alive</td><td>1C03F485FCAC9E16</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:45:21 GMT</td><td>LmwQJEQDdo9llH3M_uaiSLKG2lqx8_gT</td><td>numpy-1.8.2-py33_0.tar.bz2</td><td>application/x-tar</td><td>37a408b35c265631-ORD</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.10.1-py35_0.tar.bz2</td><td>ORD</td><td>--</td><td>--</td><td>--</td><td>212e977915cb2f57d745091c86ead676-13</td><td>104146200</td><td>--</td><td>zG6uFWBPmlBKl9dk+2ybNiBOOpE3NB7p2b6yKoYc+yJb69ob3Tr3jmBoknTpfHRJtJdNc7b3n5M=</td><td>__cfduid=dadeded65830c4d764e4581bf695bfea41499359506; expires=Fri, 06-Jul-18 16:45:06 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:45:36 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 31 Jan 2017 04:44:25 GMT</td><td>keep-alive</td><td>C90A37899333B0B5</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:45:06 GMT</td><td>ygitxKumnYiANlffVSu.k6k9JTINMN50</td><td>numpy-1.10.1-py35_0.tar.bz2</td><td>application/x-tar</td><td>37a408523b8f71e5-ORD</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.7.0-py27_0.tar.bz2</td><td>ORD</td><td>--</td><td>--</td><td>--</td><td>25d849c7527297d5fb94020d9c29cf08-2</td><td>15408959</td><td>--</td><td>xGBnHGGVFa+kzSdVCSN/ofgJBZ+aV/nxuCK0xhQkRYzEK4Oxb+pxlDGwhBoSA2Mg08xk5WS8edE=</td><td>__cfduid=d6ec7f7cc395b32dd16dd7a365a65b3bf1499359513; expires=Fri, 06-Jul-18 16:45:13 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:45:43 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 28 Feb 2017 07:17:35 GMT</td><td>keep-alive</td><td>557316B44DE96CBB</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:45:13 GMT</td><td>nVwBBTI5YEA6aAnjcXEhccppewswh3cg</td><td>numpy-1.7.0-py27_0.tar.bz2</td><td>application/x-tar</td><td>37a408808b7d250d-ORD</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.7.1-py27_3.tar.bz2</td><td>ORD</td><td>--</td><td>--</td><td>--</td><td>26319f3509560750867c1e94168a2467-2</td><td>15379496</td><td>--</td><td>3lG7Kzm4Sbs0FEw9wwFzuMAZU8/xeVhAo9+Mnf4ReXXKUtKwnJ44ymLsRxEr3BFtkEEMLrQWclc=</td><td>__cfduid=dd466e713bde72aadcc0e091f90a1ce8d1499359515; expires=Fri, 06-Jul-18 16:45:15 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:45:45 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 28 Feb 2017 07:17:43 GMT</td><td>keep-alive</td><td>78B60986F3FBD3C7</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:45:15 GMT</td><td>5gVc2w5nzhHcQJz0Z.xjy3931kvZ5N6.</td><td>numpy-1.7.1-py27_3.tar.bz2</td><td>application/x-tar</td><td>37a40889fee271e5-ORD</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.7.1-py27_1.tar.bz2</td><td>ORD</td><td>--</td><td>--</td><td>--</td><td>33b92fbf4e5e141a0394a5ec51db4e2a-2</td><td>15378430</td><td>--</td><td>csB4qxJ9sAqgXUFZpQtihmjq/sUfaMp5qO/gVwTddHWHo29SagUTpRDKHQRH3hiBKq7asGFsFiw=</td><td>__cfduid=d4815d2390646e7a2ff8f0e4d15bbddea1499359514; expires=Fri, 06-Jul-18 16:45:14 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:45:44 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 28 Feb 2017 07:17:41 GMT</td><td>keep-alive</td><td>025C4EFBD1E0879C</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:45:14 GMT</td><td>Ug2YIu.8CjV2GKz2UtSIBPA4jRVFyqHC</td><td>numpy-1.7.1-py27_1.tar.bz2</td><td>application/x-tar</td><td>37a40887eaab5631-ORD</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.8.1-py33_0.tar.bz2</td><td>ORD</td><td>--</td><td>--</td><td>--</td><td>39adf4819242ec89b44873d49b780344-3</td><td>24418708</td><td>--</td><td>PRPNN74SCIwAW0SR39gKCsaeGPnOH3zmyWn3fgm3lomWyZ1c7Mz1an9m3YFjdndvEDKG5fxMOjQ=</td><td>__cfduid=d299edc030425abd89975053114fb83fd1499359518; expires=Fri, 06-Jul-18 16:45:18 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:45:48 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 31 Jan 2017 04:45:16 GMT</td><td>keep-alive</td><td>C48607D3BE0B68E3</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:45:18 GMT</td><td>aHF0pKRqrqZ2gylp.l2cpFX5YktYCGZ1</td><td>numpy-1.8.1-py33_0.tar.bz2</td><td>application/x-tar</td><td>37a4089deebd2549-ORD</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.8.0-py26_0.tar.bz2</td><td>ORD</td><td>--</td><td>--</td><td>--</td><td>3abde34101cbf7914c6ecbb428c75267-3</td><td>24946084</td><td>--</td><td>52i4LQArmo9zLgngQUdBhjkDG0WDxvpNL++RhB7JsBW139w5jVa9hxj+RUCPl17KC7arDu9Hq0E=</td><td>__cfduid=db29daefb083b60b55e8bfe4afa25459d1499359516; expires=Fri, 06-Jul-18 16:45:16 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:45:46 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 31 Jan 2017 04:45:08 GMT</td><td>keep-alive</td><td>B1085F14F5F0575A</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:45:16 GMT</td><td>LIg543PREZjA70b06R8PBSc8J9C6wnqM</td><td>numpy-1.8.0-py26_0.tar.bz2</td><td>application/x-tar</td><td>37a4088f68e7552e-ORD</td></tr>\n",
"<tr><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.7.1-py33_1.tar.bz2</td><td>MSP</td><td>--</td><td>--</td><td>--</td><td>c5812eb0d556ff6d19c306a8d90d81be-2</td><td>14316975</td><td>--</td><td>kpgOsbhY71gPdFGNlAVSKF4MVmopigpeJJKslAjsrgJ3dehaQIPhOD5/n11/NNLLuXD1xlgzqxA=</td><td>__cfduid=dc0a6712500f62065bbf35e1302ae312b1499359161; expires=Fri, 06-Jul-18 16:39:21 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:39:51 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 28 Feb 2017 07:17:47 GMT</td><td>keep-alive</td><td>7666F7E19DD4E202</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:39:21 GMT</td><td>C0LUZMUxHWkhUelHn30Pw3CnupwEPDhm</td><td>numpy-1.7.1-py33_1.tar.bz2</td><td>application/x-tar</td><td>37a3ffe8d850421f-MSP</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.8.1-py27_0.tar.bz2</td><td>MSP</td><td>--</td><td>--</td><td>--</td><td>cc7f9934d99c85e9c9577fbf1e783d94-4</td><td>25255180</td><td>--</td><td>fW1ZzI+6rp2ghzRhGWCmUK6FnpzM2/68KBWXBiI4C1MAwOqveSVXEzCXWM+FHKz7X3Tc+0PBHVc=</td><td>__cfduid=db2638c1215ec494f6c9a60c8b96f17ad1499359163; expires=Fri, 06-Jul-18 16:39:23 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:39:53 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 31 Jan 2017 04:45:12 GMT</td><td>keep-alive</td><td>4012CFF47031D644</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:39:23 GMT</td><td>Ch7ICnXCp9LDCBIFxS07HDWHXt4JrcAp</td><td>numpy-1.8.1-py27_0.tar.bz2</td><td>application/x-tar</td><td>37a3fff3df86420d-MSP</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.9.2-py34_2.tar.bz2</td><td>MSP</td><td>--</td><td>--</td><td>--</td><td>d3d0e97ce25c9c5cd00168fe90abd5b0-3</td><td>23394656</td><td>--</td><td>39fnzk7uWAoFsmtpmtk73t3gXb3y7xn9gM36Ib7a05UnMuR3Xva5pr63F5hXYrl7MeysJChoQM4=</td><td>__cfduid=d09ed9dbf091f278ad7e76f9bc6fa21271499359168; expires=Fri, 06-Jul-18 16:39:28 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:39:58 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 31 Jan 2017 04:45:33 GMT</td><td>keep-alive</td><td>6C1D7F3C2C4F6E00</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:39:28 GMT</td><td>iFHL2JoUeHPdS_mUU4Jr219lMmoOnzDj</td><td>numpy-1.9.2-py34_2.tar.bz2</td><td>application/x-tar</td><td>37a40013c9d74207-MSP</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.8.2-py27_0.tar.bz2</td><td>MSP</td><td>--</td><td>--</td><td>--</td><td>d645b6b3c90e0e2653858657614155fb-4</td><td>26478365</td><td>--</td><td>yv4IGvFuWRKv5Cvq21h2xDKEbIrlRI/8WpvVypXUBIlx2KPpfWASbrs3VtP/MNSXMT+Hi/ylvBk=</td><td>__cfduid=dce24b8ba4d9e13f972e7d96c51cfdb6f1499359164; expires=Fri, 06-Jul-18 16:39:24 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:39:54 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 31 Jan 2017 04:45:23 GMT</td><td>keep-alive</td><td>F311B9FCA0E9CC16</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:39:24 GMT</td><td>c1N7m3AA0UIn8M2pyUufJ02SK.Vtxh1N</td><td>numpy-1.8.2-py27_0.tar.bz2</td><td>application/x-tar</td><td>37a3fffa2936420d-MSP</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.8.1-py26_0.tar.bz2</td><td>MSP</td><td>--</td><td>--</td><td>--</td><td>e9c5bb74e6ba5ee8a18fd5587caf2c34-4</td><td>25249479</td><td>--</td><td>xc4Hurp8upKOHvE1cD0M1K1QcSX9Py+ueHHRDeMs1FTEXcrRIYH+iAHPanh5FQGVzaWzpesXSLw=</td><td>__cfduid=da81ac2c16ec7199eb66cc28e9c3a860b1499359163; expires=Fri, 06-Jul-18 16:39:23 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:39:53 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 31 Jan 2017 04:45:12 GMT</td><td>keep-alive</td><td>A779BF197F985384</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:39:23 GMT</td><td>gaBKeVcavcKscvO_pWAi.z7a34Atb4Yz</td><td>numpy-1.8.1-py26_0.tar.bz2</td><td>application/x-tar</td><td>37a3fff24f274237-MSP</td></tr>\n",
"<tr><td>win-64</td><td>numpy-1.9.2-py27_2.tar.bz2</td><td>MSP</td><td>--</td><td>--</td><td>--</td><td>f0628e51de2a6ba016c682f0a1ec131c-3</td><td>24341258</td><td>--</td><td>Vs0dHFiWxq6/I2EaUGa3H+1MMbpftOPfiaauaTEXkdDTcRykpPUyi3tKe3NLnhY0MzWkCMiMuhg=</td><td>__cfduid=d5d571dc01a621cc68a7c84220b075b2b1499359167; expires=Fri, 06-Jul-18 16:39:27 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:39:57 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 31 Jan 2017 04:45:31 GMT</td><td>keep-alive</td><td>68DDFF0AB143B109</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:39:27 GMT</td><td>GS38IZPWhGCZ8ziS3S3PpzBmGYJLpe6f</td><td>numpy-1.9.2-py27_2.tar.bz2</td><td>application/x-tar</td><td>37a4000f1f544219-MSP</td></tr>\n",
"<tr><td>osx-64</td><td>numpy-1.12.1-py35_0.tar.bz2</td><td>MSP</td><td>--</td><td>--</td><td>--</td><td>2420cbdb4525354d49ef23966df7a61d</td><td>3657887</td><td>--</td><td>vIR50a3leU76qMjYMcX4tm/7M0prrSGF6Hbhz8pUQvsrWY7fZ5EPazjGqTWwXCG3AYt5oCbRGgA=</td><td>__cfduid=d8469d7de692f8872fdf95cbf5e3b167e1499359189; expires=Fri, 06-Jul-18 16:39:49 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:40:19 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Mon, 20 Mar 2017 16:16:55 GMT</td><td>keep-alive</td><td>06942588BACF8650</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:39:49 GMT</td><td>1U5Y0OWCBaRt_C.NOu9zLt.MzVnEkuF8</td><td>numpy-1.12.1-py35_0.tar.bz2</td><td>application/x-tar</td><td>37a400958daf4207-MSP</td></tr>\n",
"<tr><td>osx-64</td><td>numpy-1.13.0-py36_0.tar.bz2</td><td>MSP</td><td>--</td><td>--</td><td>--</td><td>881e4baa497ea7749dc210db9fabc3b7</td><td>3751633</td><td>--</td><td>k885M/kVnxcJJ/QwQkPQ0zwZc4AR+sBlp307pgllGhmqLLBszr9HKMJmAW+7BaxDAxB/pnRED4o=</td><td>__cfduid=de6019d126169397adbdd0197d5e763391499359191; expires=Fri, 06-Jul-18 16:39:51 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:40:21 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Thu, 08 Jun 2017 16:16:21 GMT</td><td>keep-alive</td><td>63608BF049447EAF</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:39:51 GMT</td><td>VadVHdBUmihnVbezgY2pTBcs9t4R4T.a</td><td>numpy-1.13.0-py36_0.tar.bz2</td><td>application/x-tar</td><td>37a400a47ff14231-MSP</td></tr>\n",
"<tr><td>linux-64</td><td>numpy-1.12.1-py35_0.tar.bz2</td><td>MSP</td><td>--</td><td>--</td><td>--</td><td>099c631c5a2a814bf2099c1d0cdf7a00</td><td>7325498</td><td>--</td><td>PraLqURgLqaOitAC/29IXgUDIIkAy4T1s3tWGxZW6SFwi51JCuLFb/JH11c/XAp1</td><td>__cfduid=deb805967378cf52462af65d08275efb71499359233; expires=Fri, 06-Jul-18 16:40:33 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:41:03 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Mon, 20 Mar 2017 16:16:31 GMT</td><td>keep-alive</td><td>6CA8D0351087647E</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:40:33 GMT</td><td>XuOFhC.as9tWcMr4DuFOqNNYgx1Ougi5</td><td>numpy-1.12.1-py35_0.tar.bz2</td><td>application/x-tar</td><td>37a401a8ab454231-MSP</td></tr>\n",
"<tr><td>linux-64</td><td>numpy-1.11.3-py27_0.tar.bz2</td><td>MSP</td><td>--</td><td>--</td><td>--</td><td>6a4b02a2b7132993c21ef2ef60b25913</td><td>6609597</td><td>--</td><td>/a+4dLV/ib4RaCQ4S51YbfremycH5YdsHIFeoVm6xkCyCZSKxLF57aEG956QkHhNaptWU08BpPQ=</td><td>__cfduid=d0e6e130909f42f014d9bb4d0cdbe40481499359227; expires=Fri, 06-Jul-18 16:40:27 GMT; path=/; domain=.continuum.io; HttpOnly</td><td>HIT</td><td>Thu, 06 Jul 2017 16:40:57 GMT</td><td>Accept-Encoding</td><td>cloudflare-nginx</td><td>Tue, 31 Jan 2017 03:15:36 GMT</td><td>keep-alive</td><td>4E88F021996859B2</td><td>public, max-age=30</td><td>Thu, 06 Jul 2017 16:40:27 GMT</td><td>Oy7bjUjJ7NyhlcmYWaockzmFqzk1SEHq</td><td>numpy-1.11.3-py27_0.tar.bz2</td><td>application/x-tar</td><td>37a401833b8f421f-MSP</td></tr>\n",
"</table>"
],
"text/plain": [
"<Table masked=True length=85>\n",
" os package ... Content-Type CF-RAY \n",
" str8 str27 ... str17 str20 \n",
"-------- --------------------------- ... ----------------- --------------------\n",
" win-64 numpy-1.7.1-py33_0.tar.bz2 ... application/x-tar 37a4088affb554f2-ORD\n",
" win-64 numpy-1.7.0-py33_0.tar.bz2 ... application/x-tar 37a408818f302604-ORD\n",
" win-64 numpy-1.7.1-py33_2.tar.bz2 ... application/x-tar 37a4088d299271e5-ORD\n",
" win-64 numpy-1.8.2-py33_0.tar.bz2 ... application/x-tar 37a408b35c265631-ORD\n",
" win-64 numpy-1.10.1-py35_0.tar.bz2 ... application/x-tar 37a408523b8f71e5-ORD\n",
" win-64 numpy-1.7.0-py27_0.tar.bz2 ... application/x-tar 37a408808b7d250d-ORD\n",
" win-64 numpy-1.7.1-py27_3.tar.bz2 ... application/x-tar 37a40889fee271e5-ORD\n",
" win-64 numpy-1.7.1-py27_1.tar.bz2 ... application/x-tar 37a40887eaab5631-ORD\n",
" win-64 numpy-1.8.1-py33_0.tar.bz2 ... application/x-tar 37a4089deebd2549-ORD\n",
" win-64 numpy-1.8.0-py26_0.tar.bz2 ... application/x-tar 37a4088f68e7552e-ORD\n",
" ... ... ... ... ...\n",
" win-64 numpy-1.7.1-py33_1.tar.bz2 ... application/x-tar 37a3ffe8d850421f-MSP\n",
" win-64 numpy-1.8.1-py27_0.tar.bz2 ... application/x-tar 37a3fff3df86420d-MSP\n",
" win-64 numpy-1.9.2-py34_2.tar.bz2 ... application/x-tar 37a40013c9d74207-MSP\n",
" win-64 numpy-1.8.2-py27_0.tar.bz2 ... application/x-tar 37a3fffa2936420d-MSP\n",
" win-64 numpy-1.8.1-py26_0.tar.bz2 ... application/x-tar 37a3fff24f274237-MSP\n",
" win-64 numpy-1.9.2-py27_2.tar.bz2 ... application/x-tar 37a4000f1f544219-MSP\n",
" osx-64 numpy-1.12.1-py35_0.tar.bz2 ... application/x-tar 37a400958daf4207-MSP\n",
" osx-64 numpy-1.13.0-py36_0.tar.bz2 ... application/x-tar 37a400a47ff14231-MSP\n",
"linux-64 numpy-1.12.1-py35_0.tar.bz2 ... application/x-tar 37a401a8ab454231-MSP\n",
"linux-64 numpy-1.11.3-py27_0.tar.bz2 ... application/x-tar 37a401833b8f421f-MSP"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bad_table"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"bad_table.write('bad_numpy_caches-2017-07-06.csv')"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"'75672b0b38c02a1b5e26a40fc3deeed9'"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"numpys['MD5'][0].strip('\"')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"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.12"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment