Skip to main content

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


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 details)

Uploaded Source

Built Distribution

pyaiken-0.1.2-cp38-cp38-manylinux_2_34_x86_64.whl (521.5 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.34+ x86-64

File details

Details for the file pyaiken-0.1.2.tar.gz.

File metadata

  • Download URL: pyaiken-0.1.2.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/0.14.9

File hashes

Hashes for pyaiken-0.1.2.tar.gz
Algorithm Hash digest
SHA256 64a7b7722608a16d958c759f75dc810ba9373b43510bcd87fe821b2b0f165b56
MD5 9879ed302b15ef933695e3578139d131
BLAKE2b-256 96db42eb25812c2fb693a2d62a9b0a1b42780250035eaf520b89d950406f3cd3

See more details on using hashes here.

File details

Details for the file pyaiken-0.1.2-cp38-cp38-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for pyaiken-0.1.2-cp38-cp38-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 14d2a0a574885345bd44a07f8d8d34246067b20be46fd2eb16619c013bf0538f
MD5 e53e0f80663d92721205f36b67fcd1e2
BLAKE2b-256 619b59a6754e78f9c8a0105d7bb61b0078c1a8f495c9eae21bc61a8722a8e43f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page