The `libretime_shared` package contains reusable functions and classes for the Libretime project.
## Usage
This library assumes that:
- You will use [`Click`](https://github.com/pallets/click) to build a CLI for your app.
- You will use [`Loguru`](https://github.com/delgan/loguru) to log messages from your app.
- You will use [`Pydantic`](https://github.com/samuelcolvin/pydantic/) to validate objects in your app.
### Configuration
First define a schema for your configuration in order to validate it. A schema is a class that inherit from `pydantic.BaseModel`. Some existing schemas can be reused such as `libretime_shared.config.RabbitMQ` or `libretime_shared.config.Database`.
Load your configuration using a subclass of `libretime_shared.config.BaseConfig`.
```py
from pydantic import BaseModel
from libretime_shared.config import RabbitMQ, BaseConfig