Contributors

We are open to contributions in the form of bugs reports, enhancements or even new algorithms.

Bug reports

Bugs are tracked using Github issues. When creating a bug report, please provide as much information as possible to help maintainers reproduce the problem

  • Use a clear and descriptive title for the issue to identify the problem.
  • Describe the exact steps which reproduce the problem in as many details as possible. For example, start by explaining how you prepared the data as well as how the package was installed and what version of the package are you using. When listing steps, do not just say what you did, but explain how you did it.
  • Provide specific examples to demonstrate the steps. Include links to files or GitHub projects. If you’re providing snippets in the issue, use Markdown code blocks.
  • Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior. Explain which behavior you expected to see instead and why.
  • If the problem is related to performance or memory, include a CPU profile capture with your report.

Provide more context by answering these questions:

  • Did the problem start happening recently (e.g. after updating the version dependencies) or was this always a problem?
  • If the problem started happening recently, can you reproduce the problem in an older version? What’s the most recent version in which the problem does not happen?
  • Can you reliably reproduce the issue? If not, provide details about how often the problem happens and under which conditions it normally happens.

Include details about your configuration and environment:

  • Which version of spark-crowd are you using?
  • What’s the name and version of the OS you’re using?
  • Are you running using the package in a virtual machine? If so, which VM software are you using and which operating systems and versions are used for the host and the guest?

Suggesting enhancements

We are open to suggestions of new features and minor improvements to existing functionality. Please follow the guidelines to help maintainers and the community understand your suggestion. When requesting and enhancement please include as many details as possible.

Enhancement suggestions are tracked using Github Issues. To request an enhancement, create an issue and provide the following information.

  • Use a clear and descriptive title for the issue to identify the suggestion.
  • Provide a step-by-step description of the suggested enhancement.
  • Provide specific examples to demonstrate the steps. Include copy/pasteable snippets which you use in those examples, as Markdown code blocks.
  • Describe the current behavior and explain which behavior you expected to see instead and why.
  • Explain why this enhancement would be useful to the users.
  • Specify which version of the package you’re using. Specify the name and version of the OS you’re using.

New algorithms

We are also grateful for contributions of new algorithms, as long as they improve the results or add new functionality to the ones existing in the package. New algorithms must be published in peer-review publications for them to be considered. New algorithms must adhere to the architechture of this package and should take into account the scalability of the learning process.

To contribute an algorithm first create a request using Github Issues, for the maintainers to review the suggestion. This request should provide the following information:

  • Publication where the algorithm detais can be reviewed.
  • Explain why this algorithm would be useful to the users.

If the request is accepted, create a Github pull request with the new algorithm, as well as all necessary types to use it, so that the maintainers can review the code and add it to the package.