2020 年 GitHub 上十大最火 Python 项目,看完之后我裂开了(一)

简介: GitHub 作为程序员每天必逛的网站之一,上面有着太多优秀的开源项目,今天派森酱就带大家来梳理下在过去的一年里,GitHub 上最火的 Python 项目 Top10。

数据获取

如果你留心看过 GitHub 的文档的话,你就会知道关于 GitHub 上的大部分数据,GitHub 官方都是提供了接口了的。比如我们今天要获取的数据就可以从下面这个接口拿到。

https://api.github.com/search/repositories?q=language:python+created:%3E2019-12-31&sort=stars&order=desc&per_page=10

如上所示,我们只获取语言为 Python 的开源项目,且创建时间晚于 2019-12-31,也就是 2020 年新创建的开源项目才做统计,接下来我们按照 stars 数倒序排序,取前十条记录就拿到我们需要的数据啦。

由于该接口返回的开源项目信息过于庞大,我们只取项目名称,URL,fork 数,star 数以及 watch 数。

# 获取数据
def get_data():
    base_url = 'https://api.github.com/search/repositories?q=language:python+created:%3E2019-12-31&sort=stars&order=desc&per_page=10'
    response = requests.get(base_url)
    result = response.json()
    data = {}
    for item in result['items']:
        data[item['name']] = [item['html_url'], item['stargazers_count'], item['watchers_count'], item['forks']]
    return data

可视化

# 可视化
def show_img():
    data = get_data()
    names = list(data.keys())
    values = [data[name][1] for name in names]
    bar = (
        Bar()
            .add_xaxis(names[::-1])
            .add_yaxis("星标数", values[::-1])
            .reversal_axis()
            .set_series_opts(label_opts=opts.LabelOpts(position="right"))
            .set_global_opts(
            yaxis_opts=opts.AxisOpts(name_rotate=0, name="项目", axislabel_opts={'interval': -10, "rotate": 0}),
            title_opts=opts.TitleOpts(title="2020 GitHub Python TOP 10"))
    )
    bar.render_notebook()

将获取到的数据,按照 star 数从大到小生成柱状图,如下所示:


22.jpg

00 Depix


23.jpg


伴随着移动互联网的普及,我们的生活越来越便利,衣食住行一个手机全搞定,可手机在给我们带来便利的同时,也在威胁着我们的个人隐私安全。比如很多 App 动不动就要你实名认证,甚至人脸识别等。

以至于现在的我们都变得格外的小心翼翼,有时候发个朋友圈都要打马赛克,生怕泄漏一点点隐私。

可如果现在我告诉你,「打马赛克」已经不在安全了,你想要隐藏的信息,已犹如裸奔你会作何感想。

最近 GitHub 上出现了一个火的一塌糊涂的项目,它就是号称能抹去马赛克让原图重现的神器 Depix。截至目前,该项目的星标数已经超过 14K。

24.jpg

上面是一个官方给出的示例图,我们可以看出使用 Depix 恢复后,基本上已经可以看清大部分内容了,太恐怖了。

01 diagrams

25.jpg



作为程序员的我们可能平时画图比较少,顶多也就是写写文档。但画图可是架构师必备技能之一,熟话说不想当架构师的程序员不是合格的程序员,画图我们还是有必要学习一下的。

说到画图,你肯定想到的是各种在线离线工具等,你有试过用代码来画图吗?

没错,你没有听错,用代码来画图完全可行。利用 diagrams 库,我们就可以通过以代码的方式来绘制诸如阿里云、AWS、K8S 等系统架构图。

真正做到了图表即代码,代码即图表。

目录
相关文章
|
2月前
|
人工智能 文字识别 异构计算
关于github开源ocr项目的疑问
小白尝试Python OCR学习,遇到报错。尝试Paddle OCR部署失败,Tesseract OCR在Colab误操作后恢复失败。EasyOCR在Colab和阿里天池Notebook成功,但GPU资源不足。其他平台部署不顺,决定使用WebUI或阿里云轻应用。求教OCR项目部署到本地及简单OCR项目推荐。
31 2
|
2月前
|
人工智能 自然语言处理 iOS开发
『GitHub项目圈选19』推荐5款本周 让人爱不释手 的开源项目
『GitHub项目圈选19』推荐5款本周 让人爱不释手 的开源项目
|
4天前
|
数据采集 Dart Apache
Github 2024-05-07 Python开源项目日报 Top10
在2024年5月7日的Github Trendings中,Python开源项目占据主导,共有10个项目上榜。其中热门项目包括:yt-dlp,一个增强版的youtube-dl分支,具有64K+星标;Home Assistant,专注本地控制和隐私的开源家庭自动化项目,拥有65K+星标;以及openpilot,一个开源驾驶辅助系统,支持多种车型,45K+星标。其他项目涵盖爬虫工具、实时应用框架Flet、可观测性平台Logfire等,涉及Python、Dart和C++等多种语言。
36 10
|
5天前
|
开发工具 git
Git项目如何配置,如何上传至GitHub。其详细步骤
Git项目如何配置,如何上传至GitHub。其详细步骤
8 0
|
6天前
|
Python
【python】在pycharm创建一个新的项目
【python】在pycharm创建一个新的项目
356 0
|
7天前
|
机器学习/深度学习 数据采集 数据可视化
Python众筹项目结果预测:优化后的随机森林分类器可视化|数据代码分享
Python众筹项目结果预测:优化后的随机森林分类器可视化|数据代码分享
|
13天前
|
机器学习/深度学习 算法 UED
【Python 机器学习专栏】A/B 测试在机器学习项目中的应用
【4月更文挑战第30天】A/B测试在数据驱动的机器学习项目中扮演关键角色,用于评估模型性能、算法改进和特征选择。通过定义目标、划分群组、实施处理、收集数据和分析结果,A/B测试能帮助优化模型和用户体验。Python提供工具如pandas和scipy.stats支持实验实施与分析。注意样本量、随机性、时间因素和多变量分析,确保测试有效性。A/B测试助力于持续改进机器学习项目,实现更好的成果。
|
15天前
|
存储 文字识别 计算机视觉
【python版CV】- 银行卡号识别项目
【python版CV】- 银行卡号识别项目
504 0
|
19天前
|
Shell 开发工具 git
如何在GitHub上传项目
如何在GitHub上传项目
17 1
|
20天前
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
25 0