To send patches to ryu, please make a pull request on GitHub.
Please check your changes with autopep8, pycodestyle(pep8) and running unit tests to make sure that they don't break the existing features. The following command does all for you.
# Install dependencies of tests
$ pip install -r tools/test-requires
# Execute autopep8
# Also, it is convenient to add settings of your editor or IDE for
# applying autopep8 automatically.
$ autopep8 --recursive --in-place ryu/
# Execute unit tests and pycodestyle(pep8)
$ ./run_tests.sh
Of course, you are encouraged to add unit tests when you add new features (it's not a must though).
Python 2.7, 3.5, 3.6, 3.7:
Ryu supports multiple Python version. CI tests on Travis-CI is running on these versions.
standard library + widely used library:
Basically widely used == OpenStack adopted. As usual there are exceptions. Or python binding library for other component.
pep8:
As python is used, PEP8 is would be hopefully mandatory for https://www.python.org/dev/peps/pep-0008/
pylint:
Although pylint is useful for finding bugs, but pylint score not very important for now because we're still at early development stage. https://www.pylint.org/
Google python style guide is very helpful: http://google.github.io/styleguide/pyguide.html
Guidelines derived from Guido's Recommendations:
OpenStack Nova style guide: https://github.com/openstack/nova/blob/master/HACKING.rst
JSON files:
Ryu source tree has JSON files under ryu/tests/unit/ofproto/json. They are used by unit tests. To make patches easier to read, they are normalized using tools/normalize_json.py. Please re-run the script before committing changes to these JSON files.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。