Contributing to Superphot+

Find (or make) a new GitHub issue

Add yourself as the assignee on an existing issue so that we know who’s working on what. (If you’re not actively working on an issue, unassign yourself).

If there isn’t an issue for the work you want to do, please create one and include a description.

You can reach the team with bug reports, feature requests, and general inquiries by creating a new GitHub issue.

Create a branch

It is preferable that you create a new branch with a name like issue/##/<short-description>. GitHub makes it pretty easy to associate branches and tickets, but it’s nice when it’s in the name.

Setting up a development environment

Most folks use conda for virtual environments. You may want to as well.

$ git clone https://github.com/VTDA-Group/superphot-plus
$ cd superphot-plus
$ pip install -e .

Tip

Installing on Mac

healpy is a dependency, but native prebuilt binaries for healpy on Apple Silicon Macs do not yet exist, so it’s recommended to install via conda before proceeding to install the remaining dependencies.

$ conda config --add channels conda-forge
$ conda install healpy
$ git clone https://github.com/VTDA-Group/superphot-plus
$ cd superphot-plus
$ pip install -e .

When installing dev dependencies outside of bash, make sure to include the single quotes.

$ pip install -e '.[dev]'

Testing

Please add or update unit tests for all changes made to the codebase. You can run unit tests locally simply with:

pytest

If you’re making changes to the sphinx documentation (anything under docs), you can build the documentation locally with a command like:

cd docs
make html

Create your PR

Please use PR best practices, and get someone to review your code.