Contributing#

All contributions are welcome!#

SBMLtoODEjax is in its early stage and any sort of contribution will be highly appreciated. There are many ways to contribute, including:

How can I contribute to the source code?#

Submitting code contributions to SBMLtoODEjax is done via a GitHub pull request. Our preferred workflow is to first fork the GitHub repository, clone it to your local machine, and develop on a feature branch. Once you’re happy with your changes, commit and push your code.

New to this? Don’t panic, our step-by-step-guide below will walk you through every detail!

Step-by-step guide#

  1. Click here to Fork SBMLtoODEjax’s codebase (alternatively, click the ‘Fork’ button towards the top right of the main repository page). This adds a copy of the codebase to your GitHub user account.

  2. Clone your SBMLtoODEjax fork from your GitHub account to your local disk, and add the base repository as a remote:

$ git clone git@github.com:<your GitHub handle>/sbmltoodejax.git
$ cd sbmltoodejax
$ git remote add upstream git@github.com:<your GitHub handle>/sbmltoodejax.git
  1. Install the sbmltoodejax package. We suggest using a virtual environment for development. Once the virtual environment is activated, run:

$ pip install -e .
  1. Create a feature branch to hold your development changes:

$ git checkout -b my-feature

Always use a feature branch. It’s good practice to avoid work on the main branch of any repository.

  1. Add changed files using git add and then git commit files to record your changes locally:

$ git add modified_files
$ git commit

After committing, it is a good idea to sync with the base repository in case there have been any changes:

$ git fetch upstream
$ git rebase upstream/main

Then push the changes to your GitHub account with:

$ git push -u origin my-feature
  1. Go to the GitHub web page of your fork of the SBMLtoODEjax repo. Click the ‘Pull request’ button to send your changes to the project’s maintainers for review.

Note

This guide was derived from GPJax’s guide to contributing.