Summary
Added bindings for most of the new API introduced in Chafa version 1.14
New stuff
- 🖼️ Added the [`Frame`](https://chafapy.mage.black/api/FrameImagePlacement.html#frame), [`Image`](https://chafapy.mage.black/api/FrameImagePlacement.html#image) and [`Placement`](https://chafapy.mage.black/api/FrameImagePlacement.html#placement) classes which allow you to control how the image is placed on the canvas. Also added the [`Canvas.placement`](https://chafapy.mage.black/api/Canvas.html#chafa.Canvas.placement) property to assign a placement to the canvas.
- 🔢 Added the [`Tuck`](https://chafapy.mage.black/api/enums.html#tuck) and [`Align`](https://chafapy.mage.black/api/enums.html#align) enumerators to be used with `Placement`
- 🎛️ Added the [`TermInfo.emit()`](https://chafapy.mage.black/api/TermInfo.html#chafa.TermInfo.emit) method which allows you to emit terminal control sequences to do cool stuff like move the cursor around and make animations:
<p align="center">
<img src="https://github.com/GuardKenzie/chafa.py/blob/3021827361933541483f731c0f0d9312a63617ca/docs/usage/examples/example_img/animation.gif" width="200">
</p>
- 🏗️ Restructured the [`src/chafa`](https://github.com/GuardKenzie/chafa.py/tree/main/src/chafa) directory and broke the main `chafa.py` file into multiple different Python files where appropriate.
- 🔨 Moved MacOS arm builds to GitHub Actions and changed the cibuildwheel Linux image to `manylinux_2_28`
What's missing
There are no bindings yet for [`chafa_canvas_print_rows`](https://hpjansson.org/chafa/ref/chafa-ChafaCanvas.html#chafa-canvas-print-rows) and [`chafa_canvas_print_rows_strv`](https://hpjansson.org/chafa/ref/chafa-ChafaCanvas.html#chafa-canvas-print-rows-strv)
---
**Full Changelog**: https://github.com/GuardKenzie/chafa.py/compare/v1.1.0...v1.2.0
If you are having trouble, head over to the [discussions](https://github.com/GuardKenzie/chafa.py/discussions) and if you find a bug, please open an [issue](https://github.com/GuardKenzie/chafa.py/issues).
Ps:
Sorry this release took such a long time, and for my inactivity. I have been busy with graduating with a bachelor's in mathematics, moving countries, starting my master's program, recovering from surgery and just general life stuff. Hopefully the next release will not take so long, hehe.
Have fun
:heart: