Thanks for your interest in contributing to kglab 🎉
This page gives a quick overview of how things are organized and most importantly, how to get involved.
First, if you want to report a potential issue with this library, please do a quick search to see if the issue has already been reported. If so, it's best to simply leave a comment on an existing issue, rather than create a new one. Older issues may also include helpful info and show solutions to commonly encountered questions.
When opening a new issue, please use a descriptive title and include information about your environment and library installation:
- Which operating system and version number?
- Which version of Python?
- How did you install?
pip
,conda
, clone repo thensetup.py
, etc.
Try to provide as many details as possible. What exactly is going wrong? How is it failing? Is there an error?
Please understand that in general our developer community does not provide support via email, Twitter DMs, and other 1:1 messaging. We believe that help is much more valuable when it gets shared publicly, so that more people can benefit.
In all communications and collaborations, we adhere to the Contributor Covenant Code of Conduct. By participating, you are expected to follow this code.
If you'd like to contribute to this open source project, the best way to get involved with our developer community is to participate in our public office hours events. First join the Graph-Based Data Science group on LinkedIn where these meetingsget announced. We'll also have other developer discussions on that forum, along with related updates, news, conference coupons, etc.
The Knowledge Graph Conference hosts several community resources where you can post questions and get help about kglab and related topics. Many of our developers are involved there too:
-
community Slack – specifically on the
#ask
channel -
Knowledge Tech Q&A site for extended questions posed to experts
You don't have to be an expert to contribute, and we're happy to help
you get started.
We'll try to use the
good first issue
tags to mark bugs and feature requests that are easy and self-contained.
If you've decided to take on one of these problems, it's best to fork the repo and do development and testing in your own fork first.
Please follow the conventions for code formatting, type annotations, unit tests, code linting, naming conventions, and so on. Understand that we will not be able to accept pull requests that make major overhauls of the code base or completely change our shared work on formatting, testing, etc.
If you need to incorporate other libraries, please discuss this with the other developers. There may be issues regarding point releases and compatibility that would have impact on other parts of the code base.
Once you're making good progress, don't forget to add a quick comment
to the original issue.
You can also use the issue to ask questions, or share your work in
progress.
Then when you're ready to submit code for review, please use a
pull request
on our main
repo branch.
To start developing and run tests locally, it is needed to install dev requirements: pip install -r requirements-dev.txt
Testing that runs with CI/CD can be run with: pytest tests/
For RDF-based tests on RDF-tests manifests: pytest tests/rdf_tests/test_rdf_basic.py -k test_rdf_runner -s
The "Graph-Based Data Science" talk describes the kglab open source project in much more detail, and discusses some about our roadmap. In other words, what new features and integrations are we working toward?
See also our:
Suggestions and contributions for our documentation and tutorial are always welcomed. These tend to be good starting points for new contributors: you'll get familiar with our code samples and other resources through that.
Many thanks!