The ecosystem

Every repository that matters

The honest map of the Pimalaya organisation: what you can install today, what is brewing, and what has been retired. Statuses are curated by hand; when in doubt, the repository's README is the truth.

  • 24libraries listed
  • 15apps
  • 9community projects
  • 8frozen or retired
Roadmap

Where the work goes next

Mail, contacts and calendars are all covered now: Himalaya, Cardamum and Calendula each speak several backends, and Neverest syncs all three domains into one local store. The 2026 to 2027 direction, funded by the NGI Zero Commons Fund, is set out on the blog.

The focus is pimdir, the standard for personal information on disk. The Android app is its first full implementation, read and write, which is where the draft gets stress-tested before it stops moving.

Around it, the libraries consolidate (stable APIs, documentation, coverage), interfaces become views over the local store, and tasks are the next domain. With Red Arrow, our first partner, we are also building an AI-powered desktop client for mail, contacts and calendars.

  1. Standardise pimdirthe draft, stressed by Android
  2. Consolidatestable libraries, documented
  3. InterfacesAndroid, then desktop
  4. More domainstasks next
Libraries

The foundation 24

Every app is a thin frontend over these Rust crates. A curated selection, as the organisation holds more (per-store coroutines, toolkit crates, experiments). The io- prefix marks I/O-free, sans-I/O coroutine libraries: you bring the sockets, they bring the protocol.

NameDomainKindStatusWhat it does
ical-rsCalendarLibraryearlyiCalendar parser, validator, editor, merger and builder, with a byte-faithful round-trip.
io-gcalCalendarLibraryearlyI/O-free Google Calendar REST API client.
io-gmailMailLibraryearlyI/O-free Gmail REST API client.
io-gpeopleContactsLibraryearlyI/O-free Google People REST API client. Formerly io-people.
io-httpTransportLibrarystableI/O-free HTTP client core the other crates build on.
io-imapMailLibrarystableI/O-free IMAP client.
io-jmapMailLibraryearlyI/O-free JMAP client.
io-m2dirMailLibraryearlyI/O-free m2dir store.
io-maildirMailLibraryearlyI/O-free Maildir store.
io-managesieveMailLibraryearlyI/O-free ManageSieve client, to manage server-side mail filters.
io-mboxMailLibraryearlyI/O-free mbox reader and writer, every variant, in bounded memory.
io-msgraphMail + Contacts + CalendarLibraryearlyI/O-free Microsoft Graph client (mail, contacts and calendars).
io-oauthAuthLibrarystableI/O-free OAuth 2.0 flows: authorization code, device, dynamic registration.
io-pim-discoveryPlumbingLibrary + CLIearlyDiscover a provider’s IMAP, SMTP, JMAP, CardDAV and CalDAV services from an email address. The CLI ships as an off-by-default cargo feature.
io-pimdirStorageLibrary + CLIearlyThe reference pimdir implementation, store and sync engine: one local store for mail, contacts and calendars. The pimdir operator CLI ships as an off-by-default cargo feature.
io-proxyTransportLibraryearlyI/O-free SOCKS5 and HTTP CONNECT proxy tunnels.
io-saslAuthLibraryearlyI/O-free SASL client mechanisms.
io-smtpMailLibrarystableI/O-free SMTP client.
io-vdirContacts + CalendarLibraryearlyI/O-free vdir store for vCard and iCalendar collections.
io-webdavContacts + CalendarLibraryearlyI/O-free CardDAV and CalDAV clients over WebDAV.
mmlMailLibrary + CLIstableCompose MIME messages as human-editable markup (MML), Emacs-style.
pimdirStorageSpecificationearlyThe pimdir standard: one portable SQLite-plus-blobs store for mail, contacts and calendars, with its sync and search layers. Draft.
streamTransportLibrarystableStandard I/O connectors that drive the I/O-free crates.
vcard-rsContactsLibraryearlyvCard parser, validator, editor, merger and builder, with a byte-faithful round-trip.
Apps

End-user tools 15

Anything marked in development has no release yet and is not advertised on the home page.

NameDomainKindStatusWhat it does
calendulaCalendarCLIearlyManage calendars over CalDAV, Google Calendar, vdir and pimdir.
cardamumContactsCLIearlyManage contacts over CardDAV, JMAP, Google, Microsoft and vdir address books.
carillonPlumbingCLIearlyWatch mail, contact and calendar collections for changes. Formerly mirador.
comodoroTimeCLIstableManage Pomodoro-style timers from the command line.
himalayaMailCLIstableManage mail from the command line, over IMAP, SMTP, JMAP, Gmail, Microsoft, Maildir, m2dir and mbox.
himalaya-tuiMailTUIin developmentA full-screen terminal UI for reading and writing mail.
himalaya-vimMailVim pluginstableManage mail from Vim, on top of the Himalaya CLI.
m2mMailCLIin developmentConvert mail stores between Maildir, Maildir++ and m2dir.
neverestMail + Contacts + CalendarCLIbetaSynchronize mail, contacts and calendars into a local pimdir store, from IMAP, CardDAV, CalDAV, Google and Microsoft.
ortiePlumbingCLIstableManage OAuth 2.0 tokens for your accounts, with a provider wizard.
pimalaya-androidMail + Contacts + CalendarAndroid appin developmentMail, contacts and calendars in one offline-first Android app, over Google, Microsoft, JMAP and any IMAP, CardDAV and CalDAV server. In closed alpha.
pimalaya-linuxMail + ContactsDesktop appin developmentA native GTK4 and libAdwaita desktop app for mail and contacts, sharing its configuration file with the command-line tools.
sirupPlumbingCLIearlySpawn pre-authenticated IMAP and SMTP sessions, exposed over Unix sockets.
tcalCalendarCLIearlyEdit iCalendar events as friendly TOML.
tcardContactsCLIearlyEdit vCards as friendly TOML.
From the community

Built by others 9

Front-ends and integrations built by other people on top of the tools and the crates, none of them maintained by the organisation. The list is curated by hand and certainly incomplete: if you built something, open a pull request on the websites repository and it lands here.

NameAuthorKindWhat it does
himalaya-emacsdantecatalfamoEmacs pluginBrowse, read, write and organize mail from Emacs, on top of the Himalaya CLI. Published on MELPA.
mailbrusantonoDesktop and web appA keyboard-driven, plain-text-first mail client built on the io-email and io-maildir crates, shipped as a Tauri app and a progressive web app.
himalaya.nvimknownasnaffyNeovim pluginA native Neovim interface to the Himalaya CLI, written in Lua on top of nui.nvim.
himalaya.nvimJostBrandNeovim pluginA Neovim port of himalaya-vim, with folder pickers backed by fzf or Telescope.
himalaya-nvimxav-ieNeovim pluginA heavily modified Lua fork of himalaya-vim, with threaded views, structured search, HTML rendering and flag management.
himalaya-wraprobertmetaEmacs pluginAn Emacs front-end to the Himalaya CLI designed for Emacspeak users, working straight against the remote server with no local maildir.
himalayajnsRaycast extensionRead and manage the mail of your default account from the Raycast launcher on macOS.
dfzfparisniSway and i3 toolkitA fuzzy-finder desktop toolkit whose dfzf-mail viewer runs on the Himalaya CLI and mml.
himalaya SKILLopenclawAgent skillTeaches the OpenClaw coding agent to manage mail through the Himalaya CLI.
Frozen and retired

Kept for history 8

Public for existing users, but receiving no new features. Frozen aggregators are superseded by protocol-direct clients; deprecated crates should not be depended on.

NameDomainKindStatusWhat it does
io-addressbookContactsLibraryfrozenMulti-backend contacts aggregator; superseded by protocol-direct clients.
io-calendarCalendarLibraryfrozenMulti-backend calendar aggregator; superseded by protocol-direct clients.
io-emailMailLibraryfrozenMulti-backend mail aggregator; superseded by protocol-direct clients.
io-fsStorageLibrarydeprecatedShared filesystem coroutines; each store now defines its own.
io-keyringSystemLibrarydeprecatedKeyring coroutines; tools now document third-party keyring CLIs instead.
io-processSystemLibrarydeprecatedProcess-spawning coroutines.
io-replicaStorageLibrarydeprecatedSync engine, now folded into io-pimdir.
mimosaSystemCLIdeprecatedSecret-management CLI, retired with io-keyring.
Experiments

One idea each, before the roadmap

Running on the side, each experiment validates one idea before it is allowed to shape the roadmap.

  • Carillon

    Watching as a service: a server holds the IMAP connections, waits for changes, and turns them into notifications, so no client has to keep a connection (and a battery) alive. It validated the watch flow end to end against real providers; that flow is what the roadmap folds into the watch tooling. Its paid, hosted side is paused for now.

  • pimalaya-android

    Validates that the I/O-free Rust libraries can power a real mobile app: the protocol logic runs in Rust, compiled for Android, while the platform side (TLS, storage, the system contacts) stays native. It started as a contacts app and became the whole thing, mail, contacts and calendars behind one store and one account list, which is the second point it validates: the three domains belong in one app, not three. All three domains now read and write, offline first, and the app is in closed alpha with a handful of chosen testers.

  • pimalaya-linux

    The same idea in a third ecosystem: a native GTK4 and libAdwaita desktop app for mail and contacts, built on the very same Rust cores, to prove the libraries fit any UI (terminal, mobile or desktop) without rewriting the protocols. It reads the same configuration file as the command-line tools, so one account definition serves all of them. Only the application shell exists so far.

See all repositories on GitHub