The simplest way to slice data in Java

View the Project on GitHub

Join us in making Java a great platform for data science

Tablesaw makes it easy to use Java for data science, but we can use your help. Here are some ways you can contribute today:

About questions

Please use the project Issues section on Github to ask questions, tagging the issue as a “Question”.

Improve the documentation

All our docs are in the docs folder of the tablesaw repo, and they are all written in Markdown. To provide enhancements, follow the directions on how to implement featues and bugs below as the workflow is basically the same.


We could always use better test coverage. If you see a gap you’d like to fill, follow the basic Github process outlined below.

Using Github to implement features and fix bugs (and improve documentation or add tests)

If you want to help out with one of our bugs or implement a new feature, here are some suggestions for success. The basic process looks like this:

  1. Fork Tablesaw
  2. Clone your fork to your development machine
  3. Create your issue branch
  4. Implement your feature or fix the bug and push the results to your fork
  5. Send us a pull request.

You can find more info about creating a fork and pull request in the GitHub help articles. Our maintainers will review your pull request as soon as we can. You can find our project on Github at:

What makes a good Pull Request?

To summarize:

What to Contribute?

“Help Wanted” labels

Among the open bugs and feature requests, we’ve tagged some as “Help Wanted”. This indicates that a fix should be relatively straightforward to address. We would, of course, LOVE help on some of the more challenging issues. Help Wanted simply means that this is a good place for a developer with limited knowlege of the library and/or limited experience with Java to jump in.

Machine learning algorithms

We’d also love to add support for more machine learning algorithms by adding new interfaces to Smile. Basically, you’re creating methods that transform tables to the format the Smile needs, and wraps the Smile API so that the necessary options can be set through Tablesaw. Some knowledge of Smile or machine learning would, of course, be helpful. Look at existing interfaces between Tablesaw and Smile before you start. The best solutions would include an example that shows how to use the algorithm end-to-end, including preliminary data exploration to see if the data is a good fit for the model, and showing how to use diagnostics to evaluate the model. The full example is not a requirement for the pull requests, however.

Javascript visualiation libraries

Implement an interface for a Javascript plotting library (big job, we know), but the best Javascript libraries are awesome. Email if you have any questions, or use the comments for the issue.

Working on the code in Eclipse

Become a Maintainer/Committer

We are actively seeking new maintainers for the project. The best way to get involved is to familiarize yourself with the project through use, and make a few minor changes/fixes. After that, introduce yourself by emailing and we’ll get in touch.