A Python library for interacting with Mavryk blockchain, testing smart contracts, and writing Michelson scripts.

Integration testing

You can run tests either on a remote node (without actual injecting) or using a builtin interpreter, it takes seconds to execute, not minutes.

PyMavryk allows to patch AMOUNT, SENDER, SOURCE, BALANCE, NOW, initial storage, and handle exceptions raised by FAILWITH.

Builtin REPL allows to mock cross-contract calls — all you need is to validate parameters of the spawned transactions.

PyMavryk client

The minimal setup requires only a browser — you can manage Mavryk contracts using Google Colaboratory, or any other online service that allows you to run Jupyter notebooks.

PyMavryk is capable of almost everything mavkit-client can do, so you can automate any CI/CD task, key management, data conversion or other.

PyMavryk is perfect when you need to do something fast: the default node and key settings allow you to get started right away, and the built-in documentation allows you to avoid switching between windows.

Michelson kernel

Visualize and better understand stack transformations with the step-by-step execution and verbose logging.

Michelson instruction set is extended with useful helpers for debugging and patching context.

Mock blockchain bindings as you wish, even complicated scenarios like Big_map copying can be reproduced.

Shipped with autocomplete and builtin documentation, no need to switch tabs if you forget something.