2017年GitHub上新增的值得学习的Python开源库

python开源.jpg

开源项目对于我们在软件开发的过程中有着非常重大的作用,我们可以阅读学习开源项目的源码并在它的基础上建立我们自己的项目,通过他人造的轮子我们可以节省很多非常宝贵的时间并少走许多的弯路,所以对于开源项目的学习是很有必要的。

截止到目前为止,在GitHub上当我们以Python为关键字进行搜索时,发现有者60+W的相关搜索结果,近年来,Python越来越热门,在GitHub上的开源项目也井喷式的发展,那么在众多的开源项目中,哪些非常优秀的项目是非常值得我们去学习的呢?下面就为大家来介绍在GitHub上非常热门的开源项目。

github上Pythonp项目数量.png

Home Assistant

home-siisistant简介.png

home-saaistant.png

Home Assistant是一个开源的家庭智能控制系统,它有着非常友好的基于Web的可自定义UI,可以连接灯、开关、音响设备、安放设备等,可以集中管理并追踪他们的状态。可以在一个界面上控制来自于不同厂家的不同智能设备,并且这些行为都是可以自定义的,让智能化的家庭有着更多的可能性。目前在美国市场上的大多数智能设备都兼容HomeAssostant。

Github地址:https://github.com/home-assistant/home-assistant

Pytorch

pytorch.png

Pytorch是Facebook针对机器学习和科学基础上发布的一个机器学习工具包,具有高度的灵活性,前身是使用lua语言编写的torch,主要提供了以下两个功能:

  • 具备强GPU加速的张力计算(比如numpy)。
  • 建立在基于磁带的自动调整基础上的深层神经网络。
Github地址:https://github.com/pytorch/pytorch

Grumpy

grumpy.png

grumpy是Google开源的一个使用Go开发的Python运行时,它将Python代码编译成Go代码,然后将其编译成本地文件,而不是字节码文件,grumpy是没有虚拟机(vm)的。编译后的Go代码是对grumpy的一系列调用。在Google公司里,运行并维护着大量的Python代码,比如Youtube的前端服务器和API就大多是使用Python编写的,这种巨型应用需要大量的工作来优化它的运行时,而Cpython中,GLI的存在,制约来Python的并发能力。grumpy就由此应运而生了。感兴趣的朋友可以复制下面的github链接去详细了解一下。

GitHub地址:https://github.com/google/grumpy

Sanic

sanic.png

sanic是一个基于Python 3.5+的一个web框架,与flask类似。特点就如上图中的“gotta to fast”说的那样,就是一个字:快。相对与flask,它使用async/await愈发编写,使用异步特性,所以它的速度有时非常明显,但由于它出现但时间还不够长,issues还不够多,所以建议新手刚上手Python的话,还是先使用flask,解决方案比较完善。但是sanic在可遇见的未来,必定会成为一个主流框架,有必要进行学习。

GitHub地址:https://github.com/channelcat/sanic

Python-fire

python fire.png

python-fire是谷歌开源的一个能够将任何的python代码自动生成命令行界面(CLI)的一个工具。

  • Python Fire是Python中创建CLI的一个非常简单的方法。
  • Python Fire是开发和调试Python代码一个非常有用的工具。
  • Python Fire有助于我们探索现有代码或者将其他人的代码转换成CLI。
  • Python Fire使Bash和Dash之间的转换变得更加容易。
  • Python Fire通过使用您需要导入和创建的的模版和变量设置REPL,使得Python REPL更加容易使用。

通过使用这个开源库,不但可以生成CLI,并且可以用来调试我们的Python程序。更多的作用,可以自行去发掘。

GitHub地址:https://github.com/google/python-fire

spaCy

spacy.png

spacy是一个Python自然语言处理工具包。它建立于最新的研究基础之上,从诞生之初就用来解决实际问题,用于实际产品。spacy带有预先训练的统计模型和单词向量,目前支持20多种语言的标记,它具有世界上最快的句法分析器,用于标签的神经网络模型。如今人工智能概念非常火热,而自然语言的处理是人工智能的主要领域之一,而spacy是自然语言处理(NLP)中一个非常强大的工具包,所以对于想进入人工智能领域的童鞋们来说,这个开源库非常有必要学习。

GitHub地址:https://github.com/explosion/spaCy

Pipenv

pipenv.png

pipenv是Python官方正式推荐的Python打包工具。它可以帮助我们在不建立虚拟环境的情况下非常方便的安装和管理依赖,为我们的项目自动的创建和管理一个虚拟环境。有了它之后:

  • 不需要再单独使用pip和virtualenv去创建虚拟环境,pipenv帮你创建,并且它们将一起工作。
  • 管理一个requirements.txt文件可能会产生问题,pipenv使用Pipfile和Pipfile.lock代替了requirements.txt,更加适用。
  • 使用hash,非常安全,可以自动曝光安全漏洞。
  • 让我们清晰明了的了解依赖图($pipenv图)。
  • 通过加载.env文件简化开发流程。

有了上述一大堆优点,还等什么?赶紧复制下方的链接开始宅起来学吧!

GitHub地址:https://github.com/pypa/pipenv

MicroPython

micropyhon.jpg

micropython是微型控制器和受控制系统精简高效的Python实现。通过micropython,我们完全可以通过Python语言来实现对硬件底层的访问可控制,就如图片所示的一样。目前该项目还在测试阶段,完整的实现来Python3.4的语法。感兴趣的同学可以通过下面的链接去了解。

GitHub地址:https://github.com/micropython/micropython

Prophet

prophet.png

profhet是由Facebook Core Data Science team发布的开源软件,可以在CRAN和PYPI上下载。该框架可以使开发人员专注于金融策略模型、项目组合管理和分析上。对金融领域内的数据进行科学性的预测分析,对趋势、粒度等进行预测。profhet对于丢失的数据、趋势的转变、和大量的异常值具有强大的预测分析功能。

GitHub地址:https://github.com/facebook/prophet

SerpentAI

serpentAI.png

serpentAI是一个简单却又非常强大的开源软件,可以帮助开发人员创建游戏代理。将所有的游戏视频转换成适合实验的沙盒环境。该工具对机器学习和人工智能具有非常强大的作用。

serpentAI有着大量的支持模块,为使用视频游戏的环境以及使用CLI加速开发时常见的开发场景提供解决方案。

serpentAI的设计是完全基于插件的。可以方便共享给他人。

GitHub地址:https://github.com/SerpentAI/SerpentAI

Dash

![dash-demo.gif](http://upload-images.jianshu.io/upload_images/4892949-c9d3d246f201f0fe.gif?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

在Dash的项目主页上,有一句这样的介绍:“Dash is a Python framework for building analytical web applications. No JavaScript required.”是plotly在GitHub发布的一个企业级解决方案和开源工具。它基于flask、plotly.js、React.js构建。通过它可以非常简单的构建一个强大的交互式仪表板。

GitHub地址:https://github.com/plotly/dash

Apistar

apistar.gif

apistar是一个专门为Python3开发的一个web api框架:

  • API文档——交互式API文档,始终与代码库保持同步。
  • 客户端库——由API Star生成的类型系统驱动的Javascript和Python客户端库。
  • 生成模式——支持生成Swagge或RAML API类型系统。
  • 表达式——类型注释视图,代码可测试。
  • 性能——确定如何运行每个视图的动态行为使得API Star非常的高效。
  • 吞吐量——支持asyncio,允许构建高吞吐量的非阻塞应用程序。
GitHub地址:https://github.com/encode/apistar

Faiss

faiss.png

faiss是密集向量的高效相似搜索和聚合类的库。它包含搜索任意大小的向量集的算法,还包含评估和参数调整的的支持代码。由Facebook开源。用于解决在用户日常搜索过程中所返回的网站拥有完全一样或者相似度过高的内容,应用类相似性搜索的相似引擎可以为用户返回最合适的结果,并且隐藏或者丢弃那些相同的结果。

GitHub地址:https://github.com/facebookresearch/faiss

Better-exceptions

better-exceoptions.png

Better-exceptions是GitHub上一个Python中自动提示异常的一个非常漂亮和有用的开源小工具。非常简单实用。如图所示,使用之后代码的错误提示是不是看起来非常漂亮呢?喜欢的话就赶紧复制下面的链接安装试试吧。

GitHub地址:https://github.com/Qix-/better-exceptions

Flashtext

flashtext.png

flashtext是一个基于FlashText算法,用于替换句子中的关键词或者从句子中提取关键字的一个开源库。

GitHub地址:https://github.com/vi3k6i5/flashtext

Maya

maya.jpeg

maya是一款Python的时间日期的开源库。在Python中,使用时间日期让人感到非常的沮丧,特别在处理不同操作系统上的不同环境语言的实惠。这个开源库就是为了解决这个问题。

maya大多是围绕解析来自网站日期数据,所有时区代数在所有机器上的行为是相同的,不管系统区域设置如何。

GitHub地址:https://github.com/kennethreitz/maya

Tangent

tagent.png

tangent是谷歌开源的一个免费的用于自动分化的Python库。现有的库通过跟踪程序的执行或者通过分段动态数据流图然后区分图来实现自动分化,而tangent在Python源代码本身上执行提前autodiff,并生成Python源代码作为其输出,正好填补来机器学习工具空间中的独特位置。

tangent可以在Python庞大且不断增长的子集上工作,提供其他Python ML库没有的额外的autodiff特性,具有合理的性能,并且与TensorFlow和NumPy兼容。

tangent当前还只是一个实验版本,还在持续构建开发当中。有兴趣的可以通过下方的链接进去学习并反馈意见。

GitHub地址:https://github.com/google/tangent

好了,关于Python 2017年值得关注和学习的开源库今天就给大家分享总结到这里。其实我只是在github上搜集了一部分,在github上还有许许多多的优秀库值得我们去学习和探索。最后,生命不止,编程不息!为自己加油。


注明:本文首发于今日头【https://www.toutiao.com/i6513690243382641166/】。作者:新农民的编程生涯

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容