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文件提供。