Contributing to Numbas

Numbas is open source

We encourage any kind of contribution to the Numbas project, whether it’s a bug fix, a new feature or extension, documentation, or just a suggestion of a feature you’d like to have.

We are always interested in feedback from users, especially those with interesting ideas on how to develop and improve the system.

Here’s how you can contribute to the Numbas project

Report a bug or suggest a feature

The easiest way to lets us know about something is to email If you’d like to discuss it with the Numbas community, post on the numbas-users mailing list. Or, if you’ve found a bug and have a GitHub account, create an issue on our issue tracker.

Features added to Numbas as a result of suggestions from users include:

Related links

Write about how you use Numbas

Writing about how you use Numbas is a great way of spreading the word, and disseminating good practice. Blog posts can be just as effective as research papers in communicating success stories, as well as lessons learned.

We’re always on the look-out for case studies we can higlight on our blog. If you’ve used Numbas and have something to share, get in touch.

Some examples of Numbas users sharing their experiences:

Related blog posts

Write some documentation

One of the most helpful ways you can contribute to Numbas is to improve the documentation. Even if you just fix a typo, that will make the documentation better for everyone who reads it.

Every page in our online documentation has an “Edit on GitHub” link at the top. Once you’ve created a free account on GitHub, you can edit any page inside your web browser.

The documentation is created in the reStructuredText format, using Sphinx; if you’re making a big change, you will find the reStructuredText primer useful.

Related links

Contributing code

Numbas development is coordinated through our GitHub account. We are constantly adding changes and improvements, often with the help of our global community of users.

We have two main repositories on GitHub – the Numbas runtime and the editor. In addition to those, there are smaller repositories for things like extensions or VLE integrations. They’re all under the Numbas organization on GitHub.

We keep track of bugs and feature requests on the GitHub issue tracker. Tasks which would be relatively easy for a newcomer to the project to complete are marked with the label “good first issue”.

To make changes to the Numbas runtime or editor, you should set up a development environment on your own computer. Follow our comprehensive installation instructions for Windows, Mac, and Linux.

If you fix a bug or add a feature to Numbas and want to include it in the main codebase, fork our GitHub repository and create a pull request into our master branch. Don’t worry if your feature is incomplete – we can point you in the right direction or help to finish it off.

Related links

Numbas in your own language

Numbas supports full localisation. Translations already exist for over a dozen languages.

It’s very easy to translate Numbas to a new language!

Head to our translation management site to get started translating Numbas into your language. You only need to give your name and email address.

Existing translations also need to be kept up to date! You can help by making sure that your language is in sync with the English translation.

Related links

Example Numbas tests