本文档提供了对 Sherlock 项目进行贡献的指南,Sherlock 是一个通过用户名在社交网络上查找社交媒体账户的工具。无论您是添加新站点、改进核心引擎还是修复错误,本指南都将帮助您了解贡献流程。
有关项目结构的信息,请参阅项目结构。
要为 Sherlock 贡献,您需要
对 Sherlock 的大部分贡献属于以下类别:
| 组件 | 文件 | 描述 |
|---|---|---|
| 站点配置 | sherlock/resources/data.json | 添加或更新站点配置 |
| 核心引擎 | sherlock/sherlock.py | 修改搜索功能 |
| 测试用例 | tests/*.py | 添加或改进测试 |
| 文档 | README.md, *.md | 改进文档 |
最常见的贡献是向 Sherlock 的数据库添加新站点。以下是 data.json 中的站点配置模式:
添加新站点时
在提交拉取请求之前,请确保您的更改通过所有测试
# Regular tests
pytest
# Tests requiring internet access
pytest -m online
测试配置在 pytest.ini1-5 中定义,它标记了需要互联网访问的测试。
用于跨多个 Python 版本进行测试
tox
代码库的不同部分有指定的负责人,他们负责审查和批准更改
来源:.github/CODEOWNERS1-15 .github/FUNDING.yml1-2
对这些文件的更改将自动请求相应的代码所有者进行审查。.github/FUNDING.yml1-2 中的 GitHub 资金配置列出了可以获得资金支持的维护者。
报告错误时,请包括:
有关错误报告的更详细信息,请参阅错误报告。
Sherlock 遵循在 docs/CODE_OF_CONDUCT.md1-130 中定义的贡献者公约行为准则。主要原则包括:
违反行为准则的行为可按照行为准则文件中的规定向项目维护者报告。
来源:docs/CODE_OF_CONDUCT.md1-130
在贡献代码时
为了获得最佳开发体验
venv 或 conda)pip install -e .pip install -r requirements.txt