# Contributor's Guide

The Echoshader team welcomes contributions to improve the capability to interactively visualize large volumes of cloud-based ocean sonar data
and accelerate the data exploration and discovery process. This project goes hand-in-hand with ongoing development of
the [echopype](https://github.com/OSOceanAcoustics/echopype) package that handles the standardization, pre-processing,
and organization of these data. The visualizations in [echoshader](https://github.com/OSOceanAcoustics/echoshader) are based on the [HoloViz](https://holoviz.org/) suite of Python tools, which can be either displayed in Jupyter notebooks or combined in
[Panel](https://panel.holoviz.org/) dashboards, hence familiarity with those libraries will be helpful. Contributions can take any form: testing, contributing features, improving documentation, and creating visualization examples.

## Getting Started

1. Read the [documentation](https://echoshader.readthedocs.io/en/latest/echoshader_doc/index.html)

* Install `echoshader` and run the example [notebooks](https://github.com/OSOceanAcoustics/echoshader/tree/main/docs/source/echoshader_doc/version_0.1.0)
* [Report](https://github.com/OSOceanAcoustics/echoshader/issues/new) any existing issues (first check if the problem has been already reported)
* Look through existing [issues](https://github.com/OSOceanAcoustics/echoshader/issues) and identify ones that you can contribute to (the tag `good-first-issue` can be a good starting point)
* Comment on an issue with the intent to work on a task and get feedback from maintainers
* Create a [draft pull request](https://github.blog/2019-02-14-introducing-draft-pull-requests/) with your work in progress, so your development is visible even before being completed (we use the [fork workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/forking-workflow))

### Additional Resources

Some useful resources for getting started with the proposed visualization tools:

* Getting started with [HoloViz](https://nbviewer.org/github/philippjfr/pydata-2021/blob/master/PyData_2021.ipynb)
* Useful resources and example dashboards in [Panel](https://awesome-panel.org/)
* Intermediate [xarray tutorial](https://tutorial.xarray.dev/overview/intermediate-path/README.html)
