Metadata-Version: 2.4
Name: untils
Version: 1.0.0
Summary: Light-weight library for console games or small utils to process user input as commands and describe structure with config.
Author: BesBobowyy
Project-URL: GitHub, https://github.com/BesBobowyy/untils
Keywords: cli,console,lightweight
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: README.md
Provides-Extra: test
Requires-Dist: pytest>=9.0.0; extra == "test"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6.0; extra == "docs"
Requires-Dist: mkdocs-material; extra == "docs"
Dynamic: license-file

# 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.
