天天看點

Python開發者2017應該關注的7個類庫

Python開發者2017應該關注的7個類庫

Django 依然是 Python 開發者值得信賴的庫。然而,在 2016 年幾個還不太知名的庫引起了 Python

開發者的關注。在這篇博文中,我向大家揭示 7 個 Python 類庫,其中不包括像 Django,Flask 等已廣為熟知的庫,這些類庫在

2017 年可能值得 Python 開發者參考。

#1 Arrow

Python開發者2017應該關注的7個類庫

移動應用程式無處不在,而且全球人類都參與其中 – 無論是遊戲,社交媒體,健康監控或其他。然而, Python

的标準資料/時間庫的問題讓它很難滿足現代應用的需求,這些應用的目标閱聽人生活在不同的地區和國家。Arrow

就是克服這個問題的類庫之一。它擁有簡化建立,格式化,操作和轉換資料,以及時間和時間戳的功能。

該庫解決了 Python 2 或 3 的支援 datetime 類型的需求。使用 Arrow,開發人員可以輕松地将一個時區轉換為另一個時區。此外,Arrow 的日期,時間和月曆子產品打開了一站式服務的國際化應用程式的大門。

#2 TensorFlow

Python開發者2017應該關注的7個類庫

2015 年 11 月由 Google 推出的 TensorFlow 是一個用于數值計算的開源軟體庫。 自 TensorFlow

的推出才過去一年多的時間,但是這個庫已經在 Python 開發人員中獲得了相當大的人氣。 事實上, TensorFlow 是最時髦 GitHub

Python 資源庫之一。

該庫可以在桌面,伺服器或移動裝置中通過單個 API 使用運作在 GPU 和 CPUs 上的資料流圖能力。 TensorFlow 最初由

Google 機器智能研究機構的研究人員和工程師開發,用于機器學習和深度神經網絡研究。 雖然 TensorFlow

在機器學習社群中掀起了一些小的波瀾,但它已經被證明非常适合生産應用程式。

#3 Zappa

Python開發者2017應該關注的7個類庫

最開始的時候是由 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

Python開發者2017應該關注的7個類庫

Peewee 是 Python 生态中簡單的,富有表現力的 ORM ,它支援 SQLite,MySQL 和

PostgreSQL。資料庫經常需要為應用去使用擴充的資料。不過,通過 ad hoc 連接配接串去 get 和 set

資料庫中的資料是一項非常有挑戰的任務。這種情況下,Peewee

就可以幫很大的忙了。這個庫對于開發者和資料庫工程師都是安全的,使用它可以以程式化的 Python 類來直覺地使用資料庫資源。

開發者們以前用 SQLAlchemy 已經建立了一個資料庫,應該會覺得使用 Peewee 建立資料庫是更容易的。另外,Peewee 一直以來都适用于 Flask web 架構。

點選這裡學習如何在 Peewee 中建立一個資料庫

#5 Sanic + uvloop

Python開發者2017應該關注的7個類庫

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開發者2017應該關注的7個類庫

你可能知道 Python 在資料可視化方面的一些類庫,比如 matplotlib 和 seaborn。然而,Bokeh

是一個專門設計可視化互動并用于現代的 Web 浏覽器的展示。開發者可以利用 Bokeh 以類似于 D3.js

的方式建立一流的可視媒體。除此之外,你可以利用非常大的或者流式的資料集來擴充更強的表現互動的能力。

你可以通過 Bokeh 建立可視化端點,儀表盤和資料應用。開發者也可以利用 Bokeh 處理通過其他類庫,比如 Matplotlib,

Seaborn 和 ggplot 建立的可視化圖形。Bokeh 也可以和 Jupyter Notebooks 很好的結合來用于研究領域。

#7 Blaze

Python開發者2017應該關注的7個類庫

Blaze 用于處理資料庫和分析查詢的陣列技術。當對一個大到我們的電腦記憶體不能存儲的資料集進行分析時,NumPy 和 Pandas

往往不能派上用場。這時開發者經常求助于 PostgreSQL,MongoDB,Hadoop,Spark 和磁盤外存儲系統(PyTables

and BColz)等等。

然而,了解每一個系統如何工作以及如何将資料整理成合适的形式是一個非常有挑戰性的工作。由于缺乏對于如何在新技術之間混合和遷移資料的認識,從資料分析中攫取有效的結論将是非常困難的。Blaze

通過提供一個對不同種類資料庫技術統一的接口以及遷移資料抽象化處理來解決這個難題。Blaze 對于表達計算是一個好的選擇。

盡管存在一些其他的不太知名但是有效的 Python 類庫,如 Gym +

Universe,Boto3,Hug,Scrapy,Beautiful Soup等等。我隻能選擇這幾個以便這篇部落格有一個結尾。Python

開發者可以研究這些類庫看看是否符合他們的需要,再合理的選擇合适的類庫。

本文作者:佚名

來源:51CTO