Skip to content

Latest commit

 

History

History
57 lines (34 loc) · 4.81 KB

CONTRIBUTING.md

File metadata and controls

57 lines (34 loc) · 4.81 KB

Contributing

First off, thank you for considering contributing to this project. There's a lot to do, and the potential to contribute information to the COVID-19 response that could potentially save lives. Every bit counts, and we appreciate you considering pitching in.

Following Guidelines

This is a quick-pace project that aims to develop useful data in as short of an amount of time as possible. Because of this, there may need to be quick pivots of focus, and potential contributions pushing in several directions. Following these guidelines will help make sure we stay coordinated and aligned towards offering the best possible data to those who need it.

Requested Contributions

Take a look at the issue list for areas in which you can help out. Work is tagged with GithHub issue labels to organize work by the type of area of interest or ideal skillset. There are also GitHub projects that separate out work that might be useful to check out. For example, if you are someone who can do data science-y things inside a juptyer notebook, check out issues in the Data Analytics project. If you are good at researching open datasets that could be useful, check out hte Data Gathering and Data Request labels. If you are a domain expert or someone who can help inform what information should be produced and how it should be used, you can contribute on this issue.

Aside from this, please let us know in the Gitter channel or in a new issue on ways you want to contribute!

Getting Started

See the Getting Started section of the README

Talking things through

A number of issues will require thinking through how to coordinate with the project group in order to best accomplish work. If you want to get started on an issue, please comment on that issue and discuss your approach on the Gitter channel or in the issue comments.

Adding Data

If you end up bringing in data to use, here's how to add it:

  • Download the data if it's not that big to be committed to the repo. If it is big, add downloading it to the processing/00_Download_Data.ipynb notebook. Add it to the data/external folder.
  • Add source information to data/README.md
  • Data paths in notebooks should be built up with the data path helper methods; for example if you added external/data.csv, then you can get the full path (inside or outside docker) by:
from covidcaremap.data import external_data_path

the_path = external_data_path('data.csv')
  • Any data output by the notebook should go into the data/processed directory. You can get a path there by using the processed_data_path method similar to external_data_path. We have been committing the processed_data files even though they can be regenerated by notebooks; I think this allows people to run notebooks selectively and also puts up data that people may find useful (but should use at their own risk).
  • If a notebook generates data that will be made explicitly available beyond the project, it uses the published_data_path. This is data we'd advocate for people to use.

The covidcaremap python package

The covidcaremap package has some constant values and some geospatial methods that are meant to be reused between notebooks. If you want to create reusable python functionality that is importable to the notebooks, pleasee add it to that package.

Adding Python requirements

If you need to install any python libs, please put them in notebooks/requirements.txt. That way the docker/build script will install them into the container and other users won't have to think to hard about the install environment.

Making a Pull Request

To make a pull request, fork this repository to your own GitHub account. Push to a branch on your fork, and make the Pull Request to the master branch of this repository from there. In the Pull Request, describe what work you're looking to merge in and include any relevant issues that the PR is related to.

Software contributions may be required to fit to the project standards as they are established in order to increase the ability for new volunteers to get involved and contribute. Make sure to communicate and look for comments on any Pull Requests requesting work to fit into these standards.

Don't hesitate to reach out on Gitter for help contributing!