- RPC query engine
- Cryptography
- Building and parsing operations
- Smart contract interaction
- Local forging/packing & vice versa
- Working with Michelson AST
- Generating contract parameter/storage schema
- Activating and revealing accounts
- Deploying contracts (+ GitHub integration)
- Builtin interpreter (reimplemented)
- Set of extra helpers (stack visualization, blockchain context mocking)
- Custom interpreter with runtime type checker
- Syntax highlighting, autocomplete with
Tab - In-place docstrings with
Shift+Tab - Macros support
- Verbose execution logging
- Debug helpers
- Writing integration tests using
unittestpackage - Simulating contract execution using remote intepreter (via RPC) or builtin one
Make sure you have Python 3.8 to 3.12 installed and set as default in the system.
You also need to install cryptographic packages before installing the library/building the project:
$ sudo apt install libsodium-dev libgmp-dev pkg-config$ sudo pacman -Syu --needed libsodium gmpHomebrew needs to be installed.
$ brew install libsodium gmp pkg-configIn case libsodium or gmp cannot find either include or lib paths, try explicitly set environment vars:
export CFLAGS="-I/opt/homebrew/Cellar/gmp/6.2.1_1/include/ -L/opt/homebrew/Cellar/gmp/6.2.1_1/lib/"
export DYLD_LIBRARY_PATH=/opt/homebrew/lib/
pip3 install --user pymavrykFor running tests you might also need to export LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/opt/homebrew/lib/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:
- Install MinGW from https://osdn.net/projects/mingw/
- Make sure
C:\MinGW\binis added to yourPATH - Download the latest libsodium-X.Y.Z-msvc.zip from https://download.libsodium.org/libsodium/releases/.
- Extract the Win64/Release/v143/dynamic/libsodium.dll from the zip file
- Copy libsodium.dll to C:\Windows\System32\libsodium.dll
$ pip install wheel setuptools pkginfo cryptography
$ pip install pymavryk>>> !apt install libsodium-dev libgmp-dev
>>> !pip install pymavrykVerified & minified images for CI/CD https://hub.docker.com/r/mavrykdynamics/pymavryk/tags
$ # 1. Use image from registry
$ docker pull mavrykdynamics/pymavryk
$ # or build it yourself
$ docker build . -t pymavryk
$ # 2. Use included docker-compose.yml
$ docker-compose up -d notebookRequirements:
- Python 3.8 to 3.12
- libsodium, coincurve, gmp
- make
$ # prepare environment
$ make install
# # run full CI with tests
$ make allRead quick start guide
Learn how to enable Jupyter with Michelson
Check out a complete API reference
If you are working in Jupyter/Google Colab or any other interactive console, you can display documentation for a particular class/method:
>>> from pymavryk import pymavryk
>>> pymavryk- Telegram chat: @MavrykNetwork
- This project is a fork of PyTezos by Baking Bad, licensed under the MIT License
- The original PyTezos project was initially started by Arthur Breitman, and is now maintained by the Baking Bad team
- Baking Bad is supported by Tezos Foundation
- Michelson test set from the Mavryk repo is used to ensure the interpreter workability
- Michelson structured documentation by Nomadic Labs is used for inline help