A [duniter](https://github.com/duniter/duniter) Python client
Project description
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
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
- python 3.6+
- libsodium
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
- Go to current release
- Download AppImage for linux x86_64. Run it !
- Join our developer 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 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
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.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a4e4ab4722bae1816eb5e76698d9f8e6e54aecb6ba3cf202dcea30beed22fc8 |
|
MD5 | bf60ef850ddca817a8bd0f8fcad0c4ed |
|
BLAKE2b-256 | f3e388f6ec13a9ee937d1796d5109c15d1ffd7b558521be576969544c753552c |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dde95bf06e6a2845cc3dc5df09ad07dca1e072891f6f3b5887ed9405100ebf8 |
|
MD5 | 37f75f95fbc47246e231e20dcec8fcd0 |
|
BLAKE2b-256 | 2c0a7b0585fb92732434cd09e1a61b71692f3f6369860264d820afc7384077af |