1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 setuptools,
6 pythonOlder,
7 # Python deps
8 uplc,
9 graphlib-backport,
10 ordered-set,
11}:
12
13buildPythonPackage rec {
14 pname = "pluthon";
15 version = "1.1.0";
16
17 format = "pyproject";
18
19 src = fetchFromGitHub {
20 owner = "OpShin";
21 repo = "pluthon";
22 rev = version;
23 hash = "sha256-t8KWm2eBq6CzFPAWN9pgbpF62hvNNZWCpphJsY5T2OQ=";
24 };
25
26 propagatedBuildInputs = [
27 setuptools
28 uplc
29 ordered-set
30 ]
31 ++ lib.optional (pythonOlder "3.9") graphlib-backport;
32
33 pythonImportsCheck = [ "pluthon" ];
34
35 meta = with lib; {
36 description = "Pluto-like programming language for Cardano Smart Contracts in Python";
37 homepage = "https://github.com/OpShin/pluthon";
38 license = licenses.mit;
39 maintainers = with maintainers; [ aciceri ];
40 };
41}