Pimalaya is an ambitious project that aims to improve open-source tools related to Personal Information Management (as known as PIM) which includes emails, contacts, calendars, tasks and more.
Pimalaya has two objectives:
- Provide I/O-free Rust libraries dedicated to the PIM domain. They serve as a basis for all sorts of top-level applications, which prevents developers to reinvent the wheel.
- Provide quality house-made applications built on top of these libraries, gathered into projects.
flowchart RL
%% ── Interfaces (applications) ──
Himalaya & HimalayaTui & Neverest & Mirador & MML & m2m & Sirup --> io-email
Cardamum --> io-addressbook
Calendula --> io-calendar
Comodoro --> io-time
Ortie --> io-oauth
Tcard & Tcal --> calcard
%% ── Domain libraries ──
io-email --> io-imap & io-jmap & io-smtp & io-maildir & io-m2dir
io-addressbook --> io-vdir & io-webdav
io-calendar --> io-vdir & io-webdav
%% ── Protocol, storage & transport libraries ──
io-jmap & io-webdav & io-oauth --> io-http
io-imap & io-smtp & io-http --> pimalaya-stream
%% ── Labels ──
HimalayaTui[Himalaya TUI]
Tcard[tcard]
Tcal[tcal]
calcard["calcard (external)"]
%% ── Interface styling ──
style Himalaya stroke-width:4px
style HimalayaTui stroke-width:4px
style Neverest stroke-width:4px
style Mirador stroke-width:4px
style MML stroke-width:4px
style m2m stroke-width:4px
style Sirup stroke-width:4px
style Cardamum stroke-width:4px
style Calendula stroke-width:4px
style Comodoro stroke-width:4px
style Ortie stroke-width:4px
style Tcard stroke-width:4px
style Tcal stroke-width:4px
%% ── Links: interfaces ──
click Himalaya href "https://github.com/pimalaya/himalaya"
click HimalayaTui href "https://github.com/pimalaya/himalaya-tui"
click Neverest href "https://github.com/pimalaya/neverest"
click Mirador href "https://github.com/pimalaya/mirador"
click MML href "https://github.com/pimalaya/mml"
click m2m href "https://github.com/pimalaya/m2m"
click Sirup href "https://github.com/pimalaya/sirup"
click Cardamum href "https://github.com/pimalaya/cardamum"
click Calendula href "https://github.com/pimalaya/calendula"
click Comodoro href "https://github.com/pimalaya/comodoro"
click Ortie href "https://github.com/pimalaya/ortie"
click Tcard href "https://github.com/pimalaya/tcard"
click Tcal href "https://github.com/pimalaya/tcal"
%% ── Links: libraries ──
click io-email href "https://github.com/pimalaya/io-email"
click io-addressbook href "https://github.com/pimalaya/io-addressbook"
click io-calendar href "https://github.com/pimalaya/io-calendar"
click io-imap href "https://github.com/pimalaya/io-imap"
click io-jmap href "https://github.com/pimalaya/io-jmap"
click io-smtp href "https://github.com/pimalaya/io-smtp"
click io-maildir href "https://github.com/pimalaya/io-maildir"
click io-m2dir href "https://github.com/pimalaya/io-m2dir"
click io-vdir href "https://github.com/pimalaya/io-vdir"
click io-webdav href "https://github.com/pimalaya/io-webdav"
click io-http href "https://github.com/pimalaya/io-http"
click io-oauth href "https://github.com/pimalaya/io-oauth"
click io-time href "https://github.com/pimalaya/io-time"
click pimalaya-stream href "https://github.com/pimalaya/stream"
Applications also share a small framework that is not shown above: pimalaya-cli, pimalaya-config and pimalaya-tui for argument parsing, configuration and terminal UI, plus pimconf for service discovery (autoconfig, DNS SRV, well-known URLs).
🧭 New contributor, human or AI? Read how Pimalaya works to understand the shared architecture and conventions, then read the
CONTRIBUTING.mdof the repository you want to work on.
- Himalaya CLI, a CLI to manage emails
- pimalaya/himalaya-vim: Vim plugin
- dantecatalfamo/himalaya-emacs: Emacs plugin
- jns/himalaya: Raycast extension
- openclaw/openclaw: OpenClaw SKILL
- parisni/dfzf: dfzf integration
- Himalaya TUI, a TUI to manage emails
- Neverest CLI, a CLI to synchronize and backup emails
- Mirador CLI, a CLI to watch mailbox changes
- MML CLI, a CLI to convert MIME messages from/into Emacs MIME Meta Language
- pimalaya/mml-vim: Vim plugin
- m2m CLI, a CLI to convert between Maildir, Maildir++ and m2dir stores
- Sirup CLI, a CLI to spawn pre-authenticated IMAP/SMTP sessions and expose them over Unix sockets
- Comodoro CLI, a CLI to manage timers
- jns/comodoro: Raycast extension
- Cardamum CLI, a CLI to manage contacts
- tcard CLI & lib, a CLI & lib to edit vCards as ergonomic TOML
- Calendula CLI, a CLI to manage calendar events
- tcal CLI & lib, a CLI & lib to edit iCalendars as ergonomic TOML
- Ortie CLI & lib, to manage OAuth 2.0 tokens
- Pimconf CLI & lib, to discover PIM-related services and manage configuration
All libraries are I/O-free (no_std coroutines with an optional std client). See how Pimalaya works for the shared design.
- Email: io-email, io-imap, io-jmap, io-smtp, io-maildir, io-m2dir
- Contact & calendar: io-addressbook, io-calendar, io-vdir, io-webdav
- Transport & misc: io-http, io-oauth, io-time, pimalaya-stream
- Application framework: pimalaya-cli, pimalaya-config, pimalaya-tui, pimconf
- Chat on Matrix
- News on Mastodon or RSS
- Mail at pimalaya.org@posteo.net
Special thanks to the NLnet foundation and the European Commission that have been financially supporting the project for years:
- 2022 → 2023: NGI Assure
- 2023 → 2024: NGI Zero Entrust
- 2024 → 2026: NGI Zero Core
- 2027 in preparation…
If you appreciate the project, feel free to donate using one of the following providers: