Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Welcome to manta-python

This repository contains the Python implementation of the Manta Protocol: it's a protocol to enable crypto coin transaction between POS (of any kind, hardware, vending machines, online), payment processors and wallets.

Communication takes advantage of the MQTT protocol and needs a proper configured broker to work.

More documentation can be found at, what follows are some instructions for the developer.


Primary repository

To start working on manta-python you must first checkout a copy of the main repository:

$ git
$ cd manta-python


The code in this repository needs an MQTT broker to work correctly so if you plan to run the tests, you will be required of either install the mosquitto broker or use your own and modify the broker.start entry in the file tests/dummyconfig.yaml to false.

Task automation is achieved using GNU Make. It should be easily installable on every UNIX-like platform.

If you use Nix (it can be installed on GNU/Linux systems and macOS) all you need is to execute a single command:

$ nix-shell

and that will install mosquitto and GNU Make for you. In such case you should skip the following section.

Creation of the Python virtual environment

The next thing to do is the creation of the Python virtual environment with some required packages. Simply execute:

$ make
  1. that will initialize the environment with a set of required packages
  2. print an help on the available targets

You must remember to activate the virtual environment before doing anything:

$ . venv/bin/activate

Running the tests

To run the tests simply run the following command:

$ make tests

That will run the unit tests and the integration tests. Remember to always use it before committing.