jango 依然是 Python 开发者值得信赖的库 。然而,在 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 框架。
#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 开发者可以研究这些类库看看是否符合他们的需要,再合理的选择合适的类库。
相关推荐
本篇文章将详细介绍如何使用Python实现以图找图的类库,并探讨相关的核心知识点。 首先,Python中的关键库包括PIL(Python Imaging Library)用于图像处理,OpenCV用于计算机视觉,以及NumPy用于高效的数组操作。在...
标题中的“Python-小巧实用的JavaScript工具类库”暗示了我们讨论的是一个JavaScript库,而这个库可能在设计上受到了Python编程语言的影响,提供了一些实用的功能。描述中提到的几个关键点是: 1. **源于日常项目...
2. **.NET集成**:IronPython可以直接调用.NET Framework的类库,使Python开发者可以使用C#、VB.NET等其他.NET语言编写的组件,大大扩展了Python的可用资源。 3. **互操作性(Interop)**:由于IronPython是.NET的...
在平时的工作中,Python开发者很容易犯一些小错误,这些错误都很容易避免,本文总结了Python开发者最常犯的10个错误,一起来看下,不知你中枪了没有。Python允许开发者指定一个默认值给函数参数,虽然这是该语言的一...
大漠类库生成工具V20就是这样一个工具,它能够帮助开发者快速构建自己的类库,节省大量的手动编码时间。 首先,我们来深入了解什么是类库。类库是一组预先编写好的、可重用的代码集合,通常以类的形式存在,可以被...
这些知识点覆盖了Python的学习、使用和开发过程中的各个方面,从安装到文档,再到各种实用工具和资源,为Python开发者提供了全面的支持和指导。无论是初学者还是经验丰富的开发者,都可以从中受益匪浅。
在.NET环境中,IronPython提供了与C#、VB.NET等其他.NET语言的互操作性,使得Python开发者可以利用.NET丰富的类库和工具。 标题中的"IronPython各个支持平台对应的DLL资源"指的是IronPython在不同平台上运行所需的...
在这个案例中,testwizard.web库似乎是专门为Python开发者设计的一个工具,可能用于辅助测试或自动化web应用程序的开发过程。"none-any" 部分表示该库不依赖于特定的Python实现(如CPython、Jython等)或操作系统,...
IronPython与传统的CPython(标准Python解释器)相比,最大的优势在于它能够利用.NET Framework的类库,使得Python开发者可以访问到C#、VB.NET等.NET语言的全部功能。 **.NET IDE (集成开发环境)** 在.NET环境下...
总的来说,Openqq类库为Python开发者提供了一种高效、简洁的方式来与QQ平台进行集成,极大地简化了开发过程,提高了代码的可读性和可维护性。掌握这个类库的使用,不仅可以提高开发效率,还能让你的QQ应用功能更加...
PBXProjectHelper是一个基于Python开发的,目的用于解析和操作PBXProject(XCode项目的配置文件)的工具类库。其提供了非常简单的方法来让开发者对XCode项目进行文件、类库以及项目设置的修改。从而达到自动化维护和...
通过IronPython,Python开发者可以享受.NET平台带来的高性能、跨平台能力和丰富的类库资源,同时也为.NET开发者打开了Python这个强大而灵活的编程世界。无论是独立开发还是作为.NET项目的一部分,IronPython都为...
`arrow`库被誉为“更好的Python日期时间操作类库”,它提供了更加简洁、人性化的API,使开发者能够更高效地处理日期和时间。 `arrow`库的核心理念是提供一种更加符合人类直觉的方式来创建、解析、操作和格式化时间...
IronPython是Python编程语言的一个实现,它能够运行在.NET和Mono框架上,从而让Python开发者可以利用.NET平台的强大功能。这本书深入探讨了IronPython的核心概念、特性和实际应用,旨在帮助读者熟练掌握这一跨平台的...
标题中的"Python库 | vstutils-2.10.12-cp36-cp36m-manylinux1_x86_64.whl"指的是一个特定版本的Python库,名为vstutils,版本号为2.10.12。...对于Python开发者而言,掌握这类库的使用是提升工作效率的关键。
在Python编程语言中,开发涉及金融计算和货币处理的应用时,`money`库是一个非常有用的工具。这个库提供了对货币类型的支持,包括货币格式化、货币转换等功能,并且可以选择性地利用Unicode CLDR(Common Locale ...
IronPython的出现使得Python开发者能够利用.NET生态系统的丰富资源,包括C#、VB.NET等语言的库,以及Windows操作系统的服务。 在.NET框架下,IronPython能够无缝集成C#和VB.NET代码,使得多语言混合编程成为可能。...
IronPython是Python...总的来说,IronPython 2.7.11是.NET开发者或者希望利用.NET生态系统优势的Python开发者的一个强大工具。通过它,开发者能够利用Python的简洁语法和强大的.NET库,创建高效、跨平台的应用程序。