Generally, any kind of contribution is welcome.
However, this project has some standards which you should not violate to get your improvements merged:
-
Use
black
for code formatting. Arguments forblack
are as follows: "black --check -l 120 . --exclude=".*_pb2.py"". -
Use
pylint
for statical analysis. Arguments forpylint
are following: "pylint exonum --max-line-length=120 --disable=fixme,bad-continuation,too-few-public-methods". -
Use
mypy
for type checking. Arguments formypy
are as follows: "mypy --ignore-missing-imports --disallow-untyped-defs ./exonum ./examples". -
Check that docs can be built with
sphinx
with no warnings. To check, run:
cd docs
make html
The mentioned rules do not apply to tests. Keeping test code passing all the lints will cause too much overhead.
However, use common sense when updating test code and try to keep it readable.