Metadata-Version: 2.1
Name: bigchaindb-abci
Version: 0.7.1
Summary: Python based ABCI Server for Tendermint
Home-page: https://github.com/davebryson/py-abci
Author: Dave Bryson
License: Apache 2.0
Keywords: blockchain tendermint abci
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=3.6
Requires-Dist: protobuf (>=3.6.1)
Requires-Dist: gevent (>=1.3.7)
Requires-Dist: colorlog (>=3.1.4)
Requires-Dist: pytest (>=3.10.0)
Requires-Dist: pytest-pythonpath (>=0.7.3)
Requires-Dist: pytest-cov (>=2.6.0)

.. image:: https://travis-ci.org/davebryson/py-abci.svg?branch=master
  :target: https://https://travis-ci.org/davebryson/py-abci

.. image:: https://codecov.io/gh/davebryson/py-abci/branch/master/graph/badge.svg
  :target: https://codecov.io/gh/davebryson/py-abci

.. image:: https://img.shields.io/pypi/v/abci.svg
  :target: https://pypi.python.org/pypi/abci

Build blockchain applications in Python for Tendermint

Version
-------
Supports: ABCI v0.16.0 and Tendermint v0.31.5

Installation
------------
Requires Python >= 3.6.5

``pip install abci``  OR ``python setup.py install``

Generating Protobuf
-------------------
You *ONLY* need to mess with the protobuf stuff if you're developing on this code base, not to create apps.
If you just want to create apps, jump to ``Getting Started``

A note on protobuf.  You'll notice 2 additional directories: ``github`` and ``protobuf``.
The ``github`` dir is the protobuf generated code used by ``abci``. It adds proper Python
path (via __init___) and preserves all the import statements used by Tendermint for the various
protobuf files spread across their codebase.  The ``protobuf`` directory is the
source .proto files.

To build the protobuf files:

1. Install protoc so it's available as a command from a terminal
2. Run the `genproto.py` script


Getting Started
---------------
1. Extend the BaseApplication class
2. Implement the Tendermint ABCI callbacks - see https://github.com/tendermint/abci
3. Run it

See the example app ``counter.py`` application under the ``examples`` directory
here: https://github.com/davebryson/py-abci/blob/master/examples/counter.py


