An XMPP client for geospatial data
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pukkamustard 58b0312b9b
3 months ago
.reuse initial commit 1 year ago
LICENSES Leaflet: Add reuse license information 11 months ago
src v0.6.0 3 months ago
tools/osm_extractor Add extract of surveillance cameras in Switzerland 3 months ago
vendor tools/osm_extractor: Tool to extract interesting OSM nodes 3 months ago
.gitignore initial commit 1 year ago
.ocamlformat Brr_react: First steps... 1 year ago v0.6.0 3 months ago
Makefile Makefile: use --release flag 6 months ago README: some links to blog posts 7 months ago
channels.scm channels.scm: Update 3 months ago
dune-project change to use the separate leaflet lib 4 months ago
geopub.opam change to use the separate leaflet lib 4 months ago
guix.scm Geopub_database: Load sample data from N-Triples 3 months ago
indexeddb.opam change to use the separate leaflet lib 4 months ago


GeoPub is an ActivityPub client developed within the openEngiadina project.

For more information see also:


GeoPub was started as a very simple JavaScript demonstrator to show how geographic information can be used over the ActivityPub protocol (see branch initial-js-demonstrator).

A second version was developed in ClojureScript (see branch cljs). The ClojureScript version was abandoned due to licensing and reproducability issues (it is hard to use GPL/AGPL for Clojure(Script) projects and Clojure support in Guix/Nix is not so good).

This (the third version) is implemented in OCaml using js_of_ocaml.


A development environment can be created with Guix:

guix shell -D -f guix.scm

After this you can run dune build @install which will build GeoPub and place all necessary artifacts into _build/install/default/share/geopub/.

You may want to start a small webserver for local development (e.g. python3 -m http.server --directory _build/install/default/share/geopub/). This works very nicely when running dune in watch mode (dune build @install --watch).

Note that this uses dependencies from Guix. You might have to run guix pull to get the lastest dependencies from Guix. To use a version of Guix that has been tested use: guix time-machine -C channels.scm -- shell -D -f guix.scm.


GeoPub is being developed for the openEngiadina project and has been supported by the NLNet Foundation trough the NGI0 Discovery Fund.