Contributing to DIG

Thank you very much for your interest in contributing to DIG: Dive into Graphs! Any forms of contributions are welcomed, including but not limited to the following.

  • Reporting issues

  • Fixing bugs

  • Adding algorithms

  • Adding datasets

  • Adding metrics

  • Adding utilities

  • Improving documentations

Overview

Before contributing, it is helpful to have an understanding of the general structure of DIG. Namely, DIG is not one single graph deep learning model; instead, it is a collection of datasets, algorithms, and evaluation metrics across different topics. The objective of DIG is to enable researchers to benchmark their work and implement new ideas.

Structurally, DIG is divided into four topics: Graph Generation, Self-supervised Learning on Graphs, Explainability of Graph Neural Networks, and Deep Learning on 3D Graphs.

Specifically, every directory under the /dig sources root contains a directory of algorithms (method), a directory of datasets (dataset), a directory of metrics (evaluation), and a directory of utilities (utils) if applicable.

Reporting issues

We use the GitHub issues tracker to manage any issues, questions, and reports. Please use the label feature to indicate what topic your issue concerns.

General process of contributing to code

  1. Fork the DIG repository by clicking “Fork” in the top right of the screen at this URL.

  2. Uninstall existing DIG (if applicable):

    pip uninstall dive-into-graphs
    
  3. Clone your fork:

    git clone https://github.com/[YOUR_GITHUB_USERNAME]/DIG.git
    cd DIG
    
  4. Install DIG in develop mode:

    pip install -e .
    

    Note

    This develop mode allows you to edit your code, and have the changes take effect immediately. That means you don’t need to reinstall DIG after you make modifications.

  5. Once the contributions are ready, push them to your forked repository.

  6. Navigate to your fork on GitHub, and create a pull request. The pull request will be reviewed by a member familiar with the topic.

Improving documentations

  1. Install sphinx, sphinx_rtd_theme, and autodocsumm:

    pip install sphinx
    pip install sphinx-rtd-theme
    pip install git+https://github.com/Chilipp/autodocsumm.git
    
  2. All the documentation source files are in DIG/docs/source/. Find the .rst file you want to contribute and write the documentation. The language we use is reStructuredText.

    Note

    Most documentations should be written in the code as comments, which will be converted to docs automatically.

  3. Make your html locally.

    cd docs
    make html
    
  4. Then, you can preview the documentation locally by opening DIG/docs/biuld/html/index.html.

  5. Before pushing to the GitHub repository, please clean the make.
    cd docs
    make clean
    
  6. Push the contribution to your forked repository, and then submit a pull request.