Skip to content

UMEssen/matrix-scala

Repository files navigation

Matrix Scala

Description

A scala library automatically generated from the matrix specification

This library is NOT:
A fully fletched client with batteries included(caching, highlevel abstraction, automatic de-/ encryption,...).
A full client is planned for the future, as a seperate library

This library is:
a simple interface to the matrix api. With just enough to build an actual client.
It provides strong typing, api calls to the server, automatic JSON (de/)serialization

Content

This library encapsulates:

Examples

Some basic examples are provided: examples

Instructions to build

A prebuilt is provided: build/matrix-scala

mkdir build
# retrieve the matrix specification. Replace it with a fork if desired
git clone git@github.com:matrix-org/matrix-spec.git build/matrix-spec

# generate it
python src/main.py \
    --spec-path ./build/matrix-spec/data/ \
    --build-config ./build_config.yaml \
    --output ./build/matrix-scala \
    --templates ./templates 

cd ./build/matrix-scala/

# use scalafmt to make it pretty
sbt scalafmtAll

# compile it
sbt compile

# for local testing
sbt publishLocal

cd -

Further reading

TODO

  • Integration of Olm via JNI for E2EE
  • File up- / download
  • Login + different authentication types
  • a pom.xml for maven
  • the server-server api (low priority)

Contributors

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published