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.
Overview of DIG¶
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 provide a unified testbed for higher level, research-oriented graph deep learning tasks, which enables researchers to benchmark their work and implement new ideas.
Structurally, DIG is currently 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.
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.
Contributing to code¶
Before you plan to fix buges, add algorithms, add datasets, add metrics, and add utilities, please firstly open an issue to describe the features you plan to add. We can discuss it and achieve an agreement before you start coding, which can save lots of efforts.
We explain the preferred GitHub workflow as follows.
Fork the DIG repository by clicking “Fork” in the top right of the screen at this URL.
Uninstall existing DIG (if applicable):
pip uninstall dive-into-graphs
Clone your fork:
git clone https://github.com/[YOUR_GITHUB_USERNAME]/DIG.git cd DIG
Install DIG in
pip install -e .
developmode 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.
Once the contributions are ready, push them to your forked repository.
Navigate to your fork on GitHub, and create a pull request. The pull request will be reviewed by a member familiar with the topic.
Install sphinx, sphinx_rtd_theme, and autodocsumm:
pip install sphinx pip install sphinx-rtd-theme pip install git+https://github.com/Chilipp/autodocsumm.git
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.
Most documentations should be written in the code as comments, which will be converted to docs automatically.
Make your html locally.
cd docs make html
Then, you can preview the documentation locally by opening
- Before pushing to the GitHub repository, please clean the make.
cd docs make clean
Push the contribution to your forked repository, and then submit a pull request.