Skip to main content

Python implementation of untyped plutus language core

Project description

Untyped Plutus Language Core

Build Status PyPI version PyPI - Python Version PyPI - Status Coverage Status

This is a basic library to support creating and manipulating programs written in UPLC.

Installation

Install anything between python 3.8 and 3.10. Then run

pip install uplc

Secp256k1

If you want to use the builtin functions for verification of ECDSA and Schnorr signatures, follow the instructions to install libsecp256k1 with schnorr support enabled:

https://github.com/input-output-hk/cardano-node/blob/master/doc/getting-started/install.md/#installing-secp256k1

This makes sure that the exact same version is used that is used in the cardano-node.

Usage

This tool may be used to parse, reformat (/dump), evaluate or build contract artifacts from UPLC code.

# Check validity of a source file
uplc parse examples/fibonacci.uplc

# Dump a source file in either the aiken or the plutus dialect
uplc dump examples/fibonacci.uplc --dialect aiken
uplc dump examples/fibonacci.uplc --dialect plutus --unique-varnames

# Evaluate a UPLC program on UPLC input
uplc eval examples/fibonacci.uplc "(con integer 5)"

# Build smart contract artifacts from the UPLC program
uplc build examples/fibonacci.uplc

Scope and Contributions

This is a side product of the development of a pythonic smart contract language for the Cardano blockchain and hence much tailored to the needs of that development.

Contributions are very welcome.

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

uplc-0.5.5.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

uplc-0.5.5-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file uplc-0.5.5.tar.gz.

File metadata

  • Download URL: uplc-0.5.5.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for uplc-0.5.5.tar.gz
Algorithm Hash digest
SHA256 6e986f8e7be708ef7fd5001404e981dbbd4d144c28f58b9979d9a961bfabde10
MD5 16e6b5fd72f0c1fd1d4f46d5d5ac9715
BLAKE2b-256 d0fc4607c0ad66a4f905864faaf848cea06c000371ba65e7dae5312f5ca8c08a

See more details on using hashes here.

File details

Details for the file uplc-0.5.5-py3-none-any.whl.

File metadata

  • Download URL: uplc-0.5.5-py3-none-any.whl
  • Upload date:
  • Size: 28.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for uplc-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1f41d3f35ccf0e553c67b139a5884afaaa0d7414f8cef18fe7ff71cd3893eb54
MD5 0641adb3296e0f253f8a82b896058a1d
BLAKE2b-256 c5c0affb11c8a77f8fa88c679a59d5747721c83bb7d0dd0ef1e7f28728d8d5c7

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