Maplibreum: like Folium - but based on Maplibre
2026-09-02 , Dahlia1

Maplibreum: framework that makes the creation of web maps quite easy in a Python environment, making it well suited for interactive tools. Similar to Folium, but using the ever-growing MapLibre instead of Leaflet. I will present my motivations and the development of this new contribution to the FOSS4G community!


As a cartographer, I began my career already in the digital era, and I have always been fascinated by beautiful web maps and their power to reveal data insights that go far beyond traditional paper-based cartography. Naturally, I became interested in creating my own.

My first attempt was with the qgis2web plugin, which introduced me to Leaflet and OpenLayers. I quickly realized that if I truly wanted to go beyond templates, I would need to learn how to code it. Although I had some programming experience, I considered myself — and still consider — an average developer. JavaScript felt intimidating at the time (this was the pre-AI era, when Stack Overflow was the primary lifeline).

During that period, Jupyter Notebooks and Google Colab were becoming very popular, and that’s when I discovered Folium. It was love at first sight. With just three lines of Python code, I could generate a full-fledged HTML file containing all the JavaScript, CSS, and markup that previously felt so foreign to me.

From there, I started exploring the colorful world of interactive features: clickable tooltips with charts, hover highlighting, search bars — the full package. I built my first prototype for a project called OpenSidewalkMap, which focused on sidewalk geometries. I began with a small dataset — just eight street blocks — and it looked absolutely beautiful.

But who wants only eight blocks when you could map an entire city?

That’s when I learned about scaling. To handle large datasets efficiently, you need tiles — vector tiles, specifically. And that’s when the tiling nightmare began. Leaflet is fantastic, but vector tiles are not exactly its strongest feature. I experimented with several adaptations, none of them fully satisfying.

By that point, I had already heard about MapLibre and its highly optimized rendering engine. I also discovered the relatively new PMTiles format, which fit perfectly with many of my projects and integrates seamlessly with MapLibre. So I migrated.

Today, I write MapLibre code "directly". But what about the “old Kaue,” who just wanted to create a web map with three lines of Python?

That question led to MapLibreum.

Well — not exactly me alone. If you look at the official Folium repository, you’ll see more than 160 contributors. Building something similar as a solo developer would be unrealistic. So I took a different path: I used AI agents to help me do the work.

What started as pure curiosity — a side project I would never otherwise have had time to pursue — evolved into an important laboratory for learning how to effectively use AI agents in large, real-world projects.

And in our presentation, I’ll tell you all about it.


Level of technical complexity: 2 - intermediate Give indication of resources (video, web pages, papers, etc.) to read in advance, that will help get up to speed on advanced topics.:

Project Repository: https://github.com/kauevestena/maplibreum_prototype
Project documentation: https://kauevestena.github.io/maplibreum_prototype/

Indicate what is (are) the open source project(s) essential in your talk:
  • python/ipython/jupyter
  • jinja
  • Maplibre
  • Geopandas (therefore GDAL, GEOS...)
I make my conference contribution available under the CC BY 4.0 license. The conference contribution comprises the abstract, the text contribution for the conference proceedings, the presentation materials as well as the video recording and live transmission of the presentation:

My name is Kauê de Moraes Vestena, I'm a Cartographer and PhD in Geodetic Sciences, but mainly I'm a big enthusiast of Open Source software, being a linux user since 2014, same year for OSM. I've participated on previous FOSS4G (2022, 2023, 2024) and I simply loved getting to know the community!