1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 pythonRelaxDepsHook,
6 # Python deps
7 frozenlist2,
8 python-secp256k1-cardano,
9 setuptools,
10 poetry-core,
11 frozendict,
12 cbor2,
13 rply,
14 pycardano,
15}:
16
17buildPythonPackage rec {
18 pname = "uplc";
19 version = "0.6.9";
20
21 format = "pyproject";
22
23 src = fetchFromGitHub {
24 owner = "OpShin";
25 repo = "uplc";
26 rev = version;
27 hash = "sha256-djJMNXijMVzMVzw8NZSe3YFRGyAPqdvr0P374Za5XkU=";
28 };
29
30 nativeBuildInputs = [ pythonRelaxDepsHook ];
31
32 propagatedBuildInputs = [
33 setuptools
34 poetry-core
35 frozendict
36 cbor2
37 frozenlist2
38 rply
39 pycardano
40 python-secp256k1-cardano
41 ];
42
43 pythonRelaxDeps = [
44 "pycardano"
45 "rply"
46 ];
47
48 pythonImportsCheck = [ "uplc" ];
49
50 meta = with lib; {
51 description = "Python implementation of untyped plutus language core";
52 homepage = "https://opshin.dev";
53 license = licenses.mit;
54 maintainers = with maintainers; [ t4ccer ];
55 mainProgram = "opshin";
56 };
57}