# Public Project AllOnIAConfigs

This project contains the :obj:`~alloniaconfigs.configs.Configs` class that allows the user to
easily handle configurations.

You can find the user documentation [here](https://aleia-team.gitlab.io/public/alloniaconfigs)

This is a public project. Everyone is welcome to contribute to it.

## Installation

```bash
pip install alloniaconfigs
````

## Develope this project locally:

This project uses [Poetry](https://python-poetry.org/) to manage its
working environment. Install it before coding in project.

### Install dependencies using poetry:

```bash
./init.sh
```

### Testing:

```bash
poetry run pytest tests # Parallelized
poetry run pytest tests -n 0 # Sequential

# Sequential with logs (logs can't work with parallelized tests)
poetry run pytest tests -n 0 -s # -s is the equivalent of --capture=no
```

### Lint:

To run the linters used by this project, you can run:
```bash
poetry run pre-commit run # Run lint only on staged files

# Manually check conventional commits format:
poetry run pre-commit run gitlint --hook-stage commit-msg --commit-msg-filename .git/COMMIT_EDITMSG
```

### User documentation:

The documentation source files are located in _docs/source/_. If you add
new features, please add them to the documentation.

You can buid the documentation locally by doing

```bash
cd docs
make html
```

The produced documentation should then be readable by opening the file in
docs/build/index.html in a web browser.
