5月份 Github 上最热的十个 Python 项目,从Debug工具到AI水军、量化交易系统。

2019 年第 46 篇,总第 70 篇文章

原文地址:https://medium.mybridge.co/python-open-source-for-the-past-month-v-may-2019-473e9f60c73f

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

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

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


第一名:PySnooper

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

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

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

$ pip install pysnooper
或者
$ conda install -c conda-forge pysnooper

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

import pysnooper@pysnooper.snoop()
def number_to_bits(number):if number:bits = []while number:number, remainder = divmod(number, 2)bits.insert(0, remainder)return bitselse:return [0]number_to_bits(6)

得到的输出结果:

Starting var:.. number = 6
15:29:11.327032 call         4 def number_to_bits(number):
15:29:11.327032 line         5     if number:
15:29:11.327032 line         6         bits = []
New var:....... bits = []
15:29:11.327032 line         7         while number:
15:29:11.327032 line         8             number, remainder = divmod(number, 2)
New var:....... remainder = 0
Modified var:.. number = 3
15:29:11.327032 line         9             bits.insert(0, remainder)
Modified var:.. bits = [0]
15:29:11.327032 line         7         while number:
15:29:11.327032 line         8             number, remainder = divmod(number, 2)
Modified var:.. number = 1
Modified var:.. remainder = 1
15:29:11.327032 line         9             bits.insert(0, remainder)
Modified var:.. bits = [1, 0]
15:29:11.327032 line         7         while number:
15:29:11.327032 line         8             number, remainder = divmod(number, 2)
Modified var:.. number = 0
15:29:11.327032 line         9             bits.insert(0, remainder)
Modified var:.. bits = [1, 1, 0]
15:29:11.327032 line         7         while number:
15:29:11.327032 line        10         return bits
15:29:11.327032 return      10         return bits
Return value:.. [1, 1, 0]

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

链接:

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

第二名:DeleteFB

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

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

几种安装方法:

# 1.Install from PyPI
pip install --user delete-facebook-posts# 2.Clone repo and run
pip install --user .
# or
pip install --user git+https://github.com/weskerfoot/DeleteFB.git# 3.Set up a Python virtualenv, activate it, and run
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+ 星。

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

640?wx_fmt=png

安装方法很简单:

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 星。

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

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

安装方法如下:

pip install pykka

链接:

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

第八名:QTSSTM4

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

整个系统的结构如下图所示:

640?wx_fmt=png

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

  • BakTst_Org

  • BakTst_Trd

  • 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

安装方法直接用

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


这就是作者整理出来的 5 月份 Github 上最热的十个 Python 项目,往届其他 Python、机器学习等热门项目也可以查看一下 Github:

https://github.com/Mybridge/python-open-source

或者网站:

https://medium.mybridge.co/

原文地址:https://medium.mybridge.co/python-open-source-for-the-past-month-v-may-2019-473e9f60c73f


欢迎关注我的微信公众号--机器学习与计算机视觉,或者扫描下方的二维码,大家一起交流,学习和进步!

640?wx_fmt=jpeg

如果觉得不错,在看、转发就是对小编的一个支持!

往期精彩推荐

机器学习系列

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

Github项目 & 资源教程推荐

640?wx_fmt=jpeg

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

注册.NET Framework

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe /i 转载于:https://www.cnblogs.com/qq1223558/p/3195092.html

[Github项目]基于PyTorch的深度学习网络模型实现

2019 年第 48 篇文章,总第 72 篇文章本文大约 1500 字,阅读大约需要 4 分钟今天主要分享两份 Github 项目,都是采用 PyTorch 来实现深度学习网络模型,主要是一些常用的模型,包括如 ResNet、DenseNet、ResNext、SENet等…

抽象类总结及练习

该篇文章只是说明抽象类的一个使用场景,由于小弟水平一般,如果有说的不对地方希望各位大牛们指出,也欢迎各位亲们补充。 什么是抽象类 用关键字abstract定义的类即为抽象类,且只能作为基类。 抽象类注意的地方 1、 用abstract定义…

Python基础入门_4函数

Python 基础入门前三篇: Python 基础入门–简介和环境配置Python基础入门_2基础语法和变量类型Python基础入门_3条件语句和迭代循环 第四篇内容,这次介绍下函数的基本用法,包括函数的定义、参数的类型、匿名函数、变量作用域以及从模块导入…

event auto模式的问题

。。。转载于:https://www.cnblogs.com/bluebbc/p/3196777.html

一文了解神经网络的基本原理

这是简单介绍神经网络的知识,并介绍一种特别的神经网络–多层感知器(Multi Layer Perceptron,MLP)。 翻译自 https://ujjwalkarn.me/2016/08/09/quick-intro-neural-networks/ 这篇文章并不涉及到对数学公式的推导,只是简单介绍了神经网络的结构和基本…

详解javascript中的call, apply

一些学js的同学一看到call, apply, 就蒙了, 感觉不好懂, 看的头大. 今天我们就一起来研究一下这2个东东.彻底弄清楚它们的用法. 定义: call, apply是函数的方法, 只有函数才有这2个方法.作用: call, apply主要作用是改变函数赖以执行的作用域, 简言之就是改变函数中this的指向.…

[Python技巧]是时候用 defaultdict 和 Counter 代替 dictionary 了

我们在采用 dict 的时候,一般都需要判断键是否存在,如果不存在,设置一个默认值,存在则采取其他的操作,但这个做法其实需要多写几行代码,那么是否有更高效的写法,可以减少代码,但可读…

数据库索引应用

一、索引的概念索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。二、索引…

[Github推荐]CVPR2019录用论文下载及可视化论文网站

简介 CVPR 是 IEEE Conference on Computer Vision and Pattern Recognition 的缩写,即 IEEE 国际计算机视觉与模式识别会议。该会议是由 IEEE 举办的计算机视觉和模式识别领域的顶级会议。 它是 IEEE 一年一度的学术性会议,会议的主要内容是计算机视觉…

UNIX网络编程——fcntl函数

fcntl函数提供了与网络编程相关的如下特性:非阻塞式I/O。 通过使用F_SETFL命令设置O_NONBLOCK文件状态标志,我们可以把一个套接字设置为非阻塞型。信号驱动式I/O。 通过使用F_SETFL命令设置O_ASYNC文件状态标志,我们可以把一个套接字设置成O…

如何远程访问服务器的 Jupyter notebook

图来自 Unsplash 网站,作者:Christopher Gower2019 年第 52 篇文章,总第 76 篇文章本文大约 4600 字,阅读大约需要 12 分钟写在前面当我们拥有一台服务器的时候,通常服务器都可能包含比本地电脑比较好的配置&#xff0…

[Python技巧]如何加快循环操作和Numpy数组运算速度

2019 年第 53 篇文章,总第 77 篇文章本文大约 4200 字,阅读大约需要 11 分钟前言Python 虽然写起来代码量要远少于如 C,Java,但运行速度又不如它们,因此也有了各种提升 Python 速度的方法技巧,这次要介绍的是用 Numba …