1{
2 lib,
3 aocd-example-parser,
4 beautifulsoup4,
5 buildPythonPackage,
6 fetchFromGitHub,
7 numpy,
8 pebble,
9 pook,
10 pytest-freezegun,
11 pytest-mock,
12 pytest-cov-stub,
13 pytest-raisin,
14 pytest-socket,
15 pytestCheckHook,
16 python-dateutil,
17 pythonOlder,
18 requests,
19 requests-mock,
20 rich,
21 setuptools,
22 termcolor,
23 tzlocal,
24}:
25
26buildPythonPackage rec {
27 pname = "aocd";
28 version = "2.1.0";
29 pyproject = true;
30
31 disabled = pythonOlder "3.9";
32
33 src = fetchFromGitHub {
34 owner = "wimglenn";
35 repo = "advent-of-code-data";
36 tag = "v${version}";
37 hash = "sha256-xR9CfyOUsKSSA/1zYi6kCK3oAaX6Kd625mKMWI+ZFMA=";
38 };
39
40 build-system = [ setuptools ];
41
42 dependencies = [
43 aocd-example-parser
44 beautifulsoup4
45 pebble
46 python-dateutil
47 requests
48 rich # for example parser aoce. must either be here or checkInputs
49 termcolor
50 tzlocal
51 ];
52
53 nativeCheckInputs = [
54 numpy
55 pook
56 pytest-freezegun
57 pytest-mock
58 pytest-raisin
59 pytest-socket
60 pytestCheckHook
61 pytest-cov-stub
62 requests-mock
63 ];
64
65 enabledTestPaths = [
66 "tests/"
67 ];
68
69 pythonImportsCheck = [ "aocd" ];
70
71 meta = {
72 description = "Get your Advent of Code data with a single import statement";
73 homepage = "https://github.com/wimglenn/advent-of-code-data";
74 changelog = "https://github.com/wimglenn/advent-of-code-data/releases/tag/${src.tag}";
75 license = lib.licenses.mit;
76 maintainers = with lib.maintainers; [ aadibajpai ];
77 platforms = lib.platforms.unix;
78 };
79}