Unofficial GTK client for WhatsApp, built with Rust. https://git.amanoteam.com/AmanoTeam/Papo
  • Rust 92.6%
  • Meson 3%
  • SCSS 2%
  • Nix 1.4%
  • Shell 1%
Find a file
2026-04-15 18:14:29 -03:00
.github/workflows ci: remove dependabot 2026-02-21 01:59:52 -03:00
build-aux fix(flatpak): add grass module to Flatpak manifests 2026-03-03 23:55:01 -03:00
data chore(meson): include forgotten style files 2026-03-25 21:00:41 -03:00
hooks Init with GTK Rust Template 2026-02-12 13:37:20 -03:00
po feat: implement auth 2026-02-19 00:03:54 -03:00
src chore(app): update variable naming 2026-04-15 15:44:36 -03:00
.editorconfig refactor: rebrand to Papo, a GTK WhatsApp client 2026-02-12 17:23:01 -03:00
.envrc refactor: rebrand to Papo, a GTK WhatsApp client 2026-02-12 17:23:01 -03:00
.gitignore refactor: remove ChatMessageListItem wrapper and implement RelmListItem on ChatMessage directly 2026-02-28 20:51:14 -03:00
build.rs refactor: redesign login view with stacked page navigation 2026-03-24 23:55:18 -03:00
Cargo.lock chore(deps): update whatsapp-rust to the latest available revision 2026-03-27 01:33:08 -03:00
Cargo.toml chore(deps): update whatsapp-rust to the latest available revision 2026-03-27 01:33:08 -03:00
default.nix chore: organize nix dependencies 2026-04-15 18:01:34 -03:00
flake.lock fix: not found lib hash and uprade wacore version 2026-03-27 16:49:36 +05:00
flake.nix feat: add persistence layer and restructure session architecture 2026-02-21 01:29:08 -03:00
LICENSE refactor: rebrand to Papo, a GTK WhatsApp client 2026-02-12 17:23:01 -03:00
meson.build feat: implement auth 2026-02-19 00:03:54 -03:00
meson_options.txt Init with GTK Rust Template 2026-02-12 13:37:20 -03:00
README.md docs(readme): add flathub dependency install flag to flatpak command 2026-03-03 23:55:53 -03:00
rust-toolchain.toml feat: add persistence layer and restructure session architecture 2026-02-21 01:29:08 -03:00
shell.nix chore: organize nix dependencies 2026-04-15 18:01:34 -03:00

Papo

Unofficial GTK client for WhatsApp, built with Rust. This project is in an early stage and under active development.

What does "Papo" mean?

"Papo" is Brazilian Portuguese slang for "chat" or "conversation." It is commonly used in the expression "bater um papo," which means to have a chat.

Install

Nix

nix build github:AmanoTeam/Papo
nix run github:AmanoTeam/Papo

Flatpak

flatpak-builder --install --user --install-deps-from=flathub build build-aux/com.amanoteam.Papo.json

Build from source

Requires Rust nightly, GTK4 (>= 4.20), libadwaita (>= 1.8), and Meson.

meson setup build
meson compile -C build
meson install -C build

Roadmap

  • QR code login
  • Chat list
  • Message history
  • Bidirectional infinite scroll pagination
  • Go-to-bottom button
  • Read receipts
  • Local message storage (libSQL)
  • Send messages
  • Media messages (images, videos, documents)
  • Voice messages
  • Stickers and animated stickers
  • Contact/chat info panel
  • Notifications
  • History sync (after pairing)
  • Chat search
  • Chat filters (unread, favorites, groups, non-contact)
  • Chat functions (pin, mute, delete, archive)
  • Chat admin functions (ban, change info/settings)
  • Message search
  • Message reactions
  • Reply/quote messages
  • Database encryption
  • Online status indicators
  • Typing indicators
  • Profile pictures

Translations

The project uses gettext for internationalization. Brazilian Portuguese (pt_BR) is currently supported. Translation files are located in the po/ directory, and contributions for new languages are welcome.

Acknowledgements

  • relm4 — Idiomatic GUI framework for GTK4 in Rust
  • whatsapp-rust — Rust implementation of the WhatsApp Web API

Contributing

We accept pull requests from our Forjego instance and GitHub. Fork either repository, create a feature branch, and submit a pull request. Bug reports and feature requests are also welcome via the issue tracker.

License

Licensed under the Apache License 2.0. See the LICENSE file for details.

Author: Andriel Ferreira