Skip to main content

Python toolkit for Tezos

Project description

PyTezos

PyPI version Tests Docker Build Status Made With License: MIT

Python SDK for Tezos:

  • RPC query engine
  • Cryptography
  • Building and parsing operations
  • Smart contract interaction
  • Local forging/packing & vice versa
  • Working with Michelson AST

PyTezos CLI:

  • Generating contract parameter/storage schema
  • Activating and revealing accounts
  • Deploying contracts (+ GitHub integration)

Michelson REPL:

  • Builtin interpreter (reimplemented)
  • Set of extra helpers (stack visualization, blockchain context mocking)

Michelson integration testing framework:

  • Writing integration tests using unittest package
  • Simulating contract execution using remote intepreter (via RPC) or builtin one

Requirements

  • git
  • python 3.6+
  • pip 19.0.1+

You will also probably need to install several cryptographic packets.

Linux

Use apt or your favourite package manager:

$ sudo apt install libsodium-dev libsecp256k1-dev libgmp-dev

MacOS

Use homebrew:

$ brew tap cuber/homebrew-libsecp256k1
$ brew install libsodium libsecp256k1 gmp

Windows

The recommended way is to use WSL and then follow the instructions for Linux, but if you feel lucky you can try to install natively:

  1. Install MinGW from https://osdn.net/projects/mingw/
  2. Make sure C:\MinGW\bin is added to your PATH
  3. Download the latest libsodium-X.Y.Z-msvc.zip from https://download.libsodium.org/libsodium/releases/.
  4. Extract the Win64/Release/v143/dynamic/libsodium.dll from the zip file
  5. Copy libsodium.dll to C:\Windows\System32\libsodium.dll

Installation

$ pip install pytezos

Google Colab

>>> !apt install libsodium-dev libsecp256k1-dev libgmp-dev
>>> !pip install pytezos

Docker container

Verified & minified images for CI/CD https://hub.docker.com/r/bakingbad/pytezos/tags

docker pull bakingbad/pytezos

Quick start

Read quick start guide

API reference

Check out a complete API reference

Inline documentation

If you are working in Jupyter/Google Colab or any other interactive console, you can display documentation for a particular class/method:

>>> from pytezos import pytezos
>>> pytezos
<pytezos.client.PyTezosClient object at 0x7f904cf339e8>

Properties
.key  # tz1grSQDByRpnVs7sPtaprNZRp531ZKz6Jmm
.shell  # https://tezos-dev.cryptonomic-infra.tech/ (alphanet)

Helpers
.account()
.activate_account()
.ballot()
.contract()
.delegation()
.double_baking_evidence()
.double_endorsement_evidence()
.endorsement()
.operation()
.operation_group()
.origination()
.proposals()
.reveal()
.seed_nonce_revelation()
.transaction()
.using()

Publications

Additional materials

Michelson test samples

Contact

About

The project was initially started by Arthur Breitman, now it's maintained by Baking Bad team. PyTezos development is supported by Tezos Foundation.

Project details


Release history Release notifications | RSS feed

This version

2.5.7

Download files

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

Source Distribution

pytezos-2.5.7.tar.gz (88.4 kB view hashes)

Uploaded Source

Built Distribution

pytezos-2.5.7-py3-none-any.whl (104.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page