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 = "0.4.6";
16
17 format = "pyproject";
18
19 src = fetchFromGitHub {
20 owner = "OpShin";
21 repo = "pluthon";
22 rev = version;
23 hash = "sha256-ZmBkbglSbBfVhA4yP0tJdwpJiFpJ7vX0A321ldQF0lA=";
24 };
25
26 propagatedBuildInputs = [
27 setuptools
28 uplc
29 ordered-set
30 ] ++ lib.optional (pythonOlder "3.9") graphlib-backport;
31
32 pythonImportsCheck = [ "pluthon" ];
33
34 meta = with lib; {
35 description = "Pluto-like programming language for Cardano Smart Contracts in Python";
36 homepage = "https://github.com/OpShin/pluthon";
37 license = licenses.mit;
38 maintainers = with maintainers; [ t4ccer ];
39 };
40}