PyMilvus 是 Milvus 的 Python SDK,属于 Milvus 社区的开源项目之一,是 Milvus 向外辐射出来最受欢迎的项目。PyMilvus 从诞生之初就一直伴随 Milvus 的成长而成长,目前在 Github 上有 300 多颗星,贡献者有40 人 (9.10.2021)。
很多对 Milvus 感兴趣的人就是通过使用 PyMilvus 来第一次接触 Milvus。
PyMilvus 拥有一个长期维护的 1.x 版本,兼容 Milvus 1.x。目前活跃开发的主分支是 PyMilvus 2.x 版本,兼容的是 Milvus 2.x。
Milvus 社区的所有项目都非常欢迎大家参与贡献、共建社区,而 PyMilvus 不同于 Milvus 社区其他项目的地方有:
- 纯 Python;
- 支撑着 Milvus 的 E2E 测试和 Benchmark 以及 Milvus Bootcamp 项目;
- 作为 Python 库,使用场景更多;
真诚的欢迎大家来参与 PyMilvus 项目,共建一个协作、开源、开放的社区。如果你已经非常熟悉 PyMilvus 的代码和使用方式,非常欢迎大家来回馈社区,帮助更多的社区新人,将开源、协作、开放的精神传递下去。
PyMilvus 的 Github issue 列表中,打上了 good-first-issue 和 help-wanted 标签的都是入门级别的 issue。如果你还在熟悉项目,这些 issue 是极好的出发点。
如果你想挑战一下,不妨看看拥有 Hacktoberfest 标签的 issue。
如果你发现任何问题,你可以:
- 提 issue 指出问题是什么
- 在 issue 中给出最小复现方法 (可选)
- 在 issue 中给出解决方案 (可选)
- 提 PR 修复这个 issue (可选)
如果你对已经存在的问题感兴趣,你可以:
- 在标有
question
标签的 issue 内回答问题帮助他人 - 在标有
bug
、improvement
和enhancement
标签的 issue 内帮助他人:- 提问、复现、给出解决方案
- 提 PR 修复这个 issue
如果你想让 PyMilvus 拥有新功能,你可以:
- 提 issue 指出你想要的新功能以及原因
- 在 issue 中指出这个功能的实现方案以及测试大纲 (可选)
- 提 PR 实现这个新的功能 (可选)
如果你对已经存在的 PR 感兴趣,你可以:
- 参与代码 review,并给出合适意见
- 指导社区新人走完 PR 的流程
这里提到的问题、新功能、疑问不仅指 Python 代码,还包括各种文档(技术文档,API 参考手册,贡献文档等等)。
docs/
: 除了 API Reference 外的文档源码所在地,使用 sphinx 组织编译,大部分文档内容都在 docs/source
目录下的 rst 文件中。
examples/
: 包含一些可以直接运行的 python 脚本,通过例子介绍 PyMilvus 每个接口的使用方法。
pymilvus/
:PyMilvus 的源码目录。
tests/
: 单元测试目录。
CONTRIBUTING.md
: 本文档。
LICENSE
: PyMilvus 项目遵循的开源协议。
Makefile
: 方便 Github action 运行的脚本。
OWNERS
: 这个文件指定了当前目录的 reviewers 和 approvers。他们的人选是根据贡献者的活跃度和对当前代码贡献量综合敲定的。活跃的 contributors 会被列为 reviewers,承担起审核代码的责任。当一个 reviewer 审核了一段时间代码且在社区中一直处于活跃状态时,reviewer 会被列为 approver,负责对 PR 除了代码外的内容审核。如果你提了一个 PR 而不知道应该给谁审核,可以从这里面指定的贡献者挑选 reviewer 和 approver 来审核 PR。
README.md
: Readme 文档。
requirements.txt
: 开发 PyMilvus 时依赖的第三方库。
setup.py
: PyMilvus 的打包脚本
除了和代码、机器打交道,你还可以和 Milvus 社区中的人交流。社区中每天都有很多新面孔加入,当他们遇到的困难正好是你所了解的地方,请尽情的帮助这些人。回想你初次接触 Milvus 接受过的帮助,你也可以将这样的交流互助精神不断传递下去,我们一起共创一个协作、开源、开放、包容的社区。