We use GitHub issues for bug reports and feature requests.
- Make an issue with your feature description;
- We shall discuss the design and its implementation details;
- Once we agree that the plan looks good, go ahead and implement it.
- Goto GitHub issues;
- Pick an issue and comment on the task that you want to work on this feature;
- If you need more context on a specific issue, please ask, and we will discuss the details.
Once you finish implementing a feature or bugfix, please send a Pull Request.
If you are not familiar with creating a Pull Request, here are some guides:
- http://stackoverflow.com/questions/14680711/how-to-do-a-github-pull-request
- https://help.github.com/articles/creating-a-pull-request/
- Break your work into small, single-purpose updates if possible. It's much harder to merge in a large change with a lot of disjoint features.
- Submit the update as a GitHub pull request against the
master
branch. - Make sure that you provide docstrings for all your new methods and classes
- Make sure that your code passes the unit tests.
- Add new unit tests for your code.
Do not forget to check the codestyle for your PR with
- flake
flake8 . --count --ignore=E126,E226,E704,E731,W503,W504 --max-complexity=16 --show-source --statistics
- yapf
./yapf.sh --all-in-place
or with
$ ./codestyle.sh
Catalyst uses Google style for formatting docstrings. Length of line inside docstrings block must be limited to 80 characters to fit into Jupyter documentation popups.