What is CaosDB?

What is CaosDB?

CaosDB is a software toolbox for data management. Its focus lies on managing data in dynamic environments of research and development where changes are too frequent or projects are too small to bear the great cost of implementing a traditional specialized but inflexible data management system. The research data management system (RDMS) CaosDB uses a semantic data model that allows to grow and change in those dynamic environments!

You can find an online demo of CaosDB at https://demo.indiscale.com.

The best place to get started on your own is here.

The CaosDB project consists of the following components, and most of them already have extensive documentation of their own. Their source code may be downloaded and installed from GitLab repositories.

  • The CaosDB server organizes, delivers and manages the data. It is written in Java and must be installed if you want your own CaosDB instance.
    • The server needs a database backend to communicate with. CaosDB uses the industry standard MariaDB/MySQL, the CaosDB specific components are contained in the CaosDB MySQL backend project. A MariaDB instance with this project installed is needed for running the server.
    • CaosDB can be configured to serve a convenient web frontend which users can access through their web browser. The CaosDB webui contains this web client.
  • Client libraries enable developers and technically interested users to comfortably interact with CaosDB. Client libraries may be written in many programming languages, currently the most prominent one is the Python library:
    • Pycaosdb is the default Python client library. For most users, this is the starting point for their own CaosDB applications. The pycaosdb documentation also features tutorials for an easy start, for example to interact with the demo server.
  • The integration tests contain a collection of live tests to ensure that all components work together as they should.


Generally, the CaosDB project and all files in the official repositories are licensed under the GNU Affero General Public License (version 3 or later). However, always check the LICENSE.md files for the license which applies in the particular case.