# GTK LLM Chat
A GTK graphical interface for chatting with large language models (LLMs).

## Features
- Simple and easy-to-use graphical interface built with GTK
- Support for multiple conversations in independent windows
- Integration with python-llm for chatting with various LLM models
- Modern interface using libadwaita
- Support for real-time streaming responses
- Message history with automatic scrolling
- Keyboard shortcuts (Enter to send, Shift+Enter for new line)
## Installation
```
pipx install llm # required by gtk-llm-chat
llm install gtk-chat
```
### System Requirements
- [llm](https://llm.datasette.io/en/stable/)
- Python 3.8 or higher
- GTK 4.0
- libadwaita
- libayatana-appindicator
## Usage
Run the application:
```
llm gtk-applet
```
or for an individual chat:
```
llm gtk-chat
```
With optional arguments:
```
llm gtk-chat --cid CONVERSATION_ID # Continue a specific conversation
llm gtk-chat -s "System prompt" # Set system prompt
llm gtk-chat -m model_name # Select specific model
llm gtk-chat -c # Continue last conversation
```
## Development
To set up the development environment:
```
git clone https://github.com/icarito/gtk-llm-chat.git
cd gtk-llm-chat
python -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
```
## License
GPLv3 License - See LICENSE file for more details.
Raw data
{
"_id": null,
"home_page": null,
"name": "gtk-llm-chat",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "gtk, chat, llm, ai",
"author": null,
"author_email": "Sebastian Silva <sebastian@fuentelibre.org>",
"download_url": "https://files.pythonhosted.org/packages/3a/f2/d1b2445a3f3f4f0fbe8f666bbdb64ab5a380a5b589432c3b791464770cb8/gtk_llm_chat-2.0.6.tar.gz",
"platform": null,
"description": "# GTK LLM Chat\n\nA GTK graphical interface for chatting with large language models (LLMs).\n\n\n\n## Features\n\n- Simple and easy-to-use graphical interface built with GTK\n- Support for multiple conversations in independent windows\n- Integration with python-llm for chatting with various LLM models\n- Modern interface using libadwaita\n- Support for real-time streaming responses\n- Message history with automatic scrolling\n- Keyboard shortcuts (Enter to send, Shift+Enter for new line)\n\n## Installation\n\n```\npipx install llm # required by gtk-llm-chat\nllm install gtk-chat\n```\n\n### System Requirements\n\n- [llm](https://llm.datasette.io/en/stable/)\n- Python 3.8 or higher\n- GTK 4.0\n- libadwaita\n- libayatana-appindicator\n\n\n## Usage\n\nRun the application:\n```\nllm gtk-applet\n```\n\nor for an individual chat:\n```\nllm gtk-chat\n```\n\nWith optional arguments:\n```\nllm gtk-chat --cid CONVERSATION_ID # Continue a specific conversation\nllm gtk-chat -s \"System prompt\" # Set system prompt\nllm gtk-chat -m model_name # Select specific model\nllm gtk-chat -c # Continue last conversation\n```\n\n## Development\n\nTo set up the development environment:\n```\ngit clone https://github.com/icarito/gtk-llm-chat.git\ncd gtk-llm-chat\npython -m venv venv\nsource venv/bin/activate\npip install -e \".[dev]\"\n```\n\n## License\n\nGPLv3 License - See LICENSE file for more details.\n",
"bugtrack_url": null,
"license": null,
"summary": "A GTK graphical interface for chatting with large language models (LLMs)",
"version": "2.0.6",
"project_urls": {
"Homepage": "https://github.com/icarito/gtk_llm_chat",
"Issues": "https://github.com/icarito/gtk_llm_chat/issues",
"Repository": "https://github.com/icarito/gtk_llm_chat.git"
},
"split_keywords": [
"gtk",
" chat",
" llm",
" ai"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "fd7d2f136d60a4488a930eca59c264c836d9df9b3800385eae08f72438e7d2ac",
"md5": "7ee2ce2aba4fc395f9cdc13513cd0e1c",
"sha256": "b8f22297a48ba5eff8a7b63ac51239b72f0a6d8246299c5e387c4ee7e555086c"
},
"downloads": -1,
"filename": "gtk_llm_chat-2.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7ee2ce2aba4fc395f9cdc13513cd0e1c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 44237,
"upload_time": "2025-04-20T22:10:19",
"upload_time_iso_8601": "2025-04-20T22:10:19.132846Z",
"url": "https://files.pythonhosted.org/packages/fd/7d/2f136d60a4488a930eca59c264c836d9df9b3800385eae08f72438e7d2ac/gtk_llm_chat-2.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3af2d1b2445a3f3f4f0fbe8f666bbdb64ab5a380a5b589432c3b791464770cb8",
"md5": "66fce11962115a0e73da3b0a9cc1b835",
"sha256": "bc03e3756269ac5ba0d426ab452e10f052c9e38eac853947ddbf2ae1ffbd19b6"
},
"downloads": -1,
"filename": "gtk_llm_chat-2.0.6.tar.gz",
"has_sig": false,
"md5_digest": "66fce11962115a0e73da3b0a9cc1b835",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 324194,
"upload_time": "2025-04-20T22:10:22",
"upload_time_iso_8601": "2025-04-20T22:10:22.444294Z",
"url": "https://files.pythonhosted.org/packages/3a/f2/d1b2445a3f3f4f0fbe8f666bbdb64ab5a380a5b589432c3b791464770cb8/gtk_llm_chat-2.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-04-20 22:10:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "icarito",
"github_project": "gtk_llm_chat",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "PyGObject",
"specs": [
[
">=",
"3.42.0"
]
]
},
{
"name": "markdown-it-py",
"specs": []
},
{
"name": "llm",
"specs": []
}
],
"lcname": "gtk-llm-chat"
}