1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6
7 # build-system
8 flit-core,
9
10 # tests
11 psutil,
12 pytestCheckHook,
13}:
14
15buildPythonPackage rec {
16 pname = "cloudpickle";
17 version = "3.1.1";
18 pyproject = true;
19
20 disabled = pythonOlder "3.6";
21
22 src = fetchFromGitHub {
23 owner = "cloudpipe";
24 repo = "cloudpickle";
25 tag = "v${version}";
26 hash = "sha256-e8kEznjuIrdjNsXwXJO3lcEEpiCR+UQzXnGrTarUb5E=";
27 };
28
29 nativeBuildInputs = [ flit-core ];
30
31 nativeCheckInputs = [
32 psutil
33 pytestCheckHook
34 ];
35
36 pythonImportsCheck = [ "cloudpickle" ];
37
38 disabledTestPaths = [
39 # ModuleNotFoundError: No module named 'psutil'
40 "tests/cloudpickle_test.py"
41 ];
42
43 meta = with lib; {
44 changelog = "https://github.com/cloudpipe/cloudpickle/blob/${src.tag}/CHANGES.md";
45 description = "Extended pickling support for Python objects";
46 homepage = "https://github.com/cloudpipe/cloudpickle";
47 license = with licenses; [ bsd3 ];
48 maintainers = [ ];
49 };
50}