Skip to content

HowToContribute

Greg Landrum edited this page Mar 31, 2023 · 3 revisions

We are really happy to have new contributors join the community and help make the RDKit better. Here are some ideas for ways that you can contribute. This is very much a work in progress.

Are you an RDKit user?

Really helpful things you can do that don't involve serious coding:

  • Being an active part of the community and asking/answering questions on the RDKit mailing list and/or Github
  • Submitting high-quality bug reports
  • Sharing how you are using the RDKit on the mailing list
  • Sharing small examples that show how you did something interesting/useful with the RDKit. These can go to the mailing list and are often useful contributions to the RDKit Cookbook
  • Improving the documentation. This can mean fixing pieces that you find to be unclear or wrong, adding new sections, write a new tutorial, etc.

Are you a Python or C++ developer?

Submitting new features and or bug fixes is certainly nice. Want ideas on how to get started? We try to remember to tag issues that are relatively small and self-contained as good for beginners; take a look at that list and see if there's anything that looks interesting. If you have questions, ask by adding a comment to the issue.

New or improved documentation is always a good thing and is often a good "I have a few minutes" activity.

Submitting code

Please submit code changes via a github pull request. If you aren't familiar with how this works or you want more details on how we do this, please take a look at the presentation Greg and Nadine did at the 2016 RDKit UGM

Coding standards

We do have a coding standards document, but it's unfortunately not always as up-to-date as it should be. Please take a look anyway though. The general idea is that your code should "look like" (e.g. use the same naming conventions and be formatted the same as) the existing code and that you should almost always be adding one more tests to accompany every code change. We take testing very seriously.

Are you a Java or C# developer?

We really need more example code that shows how to use the RDKit from Java or C#. The easiest way to do this is by adding some additional tests for the SWIG wrappers (we really need those too), but if you have other ideas of how to make example code available. please let us know.

As mentioned above, questions here should go to either the rdkit-devel mailing list or the github issue tracker.