2017年10大python库总结

这是第五届 Python 类库 Top 10 年度榜。在这里,你会发现一些隐藏在开源世界中的珍宝,它们能让你开始着手新的项目,或者让你现有的项目更加有趣。从这份榜单里,你既能找到机器学习的库,也能找到非机器学习的库,所以它在各方面均有所涉及。

1. HTTPX

如果你是一名经常与 api 交互的 Python 死忠粉,可能会很熟悉 requests 类库。然而,异步范式在高性能现代应用程序中越来越常见,如果你使用的正是异步范式,requests 可不会给你带来什么好处。

为了解决这个问题, Tom Christie 和他的合作者为我们带来了 HTTPX,它是用于下个十年的新一代异步 HTTP 客户端。

HTTPX 延续了 requests 的用法,为你提供了标准特性以及 HTTP/2 和 HTTP/1 支持。除此之外,还包括使用 ASGI 协议直接调用 Python Web 应用程序以及完全类型注解等其他特性。

你需要同时发出大量请求?那么 HTTPX 就是新的首选。

注意:目前仍在 alpha 版本中考虑 HTTPX,现只作为异步客户端开发。在未来,将再重新引入同步客户端。

2. Starlette

Starlette 是一个轻量级的 ASGI 框架 / 工具包,具有包括 WebSocket 和 GraphQL 支持,进程内后台任务和真正的高性能等一系列特性。除此之外,还有 100% 类型注解的代码库和无依赖。可以把它看作是一版非常轻量的、现代的和异步的 Flask 。

你还可以灵活地选用它,决定是将其作为一个完整的 web 框架来使用,还是仅仅作为一个 ASGI 工具包来使用。

它运行在一个 ASGI 服务器上,比如 uvicorn ,它去年也排进了 Top 10。如果你正在考虑开发一款新的 Web 应用程序,那么你一定要给 Starlette 一个崭露头角的机会。

3. FastAPI

Starlette 很棒,但它非常简约,且非常开放。这给了你很大的自由,但有时,你只是需要一个把事情做得又对又快的框架。

Sebastian Ramirez 的 FastAPI 正是这样的一款框架。无论在哪层意义上讲,它都可称得上

这款新框架基于的是 OpenAPI 标准,用于构建具有 Python 高性能特性和自动交互文档的 API。它默认支持 Swagger UI 和 ReDoc ,使你能够直接从浏览器调用和测试你的 API,从而加快开发时间。使用此框架构建 API 既快速又简单。

这个库还利用了现代 Python 的最佳实践之一:类型提示。FastAPI 在很多方面都使用类型提示,但是最酷的特性之一是由 Pydantic 提供支持的自动数据校验和转换。

FastAPI 是基于 Starlette 构建的,其性能与 NodeJS 和 Go 相当,而且它还支持原生 WebSocket 和 GraphQL。

最后,但并非最不重要的是,它拥有一些为开源库编写的最好的技术文档。说真的,强烈建议看一看。

4. Immutables

MagicStack 的工作人员回归,他们使用了简单优雅的不可变映射类型 (“冻结的字典”)。

谁能从中受益呢?其底层数据结构是一个哈希数组映射的字典树 (HAMT),在 Haskell 等函数式编程语言中使用。最有趣的是,对于 set() 和 get() 操作,它们都提供了 O(log N) 性能,对于相对较小的映射来说其实就是 O(1)。

5. Pyodide

Pyodide 是一个真正能让你大吃一惊的项目。它使用 WebAssembly 将 Python 科学栈引入浏览器,将科学计算提升到了一个全新的水平。

想要用 NumPy 处理一些数字吗?使用 Pandas 处理一些较大的数据流?使用 NumPy 标制结果?幸有 Pyodide,现在你可以在浏览器中轻松实现所有这些功能,甚至更多。

除此之外,更好的消息是:它的 packages 目录列出了超过 35 个当前可用的包。不夸张地说,天空是其唯一限制。

6. Modin

Modin 的座右铭是通过改变一行代码来扩展你的 Pandas 工作流程,真的,就这么简单。只需安装 Modin,改变你的导入语句,在当下拥有多核处理器的笔记本电脑上就能获得高达 4 倍的速度优势。

它是怎么做到的?现在来揭晓这个秘密。Modin 实现了自己的 modin.pandas.DataFrame 对象,它是一个轻量级并行 DataFrame。这个对象的使用是透明的,因为它与 Pandas 是 api 兼容的,并且它是在后台运行的,它将使用 Ray 或 Dask 之类的计算引擎来分发数据和计算。

有时候,只需要对你的代码做一些小的修改就能使速度获得极大的提升,Modin 就是个很好的证明。

7. Streamlit

在每个重大的机器学习项目中,都有一个你最终需要与模型和数据进行手动交互的时间点。与花费数小时和数千行代码开发应用程序不同,Streamlit 使你能够快速构建应用程序来共享你的模型和分析。现在,创建一个与你的数据和模型的输出进行交互和可视化的 UI 简直易如反掌。

Streamlit 提供了一种从 Python 脚本跳到生产级应用程序的快速方法,只需在代码中添加几行即可。

Streamlit 能与各种数据科学相关的工具一起工作, TensorFlow 、 Keras 、 PyTorch 、 Pandas ,凡是你能想到的,它都可以。

8. Transformers

如果你正在从事任何与机器学习相关的工作,那么你可能已经听说了在过去一年中围绕自然语言处理 (NLP) 方面的重要进展。

许多新的和高性能的模型,如 BERT 、 XLNet 或者 roBERTa ,已经被开发出来,通过各种 NLP 任务 (如文本分类、机器翻译、命名实体识别等) 来显著提高技术水平。

对于实践者来说,重要的是拥有能够使用这些模型来支撑生产应用程序的工具,这些用起来并不复杂。对于研究人员来说,重要的是拥有能够调整内部机制的类库,这样就可以更轻巧地开发和试验新的模型,而不必浪费太多时间编写样板代码。

Hugging Face 有一帮杰出的人,他们为我们带来了 transformers ,它是一个类库,其中包括打包、预先训练,并已经为使用最现代的 NLP 模型的实现做好了准备。TensorFlow 2.0 和 PyTorch 之间的互操作性帮助该类库迅速成为行业标准,支撑着研究和生产应用程序。它们的发展速度也非常快,随着研究人员的开发,经常有新的模型引入到这个类库中。

蛋糕上的樱桃: Hugging Face 团队开发了 DistilBERT ,它是一个体积更小、速度更快、价格更低、重量更轻的纯净版 BERT。

你还在犹豫要不要使用 Hugging Face / Transformer 以切换到现代的 NLP?那么择日不如撞日,今天就是你的幸运日,看看他们伟大的在线演示,可不要吝惜你的大姆指哟。

9. Detectron2

Facebook 的人工智能研究团队 (FAIR) 一直在推动计算机视觉 (CV) 的极限,他们开发了新的模型,用于像对象检测、姿式预估、语义 / 实例划分,以及最近的全景分割等任务。

解决这些问题的可能性就像几年前的科幻小说一样。我们对 FAIR 抱有最好的期望,这一次他们设法再次震撼全场。

Detectron2 是备受期待的 Detectron 续作,它是用 PyTorch 从头开始构建的,装满了最先进的计算机视觉算法。

这样的类库尤其难于进行工程设计,因为它们必须支持不同类型的用例。就像 Hugging Face 的 Transformers 一样,费尔团队也很好地完成了 Detectron2 的设计,它采用了一种非常灵活和模块化的方式,使得它非常适合 CV 的研究应用。同时,它的使用极其简单,对于那些只想快速获得结果而不想干预内部机制的人来说非常理想。是的,你可以使用 Detectron2,让你的软件只用几行 Python 代码就能“理解”图像。

时间将会告诉我们,Detectron2 能否成功地营造一个充满活力的社区,而到目前为止,情况看来很有希望。它很可能成为 CV 应用程序的“首选”解决方案,因为在 CV 应用程序中,新的、更快、更好的模型是由研究人员创建的。如果你正在做任何类型的 CV 工作,一定要密切保持关注!

10. Metaflow

前方出现一个新生儿,一幅新面孔勉强挤进了 2019 年的名单!但是赞成别不把它当回事:尽管它才是在几周前刚刚发布的,但已经经过了 Netflix 的内部测试,历经两年时间的改进,他们才决定开放源代码。

Metaflow 是一个 Python 类库,用于帮助数据科学家和工程师构建用于现实世界的真实项目。它主要专注于减轻非技术数据科学家的技术负担,例如计算资源、并行执行、体系结构设计和版本控制等。Netflix 与 AWS 的合作,使你能够轻松定义复杂的数据流,同时对分布式计算提供开箱即用的支持。

我们已经在为 Tryolabs 内部的一些关键项目做了 Metaflow 评估。如果你有兴趣更多地了解这款工具,请查看 Netflix 的公开博客。

总结

这一年又过去了,它为开源世界留下了非凡的贡献,这些贡献在未来几年仍将具有重要意义。你可以查看我们之前榜单:看看 2015 年、 2016 年、 2017 年、 2018 年来类库的演变。

如果我们漏掉了你最喜欢的 Python 类库,请在下面发表评论。我们很想听听你的意见。

作者介绍

Fabián Torres,全栈开发人员。电气工程学士学位;Elias Masquil,全栈开发人员;Alan Descoins,首席技术官和合作伙伴,计算机工程学士学位;German Hoffman,全栈开发和研究工程师,计算机工程学士学位。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com

(0)
上一篇 2022年 12月 30日 下午2:16
下一篇 2022年 12月 30日 下午2:22

相关推荐

  • 到了伏天了吗,伏天到了你会数伏吗

    俗话说“冷在三九,热在三伏”,三伏天可以说是一年之中最热的时候了,每年伏天到来的日子都不一样,你会数伏吗? 2020年的伏天从7月16日开始,到8月24日结束。那么,这些日子是怎么…

    综合百科 2022年 11月 22日
  • dnf代币券使用范围

    2.23版本更新后,人人都可以领1W欢乐代币券,讲道理地说,还有点惶恐,这么多代币券怎么用?当然了,咱们更关心的是,如何才能把代币券换成金币呢?这个问题问得好,下面就介绍一些常见方…

    2023年 7月 28日
  • 陈晓旭死因,“林黛玉”陈晓旭死因曝光,临终前哭着喊妈妈,丈夫竟为她出家!

    说起四大名著之一的《红楼梦》相信只要是看过的影迷朋友们,对剧中“林黛玉”的扮演者陈晓旭是极其印象深刻的。闲静似姣花照水,行动似弱柳扶风,可以说陈晓旭饰演的林黛玉,可谓是演绎的淋漓尽…

    2022年 11月 5日
  • 琐碎的造句和意思,琐碎简单造句

    琐细(suǒ xì)。近义词有:零碎,琐屑,零星,细碎。 琐碎,细小。[姚雪垠《李自成》:“倘若别的皇帝,一般琐细问题大可不问。”]指琐碎、细小的事物。[茅盾《动摇》:“(方太太与…

    2023年 4月 16日
  • 四十个成语的《滕王阁序》

    众所周知,成语是汉语词汇中特有的一种长期相沿用的固定短语,一般多为四字,也有三字,五字,甚至还有七字以上的。 这些成语产生,则来自于古代经典或著作、历史故事和人们的口头故事等。 今…

    2023年 7月 28日
  • 情绪多变容易抑郁的三大生肖,最容易患上抑郁症的4个生肖

    十二生肖中,有些属相的人天生就有着多愁善感的性格,他们对自己和周围的事物都有着深刻的感受和体会,能够体察别人的心情和情绪。但是,这样的性格也有着一定的弊端,他们往往容易陷入自己的思…

    2024年 1月 7日
  • 增重9斤,复出就在眼前!2年缺席115场,天才榜眼还能打出来吗?

    因为伤病缺席了整个2021-22赛季的怀斯曼,终于要复出了。 勇士总经理迈尔斯接受采访时表示,前者目前非常健康,自己和教练组都很期待。 除非再次受伤,否则没理由不执行他明年的合同。…

    2022年 11月 17日
  • 黑色衣服褪色严重,不要扔!用这几种东西泡泡,衣服干干净净

    很多朋友都喜欢穿黑色衣服,因为黑色衣服百搭又时尚,不过黑色衣服也有一个弊端,那就是洗完之后褪色严重,还会发白,因为这个原因我已经扔掉了好几件黑色衣服。 我一直以为是衣服质量不好,才…

    2022年 11月 5日
  • 饭圈女孩回怼最精彩

    最近,在声援“阿中哥哥”行动中,饭圈女孩的自发行为受到广大网友的热切关注,不仅招来“远征始祖”帝吧网友的保驾护航,还受到新闻联播的“暖心点名”,一夜之间跳脱本圈,顺利到达“饭圈巅峰…

    2022年 11月 19日
  • 最值得玩的电脑游戏

    无论在任何的时间里,我们每年玩的游戏都不同,每年都会有新品,但曾经喜欢玩的作品,也不会忘记,因为经典游戏是一种情怀,是一种回忆。你还记得曾经玩过哪些经典作品呢?本期我就为大家盘点一…

    2022年 11月 15日