1 Star 0 Fork 28

shanying5688 / qlib

forked from Gitee 极速下载 / qlib 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
code_standard_and_dev_guide.rst 2.42 KB
一键复制 编辑 原始数据 按行查看 历史

Code Standard

Docstring

Please use the Numpydoc Style.

Continuous Integration

Continuous Integration (CI) tools help you stick to the quality standards by running tests every time you push a new commit and reporting the results to a pull request.

When you submit a PR request, you can check whether your code passes the CI tests in the "check" section at the bottom of the web page.

  1. Qlib will check the code format with black. The PR will raise error if your code does not align to the standard of Qlib(e.g. a common error is the mixed use of space and tab).

    You can fix the bug by inputting the following code in the command line.

pip install black
python -m black . -l 120
  1. Qlib will check your code style pylint. The checking command is implemented in [github action workflow](https://github.com/microsoft/qlib/blob/0e8b94a552f1c457cfa6cd2c1bb3b87ebb3fb279/.github/workflows/test.yml#L66). Sometime pylint's restrictions are not that reasonable. You can ignore specific errors like this
return -ICLoss()(pred, target, index)  # pylint: disable=E1130
  1. Qlib will check your code style flake8. The checking command is implemented in [github action workflow](https://github.com/microsoft/qlib/blob/0e8b94a552f1c457cfa6cd2c1bb3b87ebb3fb279/.github/workflows/test.yml#L73).

    You can fix the bug by inputing the following code in the command line.

flake8 --ignore E501,F541,E402,F401,W503,E741,E266,E203,E302,E731,E262,F523,F821,F811,F841,E713,E265,W291,E712,E722,W293 qlib
  1. Qlib has integrated pre-commit, which will make it easier for developers to format their code.

    Just run the following two commands, and the code will be automatically formatted using black and flake8 when the git commit command is executed.

pip install -e .[dev]
pre-commit install

Development Guidance

As a developer, you often want make changes to Qlib and hope it would reflect directly in your environment without reinstalling it. You can install Qlib in editable mode with following command. The [dev] option will help you to install some related packages when developing Qlib (e.g. pytest, sphinx)

pip install -e .[dev]
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/shanying5688/qlib.git
git@gitee.com:shanying5688/qlib.git
shanying5688
qlib
qlib
main

搜索帮助

344bd9b3 5694891 D2dac590 5694891