Skip to content

RDFLib Contributing Guide

Thank you for considering contributing to RDFLib. This project has no formal funding or full-time maintainers, and relies entirely on independent contributors to keep it alive and relevant.

Which branch should I target?

Most pull requests should target main, the current major release branch. Backwards-compatible bug fixes, documentation updates, dependency updates, and new features should usually target main.

The next branch is reserved for work toward the next major release. Target next only for breaking changes or other work that maintainers have identified as next-major work.

Maintainers periodically merge main forward into next, so changes accepted on main will be carried into next-major development when next catches up.

If you are unsure which branch to use, open the pull request against main and ask for maintainer guidance.

Ways to contribute

Some ways in which you can contribute to RDFLib are:

  • Address open issues: GitHub issues
  • Fix expected failure tests: GitHub search query
  • Add additional expected failure tests for open issues: GitHub issues
  • Add tests for untested code: Coveralls branch
  • Review pull requests marked with the review wanted label.
  • Answer questions on Stack Overflow: Stack Exchange questions
  • Convert unittest based tests to pytest based tests: GitHub search query
  • Add, correct or improve docstrings: rtd latest
  • Update the RDFLib Wikipedia entry: Wikipedia: RDFLib
  • Update the RDFLib Wikidata entry: Wikidata: Q7276224
  • Participate on Gitter/Matrix chat: Gitter Matrix
  • Participate in GitHub discussions: GitHub Discussions
  • Fix linting failures (see ruff settings in pyproject.toml and # noqa: directives in the codebase).

Pull Requests

Contributions that involve changes to the RDFLib repository have to be made with pull requests and should follow the RDFLib developers guide.

For changes that add features or affect the public API of RDFLib, it is recommended to first open an issue to discuss the change before starting to work on it. That way you can get feedback on the design of the feature before spending time on it.

Code of Conduct

All contributions to the project should be consistent with the code of conduct adopted by RDFLib.