-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrequests1.py
More file actions
52 lines (42 loc) · 1.38 KB
/
requests1.py
File metadata and controls
52 lines (42 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import requests
import pygal
from pygal.style import LightColorizedStyle as LCS, LightenStyle as LS
url = "https://api.github.com/search/repositories?q=language:python&sort=stars"
r = requests.get(url)
print("Status code:", r.status_code)
response_dict = r.json()
print(response_dict.keys())
print("Total repos: " + str(response_dict["total_count"]))
repo_dicts = response_dict["items"]
print("Repositories returned: " + str(len(repo_dicts)))
repo_dict = repo_dicts[0]
print("Keys: " + str(len(repo_dict)))
for key in sorted(repo_dict.keys()):
print(key)
names = []
#stars = []
plot_dicts = []
for repo_dict in repo_dicts:
names.append(repo_dict["name"])
#stars.append(repo_dict["stargazers_count"])
plot_dicts.append({
"value": repo_dict["stargazers_count"],
"label": repo_dict["description"],
"xlink": repo_dict["html_url"]
})
my_style = LS("#333366", base_style=LCS)
my_config = pygal.Config()
my_config.x_label_rotation = 45
my_config.show_legend = False
my_config.title_font_size = 24
my_config.label_font_size = 14
my_config.major_label_font_size = 18
my_config.truncate_label = 15
my_config.show_y_guides = False
my_config.width = 1000
chart = pygal.Bar(my_config, style=my_style)
chart.title = "Most-starred Python Projects on GitHub"
chart.x_labels = names
#chart.add("", stars)
chart.add("", plot_dicts)
chart.render_to_file("python_repos.svg")