|
|
51CTO旗下网站
|
|
移动端

5月份Github上热门的十个Python项目

5 月份刚刚过去,之前看到了一篇介绍 5 月份的最热机器学习项目,刚好看到 Mybridge AI 博客又发表了一篇 5 月份最热的 Python Github 开源项目,同样是在将近 230 个 Python 开源项目中选择最热门的前十个。

作者:算法猿的成长来源:今日头条|2019-06-13 12:10

【大咖·来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》

5 月份刚刚过去,之前看到了一篇介绍 5 月份的最热机器学习项目,刚好看到 Mybridge AI 博客又发表了一篇 5 月份最热的 Python Github 开源项目,同样是在将近 230 个 Python 开源项目中选择最热门的前十个。

选择的十个项目包含了 Debug 工具、删除 Facebook 文章、无限云盘存储空间、AI 水军、并发运算工具、量化交易系统等等。

那么就来看看这十个项目吧!

5月份 Github 上最热的十个 Python 项目

第一名:PySnooper

这是一款调试代码的工具,让你不需要再通过采用 print 来定位错误发生的地方和原因。目前有 11000+ 星。

PySnooper 可以让你不需要仔细选择哪些行需要打印信息,只需要对目标函数添加一行装饰器,就可以知道很仔细看到函数的运行状况,包括哪行运行、局部变量的变化等。

安装方法很简单,可以使用 pip 或 anaconda 两种安装方法:

  1. $ pip install pysnooper 

或者 

  1. $ conda install -c conda-forge pysnooper 

一个使用例子如下,首先是需要导入 pysnooper ,然后想知道函数 number_to_bits() 的运行情况,只需要添加 @pysnooper.snoop() 即可。

  1. import pysnooper 
  2.  
  3. @pysnooper.snoop() 
  4. def number_to_bits(number): 
  5.  if number: 
  6.  bits = [] 
  7.  while number: 
  8.  number, remainder = divmod(number, 2) 
  9.  bits.insert(0, remainder) 
  10.  return bits 
  11.  else
  12.  return [0] 
  13.  
  14. number_to_bits(6) 

得到的输出结果:

  1. Starting var:.. number = 6 
  2. 15:29:11.327032 call 4 def number_to_bits(number): 
  3. 15:29:11.327032 line 5 if number: 
  4. 15:29:11.327032 line 6 bits = [] 
  5. New var:....... bits = [] 
  6. 15:29:11.327032 line 7 while number: 
  7. 15:29:11.327032 line 8 number, remainder = divmod(number, 2) 
  8. New var:....... remainder = 0 
  9. Modified var:.. number = 3 
  10. 15:29:11.327032 line 9 bits.insert(0, remainder) 
  11. Modified var:.. bits = [0] 
  12. 15:29:11.327032 line 7 while number: 
  13. 15:29:11.327032 line 8 number, remainder = divmod(number, 2) 
  14. Modified var:.. number = 1 
  15. Modified var:.. remainder = 1 
  16. 15:29:11.327032 line 9 bits.insert(0, remainder) 
  17. Modified var:.. bits = [1, 0] 
  18. 15:29:11.327032 line 7 while number: 
  19. 15:29:11.327032 line 8 number, remainder = divmod(number, 2) 
  20. Modified var:.. number = 0 
  21. 15:29:11.327032 line 9 bits.insert(0, remainder) 
  22. Modified var:.. bits = [1, 1, 0] 
  23. 15:29:11.327032 line 7 while number: 
  24. 15:29:11.327032 line 10 return bits 
  25. 15:29:11.327032 return 10 return bits 
  26. Return value:.. [1, 1, 0] 

当然,它还可以只监控函数中的一部分代码,还有其他的用法,具体可以到其 Github 上。

链接:

  1. https://github.com/cool-RR/pysnooper?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more 

第二名:DeleteFB

一款用于删除 Facebook 文章的工具,目前有 2224 星。

这款工具是基于 Selenium 实现的,因此作者认为它比一些第三方 app 更加可靠,并且也不容易遭到 Facebook 的阻拦。

几种安装方法:

  1. # 1.Install from PyPI 
  2. pip install --user delete-facebook-posts 
  3.  
  4. # 2.Clone repo and run 
  5. pip install --user . 
  6. or 
  7. pip install --user git+https://github.com/weskerfoot/DeleteFB.git 
  8.  
  9. # 3.Set up a Python virtualenv, activate it, and run 
  10. pip install -r requirements.txt 

其他的详细介绍可以查看该 Github 项目。

链接:

https://github.com/weskerfoot/DeleteFB?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第三名:无限云盘存储空间(UDS : Unlimited Drive Storage)

第三名是一个可以实现不需要占据空间但能上传文件到谷歌云盘的一个工具,目前 3232 星。

根据它的介绍,实现这个功能主要是通过将二进制文件分解成 base64 的格式,其实现的功能:

  • 将文件上传到谷歌云盘但不会占据存储空间;
  • 下载任意存储的文件到本地电脑

具体实现的逻辑是:

  • 谷歌文档在谷歌云盘中是不占空间的
  • 将二进制文件采用 base64 编码文件分解为谷歌文档
  • 编码后的文件大小总是会大于源文件,而经过 Base64 编码的二进制数据后的文件和源文件的比例大约是 4:3
  • 单个谷歌文档可以存储大约一百万字节,这大约是 710 KB 大小的 base64编码数据
  • 尝试采用多线程上传文件,但没有显著提升速度

具体的配置和使用方法可以查看它在 Github 上的介绍。

链接:

https://github.com/stewartmcgown/uds?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第四名:eht-imaging

这是一个应用在射电干涉测量方面的成像、分析、仿真软件。目前有 5000+ 星。

具体来说,就是可以仿真和操纵 VLBI 数据并利用正则化的最大似然方法生成图片的一个 Python 模块。

链接:

https://github.com/achael/eht-imaging?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

官方文档链接:

https://achael.github.io/eht-imaging/

第五名:YouTubeCommenter

应用于 Youtube,利用 AI 技术,基于视频标题生成评论的工具,目前有 159 星。

作者也说了目前该项目仅仅是作为一个参考,还不能真正应用。

感觉如果技术真正成熟,这就是一个 AI 水军,而且可以快速控制某些视频的评论。

此外,这里还有作者的一个视频介绍和演示,需要科学上网以及良好的英语听力,视频大约是 9 分钟左右,大致简单看了作者演示的效果,确实离真正可用还是有很大的距离。

https://youtu.be/tY6SvZEic9k

链接:

https://github.com/HackerPoet/YouTubeCommenter?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more 

第六名:stackprinter

这也是一个调试工具,目前有 900+ 星。

它会打印出错代码内容以及这段代码周围的变量数值,这非常符合一个友好的交互的调试器:出错的代码位置,附近变量数值,以及这个函数调用这些参数的原因。

安装方法很简单:

  1. pip install stackprinter 

更详细的介绍可以查看其 Github。

链接:

https://github.com/cknd/stackprinter?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第七名:Pykka

Pykka 是对并发运算中的角色模型(actor model)的 python 版实现库,目前有 763星。

具体细节和使用例子可以查看官方文档:

  1. https://www.pykka.org/en/latest/ 

安装方法如下:

  1. pip install pykka 

链接:

https://github.com/jodal/pykka?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第八名:QTSSTM4

一个数字货币的量化交易系统。目前有 244 星。

这个系统对于初学者可能比较复杂,作者建议先看看下面三份资料:

  • https://github.com/xiaoyao153379/BakTst_Org)
  • https://github.com/xiaoyao153379/BakTst_Trd)
  • https://github.com/xiaoyao153379/scripts

详细的介绍查看 Github。

链接:

https://github.com/xiaoyao153379/QTSSTM4?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第九名:Maildown

一个简单的发送邮件的命令行接口,目前有 521 星。

Maildown 是基于亚马逊的 SES 服务,它每个月可以免费发送 62000 封邮件,可以满足大部分人的需求。

因此,在使用 Maildown 之前需要先一个亚马逊 AWS 的账号,注册地址:

https://aws.amazon.com/

然后也需要有一个 SES 账户:

https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html

安装方法直接用

  1. pip install maildown 

更详细的介绍请查看 Github。

链接:

https://github.com/chris104957/maildown?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more

第十名:modDetective

这是一个根据修改时间对文件进行排序操作的工具,目前有 119 星。

目前这个工具还在继续完善和优化中,根据作者的说法,目前查找速度还是线性的,需要继续优化。

Github 有一个简单演示的视频。

链接:

https://github.com/itsKindred/modDetective?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more 

【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

这就是5G

这就是5G

5G那些事儿
共15章 | armmay

111人订阅学习

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

371人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

755人订阅学习

读 书 +更多

精通SOA:基于服务总线的Struts+EJB+Web Service

Java的出现,实现了跨操作系统平台的程序开发,以Java为基础的J2EE技术已经成为因特网服务技术的主流。然而,以J2EE为基础的SOA架构技术必...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微