1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 icalendar,
6 lxml,
7 pytestCheckHook,
8 python,
9 recurring-ical-events,
10 requests,
11 hatchling,
12 hatch-vcs,
13 proxy-py,
14 pyfakefs,
15 toPythonModule,
16 tzlocal,
17 vobject,
18 xandikos,
19 writableTmpDirAsHomeHook,
20}:
21
22buildPythonPackage rec {
23 pname = "caldav";
24 version = "2.0.1";
25 pyproject = true;
26
27 src = fetchFromGitHub {
28 owner = "python-caldav";
29 repo = "caldav";
30 tag = "v${version}";
31 hash = "sha256-n7ZKTBXg66firbS34J41NrTM/PL/OrKMnS4iguRz4Ho=";
32 };
33
34 build-system = [
35 hatchling
36 hatch-vcs
37 ];
38
39 dependencies = [
40 vobject
41 lxml
42 requests
43 icalendar
44 recurring-ical-events
45 ];
46
47 nativeCheckInputs = [
48 proxy-py
49 pyfakefs
50 pytestCheckHook
51 tzlocal
52 (toPythonModule (xandikos.override { python3Packages = python.pkgs; }))
53 writableTmpDirAsHomeHook
54 ];
55
56 disabledTestPaths = [
57 "tests/test_docs.py"
58 "tests/test_examples.py"
59 ];
60
61 pythonImportsCheck = [ "caldav" ];
62
63 meta = with lib; {
64 description = "CalDAV (RFC4791) client library";
65 homepage = "https://github.com/python-caldav/caldav";
66 changelog = "https://github.com/python-caldav/caldav/blob/${src.tag}/CHANGELOG.md";
67 license = licenses.asl20;
68 maintainers = with maintainers; [
69 marenz
70 dotlambda
71 ];
72 };
73}