Metadata-Version: 2.4
Name: mahkrabdtn
Version: 0.0.1a1
Summary: Delay-tolerant encrypted messaging
Author: Oliver Barkham
License-Expression: MIT
Project-URL: Homepage, https://github.com/olibark/MahkrabDTN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Communications
Classifier: Topic :: Security :: Cryptography
Classifier: Topic :: Utilities
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography<46,>=45
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: twine>=6.0; extra == "dev"
Dynamic: license-file

# MahkrabDTN

Delay-tolerant encrypted messaging with a relay server and a small CLI.

## Install

```sh
pipx install mahkrabdtn
```

For development:

```sh
pip install -e ".[dev]"
```

## CLI

The main command is `mkdtn`.

```sh
mkdtn identity
mkdtn register
mkdtn send <recipient-node-id> "hello"
mkdtn poll --ack
```

Run a local relay when you do not want to use the default relay:

```sh
mkdtn serve
mkdtn identity
mkdtn register --relay http://127.0.0.1:8000
mkdtn send <recipient-node-id> "hello"
mkdtn poll --ack
mkdtn poll --watch --ack
mkdtn health
```

The CLI uses `MAHKRABDTN_RELAY` and `MAHKRABDTN_IDENTITY` when set. By default it
uses `https://relay.mahkrab.com` and `~/.mahkrabdtn/node.id`.

Use `mkdtn poll --watch --ack` to keep a terminal open for incoming messages.

## Build

```sh
python -m build
twine check dist/*
twine upload dist/*
```
