How to contribute

IfcOpenShell is made possible by the contributions of hundreds of people. Contributions range from developing code, writing documentation, creating tutorials, responding to requests, reporting bugs, and marketing.

Writing documentation

A great way to contribute without writing code is to help writing documentation.

All documentation is written in ReStructured Text and is available in the IfcOpenShell docs directory. You can press the edit button on the top right on any documentation page to quickly edit their content.

Python API documentation is autogenerated from docstrings present in the source code of the respective Python module.

If you want to build the documentation locally, the documentation system uses Sphinx. First, install Sphinx and dependencies:

$ pip install sphinx
$ pip install sphinx-autoapi
$ pip install sphinx-copybutton
$ pip install furo

Now you can generate the documentation:

$ cd /path/to/ifcopenshell/src/ifcopenshell-python/docs/
$ make html
$ cd _build/html
$ python -m http.server

You will now have a local webserver running hosting the documentation.


It may take some time to generate the API documentation. You can edit the list of autoapi directories to make this faster