def get_gae_versions():
    r = requests.get(SDK_RELEASES_URL)
    r.raise_for_status()
    releases = r.json().get('items', {})
    versions_and_urls = []
    for release in releases:
        match = PYTHON_RELEASE_RE.match(release['name'])
        if not match:
            continue
        versions_and_urls.append(
            ([int(x) for x in match.groups()], release['mediaLink']))
    return sorted(versions_and_urls, key=lambda x: x[0])