GraphScope has been developed by an active team of software engineers and researchers. Any contributions from the open-source community to improve this project are welcome!
GraphScope is licensed under Apache License 2.0.
For newcomers to GraphScope, you could find instructions about how to build and run applications using GraphScope in README.
GraphScope is hosted on Github, and use Github issues as the bug tracker. you can file an issue when you meets trouble when working with GraphScope.
Before creating a new bug entry, we recommend you first search among existing GraphScope bugs to see if it has already been resolved.
When creating a new bug entry, please provide necessary information of your problem in the description , such as operating system version, GraphScope version, and other system configurations to help us diagnose the problem.
We also welcome any help on GraphScope from the community, including but not limited to fixing bugs and adding new features. Note that you will be required to sign the CLA before submitting patches to us.
GraphScope documentation is generated using Doxygen and sphinx. Users can build the documentation in the build directory using:
make graphscope-docs
The HTML documentation will be available under docs/_build/html
:
open docs/index.html
The latest version of online documentation can be found at https://graphscope.io/docs.
GraphScope provides comprehensive documents to explain the underlying design and implementation details. The documentation follows the syntax of Doxygen and sphinx markup. If you find anything you can help, submit pull request to us. Thanks for your enthusiasm!
The GraphScope python package is built using the manylinux2010 environments. Please refer to ./docs/developer_guide.rst for more detail instructions.
GraphScope follows the Google C++ Style Guide for C++ code, and the black code
style for Python code. When submitting patches to GraphScope, please format your code
with clang-format by the Makefile command make graphscope_clformat
, and make sure
your code doesn't break the cpplint convention using the Makefile command make graphscope_cpplint
.
When opening issues or submitting pull requests, we'll ask you to prefix the
pull request title with the issue number and the kind of patch (BUGFIX
or FEATURE
)
in brackets, for example, [BUGFIX-1234] Fix bug in SSSP on property graph
or [FEATURE-2345] Support loading empty graphs
.
You generally do NOT need to rebase your pull requests unless there are merge conflicts with the main. When Github complaining that "Can’t automatically merge" on your pull request, you'll be asked to rebase your pull request on top of the latest main branch, using the following commands:
-
First rebasing to the most recent main:
git remote add upstream https://github.com/alibaba/GraphScope.git git fetch upstream git rebase upstream/main
-
Then git may show you some conflicts when it cannot merge, say
conflict.cpp
, you need-
Manually modify the file to resolve the conflicts
-
After resolved, mark it as resolved by
git add conflict.cpp
-
-
Then you can continue rebasing by
git rebase --continue
-
Finally push to your fork, then the pull request will be got updated:
git push --force