1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 orjson,
6 pandas,
7 poetry-core,
8 pytest-mock,
9 pytestCheckHook,
10 python-dateutil,
11 pythonOlder,
12 requests,
13 tqdm,
14 typer,
15 websocket-client,
16}:
17
18buildPythonPackage rec {
19 pname = "coinmetrics-api-client";
20 version = "2024.12.11.19";
21 pyproject = true;
22
23 disabled = pythonOlder "3.9";
24
25 __darwinAllowLocalNetworking = true;
26
27 src = fetchPypi {
28 inherit version;
29 pname = "coinmetrics_api_client";
30 hash = "sha256-ETEKQ3PC+wKD92QYKqly4EGge9tJgome0N3Vv7qf214=";
31 };
32
33 pythonRelaxDeps = [ "typer" ];
34
35 nativeBuildInputs = [
36 poetry-core
37 ];
38
39 propagatedBuildInputs = [
40 orjson
41 python-dateutil
42 requests
43 typer
44 tqdm
45 websocket-client
46 ];
47
48 nativeCheckInputs = [
49 pytestCheckHook
50 pytest-mock
51 ] ++ optional-dependencies.pandas;
52
53 pythonImportsCheck = [ "coinmetrics.api_client" ];
54
55 optional-dependencies = {
56 pandas = [ pandas ];
57 };
58
59 meta = with lib; {
60 description = "Coin Metrics API v4 client library";
61 mainProgram = "coinmetrics";
62 homepage = "https://coinmetrics.github.io/api-client-python/site/index.html";
63 license = licenses.mit;
64 maintainers = with maintainers; [ centromere ];
65 };
66}