checkpip.py 793 B

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/env python3
  2. """
  3. Checks that the version of the projects bundled in ensurepip are the latest
  4. versions available.
  5. """
  6. import ensurepip
  7. import json
  8. import urllib.request
  9. import sys
  10. def main():
  11. outofdate = False
  12. for project, version in ensurepip._PROJECTS:
  13. data = json.loads(urllib.request.urlopen(
  14. "https://pypi.org/pypi/{}/json".format(project),
  15. cadefault=True,
  16. ).read().decode("utf8"))
  17. upstream_version = data["info"]["version"]
  18. if version != upstream_version:
  19. outofdate = True
  20. print("The latest version of {} on PyPI is {}, but ensurepip "
  21. "has {}".format(project, upstream_version, version))
  22. if outofdate:
  23. sys.exit(1)
  24. if __name__ == "__main__":
  25. main()