A [duniter](https://github.com/duniter/duniter) Python client
Project description
Sakia
========
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
-
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
- When writing docstrings, use the reStructuredText format recommended by https://www.python.org/dev/peps/pep-0287/#docstring-significant-features
- Use make commands to check the code and the format it correct.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.