Metadata-Version: 2.3
Name: python-manatools
Version: 0.99.0
Summary: Framework to build ManaTools applications
License: LGPL-2.1-or-later
Author: Angelo Naselli
Author-email: anaselli@linux.it
Maintainer: Angelo Naselli
Maintainer-email: anaselli@linux.it
Requires-Python: >=3.9
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: System :: Operating System
Provides-Extra: gtk
Provides-Extra: qt
Requires-Dist: PyCairo ; extra == "gtk"
Requires-Dist: PyGObject (>=3.42) ; extra == "gtk"
Requires-Dist: PySide6 (>=6.5) ; extra == "qt"
Requires-Dist: PyYAML
Requires-Dist: dbus-python
Requires-Dist: python-gettext
Project-URL: Bug Tracker, https://github.com/manatools/python-manatools/issues
Project-URL: Homepage, https://github.com/manatools/python-manatools
Project-URL: Repository, https://github.com/manatools/python-manatools
Description-Content-Type: text/markdown

# python-manatools #

![logo](https://avatars3.githubusercontent.com/u/19332721?v=3&s=200 "Python ManaTools")

Python ManaTools builds on the original Perl-based ManaTools idea, keeping the same goal of a shared toolkit and consistent UX while moving to Python to match systemd and D-Bus APIs. We are grateful to libyui for the foundation it provided, but this project now ships its own AUI layer and keeps evolving independently. Today it focuses on a backend-agnostic UI abstraction for GTK, Qt, and ncurses, plus the services and helpers needed by ManaTools.

See the AUI API documentation for details: [manatools AUI API](docs/manatools_aui_api.md).

## REQUIREMENTS

### Python >= 3.6
### Poetry >= 1.2.0

### Core dependencies (always required)
* **dbus-python** — D-Bus bindings used by `manatools.services`
* **PyYAML** — YAML configuration file support (`manatools.config`)
* **python-gettext** — internationalisation helpers

### UI backends (at least one required)

#### GTK 4 backend
* **PyGObject >= 3.42** (`gi`) — Python GObject introspection bindings
* **GTK 4** — the GTK 4 toolkit libraries (`gtk4`)
* **GdkPixbuf 2** — image loading for icons (`gdk-pixbuf2`)
* **pycairo** — Cairo drawing context used by GTK widgets (`python3-cairo`)

#### Qt backend
* **PySide6 >= 6.5.0** — Qt 6 Python bindings

#### ncurses backend
* **curses** — included in the Python standard library (no extra install needed)

## INSTALLATION

```
pip install python-manatools
```

Or from sources:

```
poetry install
```


