pymavryk 3.12.1

Last updated:

0 purchases

pymavryk 3.12.1 Image
pymavryk 3.12.1 Images
Add to Cart

Description:

pymavryk 3.12.1

PyMavryk







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

PyMavryk 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
Make sure you have Python 3.8 to 3.11 installed and set as default in the system.
You also 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 pkg-config

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 pkg-config

M1 (ARM)
In case secp256k1 or gmp cannot find either include or lib paths, try explicitly set environment vars:
CFLAGS="-I/opt/homebrew/Cellar/gmp/6.2.1_1/include/ -L/opt/homebrew/Cellar/gmp/6.2.1_1/lib/" LIB_DIR="/opt/homebrew/Cellar/libsecp256k1/0.1/lib" INCLUDE_DIR=/opt/homebrew/Cellar/libsecp256k1/0.1/include pip3 install --user pymavryk

For running tests you might also need to export LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/opt/homebrew/lib/

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:

Install MinGW from https://osdn.net/projects/mingw/
Make sure C:\MinGW\bin is added to your PATH
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

From PyPi
$ pip install wheel setuptools pkginfo cryptography
$ pip install pymavryk

Google Colab
>>> !apt install libsodium-dev libsecp256k1-dev libgmp-dev
>>> !pip install pymavryk

Docker container
Verified & 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 notebook

Building from sources
Requirements:

Python 3.8+
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 pymavryk import pymavryk
>>> pymavryk

Publications


Pymavryk 2.0 release with embedded docs and smart contract interaction engine
https://medium.com/coinmonks/high-level-interface-for-michelson-contracts-and-not-only-7264db76d7ae


Materials from TQuorum:Berlin workshop - building an app on top of PyMavryk and ConseilPy
https://medium.com/coinmonks/atomic-tips-berlin-workshop-materials-c5c8ee3f46aa


Materials from the EETH hackathon - setting up a local development infrastructure, deploying and interacting with a contract
https://medium.com/tezoscommons/preparing-for-the-tezos-hackathon-with-baking-bad-45f2d5fca519


Introducing integration testing engine
https://medium.com/tezoscommons/testing-michelson-contracts-with-pytezos-513718499e93


Contact

Telegram chat: @baking_bad_chat
Slack channel: #baking-bad

Credits

The project was initially started by Arthur Breitman, now it's maintained by Mavryk Dynamics team, based on the forked of Baking Bad.
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

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.