pypi scout
1.0.0
在PYPI上找到合適的Python軟件包可能有些困難,因為PYPI並不是真正用於發現包裝的設計。例如,您可以搜索“繪圖”一詞,並以看似隨機的順序獲取數百個包含“繪圖”一詞的軟件包的列表。
受此博客文章的啟發,我決定構建一個小型應用程序,可幫助您找到具有類似方法的Python軟件包。例如,您可以詢問“我想製作好的地塊和可視化”,它將為您提供可以幫助您幫助的簡短列表。
該項目通過收集PYPI上所有軟件包的項目摘要和描述,每週下載超過100個。然後使用句子變壓器將它們轉換為向量表示。當用戶輸入查詢時,將其轉換為向量表示,並且最相似的軟件包描述將從矢量數據庫中獲取。在向用戶以儀表板呈現結果之前,請給予每週下載的額外重量。
該項目使用以下技術:
.env文件默認情況下,所有數據將存儲在您的本地計算機上。也可以將API的數據存儲在Azure Blob存儲上,並從那裡讀取API。為此,創建一個.env文件:
cp .env.template .env並填寫所需的字段。
設置腳本將:
data目錄中。STORAGE_BACKEND環境變量設置為BLOB :將數據集上傳到blob存儲。有三種運行設置腳本的方法,取決於您是否安裝了NVIDIA GPU和NVIDIA容器工具包。請使用適用於您的方法運行設置腳本:
筆記
該數據集在PYPI上包含大約100.000包,每週下載超過100個。為了加快本地開發的速度,您可以通過在pypi_scout/config.py中降低FRAC_DATA_TO_INCLUDE的值來降低本地處理的軟件包。
使用Docker組成啟動應用程序:
docker-compose up短短一段時間後,您的應用程序將直播在http:// localhost:3000。
該項目的數據集是使用Google BigQuery上的PYPI數據集創建的。可以在pypi_bigquery.sql中找到所使用的SQL查詢。最終的數據集可作為Google Drive上的CSV文件提供。