Skip to content
Snippets Groups Projects
README_SETUP.md 1.67 KiB
Newer Older
# Getting started with CaosDB for Octave #

## Requirements ##

This package requires the following software:
Daniel Hornung's avatar
Daniel Hornung committed
- libcaosdb installed with Conan: See https://gitlab.indiscale.com/caosdb/src/caosdb-cpplib for
  further instructions.
- For running this library, a valid libcaosdb configuration is needed, for example a
  `.caosdb_client.json` file in your home directory or current working directory.  Please look at
  [`README_SETUP.md` in caosdb-cpplib](https://gitlab.indiscale.com/caosdb/src/caosdb-cpplib/-/blob/main/README_SETUP.md) for more information.

## Install and Load
* `make install`
* Or alternatively:
  * `make dist/caosdb.tar.gz`
  * Then in octave:
    * `pkg install dist/caosdb.tar.gz`
    * `pkg load caosdb;`
Timm Fitschen's avatar
Timm Fitschen committed
## Run Unit Tests
We use the standard test framework of Octave.
See [this article](https://wiki.octave.org/Tests) for a primer and use
Timm Fitschen's avatar
Timm Fitschen committed
[this](https://octave.org/doc/interpreter/Test-Functions.html) as a reference.
Additionally we use the [MOxUnit](https://github.com/MOxUnit/MOxUnit) framework.

Timm Fitschen's avatar
Timm Fitschen committed
## Code Formatting
Timm Fitschen's avatar
Timm Fitschen committed
Code formatting is done with the
[miss_hit](https://florianschanda.github.io/miss_hit/index.html) tools.
Timm Fitschen's avatar
Timm Fitschen committed
1. Install `miss_hit` via  `pip install miss_hit`
2. Call `mh_style --fix --octave src/ pkg/ doc/`
Timm Fitschen's avatar
Timm Fitschen committed
Configuration of `miss_hit` is stored in `./.miss_hit`.
Timm Fitschen's avatar
Timm Fitschen committed
Build documentation in `build/doc/html` with `make doc`.

The `build/doc/html` contains a sphinx-generated, `read-the-docs`-themed,
static website. If you rather would like to use the native,
`ocatave-forge`-themed, static website, you may find it under
`doc/_build_octave`.

### Requirements ###

- `sphinx`
- `sphinx-autoapi`
- `recommonmark`