Skip to main content

A [duniter](https://github.com/duniter/duniter) Python client

Project description

sakia logo

Sakia

coverage report pipeline status Build Status Build status

========

Python3 and PyQt5 Client for duniter project.

Features

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

Dependencies

  • Dependencies :

  • Qt5

  • python3

  • libsodium

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

Building python 3 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

Wheel Build scripts

  • Install wheel with pip install wheel
  • Run python3 gen_resources.py in sakia folder
  • Run python3 gen_translations.py in sakia folder
  • To build the wheel : Run python3 setup.py bdist_wheel in sakia folder

Pyinstaller Build scripts

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

Install with pip

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

Download latest release

  • Go to current release
  • Download corresponding package to your operating system
  • Unzip and start "sakia" :)
  • Join our beta community by contacting us on duniter forum

Command line options

-d to display log to debug

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

Development

The development tools require Python 3.6.x or higher.

  • Create a python virtual environment with pyenv
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  • Install dependencies
pip install -r requirements.txt
  • Run Sakia from the source code
PYTHONPATH="`pwd`/src/." python src/sakia/main.py
  • 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/test_transfer_dialog.py::test_transfer

Packaging and deploy

PyPi

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)

./release.sh 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 https://test.pypi.org/simple/ --extra-index-url https://pypi.python.org/simple/ 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

License

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.52.0.tar.gz (388.6 kB view hashes)

Uploaded Source

Built Distribution

sakia-0.52.0-py3-none-any.whl (513.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page