Skip to main content

A [duniter](https://github.com/duniter/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.

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

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.

Development

  • 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 https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | 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/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

Wheel Build scripts

make build

Or manually:

  • 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

AppImage

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 gen_resources.py in sakia folder
  • Run python3 gen_translations.py in sakia folder
  • To build the binaries : Run pyinstall sakia.spec

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.

Files for sakia, version 0.53.2
Filename, size File type Python version Upload date Hashes
Filename, size sakia-0.53.2-py3-none-any.whl (509.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size sakia-0.53.2.tar.gz (382.1 kB) File type Source Python version None Upload date Hashes View

Supported by

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