Metadata-Version: 2.1
Name: aergo-herapy
Version: 1.0.2
Summary: python SDK for AERGO
Home-page: https://github.com/aergoio/herapy
Author: aergo.io
Author-email: tech@aergo.io
License: MIT license
Keywords: herapy
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.7
Requires-Dist: base58
Requires-Dist: ecdsa
Requires-Dist: googleapis-common-protos
Requires-Dist: protobuf
Requires-Dist: cryptography
Requires-Dist: toml
Requires-Dist: grpcio


======
herapy
======

.. image:: https://codecov.io/gh/aergoio/herapy/branch/master/graph/badge.svg
  :target: https://codecov.io/gh/aergoio/herapy

.. image:: https://img.shields.io/pypi/v/aergo-herapy.svg
        :target: https://pypi.python.org/pypi/aergo-herapy

.. image:: https://travis-ci.com/aergoio/herapy.svg?token=bxpJA7kPFExuJMq3sBNb&branch=master
    :target: https://travis-ci.com/aergoio/herapy

.. image:: https://readthedocs.org/projects/aergo-herapy/badge/?version=latest
        :target: https://aergo-herapy.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

.. image:: https://pyup.io/repos/github/aergoio/herapy/shield.svg
     :target: https://pyup.io/repos/github/aergoio/herapy/
     :alt: Updates

HeraPy is a Python package for AERGO that provides the features below.

--------
Features
--------

* Communication with AERGO node
* Getting AERGO blockchain information
* Creating/Exporting/Importing an account
* Making and sending a transaction
* Deploying/Calling/Querying a smart contract
* Querying and prooving contract/account states

-------
Install
-------

Install the latest version in `the Python Package Index <https://pypi.org/project/aergo-herapy/>`_

.. code-block::

    pip install aergo-herapy

or, install locally

.. code-block::

    git clone git@github.com:aergoio/herapy.git
    cd herapy
    make install

------------
Run examples
------------

After installing aergo-herapy, you can run examples

.. code-block::

    make ex

The examples in the 'examples' directory connect the public Aergo testnet.

-----
Build
-----

Downloading HeraPy
==================

Download HeraPy from this repository

.. code-block::

    git clone git@github.com:aergoio/herapy.git

Installing Dependencies
=======================

.. code-block::

    pip install -r requirements.txt

But, we recommend to use a virtual environment below.

Virtual Environment (Pipenv)
----------------------------

Using Pipenv, all dependencies will be installed automatically.

.. code-block::

    pipenv shell

If you cleaned up and setup again,

.. code-block::

    pipenv install

If you want to test or contribute, then do not forget '--dev' option

.. code-block::

    pipenv install --dev
    make test

Updating Protocol
=================

If need to upgrade a protocol,

.. code-block::

    make protoc

After this command, all protocol related source files will be generated if it's different.

Updating Aergo Configurations
=============================

If need to upgrade Aergo Configurations,

.. code-block::

    make aergo-types

After this command, 'aergo/herapy/obj/aergo_conf.py' will be generated if it's different.

If occur the error message below

.. code-block::

    ERROR: Cannot find 'AERGO_TYPES_SRC'

, find the source code 'aergo/config/types.go' and make this file path as an environment variable of 'AERGO_TYPES_SRC'

.. code-block::

    export AERGO_TYPES_SRC=`find ~ -path '*/aergo/config/types.go' 2>/dev/null`
    make aergo-types


-------------------------
Releases and Contributing
-------------------------

HeraPy follows a major release cycle of AERGO.
A minor release such as fixing bugs and errors are occasionally patched.
Please let us know if you encounter a bug by `filling an issue <https://github.com/aergoio/herapy/issues>`_.

If you are planning to contribute a new feature, class, or function,
please `open an issue <https://github.com/aergoio/herapy/issues>`_ and discuss with us.

We appreciate all contributions.


-------------
Documentation
-------------

https://aergo-herapy.readthedocs.io


-------
License
-------

HeraPy is MIT license as found in the LICENSE file.


-------
Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage


=======
History
=======

0.12.2 (2019-03-21)
-------------------

* encrypt/decrypt logic moves to 'util' for a general usage
* Bug fix
  * when tx result handling, get error message from a changed varialbe

0.12.0 (2019-03-08)
-------------------

* Apply v0.12.0 protocol
* Bug fix
  * get a genesis block with a block height 0

0.11.0 (2019-02-20)
-------------------

* Change the result type from the 'get_tx_result' function ('SmartContractStatus' --> 'TxResultStatus')
* Separate two function 'send_tx' and 'batch_tx' from the single 'send_tx' function for a single and multiple txs
* Open the 'generate_tx' function for helping a new transaction manually
* Support multiple proof queries with the array of Storage Keys
* Simplify verifying proof as the 'verify_proof' function from 'verify_inclusion' and 'verify_exclusion'

0.9.0 (2018-12-31)
------------------

* Fit for the public Aergo testnet.
* First public release on PyPI.


0.1.0 (2018-11-07)
------------------

* First release on PyPI.


