1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 pyyaml,
7 posthog,
8 pytestCheckHook,
9 typing-extensions,
10}:
11
12buildPythonPackage rec {
13 pname = "ploomber-core";
14 version = "0.2.27";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "ploomber";
19 repo = "core";
20 tag = version;
21 hash = "sha256-/HlJxaxsGbZ1UIJNwDdzJLR4bey7bv/qsmFmVi8eWjQ=";
22 };
23
24 build-system = [ setuptools ];
25
26 dependencies = [
27 pyyaml
28 posthog
29 typing-extensions
30 ];
31
32 nativeCheckInputs = [ pytestCheckHook ];
33
34 disabledTests = [
35 "telemetry" # requires network
36 "exceptions" # requires stderr capture
37 ];
38
39 pythonImportsCheck = [ "ploomber_core" ];
40
41 meta = {
42 description = "Core module shared across Ploomber projects";
43 homepage = "https://github.com/ploomber/core";
44 changelog = "https://github.com/ploomber/core/blob/${src.tag}/CHANGELOG.md";
45 license = lib.licenses.asl20;
46 maintainers = with lib.maintainers; [ euxane ];
47 };
48}