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