GitHub上十大很火的Python项目,最后一个竟然是它!
作为程序开发人员,GitHub是大家平时必逛的网站,GitHub作为目前全球比较大的男性同性交友平台,上面存在着太多太多的宝藏程序。
今天,小编就为大家来盘点一下GitHub上最火的python项目前十名。并分别为大家介绍每个项目的用途,看看大家能从中收获什么。
01数据获取
对于GitHub上的信息,可以通过GitHub的API接口进行获取
上述的程序中,利用requests库,就可以抓取API接口返回的json数据,并提取我们需要的项目内容。API返回的项目信息中,已经按照star的数量给我们做好了排序,所以我们只需要提取其中的项目名称、star数量、url链接已经创建时间即可。
将抓取到的数据,按照项目的创建时间进行排序后,可视化展示的结果如下:
可以看到,虽然flask、httpie创建的时间是最早的一批,但是却不是star数量最多的项目。反而是创建时间较短的system-design-primer和Python-100-Days项目取得了很高的star数量。下面我们按照项目创建时间的先后顺序,来看一下每个项目的用途是什么吧。
02十大项目
1.Flask
https://github.com/pallets/flask
对于web开发人员来说,Flask是非常熟悉的项目了,Flask是一款轻量级的Web开发程序框架。它主要面向需求简单,项目周期短的小应用。Flask入门非常的简单,并可以通过扩展来增加其他的功能。在之前分享的案例中,小编就利用Flask来进行了简单的Web开发应用。
2.httpie
https://github.com/httpie/httpie
httpie是一个命令行的HTTP客户端,它提供了简单的http的命令。返回带代码高亮的结果信息,可以很方便的在http交互场景下及逆行测试调试。官网还给出了httpie的使用方式演示图。
3.Django
https://github.com/django/django
django同样是Web开发的程序框架,它是由python语言进行编写的。django可以快速的开发出安全和可维护的网站。它强调代码的复用性,所以不需要自己重复的造轮子。
Django相比于Flask来说,功能非常的全面,而且提供了一站式的解决方案。但是它的缺点就是比较笨重。所以想要开发功能较为齐全的传统企业级网站(电商、社交平台等),选择django比较合适,而想要开发个轻量级的网站,则优先选择flask。
4.Awesome-python
https://github.com/vinta/awesome-python
awesome-python(精选的python)从项目的名字就可以看出,它集合了大量的优质的python项目。而且覆盖范围很广,包含了Web框架、爬虫、数据可视化、图像处理、机器学习等等内容。堪称是python的资料大全。此外,该项目还有中文翻译版(https://github.com/jobbole/awesome-python-cn),大家也可以直接看中文翻译版,从中发现python项目宝库。
5.Thefuck
这个项目,看名字就很霸气,它的用处是对于命令行语句错误的修正提示。如下图所示。
https://github.com/nvbn/thefuck
当在命令行里错误的输入aptget install vim的命令,thefuck会进行提示,提示我们是apt-get install vim,我们接着输入fuck,程序就会自动的进行修正。用起来既有趣又能解决办法。
6.Models
https://github.com/tensorflow/models
这个项目是针对于tensorflow框架用户进行开发指导的项目。其中包含了许多针对TensorFlow用户的最新模型和针对具体问题的模型搭建的解决方案。项目中提供了演示建模的最佳的实现,来指导TensorFlow用户可以充分利用TensorFlow进行研究和产品开发。tensorflow用户可以直接从该项目中下载现成的模型文件,然后进行训练和开发。
7.Public-apis
https://github.com/public-apis/public-apis
从项目的名字我们就知道,该项目提供了开源的API接口。项目介绍中指明了该项目提供了用于软件和Web开发的免费API的汇总列表。包含了动物、健康、日历、政府等共计45个大项的免费API接口。需要注意的是,作者也提出,有的接口可能存在失效的可能。
8.The Algorithms Python
https://github.com/TheAlgorithms/Python
该项目是利用python语言来实现所有算法的项目,出于教学的目的,所有算法都是利用python语言从底层一点一点实现,所以在执行的效率上可能不如python标准库的速度快。该项目实现的算法非常的全面,涵盖了机器学习、线性代数、计算机视觉、排序、神经网络等等方向的算法。
9.System-Design-Primer
https://github.com/donnemartin/system-design-primer
该项目的目的是学习如何设计大型系统,并为系统设计的面试做准备。项目提供了包含中文、英文、日文、韩文等等多种语言的翻译版本。学习如何设计可扩展的系统对于以后的系统开发会有很大的帮助,因此,对这方面感兴趣的小伙伴可以star并进行学习。顺便说一下,这个项目也是截至目前为止,GitHub上最火的python项目,star的数量已经超过了11万。
10.Python-100-Days
https://github.com/jackfrued/Python-100-Days