- CSS 78.1%
- Python 21.9%
Iris in its current state is highly unstable and should only be used for testing. Only use XMPP accounts which serve no meaningful purpose. This is not a client that should be relied on for any reason; assume everything will change and that Iris will cause damages in unimaginable ways.
Iris is an XMPP client using Python, GTK, and slixmpp. It has a long-term vision of being maximally customisable, user-friendly, and cross-platform (Linux, Windows, macOS).
Running
Iris requires the following: GTK 4, Granite 7, and all other dependencies listed in pyproject.toml.
This README.md will not exhaustively list all packages for all OSes, but these links may help: GTK, Granite, PyGObject.
For nixOS users, cacert is also required, or you may receive an "invalid SSL chain" error on login.
We recommend using the uv package manager to run Iris.
- Clone the repository:
git clone https://codeberg.org/0x7700e6/iris.git(requires git) - Enter the new folder:
cd iris - Run with uv:
uv run __main__.py
We have no near-future intentions on providing a packaged file to run, as Iris is still in incredibly-early development.
Future plans
We have no official timeline, since development can stagnate or steamroll ahead at any moment. The current plan is nailing the core functionality (logging in, managing contacts list / account, sending messages):
- Logging in certainly works, but could do with improvement for usability. Due to how slixmpp works, the connection will never succeed or fail if the domain is incorrect, if there is no network, etc., and Iris gives no feedback on what is happening.
- The contacts list is nearly finished(!), but UIs are currently WIP and unstable.
- No account / presence management or messaging functionality... yet.
Once the above has been fixed, the version number will start ticking, and Iris will start being packaged.
Iris as a project highly prioritises maintenance over adding features (as it is aimed at being user-friendly, so stability is higher-priority). Because of this, we will be focusing on maintenance and existing-feature enhancements.
Contributions in any form are very welcome; see CONTRIBUTING.md.
Credits
Written and maintained by Violet Boeckels (violet@nullhost.de).
Thanks to Sashanoraa, who has helped with many asyncio problems and designed Iris' implementation of multi-threading; Iris would not have existed without zir help and knowledge.
Additional thanks to all contributors on Codeberg that have helped improve Iris, or will do so in the future.