The GenUI backend codebase is divided into multiple Python packages that each encapsulate a part of the GenUI Django project (Figure ). Any package that resides in the root directory is referred to as the root package. Root packages facilitate many of the REST API endpoints (Figure ), but they also contain reusable classes that are intended to be extended by extensions (see Generic Views and Viewsets, for example). In the following sections, some important features of the backend Python API are briefly highlighted. However, a much more detailed description with code examples is available on the documentation page of the project .