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
- git
- python 3.7+
- pip 20.2+
You will also probably need to install several cryptographic packets.
Use apt or your favourite package manager:
$ sudo apt install libsodium-dev libsecp256k1-dev libgmp-dev
Also, ensure wheel package is installed:
$ pip install wheel
Use homebrew:
$ brew tap cuber/homebrew-libsecp256k1
$ brew install libsodium libsecp256k1 gmp
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 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 pytezos
>>> !apt install libsodium-dev libsecp256k1-dev libgmp-dev
>>> !pip install pytezos
Verified & minified images for CI/CD https://hub.docker.com/r/bakingbad/pytezos/tags
docker pull bakingbad/pytezos
Read quick start guide
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 pytezos import pytezos
>>> pytezos
-
Pytezos 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 PyTezos 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
- Interacting with FA1.2 contract by TQTezos
https://assets.tqtezos.com/token-contracts/1-fa12-lorentz#interactusingpytezos - Deploying a contract by Vadim Manaenko
https://blog.aira.life/tezos-dont-forget-the-mother-console-fd2001261e50
- In this repo
https://github.com/baking-bad/pytezos/tree/master/examples - Atomex (atomic swaps aka cross-chain transactions)
https://github.com/atomex-me/atomex-michelson/blob/master/tests/test_atomex.py - Atomex for FA1.2 (includes cross-contract interaction and views)
https://github.com/atomex-me/atomex-fa12-ligo/tree/master/tests - MultiAsset implementation tests (in a sandbox environment)
https://github.com/tqtezos/smart-contracts/tree/master/multi_asset/tezos_mac_tests
- Telegram chat: @baking_bad_chat
- Slack channel: #baking-bad
The project was initially started by Arthur Breitman, now it's maintained by Baking Bad team. PyTezos development is supported by Tezos Foundation.