Hi! Thanks for your interest in contributing to PyThaiNLP. In this document we'll try to summarize everything that you need to know to do a good job.
We use Git as our version control system, so the best way to contribute is to learn how to use it and put your changes on a Git repository. There's a plenty of documentation about Git -- you can start with the Pro Git book.
We use the famous gitflow to manage our branches.
- Use PEP8;
- Write tests for your new features (please see "Tests" topic below);
- Always remember that commented code is dead code;
- Name identifiers (variables, classes, functions, module names) with readable
names (
xis always wrong); - When manipulating strings, use Python's new-style
formatting
(
'{} = {}'.format(a, b)instead of'%s = %s' % (a, b)); - All
#TODOcomments should be turned into issues (use our GitHub issue system); - Run all tests before pushing (just execute
tox) so you will know if your changes broke something; - Try to write both Python 2 and Python3-friendly code so won't be a pain for us to support both versions.
https://www.facebook.com/groups/thainlp and https://github.com/wannaphongcom/pythainlp/issues
Happy hacking! (;