1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 jsonschema,
6 pytestCheckHook,
7 python-dateutil,
8 pythonOlder,
9 requests,
10 setuptools,
11 typing-extensions,
12 websocket-client,
13}:
14
15buildPythonPackage rec {
16 pname = "ripe-atlas-cousteau";
17 version = "2.0.0";
18 pyproject = true;
19
20 disabled = pythonOlder "3.6";
21
22 src = fetchFromGitHub {
23 owner = "RIPE-NCC";
24 repo = "ripe-atlas-cousteau";
25 tag = "v${version}";
26 hash = "sha256-z8ZXOiCVYughrbmXfnwtks7NPmYpII2BA0+8mr1cdSQ=";
27 };
28
29 pythonRelaxDeps = [ "websocket-client" ];
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 python-dateutil
35 requests
36 typing-extensions
37 websocket-client
38 ];
39
40 nativeCheckInputs = [
41 pytestCheckHook
42 jsonschema
43 ];
44
45 pythonImportsCheck = [ "ripe.atlas.cousteau" ];
46
47 meta = with lib; {
48 description = "Python client library for RIPE ATLAS API";
49 homepage = "https://github.com/RIPE-NCC/ripe-atlas-cousteau";
50 changelog = "https://github.com/RIPE-NCC/ripe-atlas-cousteau/blob/v${version}/CHANGES.rst";
51 license = licenses.gpl3Only;
52 maintainers = with maintainers; [ raitobezarius ];
53 };
54}