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#
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.
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
Install the sbmltoodejax package. We suggest using a virtual environment for development. Once the virtual environment is activated, run:
$ pip install -e .
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.
Add changed files using
git add
and thengit 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
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.