Skip to content
Andrei Novikov edited this page Nov 2, 2017 · 10 revisions

Thank that you are interested on contribution to pyclustering library by development. The best way is to contribute to the project is to create fork of the repository apply your changes, make sure that all unit-tests are passed and then create pull request.

Here you will find useful pages related to development contribution:

  1. Prepare working copy of the library;
  2. Run unit-tests for core of the library 'ccore';
  3. Run unit and integration tests for pyclustering;
  4. Build core of pyclustering library;

Here simple rules related to development process:

  1. Development is ongoing on development branch (for example, now it is '0.7.dev'), not on 'master';
  2. Changes from '0.7.dev' are merged to 'master' when all tests are passed;
  3. Each implemented feature, for example, algorithm, must have example and tests. For example, for each clustering algorithm (pyclustering/cluster) you can find examples (pyclustering/cluster/examples) and tests (pyclustering/cluster/tests);

Here simple rules related to code:

  1. Snake case style is used in code of pyclustering and ccore;
  2. Enumerator members, const static variables are written in snake upper case, for example, ENUM_MEMBER_ONE, ENUM_MEMBER_TWO;
  3. ccore: each class member should have prefix m_<name_class_member>;
  4. ccore: each function/method argument should have prefix p_<name_argument>;

If you have any questions related to development issues do not hesitate to write a message using E-Mail: [email protected].

Clone this wiki locally