一些非常不錯的Python應用程式,能學會多少看你造化了!
我們可以從180多個成功釋出的Python軟體案例中學到什麼。
我很高興地釋出 一些很棒的Python應用程式 ,這是一個手工整理的180多個專案的列表,所有這些都是:

註釋:加群696541369獲取python入門20天完整學習筆記和100道基礎練習題及答案以及入門書籍視訊原始碼等資料
一些很棒的Python應用程式
1.帶有線上原始碼倉庫的免費軟體。
2.用Python實現它們的大部分功能。
3.眾所周知的,或至少在一個特定領域中非常流行。
4.在相關平臺上持續維護或仍然執行良好。
5.已經打包好的應用程式,而不是庫或框架。
這個軟體列表主要專注於那些不需要使用pip或PyPI安裝的軟體,其受眾大多不是開發人員。本列表收集了很多這樣的軟體,當然還有少數是例外的,具體數量請檢視此列表(地址: ofollow,noindex">https://github.com/mahmoud/awesome-python-applications#awesome-python-applications )。
那麼,我為什麼要花費數週時間來歸類整理這些開源Python應用程式呢?
除了節日的喜悅,還有三大原因。
目錄
目標#1:更好的開發週期
目標#2:更完整的Python生產迴圈
目標#3:構建Python生態基礎
接下來的步驟
目標#1:更好的開發流程
從我開始討論Python打包問題以來,人們就一直在問我,哪種打包技術最適合他們的軟體。這一次又一次地讓我感到震驚,如果不搞清楚交付的基礎問題,那麼人們開發程式的時候能走多遠?在探索這個問題時,我遇到了一個更基本的問題:
為什麼那麼多人從基本原理開始(部落格文章和Stack Overflow)構建應用程式?
Python難道不是軟體界鼎鼎大名的名字之一嗎?不是有許多成功的、實際應用的應用程式是用Python編寫的嗎?你的應用程式完全獨特的機會有多大?
因此,出色的Python應用程式實際上是為回答棘手的開發問題開闢了一個新的流程。
在構建應用程式時,掃描此列表以找到那些最符合你的專案需求的專案。然後,使用該應用程式作為回答自己問題的指南。這對於有關架構、部署和測試的抽象問題尤其有效。
回到學校,我從MediaWiki原始碼中學到的架構和軟體開發知識比從任何課程中學到的都多。它一直激勵著我直到今天。APA是實現面向實際使用者的工作應用程式的整體教育的下一步。
簡而言之,雖然我們可能沒有時間來編寫它們,但是每個生產應用程式都抵得上1000篇部落格文章。
目標#2:更完整的Python生產迴圈
我們Python程式設計師也是軟體使用者。但與其他軟體使用者不同的是,我們知道如何將問題歸檔,甚至可能對我們選擇的應用程式做出重大貢獻。
如果可能的話,選擇Python軟體,我們就更接近於參與其中。對於未來的應用程式開發人員來說,還有什麼更好的入門方法呢?

一些很棒的Python應用程式
我很願意看到更多的開發人員與他們沒有意識到是用Python開發的軟體產生聯絡。當我知道我最喜歡的應用程式之一, Deluge,大量使用twisted後,這極大地鼓舞了我對Twisted做出貢獻。使用自由軟體會創造更多的自由軟體。
目標#3:構建Python生態基礎
隨著科技的發展,軟體越來越複雜。底層實現開發人員與應用程式開發人員已經分離開來,隨著時間的推移,這將導致更糟糕的軟體。當應用程式得不到開發人員的關注時,這個問題就更加複雜了。大多數APA條目都有兩位數或者三位數的關注,除非該軟體的目標使用者是很專業的技術人員。APA中的軟體很少由PyPI分發,因此 下載統計資料 也不能幫助我們。即使有幫助,底層庫的關注資料也遠不如應用軟體的資料好看。同時,由於自由軟體專案不能離開大量的捐贈或會議贊助,因此這些底層庫由於難以宣傳,又進而導致了經濟上難以為繼。
這些應用程式代表了Python的免費和有生命力的部分中最好的部分。它們不僅是實用和自豪的源泉,而且在精神和實踐上需要我們的支援。我真誠地希望APA將有助於Python社群關注實用應用程式的開發。
具體來說,這意味著什麼?敏銳的眼睛會注意到列表是如何進行結構化的。這不僅是為了保持一致性,也是一次對資料集API的嘗試。我們必須考慮到庫和應用程式之間的關係,並且來探索我們的生態系統。
我知道我在這裡有點冒險,度量標準並不是一切,但是將Python FOSS生態系統作為科學釋出框架的模擬來探索將是非常有趣的。我們是否可以通過將庫視為“文章”,將應用程式視為“期刊”來獲得或多或少的開發人員赫芬達爾指數( h -index)?新增一些應用程式使用者基礎近似值(通過社會替代計量學和其他方法)可以讓我們更深入地瞭解實際應用的效果。
接下來的步驟
如果這篇文章看起來比我通常寫的短,那是因為它確實是對列表本身的介紹。在進行研究的過程中,我被幾個專案的程式碼庫纏住了,你也會被纏住的。
如果我們錯過了一個專案,請在GitHub/">GitHub上開啟一個問題或PR。如果你和我一樣對此感到興奮,可以考慮幫助解決一些懸而未決的問題。仍然有許多應用程式特性需要研究:許可證、Python版本、框架等等。和往常一樣,關注本部落格(和程式碼倉庫)的更新,因為我們會有更多的發現!