Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
allendowney
GitHub Repository: allendowney/cpython
Path: blob/main/Tools/scripts/checkpip.py
12 views
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
11
12
def main():
13
outofdate = False
14
15
for project, version in ensurepip._PROJECTS:
16
data = json.loads(urllib.request.urlopen(
17
"https://pypi.org/pypi/{}/json".format(project),
18
cadefault=True,
19
).read().decode("utf8"))
20
upstream_version = data["info"]["version"]
21
22
if version != upstream_version:
23
outofdate = True
24
print("The latest version of {} on PyPI is {}, but ensurepip "
25
"has {}".format(project, upstream_version, version))
26
27
if outofdate:
28
sys.exit(1)
29
30
31
if __name__ == "__main__":
32
main()
33
34