Contribute to DHG
Hint
Author: Yifan Feng (丰一帆)
Proof: Xinwei Zhang
DHG is a free software; you can redistribute it and/or modify it under the terms of the Apache License 2.0. We welcome contributions.
To contribute the DHG you can select
Fix bugs.
Implement new features and enhancements.
Implement or enhance low-order or high-order structures in DHG.
Implement new spectral-based Laplacian matrix on a specified structure.
Implement new spatial-based message passing operation or aggregation operation.
Implement new layers on low-order or high-order structures.
Implement new state-of-the-art models.
Implement new loss functions.
Implement new metrics on a specified task.
Denote or upload new datasets.
Improve the quality of the documentation.
Auto-ML enhancements.
Once you have selected an option, we recommend first raise an issue or discussion on the Github. Please read the following sections about coding style and testing first before development. Our committors (who have write permission on the repository) will review the codes and suggest the necessary changes. The PR could be merged once the reviewers approve the changes.
Coding Style
For python codes, we generally follow the PEP8 style guide. The doc-string follows the Google style.
DHG use the black library to format the code.
The configuration of the black formatter is in the pyproject.toml file.
Testing
The DHG’s testing is located under tests/.
You can add a new test file in the tests/’s sub-directory for your implemented functions.
Run all tests with
pytest .
Run individual test with
pytest tests/xxx/xxx.py
tests/xxx/xxx.py is an example filename.
Building Documentation
Clone the DHG repository.
git clone https://github.com/iMoonLab/DeepHypergraph
Install the
requirements.txtbelow thedocs/directory.pip install -r docs/requirements.txt
Build the documentation with
cd docs make clean && make html
Open the html file (
docs/build/html/index.html) with the browser.