No description
Find a file
2026-04-29 10:09:19 +02:00
.github/workflows path fix 2026-04-09 22:28:46 +02:00
libmxclient doc 2026-04-29 09:44:27 +02:00
mxsmal update doc 2026-04-29 10:09:19 +02:00
pygomx api: rework discover & login 2026-04-29 00:35:12 +02:00
pygomx-deps add meta package for better dependencies handling 2026-03-12 13:08:03 +01:00
.gitignore license headers (& minor misc fixes) 2026-03-12 09:08:23 +01:00
compose.yaml refactor smal => mxsmal 2026-04-04 21:14:32 +02:00
Containerfile.debian pin docker image to colm 2026-04-13 21:23:52 +02:00
LICENSE add license (AGPL3-only) 2026-02-19 14:05:51 +01:00
README.txt update doc 2026-04-29 10:09:19 +02:00

monorepos to have the right versions together

libmxclient - golang matrix client library
pygomx - python binding package
smal - python matrix lib


just run the demobot (docker):

docker compose build demobot
docker compose run --rm demobot smalsetup <matrixid>
docker compose up -d demobot

the bot follows each invite (autojoin) and have two commands:
  !stop         - graceful shutdown
  !echo [text]  - in a DM the bot responds with 'text',
                  in regular rooms it is a reply.


binary/package install:

  pip install pygomx
  pip install mxsmal


install from source / develop (venv):

  build requirements:
    golang 1.25+
      git 2.24+
    gcc 4.6+
      windows: gcc built with binutils 2.37+
    python 3.10+

  (obtain this repository and cd into it)

  build configuration is done via env vars

  # one of static, shared
  PYGOMX_BUILD_MODE=static

  # one of none, colm, goolm, vodozemac
  PYGOMX_OLM_FLAVOR=goolm
  # for colm you need libolm-dev installed
  # vodozemac is not supported yet

  (create and activate a venv)

  cd pygomx
  pip install .

  cd ../mxsmal
  pip install [-e] .

usage:

  cd into an empty dir (you might create one)

  smalsetup <matrixid>
    this command creates a credentials file (.mxpass) in the current dir.
    autopickup by all tools & bots that requires credentials, no further configuration required

  e2eesetup
    this command configures crypto. (self signed device)
    this works only then no other e2ee enabled devices are present, so this tool will ask to log them out.

  commands:
    mxdiscover --help
    mxpassitem --help
    mxwhoami --help
    mxlogout --help
    mxtoken
    mxaccountinfo
    mxclearaccount
    mxserverinfo
    demobot

matrix room:
  #pygomx:matrix.org
  https://matrix.to/#/#pygomx:matrix.org