A GTK-based chat application for interacting with various AI models.
- Python 3.13.2 or higher
- GTK 4.0 and Libadwaita 1.0
- Various Python packages (see
requirements.txt)
sudo dnf install python3.13 python3.13-devel
sudo dnf install gtk4-devel libadwaita-devel gobject-introspection-develsudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.13 python3.13-venv python3.13-dev
sudo apt install libgtk-4-dev libadwaita-1-dev libgirepository1.0-devWe provide a setup script that creates a virtual environment and installs all dependencies:
./setup_venv.shFor development dependencies (linters, formatters, etc.), use:
./setup_venv.sh --devsource .venv/bin/activatepython -m schmagentCopy the .env.example file to .env and customize the settings:
cp .env.example .envEdit the .env file to configure API keys, model settings, and UI preferences.
This project includes configuration files for VS Code/Cursor:
.vscode/settings.json: Editor settingspyrightconfig.json: Type checking configuration.pylintrc: Linting configurationmypy.ini: Type checking configuration
These files are configured to handle the GTK imports correctly, which are typically installed at the system level.
If you see import errors for GTK modules in your IDE:
- Make sure you've run the setup script, which creates a symbolic link to the system GTK libraries
- Restart your IDE after setup
- Check that the Python interpreter in your IDE is set to the virtual environment
If you encounter runtime errors related to GTK:
- Make sure you have GTK 4.0 and Libadwaita 1.0 installed on your system
- Check that the symbolic link to the system GTK libraries is correct
- Try running the application from the terminal to see detailed error messages
MIT