Skip to content
Snippets Groups Projects
Select Git revision
  • master
  • wip/data_path
  • wip/python3_syntax
  • wip/fix_pyqt
  • dev
  • fix_gitlab
  • fixappveyor
  • gitlab
  • fix_ci
  • fix_dbus_error
  • fix_ci_osx
  • sakia020
  • fix_travis#1105
  • feature/backend
  • check_uniq_node_by_endpoints
  • qt5.7
  • feature/agent_architecture
  • translations
  • pyqt5.6
  • qtwebengine
  • 0.53.1
  • 0.53.0
  • 0.52.0
  • 0.51.1
  • 0.51.0
  • 0.50.5
  • 0.50.4
  • 0.50.3
  • 0.50.2
  • 0.50.1
  • 0.50.0
  • 0.33.0rc7
  • 0.33.0rc6
  • 0.33.0rc5
  • 0.33.0rc4
  • 0.33.0rc3
  • 0.33.0rc2
  • 0.33.0rc1
  • 0.32.10post1
  • 0.32.10
40 results

sakia

  • Forked from clients / python / sakia
    8 commits behind the upstream repository.
    Vincent Texier's avatar
    Vincent Texier authored
    f4199e96
    History

    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

    AppImage

    make appimage

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

    License

    This software is distributed under GNU GPLv3.