Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • release/1.1
  • encrypt_comments
  • mnemonic_dewif
  • authors_rules
  • 0.14
  • rtd
  • 1.2.1 protected
  • 1.2.0 protected
  • 1.1.1 protected
  • 1.1.0 protected
  • 1.0.0 protected
  • 1.0.0rc1 protected
  • 1.0.0rc0 protected
  • 1.0.0-rc protected
  • 0.62.0 protected
  • 0.61.0 protected
  • 0.60.1 protected
  • 0.58.1 protected
  • 0.60.0 protected
  • 0.58.0 protected
  • 0.57.0 protected
  • 0.56.0 protected
  • 0.55.1 protected
  • 0.55.0 protected
  • 0.54.3 protected
  • 0.54.2 protected
27 results

duniterpy

  • Clone with SSH
  • Clone with HTTPS
  • Vincent Texier's avatar
    Vincent Texier authored
    #51: (E)WIF: add four methods: devine format, allow passing to the f() an hexadecimal string
    
    See merge request !52
    8bcc1373
    History

    Duniter Python API

    https://coveralls.io/repos/duniter/duniter-python-api/badge.svg?branch=master&service=github

    Python implementation of Duniter BMA API

    This is the most complete python library to communicate with Duniter nodes endpoints.

    This library is used by Sakia, the rich client to manage your Duniter's wallets.

    Features

    • Support Duniter's Basic Merkle API and protocol
    • Asynchronous/synchronous without threads
    • Support HTTP, HTTPS and Web Socket transport for BMA API
    • Support Elasticsearch Duniter4j API
    • Duniter signing key
    • Sign/verify and encrypt/decrypt messages with the Duniter credentials

    Requirements

    Installation

    You can install duniter-python-api and all its dependencies via the following pip install:

    pip3 install duniterpy

    Please take a look at the document HTTP API to learn about the API.

    Development

    • 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
    • Take a look at examples folder

    • Run examples from parent folder:

      PYTHONPATH=`pwd` python examples/request_data.py
    • Before submit 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 with:

      make tests
    • Run only some unit tests with:

      make tests test_filter=tests.documents.test_block.TestBlock.test_fromraw

    Documentation

    • Install Sphinx:

      pip install -r requirements_dev.txt
    • Generate documentation:

      make docs
    • HTML Documentation is generated in docs/_build/html folder.

    • Examples

    Packaging and deploy

    Pypi

    In the development pyenv environment, install the following tools:

    pip install --upgrade pip setuptools wheel
    
    pip install twine

    Change the version number (semantic version number):

    ./release.sh 0.42.3

    Build the Pypi package in the dist folder:

    python setup.py sdist bdist_wheel

    Deploy the package on the Pypi repository:

    twine upload dist/*