GitHub十大Python項目推薦,Star最高26.4k
編寫 Python 代碼的樂趣應(yīng)該是看到簡短、簡潔、易讀的類,這些類用少量清晰的代碼來執(zhí)行大量的操作,而不是那些讓讀者厭煩的大量瑣碎代碼。
在相當(dāng)長的一段時間內(nèi),世界各地的開發(fā)人員在他們的大多數(shù)項目中都傾向于使用 Python。編程語言的易用性,它在實時和非實時系統(tǒng)中的效率,以及它豐富的“救急”庫集合,是開發(fā)人員喜歡 Python 的重要原因。
像Python這樣的編程語言可以讓我們自由地將夢想中的項目變成現(xiàn)實,展示我們的才華。這就是為什么我們要探索 GitHub 上的一些頂級 Python 項目。這些項目不僅能給你靈感,也能讓你領(lǐng)略到用創(chuàng)新思維和Python可以做什么。

你知道嗎?
- Stackoverflow 認(rèn)為 Python 是最受歡迎的語言,這意味著大多數(shù)開發(fā)人員都使用 Python。
- Python 是 GitHub 上第二流行的語言,也是機(jī)器學(xué)習(xí)最流行的語言。
GitHub上的頂級Python項目
GitHub 顯然是絕大多數(shù)在線代碼的集中地。Python 作為一種令人驚嘆的通用編程語言,已經(jīng)被成千上萬的開發(fā)人員用來構(gòu)建各種有趣和有用的項目。在本文中,我們將介紹一些使用 Python 構(gòu)建的GitHub上最好的項目。
1.Manim
Stars: 26.4k
開發(fā)者:Grant Sanderson
GitHub鏈接: https://github.com/3b1b/manim
Manim 代表數(shù)學(xué)動畫引擎。這個項目背后的理念是讓人們更容易地將有趣和直觀的動畫與數(shù)學(xué)教材中的圖形和圖表相結(jié)合,從而打破學(xué)習(xí)數(shù)學(xué)必須枯燥乏味的刻板印象。
Grant 經(jīng)營著一個名為3Brown1Blue(國內(nèi)俗稱:3黃1綠)的YouTube頻道,在那里他使用Manim庫來創(chuàng)建和控制這些動畫,向觀眾教授更高的數(shù)學(xué)。使用 manim,你還可以創(chuàng)建動畫視頻,并精確控制用于圖表和插圖的動畫。
Youtube鏈接: https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw
B站鏈接:https://space.bilibili.com/88461692
2. DeepFaceLab
Stars:20.7k
開發(fā)者:iperov
GitHub 鏈接:https://github.com/iperov/DeepFaceLab
DeepFaceLab 是本文中 GitHub 上最有趣的 Python 項目之一。DeepFaceLab 是一種工具,可以創(chuàng)建深層假圖像和視頻,它允許你做很多有趣的事情,如改變、取消年齡和交換臉。為了讓事情更有說服力,你甚至可以改變他們的語言,盡管這需要精通視頻編輯軟件。
開發(fā)者聲稱,互聯(lián)網(wǎng)上超過95%的深度假視頻都是用這個工具制作的。你可以在該項目的 GitHub 頁面上找到設(shè)置指南和一堆面孔數(shù)據(jù)集,趕緊玩起來吧~
3.Airflow
Stars:18.6k
開發(fā)單位:Apache軟件基金會
GitHub鏈接:https://github.com/apache/flow
Airflow 是一個由Python提供支持,Apache 軟件基金會開發(fā)的開源工作流管理工具。Airflow允許我們在工作流中執(zhí)行一系列活動,例如編寫、計劃和監(jiān)視等活動。如果把工作流定義為代碼時,管理、測試和協(xié)作都會變得更加容易。
它提供了可伸縮性、動態(tài)管道生成和可擴(kuò)展性。簡單的用戶界面使使用 Airflow 的工作非常流暢,其強(qiáng)大的集成能力與其他工具、服務(wù)有助于最大限度地節(jié)省時間。Airflow 正被業(yè)內(nèi)一些大牌公司使用,如Adobe、Lyft、Slack、Expedia等。
4. GPT-2
Stars:13.4k
GitHub 鏈接: https://github.com/openai/gpt-2
GPT-2 是一個龐大的基于轉(zhuǎn)換器的語言模型,它根據(jù)同樣龐大的數(shù)據(jù)集(確切地說,來自 80 億多個網(wǎng)頁的文本)進(jìn)行訓(xùn)練。目標(biāo)是什么?當(dāng)從上下文中給定一組或之前的所有單詞時,預(yù)測下一個單詞。
簡單地說,你只需要給 GPT-2 一些簡短的詞語,語言模型就能預(yù)測并生成質(zhì)量不錯的長文。
GitHub 存儲庫包含 OpenAI 論文“語言模型是不受監(jiān)督的多任務(wù)學(xué)習(xí)者”的代碼和模型。
5.XSStrike
Stars:8.5k
開發(fā)者:Somdev Sangwan
GitHub 鏈接:https://github.com/s0md3v/XSStrike
跨站點腳本(又名 XSS)是一個漏洞,對網(wǎng)站來說可能非常煩人和有害。通過從客戶端注入惡意代碼,攻擊者可以對網(wǎng)站和數(shù)據(jù)造成無法控制的損害。s0md3v 的 XSStrike 本質(zhì)上是一個 XSS 檢測套件,它本身是獨一無二的。
開發(fā)人員聲稱,他的工具不是簡單地測試隨機(jī)有效負(fù)載,而是分析網(wǎng)站并生成具有工作效果的專門工程有效負(fù)載。此工具的一些各種功能包括:
- 上下文語境分析
- 強(qiáng)大的模糊引擎
- 支持多線程分析
- 支持從文件中消除有效負(fù)載
- 定制的 HTML 和 JavaScript 解析器
- 掃描任何過時的 Javascript 庫
6. 谷歌圖片下載
Stars:7.1k
開發(fā)者:Hardik Vasa
GitHub 鏈接:https://github.com/hardikvasa/google-images-download
Hardik Vasa 的腳本允許我們一次性從 Google 上下載數(shù)百張圖片到本地計算機(jī)。此工具的工作方式是安裝庫、使用命令、將所需的關(guān)鍵字作為參數(shù),以及讓該工具發(fā)揮其神奇的作用。本質(zhì)上是在google images 索引中搜索帶有指定關(guān)鍵字的圖片,找到后就進(jìn)行下載。
7.Photon
Stars:7k
開發(fā)者:Somdev Sangwan
GitHub鏈接:https://github.com/s0md3v/Photon
Photon 是一個使用 Python 構(gòu)建的功能強(qiáng)大且易于使用的 web 爬蟲程序。s0md3v 的輕量級和快速爬蟲遵循開源智能框架的指導(dǎo)方針和方法,該框架允許收集和分析從開放或公共來源獲取的信息。
Photon 可以從中抓取信息的許多來源包括:
- URL,包括帶參數(shù)的URL
- 社交媒體賬戶、電子郵件
- pdf、png、XML文檔等文件
- 子域
- JavaScript文件
Photon 以有組織的方式保存所有提取的信息,甚至可以導(dǎo)出為 JSON 文件。該工具還提供了各種選項來自定義它的工作方式,比如控制超時,排除一些 url 等等。
8.NeuralTalk
Stars:5k
開發(fā)者:Andrej Karpathy
GitHub鏈接:https://github.com/karpathy/neuraltalk2
NeuralTalk 的核心是 Python 和 NumPy 中使用多模式遞歸神經(jīng)網(wǎng)絡(luò)的圖像字幕項目。由于技術(shù)的改進(jìn)和更好的硬件支持,開發(fā)人員發(fā)布了 NeuralTalk2,它比原來的 NeuralTalk 更好、更快。
NeuralTalk2使用批處理實現(xiàn),并且仍然使用 RNNs ,基于Torch,可以在 GPU 上運(yùn)行,同時支持CNN 微調(diào)。雖然開發(fā)人員已經(jīng)棄用 NeuralTalk,但該項目仍然可以在 GitHub 上進(jìn)行查看。
9.Xonsh
Stars:3.9k
GitHub鏈接:https://github.com/xonsh/xonsh
可以將 Xonsh 看作是一種由 Python 支持的跨平臺外部語言。因為 Python 與 Xonsh 的深度集成,Xonsh 可以把 Python 的工作(甚至是最基本的任務(wù))完成得更好。
使用 Xonsh,不需要輸入“$echo 2+2”,只使用 $2+2 ,也可以得到正確的結(jié)果。
開始使用 Xonsh shell 也非常簡單,只要用適合你的環(huán)境的命令進(jìn)行安裝就可以了。Xonsh 可用于許多包管理器,包括pip、Conda、Apt、Brew等。Xonsh 具有非常容易編寫腳本,有一個帶有類型化變量的大型標(biāo)準(zhǔn)庫等特性。
10. Rebound
Stars:3.3k
開發(fā)者:Jonathan Shobrook
GitHub 鏈接: https://github.com/shobrook/rebound
編譯器錯誤非常令人厭煩,唯一的解決方案是直接進(jìn)行堆棧溢出或閱讀文檔。Jonathan Shobrook和他的著名工具 Rebound,已經(jīng)找到了一種方法,可以讓我們的工作變得更容易,同時還可以處理那些討厭的編譯器錯誤。
Rebound的工作方式是,使用該工具運(yùn)行文件,它會檢查文件中存在的任何編譯器錯誤,并獲取它能找到的任何相關(guān)的堆棧溢出線程。
Rebound的能力,加載線程在終端和瀏覽器中可以是一根救命稻草,不僅你是新手,還是老程序員,都可以節(jié)省大量的時間進(jìn)行無休止地尋找答案。目前,Rebound 僅支持 Python、Node.js、Ruby、Golang 和 Java。
總結(jié)
創(chuàng)意也是沒有極限的,在GitHub 上,只有這樣的項目能完美展示我們的創(chuàng)造力和才能。但這只是冰山一角,因為Python可以用來執(zhí)行更加龐大復(fù)雜的項目任務(wù),前提是你擁有專有的技術(shù)并清楚地了解自己想要實現(xiàn)的目標(biāo)。隨著 Python 的不斷發(fā)展,越來越多的開發(fā)人員用其構(gòu)建令人驚嘆的項目,就像我們上面提到的那些項目。
好了,如果你對Python興趣十足,又找不到好項目練手,不妨試試上文介紹的項目,肯定能讓你大開眼界,從而打開思路!