Python bindings for aiken
Project description
pyaiken
This package supplies python bindings for the package aiken. The bindings are added on a per-need basis, currently only serving the development of eopsin
Installation
Install python3. Then run the following command.
python3 -m pip install pyaiken
Usage
from pyaiken import uplc, script_address
# Tools for handling UPLC
### uplc.flat
# Print the hex of the CBOR encoded flat-encoding of the program in UPLC textual notation
code = uplc.flat("(program 1.0.0 (con data #01))")
print(code)
# prints "490100004c0101010001"
### uplc.eval
# Evaluate a UPLC program with the given arguments (all in textual representation) and cpu and memory budget (optional, in this order)
# Returns either computed UPLC value on success or thrown error on failure,
# logs generated through trace
# and the consumed cpu and memory steps
((suc, err), logs, (cpu, mem)) = uplc.eval("(program 1.0.0 (lam x x))", ["(con data #01)"], 1000000, None)
print((suc, err), logs, (cpu, mem))
# prints "('(con data #01)', None), [], (9907900, 13999500)"
Building
In case you need to build this package from source, install Python3 and Rust and proceed as follows.
git clone https://github.com/ImperatorLang/pyaiken
cd pyaiken
python3 -m venv .env
source .env/bin/activate # or in whichever environment you want to have it installed
pip install manturin
manturin build
The package will be installed in the active python environment.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyaiken-0.1.2.tar.gz
(14.4 kB
view hashes)
Built Distribution
Close
Hashes for pyaiken-0.1.2-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14d2a0a574885345bd44a07f8d8d34246067b20be46fd2eb16619c013bf0538f |
|
MD5 | e53e0f80663d92721205f36b67fcd1e2 |
|
BLAKE2b-256 | 619b59a6754e78f9c8a0105d7bb61b0078c1a8f495c9eae21bc61a8722a8e43f |