62 lines
2.4 KiB
Markdown
62 lines
2.4 KiB
Markdown
# Ruma – Your home in Matrix.
|
||
|
||
A set of [Rust] crates (libraries) for interacting with the [Matrix] chat network.
|
||
|
||
[website] • [chat] • [unstable documentation][docs]
|
||
|
||
[Rust]: https://rust-lang.org/
|
||
[Matrix]: https://matrix.org/
|
||
[website]: https://www.ruma.io/
|
||
[chat]: https://matrix.to/#/#ruma:matrix.org
|
||
[docs]: https://docs.ruma.io/
|
||
|
||
## Getting started
|
||
|
||
If you want to build a Matrix client or bot, have a look at [matrix-rust-sdk].
|
||
It builds on Ruma and includes handling of state storage, end-to-end encryption
|
||
and many other useful things.
|
||
|
||
For homeservers, bridges and harder-to-categorize software that works with
|
||
Matrix, you're at the right place. To get started, add `ruma` to your
|
||
dependencies (as a git dependency if you want all of the latest improvements).
|
||
|
||
`ruma` re-exports all of the other crates, so you don't have to worry about
|
||
them. Check out [docs.ruma.io](https://docs.ruma.io/ruma/index.html) for the
|
||
latest documentation including which Cargo features you have to enable for the
|
||
functionality you want. If you are using a released version from crates.io, you
|
||
can also find versioned documentation [on docs.rs](https://docs.rs/ruma/).
|
||
|
||
[matrix-rust-sdk]: https://github.com/matrix-org/matrix-rust-sdk#readme
|
||
[feat]: https://github.com/ruma/ruma/blob/1166af5a354210dcbced1eaf4a11f795c381d2ec/ruma/Cargo.toml#L35
|
||
|
||
## Status
|
||
|
||
As of 2021-01-19, we support the vast majority of endpoints in all of the various Matrix APIs
|
||
except the identity service API (if you want to help with that, have a look at the
|
||
[crate/ruma-identity-service-api][id-api] label).
|
||
|
||
[id-api]: https://github.com/ruma/ruma/issues?q=is%3Aissue+is%3Aopen+label%3Acrate%2Fruma-identity-service-api
|
||
|
||
## Contributing
|
||
|
||
See [CONTRIBUTING.md](CONTRIBUTING.md).
|
||
|
||
## Minimum Rust version
|
||
|
||
Ruma currently requires Rust 1.45. In general, we will never require beta or
|
||
nightly for crates.io releases of our crates, and we will try to avoid releasing
|
||
crates that depend on features that were only just stabilized.
|
||
|
||
There are two exceptions to this:
|
||
|
||
* ruma-signatures (and hence ruma with the federation-api feature) since it
|
||
depends on [ring][], which is only guaranteed to work on the latest stable.
|
||
* ruma-client depends on some I/O libraries (and also on ring, conditionally),
|
||
so it is also only guaranteed to work on the latest stable.
|
||
|
||
[ring]: https://github.com/briansmith/ring/
|
||
|
||
## License
|
||
|
||
[MIT](http://opensource.org/licenses/MIT)
|