1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 requests,
7 pytestCheckHook,
8 requests-mock,
9}:
10buildPythonPackage rec {
11 pname = "kestra";
12 version = "0.23.0";
13 pyproject = true;
14
15 src = fetchFromGitHub {
16 owner = "kestra-io";
17 repo = "libs";
18 tag = "v${version}";
19 hash = "sha256-WtwvOSgAcN+ly0CnkL0Y7lrO4UhSSiXmoAyGXP/hFtE=";
20 };
21
22 sourceRoot = "${src.name}/python";
23
24 build-system = [
25 setuptools
26 ];
27
28 preBuild = ''
29 # Required for building the library (https://github.com/kestra-io/libs/blob/v0.20.0/python/setup.py#L20)
30 # The path resolve to CWD, so README.md isn't picked in the parent folder
31 ln -s ../README.md README.md
32 '';
33
34 dependencies = [
35 requests
36 ];
37
38 pythonImportsCheck = [
39 "kestra"
40 ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 requests-mock
45 ];
46
47 meta = {
48 description = "Infinitely scalable orchestration and scheduling platform, creating, running, scheduling, and monitoring millions of complex pipelines";
49 homepage = "https://github.com/kestra-io/libs";
50 license = lib.licenses.apsl20;
51 maintainers = with lib.maintainers; [ DataHearth ];
52 };
53}