1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 setuptools,
8
9 # dependencies
10 boto3,
11 importlib-metadata,
12 jsonschema,
13 mock,
14 platformdirs,
15 pydantic,
16 pyyaml,
17 rich,
18
19 # optional-dependencies
20 black,
21 pandas,
22 pylint,
23 pytest,
24}:
25
26buildPythonPackage rec {
27 pname = "sagemaker-core";
28 version = "1.0.11";
29 pyproject = true;
30
31 src = fetchFromGitHub {
32 owner = "aws";
33 repo = "sagemaker-core";
34 rev = "refs/tags/v${version}";
35 hash = "sha256-6r8roHMJ4s/+mGiPeMVZ9wagdXNJQ3+tUFZ/7T+NQBc=";
36 };
37
38 build-system = [
39 setuptools
40 ];
41
42 pythonRelaxDeps = [
43 "importlib-metadata"
44 "mock"
45 ];
46
47 dependencies = [
48 boto3
49 importlib-metadata
50 jsonschema
51 mock
52 platformdirs
53 pydantic
54 pyyaml
55 rich
56 ];
57
58 optional-dependencies = {
59 codegen = [
60 black
61 pandas
62 pylint
63 pytest
64 ];
65 };
66
67 pythonImportsCheck = [
68 "sagemaker_core"
69 ];
70
71 # Only a single test which fails with:
72 # ValueError: Must setup local AWS configuration with a region supported by SageMaker.
73 doCheck = false;
74
75 meta = {
76 description = "Python SDK designed to provide an object-oriented interface for interacting with Amazon SageMaker resources";
77 homepage = "https://github.com/aws/sagemaker-core";
78 changelog = "https://github.com/aws/sagemaker-core/blob/${src.rev}/CHANGELOG.md";
79 license = lib.licenses.asl20;
80 maintainers = with lib.maintainers; [ GaetanLepage ];
81 };
82}