# Welcome to `untils`

![Version](https://img.shields.io/badge/version-1.0.0-blue)
![License](https://img.shields.io/badge/license-MIT-green)
![Python](https://img.shields.io/badge/python-3.12-yellow)

*untils* - Is light-weight library for console games or small utils to process user input as commands and describe structure with config.

## Abilities

- Module-based config in markup line.
- Custom logic in OOP.
- Validation and parsing user input for 10 lines.
- Process exceptions.
- Almost-perfect detailed annotations everywhere.
- Fast command processing (~208µs).
- Infinitely extendable abilities.
- Calm about anything.

## Architecture

This library was builded with next architecture:

![Architecture diagramm.](docs/assets/diagramm0.svg)

## Installation

```bash
pip install untils
```

## Documentation

[Start Course](start-guide/01-first-project.md "Beginner course into the library.")

[API Reference](api-reference.md)

## Roadmap

I have resolve my thoughs to several categories:

1. **Main**:
    - [ ] Add command description in `"description"` field.
    - [ ] Add reserved commands in format like internal state name: `"__help__"` - Get all and available commands.

2. **Additional**:
    - [ ] ...

3. **Conceptions**:
    - [ ] Typing system in config through `"type"` field.
