Metadata-Version: 2.4
Name: armonia
Version: 1.3.0
Summary: A Python library for theming facilities
Project-URL: Homepage, https://gitlab.com/Kencho1/armonia
Project-URL: Repository, https://gitlab.com/Kencho1/armonia.git
Project-URL: Issues, https://gitlab.com/Kencho1/armonia/-/issues
Author: Jesús Alonso Abad
License: MIT
License-File: LICENSE
Keywords: color-management,colors,polychromos,theme,theming
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Dist: polychromos~=1.4
Requires-Dist: python-frontmatter>=1.1.0
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5.0; extra == 'docs'
Requires-Dist: mkdocs>=1.5.0; extra == 'docs'
Provides-Extra: test
Requires-Dist: mypy>=1.0.0; extra == 'test'
Requires-Dist: pytest>=8.0.0; extra == 'test'
Requires-Dist: ruff>=0.6.0; extra == 'test'
Requires-Dist: tox>=4.0.0; extra == 'test'
Description-Content-Type: text/markdown

# Armonia

[![Read the Docs](https://img.shields.io/readthedocs/armonia)](https://armonia.readthedocs.io/)
[![Python Version](https://img.shields.io/badge/python-3.11%2B-blue)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

**Armonia** is a Python library for elegant theme management with dynamic computed colors, font definitions, and powerful transformation functions.

## Installation

```bash
pip install armonia
```

Or using `uv`:

```bash
uv add armonia
```

## Quick Start

```python
from armonia import Theme
from armonia import colorfunctions as cf
from polychromos.color import HSLColor

# Create a theme
theme = Theme()

# Set base colors
theme.set_color("primary", HSLColor.from_hex("#2563eb"))

# Create computed colors that automatically derive from base colors
theme.set_computed_color("primary_light", cf.lighter("primary", 0.2))

# Get colors - they resolve automatically
print(theme.get_color("primary_light").to_css_hex())  # #6b95f1
```

## Documentation

For full documentation, including advanced usage, color and font functions, and integration examples, visit:

**[https://armonia.readthedocs.io/](https://armonia.readthedocs.io/)**

## License

MIT License - see [LICENSE](LICENSE) file for details.
