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.

Source Distribution

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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file sakia-0.53.2.tar.gz.

File metadata

  • Download URL: sakia-0.53.2.tar.gz
  • Upload date:
  • Size: 382.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12

File hashes

Hashes for sakia-0.53.2.tar.gz
Algorithm Hash digest
SHA256 2a4e4ab4722bae1816eb5e76698d9f8e6e54aecb6ba3cf202dcea30beed22fc8
MD5 bf60ef850ddca817a8bd0f8fcad0c4ed
BLAKE2b-256 f3e388f6ec13a9ee937d1796d5109c15d1ffd7b558521be576969544c753552c

See more details on using hashes here.

File details

Details for the file sakia-0.53.2-py3-none-any.whl.

File metadata

  • Download URL: sakia-0.53.2-py3-none-any.whl
  • Upload date:
  • Size: 509.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12

File hashes

Hashes for sakia-0.53.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6dde95bf06e6a2845cc3dc5df09ad07dca1e072891f6f3b5887ed9405100ebf8
MD5 37f75f95fbc47246e231e20dcec8fcd0
BLAKE2b-256 2c0a7b0585fb92732434cd09e1a61b71692f3f6369860264d820afc7384077af

See more details on using hashes here.

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