Skip to main content

A [duniter]( Python client

Project description

sakia logo

This project is not maintained anymore since 18/01/2021. No more new version or maintenance will be done.

Vit thanks Inso for this wonderful project, and every enthusiast users.


coverage report pipeline status Build Status Build status

Python3 and PyQt5 Client for duniter project.


  • Accounts management
  • Communities viewing
  • Money Transfer
  • Wallets management
  • Contacts management
  • Joining a community, publishing keys
  • Multiple wallets management


General tips : use pyenv to build sakia, as described in the documentation

Building Python with pyenv requires libraries of openssl and sqlite3. On Ubuntu, install it using the following commands :

apt-get update
apt-get install libssl-dev
apt-get install libsqlite3-dev

Install with pip

  • Run pip install sakia
  • start "sakia" :)

Download latest release

Command line options

-d to display log to debug

--currency g1-test to connect to the g1-test currency network.


  • When writing docstrings, use the reStructuredText format recommended by PEP 0287
  • Use make commands to check the code and the format it correct.

The development tools require Python 3.6.x or higher.

  • Install a supported Python version with pyenv

      curl -L | bash
  • Create a virtualenv in the project folder:

      python -m venv .venv
  • Install dependencies

      pip install -r requirements.txt
  • Run Sakia from the source code

      PYTHONPATH="`pwd`/src/." python src/sakia/
  • Before submiting a merge requests, please check the static typing and tests.

  • Install dev dependencies

      pip install -r requirements_dev.txt
  • Check static typing with mypy

      make check
  • Run all unit tests (pytest module) with:

      make tests

Warning: do not run tests with sakia installed in your dev environment, because pytest will use the installed Sakia.

  • Run only some unit tests by passing a special ENV variable:

      make tests TESTS_FILTER=tests/functional/

Packaging and deploy


In the development pyenv environment, install the tools to build and deploy

pip install --upgrade -r requirements_deploy.txt

Change and commit and tag the new version number (semantic version number)

./ 0.x.y

Build the PyPi package in the dist folder

make build

Deploy the package to PyPi test repository (prefix the command with a space in order for the shell not to save in its history system the command containing the password)

[SPACE]make deploy_test PYPI_TEST_LOGIN=xxxx PYPI_TEST_PASSWORD=xxxx

Install the package from PyPi test repository

pip install --index-url --extra-index-url sakia

Deploy the package on the PyPi repository (prefix the command with a space in order for the shell not to save in its history system the command containing the password)

[SPACE]make deploy PYPI_LOGIN=xxxx PYPI_PASSWORD=xxxx

Wheel Build scripts

make build

Or manually:

  • Install wheel with pip install wheel
  • Run python3 in sakia folder
  • Run python3 in sakia folder
  • To build the wheel : Run python3 bdist_wheel in sakia folder


make appimage

The make command will do a wheel build, then create the AppImage file ci/appimage/Sakia_x86_64.AppImage

Pyinstaller Build scripts (not maintained)

  • Install pyinstaller with pip install pyinstaller
  • Run python3 in sakia folder
  • Run python3 in sakia folder
  • To build the binaries : Run pyinstall sakia.spec


This software is distributed under GNU GPLv3.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sakia-0.53.2.tar.gz (382.1 kB view hashes)

Uploaded source

Built Distribution

sakia-0.53.2-py3-none-any.whl (509.2 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page