From postmarketOS Wiki
Alt text
Mepo demo image

Mepo is a fast, simple, and hackable OSM map viewer for desktop & mobile Linux devices (like the PinePhone, Librem 5, pmOS devices etc.) and both environment's various user interfaces (Wayland & X inclusive). Mepo works both offline and online, features a minimalist both touch/mouse and keyboard compatible interface, and offers a UNIX-philosophy inspired underlying design, exposing a powerful command language called Mepolang capable of being scripted to provide things like custom bounding-box search scripts, bookmarks, and more.

Mepo in development was explicitly designed with postmarketOS UI environments as a targeted primary usecase. To this end, Phosh, Sxmo, and Plasma Mobile were all tested in development and work well with Mepo. Additionally X desktop environments (like i3) and Wayland enviroments (like sway) work with mepo. Being based on SDL it will generally run faster then other map applications.


Mepo is available on postmarketOS edge but not on postmarketOS stable currently. The reason for this is that zig (which mepo is written in) is not available on Alpine outside of Alpine's testing repository. On postmarketOS edge to install Mepo run:

apk add mepo-scripts

If you wish to use Mepo on postmarketOS stable you may either use the Mepo Flatpak or pull from the testing alpine repository. See the installation guide on Mepo's documentation website for more details.


Mepo integrates with Nominatim and Overpass for POI searches, GraphHopper for routing, and Geoclue for location services. Unlike other OSM map applications, these integrations take the form of shellscripts (and are thus user-editable) and utilize Mepo's plain-text DSL / API called Mepolang; mepolang can additionally be used by end-users to create their own custom scripts.



See also