PePy
📜 关于
pepy.tech 是一个旨在展示Python包统计信息的网站。
这是后端服务的仓库,如果你想查看前端,请查看这个仓库 https://github.com/psincraian/pepy-front
💖 赞助商
感谢您和以下赞助商的支持,我们才能够维持网站的运营。
⚒️ 开始贡献
我希望让环境的设置尽可能简单。要启动环境,你需要以下先决条件:
先决条件
- bash (+4.3)
- docker (+17.05)
- docker-compose (+1.16.1)
- docker-py (+2.2.1)
- ansible (+2.3)
启动环境
你只需要(希望如此)执行以下命令来启动环境:
make start-containers
架构和模式
我主要使用了一些DDD概念(如值对象、实体等)以及CQS,其目的是将命令与查询分离。
代码结构如下:
pepy/application
:这里是所有命令和查询所在的位置。pepy/domain
:域对象,如实体、异常和值对象。pepy/infrastructure
:基础设施组件,如仓库类的实现(如DB或BigQuery)、Flask Web应用程序、容器等。pepy/infrastructure/cli
:命令行程序。pepy/infrastructure/container
:配置文件和依赖注入管理器。pepy/infrastructure/api
:API端点控制器。
常见问题
下载数据来自哪里?
数据从官方BigQuery仓库获取:https://packaging.python.org/guides/analyzing-pypi-package-downloads/
数据何时更新?
每天UTC时间下午5点有一个定时任务,用于获取前一天的所有新下载数据。
🚩 许可证
代码使用 MIT许可证 发布。