Welcome to Kadi4Mat’s documentation!

PyPi License Zenodo

Kadi4Mat is the Karlsruhe Data Infrastructure for Materials Science, an open source software for managing research data.

This documentation contains instructions on how to install and configure Kadi4Mat, some general topics about developing or contributing to Kadi4Mat, information about the HTTP API Kadi4Mat provides as well as an overview and API reference of the source code itself. For more information about Kadi4Mat, check out its website. The source code of the project can be found here.

Installation & Updates

This chapter contains instructions on how to install, update and configure Kadi4Mat as well as its plugins. For regular installations, please refer to the production instructions. For development installations, please refer to the development instructions.

Note

The installation has currently been tested under the following Debian-based operating systems, which the instructions and provided scripts are also based on:

  • Debian 10 (Buster)

  • Debian 11 (Bullseye)

  • Ubuntu 20.04 LTS (Focal Fossa)

This chapter covers various information about developing or contributing to Kadi4Mat. Before reading this chapter, make sure you have a working development environment. Some sections assume that a manual or hybrid development installation is being used, however, most aspects should also apply to Docker installations with some variations and limitations.

HTTP API

This chapter covers the HTTP API provided by Kadi4Mat, namely some general information as well as a list of all available API endpoints. This API makes it possible to programmatically interact with most of the resources that can be managed via the graphical user interface of Kadi4Mat by sending suitable HTTP requests to the different endpoints the API provides.

Note

In parallel to the API itself, a Python wrapper library called kadi-apy is also under development, which can be used as an easier alternative to using the API directly. More information can be found here.

This chapter serves as an API reference for the source code of Kadi4Mat, currently focused on the backend code, and also gives a brief overview of the project’s general structure.