Contributing

The wordseg package is free software made for open science, we welcome all the ideas and contributions.

Note

We strongly welcome direct contributions. This will require some familiarity with the GitHub system. For readers who do not have previous experience with git, we recommend the excellent introduction to git offered by Software Carpentry, followed by GitHub’s tutorials for forking and creating pull requests.

Reporting bugs, issues or ideas

Please open an issue on the wordseg’s github page.

Note

When reporting installation issues, please include the full output of the make install command in your message.

Contributing to the code

  • To contribute directly to the package, please create a fork of wordseg in your github account.

  • Create a dedicated branch on your fork.

  • Make sure to install wordseg with the make develop command.

  • Submit your work by sending a pull request to the wordseg master branch. See here for github’s help on pull requests.

  • Please make sure all the tests are passing before any pull request. When possible add new tests for your code as well.

Coding style

In order to have a consistent style across all the code base, the package follows the following conventions:

  • C++ code follows the google style guide,

  • Python code follows the pep8 standard,

  • Python documentation follows the numpydoc standard, this allows automatic conversion of Python docstrings into a HTML based documentation of the code.

  • HTML documentation (located in the ./doc directory) are written in reStructuredText, a format similar to markdown (a brief guide here).

Add your own segmentation algorithm

  • Once you forked the project as detailed above, you are ready to integrate your algorithm to the existing package. To get inspiration, you can have a look to the wordseg-baseline implementation.

  • Contact us by creating an issue on github if you need help.

  • Once you are ready, you can contribute your algorithm to the project by sending a pull request on github.