Skip to main content

Python toolkit for Tezos

Project description

PyTezos

PyPI version Tests Docker images Made With License: MIT Binder

  • 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 Jupyter kernel

  • Custom interpreter with runtime type checker
  • Syntax highlighting, autocomplete with Tab
  • In-place docstrings with Shift+Tab
  • Macros support
  • Verbose execution logging
  • Debug helpers

Michelson integration testing framework

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

Installation

You need to install cryptographic packages before installing the library/building the project:

Linux

Ubuntu, Debian and other apt-based distributions
$ sudo apt install libsodium-dev libsecp256k1-dev libgmp-dev
Arch Linux
$ sudo pacman -Syu --needed libsodium libsecp256k1 gmp

MacOS

Homebrew needs to be installed.

$ 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

From PyPi

$ pip install wheel setuptools
$ 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

$ # 1. Use image from registry
$ docker pull bakingbad/pytezos
$ # or build it yourself
$ docker build . -t pytezos
$ # 2. Use included docker-compose.yml
$ docker-compose up -d notebook

Building from sources

Requirements:

  • Python 3.7+
  • Poetry
  • libsodium, libsecp256k1, gmp
  • make
$ # prepare environment
$ make install
# # run full CI with tests
$ make

Quick start

Read quick start guide
Learn how to enable Jupyter with Michelson

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

Publications

Contact

Credits

  • The project was initially started by Arthur Breitman, now it's maintained by Baking Bad team.
  • Baking Bad is supported by Tezos Foundation
  • Michelson test set from the Tezos repo is used to ensure the interpreter workability
  • Michelson structured documentation by Nomadic Labs is used for inline help

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

pytezos-3.2.11.tar.gz (143.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytezos-3.2.11-py3-none-any.whl (185.2 kB view details)

Uploaded Python 3

File details

Details for the file pytezos-3.2.11.tar.gz.

File metadata

  • Download URL: pytezos-3.2.11.tar.gz
  • Upload date:
  • Size: 143.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.7.11 Linux/5.8.0-1039-azure

File hashes

Hashes for pytezos-3.2.11.tar.gz
Algorithm Hash digest
SHA256 4d66a0e3660772f18090a0a379cb25b76a3dc752dfd2fbf12cd9c7ae6a52410c
MD5 671264bbc476f2531a2507377380af8d
BLAKE2b-256 84e9ff49deb93f6e80fe9cc0cdaca2ad67e6d483b2c9b7a9d7e1beea1473bd9b

See more details on using hashes here.

File details

Details for the file pytezos-3.2.11-py3-none-any.whl.

File metadata

  • Download URL: pytezos-3.2.11-py3-none-any.whl
  • Upload date:
  • Size: 185.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.7.11 Linux/5.8.0-1039-azure

File hashes

Hashes for pytezos-3.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 e7a65f66794fe9fe87991db0b8c1952951e5d79eb42b491c6955cf4c9b013c71
MD5 c225bc11bdde739a60228a6f005d780e
BLAKE2b-256 7217eadb863a4f04aefc5c237b50a50890c0a78d46dc160898adedfbad631535

See more details on using hashes here.

Supported by

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