Dendritecli
A friendly command line interface for managing Dendrite admin APIs.
Features
Dendritecli has full support for all the admin endpoints, including:
- Registering users (the same as the create-account command)
- Evacuating both rooms and users
- Puring rooms
- Refreshing devices
- Reindexing events
whois
with the addition of some patches and workarounds for missing things, such as:
- Listing registered accounts
- Listing rooms
- Deactivating accounts
Installing
You will need python 3.10 or later. You will also need pipx (pip install pipx && python3 -m pipx ensurepath)
You can then install dendritecli with the following command:
#pipx install git+https://github.com/nexy7574/dendritecli.git
# We're on PyPi now:
pipx install dendritecli
# Or, if you want to be able to use it as a library:
pip install dendritecli
Usage
As a command line tool
pipx creates two commands (in $HOME/.local/bin on Linux): dendritecli and dendrite-cli.
They are identical, so you can use either one.
You can get help with dendritecli --help or dendritecli <command> --help.
The Configuration File section describes how to configure dendritecli.
Configuration File
You can configure dendritecli with a configuration file. The default location is $HOME/.config/dendritecli.toml,
or if $HOME/.config does not exist, $HOME/.dendritecli.toml.
The configuration file supports the following options:
access_token = "<the access token from your homeserver>"
server = "<the URL of your homeserver>" # e.g: matrix-client.matrix.org, not matrix.org
database_uri = "<the URI of your database>"
# e.g: sqlite:///dendritecli.db
# e.g: postgres://username:password@hostname:port/database?option=value
# Both SQLite and PostgreSQL are supported.
override-password-length-check = false
# Due to a bug in Dendrite (https://github.com/matrix-org/dendrite/issues/3012), passwords cannot be over 72 bytes
# in length (usually). If you want to override this check, set this to true.
# You shouldn't do this unless you know your homeserver
timeout = 120.0
# the timeout for requests, in seconds. Includes connect, read, and write timeouts.
# By default, the library has a 10 second connect timeout, 3 minute read timeout (for long responses),
# and a 1 minute write timeout. This has been specially tuned for Dendrite servers.
# If you're having issues with timeouts (due to a slow homeserver), feel free to bump this to a higher value,
# like 600 (10 minutes).
[proxies]
# By default, if these arent specified, the library will use the system proxy settings.
http = "http://my.http.proxy:13"
https = "https://my.https.proxy:13"
socks5 = "socks5://my.socks5.proxy:13"
[headers]
# headers to send with every request
# You should not overwrite Accept, or Content-Type, as they are required for the API to work.
# You also cannot overwrite User-Agent.
X-My-Header = "my header value"
Metadata
Release files for dendritecli 1.2.0.post1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dendritecli-1.2.0.post1.tar.gz | 59.2 kB | Without provenance | Details for dendritecli-1.2.0.post1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dendritecli-1.2.0.post1-py3-none-any.whl | Python 3 | none | any | Details for dendritecli-1.2.0.post1-py3-none-any.whl |
Total release size: 100.7 kB
Release files / dendritecli-1.2.0.post1.tar.gz
| Download URL | dendritecli-1.2.0.post1.tar.gz |
|---|---|
| Size | 59.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e0d99507288a404201c0677f3cc7b21d444baddac8aa7f9f37e510521fad7ac
|
|
BLAKE2b-256 checksum How to use checksums |
21bba7e09992c95083b24c7870e325a97062b66fc7bf4b553f7d23babf4906b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.21
|
Release files / dendritecli-1.2.0.post1-py3-none-any.whl
| Download URL | dendritecli-1.2.0.post1-py3-none-any.whl |
|---|---|
| Size | 41.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
546ef7c4f622bda693e8107b20c65e9e0dba43bfc4dd6c8357b73bc47c8563b0
|
|
BLAKE2b-256 checksum How to use checksums |
b0dee1c7eeaa887dcae55a84ed15cbca24ada0014d6680c115d33e773fd3d11a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.21
|
Security for dendritecli 1.2.0.post1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.