1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonRelaxDepsHook,
6 # Python deps
7 blockfrost-python,
8 cachetools,
9 cbor2,
10 cose,
11 ecpy,
12 frozendict,
13 frozenlist,
14 mnemonic,
15 poetry-core,
16 pprintpp,
17 pynacl,
18 setuptools,
19 typeguard,
20 websocket-client,
21}:
22
23let
24 cose_0_9_dev8 = cose.overridePythonAttrs (old: rec {
25 version = "0.9.dev8";
26 src = (
27 old.src.override {
28 rev = "v${version}";
29 hash = "sha256-/jwq2C2nvHInsgPG4jZCr+XsvlUJdYewAkasrUPVaHM=";
30 }
31 );
32 pythonImportsCheck = [ "cose" ];
33 });
34in
35buildPythonPackage rec {
36 pname = "pycardano";
37 version = "0.10.0";
38
39 format = "pyproject";
40
41 src = fetchFromGitHub {
42 owner = "Python-Cardano";
43 repo = "pycardano";
44 rev = "v${version}";
45 hash = "sha256-LP/W8IC2del476fGFq10VMWwMrbAoCCcZOngA8unBM0=";
46 };
47
48 nativeBuildInputs = [ pythonRelaxDepsHook ];
49
50 propagatedBuildInputs = [
51 blockfrost-python
52 cachetools
53 cbor2
54 cose_0_9_dev8
55 ecpy
56 frozendict
57 frozenlist
58 mnemonic
59 poetry-core
60 pprintpp
61 pynacl
62 setuptools
63 typeguard
64 websocket-client
65 ];
66
67 pythonRelaxDeps = [ "typeguard" ];
68
69 pythonImportsCheck = [ "pycardano" ];
70
71 meta = with lib; {
72 description = "A lightweight Cardano library in Python";
73 homepage = "https://github.com/Python-Cardano/pycardano";
74 license = licenses.mit;
75 maintainers = with maintainers; [ t4ccer ];
76 };
77}