社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

2017年Python 开发者应该关注的 7 个类库

马哥Linux运维 • 7 年前 • 741 次点击  

在 2016 年几个还不太知名的库引起了 Python 开发者的关注。在这篇博文中,我向大家揭示 这7 个 Python 类库,其中不包括像 Django,Flask 等已广为熟知的库,这些类库在 2017 年受到了众多开发者的关注,值得 Python 开发者参考和关注。

#1 Arrow

移动应用程序无处不在,而且全球人类都参与其中 – 无论是游戏,社交媒体,健康监控或其他。然而, Python 的标准数据/时间库的问题让它很难满足现代应用的需求,这些应用的目标受众生活在不同的地区和国家。Arrow 就是克服这个问题的类库之一。它拥有简化创建,格式化,操作和转换数据,以及时间和时间戳的功能。

该库解决了 Python 2 或 3 的支持 datetime 类型的需求。使用 Arrow,开发人员可以轻松地将一个时区转换为另一个时区。此外,Arrow 的日期,时间和日历模块打开了一站式服务的国际化应用程序的大门。

#2 TensorFlow

2015 年 11 月由 Google 推出的 TensorFlow 是一个用于数值计算的开源软件库。 自 TensorFlow 的推出才过去一年多的时间,但是这个库已经在 Python 开发人员中获得了相当大的人气。 事实上, TensorFlow 是最时髦 GitHub Python 资源库之一。

该库可以在桌面,服务器或移动设备中通过单个 API 使用运行在 GPU 和 CPUs 上的数据流图能力。 TensorFlow 最初由 Google 机器智能研究机构的研究人员和工程师开发,用于机器学习和深度神经网络研究。 虽然 TensorFlow 在机器学习社区中掀起了一些小的波澜,但它已经被证明非常适合生产应用程序。

#3 Zappa

最开始的时候是由 AWS Lambda 带来了无服务架构。而 Zappa 则被认为是改进了的 Python web 应用部署的程序。 Rich Jones 是 Zappa 的主要作者,并且是 Gun.io 的 CTO,他在一次采访中说道:“我相信无服务架构(这意味着,系统没有任何永久基础设施)是网络应用的未来”。

至于 Zappa,它让所有 Python WSGI 的应用在 AWS Lambda + API 网关上的部署变得轻而易举。在 VPS 服务(类似 Linode,PaaS服务的 Heroku )上摆脱依赖库需要花费成百上千的美元。简单来说,我们可以说 Zaapa 允许在云上以微服务部署,不会有任何与服务器管理相关的麻烦事。Zappa 同样也是很快的,可扩展的。

#4 Peewee

Peewee 是 Python 生态中简单的,富有表现力的 ORM ,它支持 SQLite,MySQL 和 PostgreSQL。数据库经常需要为应用去使用扩展的数据。不过,通过 ad hoc 连接串去 get 和 set 数据库中的数据是一项非常有挑战的任务。这种情况下,Peewee 就可以帮很大的忙了。这个库对于开发者和数据库工程师都是安全的,使用它可以以程序化的 Python 类来直观地使用数据库资源。

开发者们以前用 SQLAlchemy 已经创建了一个数据库,应该会觉得使用 Peewee 创建数据库是更容易的。另外,Peewee 一直以来都适用于 Flask web 框架。

点击这里学习如何在 Peewee 中创建一个数据库

#5 Sanic + uvloop

Sanic 是一个与 Flask 类似,基于 uvloop 的 web 框架,它能让 Python 更快速。Sanik,是基于 Python 3.5 设计的,它允许开发者在 async/await 语法上建立定义异步函数。在 Sanic 之前,Python 没有办法做到如此之快。uvloop 服务作为一个极其快速的库,顺其自然地替代了异步默认事件的循环。

Sanik 使得开发者能够在 Python 中编写异步应用,在这种方式下非常类似于 Node.js。但是通过 Sanic 作者的基准测试,uvloop 在处理超过每秒33k次请求时,依然表现良好,这超过了 Node.js 的性能。由于 Sanic 还很新,因此在不久的将来会有更多的改进和变更。你也可以到它的 开源库中 做出贡献。

# 6 Bokeh

你可能知道 Python 在数据可视化方面的一些类库,比如 matplotlib 和 seaborn。然而,Bokeh 是一个专门设计可视化交互并用于现代的 Web 浏览器的展示。开发者可以利用 Bokeh 以类似于 D3.js 的方式创建一流的可视媒体。除此之外,你可以利用非常大的或者流式的数据集来扩展更强的表现交互的能力。

你可以通过 Bokeh 创建可视化端点,仪表盘和数据应用。开发者也可以利用 Bokeh 处理通过其他类库,比如 Matplotlib, Seaborn 和 ggplot 创建的可视化图形。Bokeh 也可以和 Jupyter Notebooks 很好的结合来用于研究领域。

#7 Blaze

Blaze 用于处理数据库和分析查询的阵列技术。当对一个大到我们的电脑内存不能存储的数据集进行分析时,NumPy 和 Pandas 往往不能派上用场。这时开发者经常求助于 PostgreSQL,MongoDB,Hadoop,Spark 和磁盘外存储系统(PyTables and BColz)等等。

然而,理解每一个系统如何工作以及如何将数据整理成合适的形式是一个非常有挑战性的工作。由于缺乏对于如何在新技术之间混合和迁移数据的认识,从数据分析中攫取有效的结论将是非常困难的。Blaze 通过提供一个对不同种类数据库技术统一的接口以及迁移数据抽象化处理来解决这个难题。Blaze 对于表达计算是一个好的选择。

尽管存在一些其他的不太知名但是有效的 Python 类库,如 Gym + Universe,Boto3,Hug,Scrapy,Beautiful Soup 等等。我只能选择这几个以便这篇博客有一个结尾。Python 开发者可以研究这些类库看看是否符合他们的需要,再合理的选择合适的类库。

以上信息来源于网络整理。

文章来源:https://www.oschina.net/translate/python-development-7-libraries-to-look-for-in-2017?print



————近期Python开班————

《马哥教育Python全能开发实战班》马哥教育导师联合BAT、豆瓣等一线互联网Python开发达人,根据目前企业需求的Python开发人才进行了深度定制,加入了大量一线互联网公司:大众点评、饿了么、腾讯等生产环境真是项目,课程由浅入深,从Python基础到Python高级,让你融汇贯通Python基础理论,手把手教学让你具备Python自动化开发需要的前端界面开发、Web框架、大监控系统、CMDB系统、认证堡垒机、自动化流程平台六大实战能力,让你从0开始蜕变成Hold住年薪20万的Python自动化开发人才

10期面授班:2018年03月05号(北京)

09期网络班:腾讯课堂随到随学 网络

扫描二维码领取学习资料

更多Python好文请点击【阅读原文】哦

↓↓↓


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/VzZCTGjiBu
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/4917
 
741 次点击