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