Writing RDFLib Documentation

These docs are generated with Sphinx.

Sphinx makes it very easy to pull in doc-strings from modules, classes, methods, etc. When writing doc-strings, special reST fields can be used to annotate parameters, return-types, etc. This makes for pretty API docs. See here for the Shinx documentation about these fields.

Building

To build the documentation you can use Sphinx from within the poetry environment. To do this, run the following commands:

# Install poetry venv
poetry install

# Build the sphinx docs
poetry run sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html

Docs will be generated in docs/_build/html and API documentation, generated from doc-strings, will be placed in docs/apidocs/.

There is also a tox environment for building documentation:

tox -e docs

API Docs

API Docs are automatically generated with sphinx-apidoc:

poetry run sphinx-apidoc -f -d 10 -o docs/apidocs/ rdflib examples
Note that rdflib.rst was manually tweaked so as to not include all

imports in rdflib/__init__.py.

Tables

The tables in plugin_*.rst were generated with plugintable.py