Chialisp Python Tools

0.4.3 · active · verified Thu Apr 16

A pure Python implementation of Chialisp tools, including the CLVM (Chia's Lisp Virtual Machine), compiler, and standard library. It provides utilities for assembling and disassembling Chialisp programs, and interfaces with `clvm_tools_rs` for performance. Currently at version 0.4.3, its release cadence is tied to updates in the broader Chia ecosystem and CLVM specification.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates the core functionality of `chialisp` for assembling Chialisp source code into CLVM byte representations and disassembling CLVM bytes back into human-readable Chialisp. It uses the `assemble` and `disassembler` functions from `chialisp.clvm_tools.binutils`.

from chialisp.clvm_tools.binutils import assemble, disassembler

# Chialisp source code
chialisp_source = "(a (q 2 2) (q 1 3))"

# 1. Assemble Chialisp source into a CLVM program (bytes)
print(f"Original Chialisp source: {chialisp_source}")
assembled_program = assemble(chialisp_source)
print(f"Assembled CLVM program (bytes): {assembled_program.hex()}")

# 2. Disassemble a CLVM program back into Chialisp source (approximate)
disassembled_source = disassembler(assembled_program)
print(f"Disassembled Chialisp source: {disassembled_source}")

# Example with a slightly more complex structure
complex_source = "(a (q . 1) (q (a (q 2 2) (q 1 3)) (c (q 5) (q 1))))"
assembled_complex = assemble(complex_source)
print(f"\nComplex Chialisp source: {complex_source}")
print(f"Assembled complex program (bytes): {assembled_complex.hex()}")
print(f"Disassembled complex program: {disassembler(assembled_complex)}")

view raw JSON →