Skip to main content

Python package to access Universa UMI API from python.

Project description

py-umi

Build status PyPI Downloads Latest PyPI version License

This is an under-construction official Python package from Universa to facilitate access to the Java library using Universa's UMI protocol.

Installation

pip install py-umi

Usage

Prerequisites

You need to have UMI installed somewhere on your system. To run, UMI requires JVM v1.8.* (or newer) to be installed, too.

UMI can be used in one of three modes:

  • pipe – the UMI instance is dynamically executed in a subprocess, and a pipe is used for communication.
  • tcp – connect to an already running UMI instance via TCP socket.
  • unix – connect to an already running UMI instance via Unix socket.

By default it expects an umi binary to be installed an reachable via the shell $PATH, and will invoke it automatically in pipe mode. Use umi.transport.setupUMI method if you need to switch the connection method to some other.

Example

#!/usr/bin/env python3
from umi.transport import transport
from umi.types import PrivateKey, Contract, RevokePermission

if __name__ == '__main__':
    # The next line is not necessary if umi is reachable via the $PATH
    # transport.setupUMI('pipe', '/usr/local/bin/umi')

    # To connect to an already running UMI instance you may use one of this modes:
    # transport.setupUMI('tcp', host='127.0.0.1', port=12345)  # IPv6 is also ok
    # transport.setupUMI('unix', path='/path-to-the-socket')

    print(transport.version)

    private_key = PrivateKey(size=2048)
    contract = Contract()
    short_address = private_key.public_key.short_address
    owner_role = contract.set_owner_addresses(short_address)
    revoke_permission = RevokePermission(owner_role)
    contract.add_permission(revoke_permission)

Docs and resources

For more information see:

License

This package is available as open source under the terms of the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for py-umi, version 0.2.4
Filename, size File type Python version Upload date Hashes
Filename, size py_umi-0.2.4-py2-none-any.whl (22.8 kB) File type Wheel Python version py2 Upload date Hashes View hashes
Filename, size py_umi-0.2.4-py3-none-any.whl (22.8 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size py-umi-0.2.4.tar.gz (15.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page