||3 months ago|
|.reuse||1 year ago|
|LICENSES||11 months ago|
|src||3 months ago|
|tools/osm_extractor||3 months ago|
|vendor||3 months ago|
|.gitignore||1 year ago|
|.ocamlformat||1 year ago|
|CHANGELOG.md||3 months ago|
|Makefile||6 months ago|
|README.md||7 months ago|
|channels.scm||3 months ago|
|dune-project||4 months ago|
|geopub.opam||4 months ago|
|guix.scm||3 months ago|
|indexeddb.opam||4 months ago|
GeoPub is an ActivityPub client developed within the openEngiadina project.
For more information see also:
- Initial announcement of GeoPub on the OCaml forum
- openEngiadina: From ActivityPub to XMPP: Post describing why and how XMPP is used as transport.
- ActivityStreams over XMPP: Post describing how the ActivityStreams vocabulary is used over XMPP.
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
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
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.