Index of /akris

Icon  Name                    Last modified      Size  Description
[PARENTDIR] Parent Directory - [   ] akris-genesis-99999...> 2023-07-25 16:01 455 [TXT] akris-genesis-99999...> 2023-07-25 16:01 449K



Akris implements the Pest protocol. It provides a station library that can be used to connect to a pest network. It also provides a client library that can be used to issue commands to a station.

This document is a work in progress.

Getting Akris

Using V

This guide assumes a working pentacle chroot environment

Press Akris

Download Akris patches and seals from

mkdir -p patches
mkdir -p seals
curl -o patches/akris-genesis-VERSION.vpatch
curl -o seals/akris-genesis-VERSION.vpatch.thimbronion.sig

Pentacle v expects gpg public keys to be found in ~/wot.

Using the bash implementation of v provided in pentacle, press Akris with the leaf you wish to target (usually the patch with the lowest version number):

v press akris patches/akris-genesis-99999.vpatch

From signed tarball [WIP]

tar zxvf akris-genesis-99999.tar.gz
cd akris
python -m venv venv
source venv/bin/activate
pip install -e .

Install using a package manager

From PyPI [WIP]

pip install akris

Installation from Source

Setup a virtual environment

In the akris project root directory, run:

cd akris
python -m venv venv
source venv/bin/activate

Install Akris from source

pip install -e .

Running Akris

There are several command line options you'll need to set. You can get a list of them by running akris with the --help option:



Editable install

This will allow tests to find the akris package, while still allowing you to edit the source code and have the changes be reflected immediately without reinstalling.

pip install -e .

Install development dependencies

pip install .[dev] 

Run tests

make test

Code formatting

black .

Database Management

Create a new migration

caribou create -d akris/migrations <migration name>

Create a static binary build


sudo apt-get install patchelf


make dist

Creating distribution build

Build a PyPI package [WIP]

python3 -m build

The output will be in the dist/ directory. Upload to PyPI with twine:

python3 -m twine upload  dist/*