Skip to content

Instantly share code, notes, and snippets.

@trinitronx
Created February 7, 2017 17:50
Show Gist options
  • Save trinitronx/026574839d96a0c0efe1e9f2fd300f03 to your computer and use it in GitHub Desktop.
Save trinitronx/026574839d96a0c0efe1e9f2fd300f03 to your computer and use it in GitHub Desktop.
Pip list all versions of a package that are available
import json
import urllib2
from distutils.version import StrictVersion
from distutils.version import LooseVersion
def versions(package_name):
url = "https://pypi.python.org/pypi/%s/json" % (package_name,)
data = json.load(urllib2.urlopen(urllib2.Request(url)))
versions = data["releases"].keys()
try:
versions.sort(key=StrictVersion)
except ValueError as e:
if 'invalid version number' in str(e):
versions.sort(key=LooseVersion)
else:
raise e
return versions
print "\n".join(versions("Jinja2"))
@mariomelofilho
Copy link

Thanks!
Also for python3 version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment