craft-ai-sdk 0.59.0rc1__tar.gz → 0.60.0rc1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of craft-ai-sdk might be problematic. Click here for more details.
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/PKG-INFO +3 -4
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/README.md +1 -1
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/__init__.py +1 -1
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/constants.py +2 -4
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/sdk.py +45 -53
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/documentation.pdf +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/pyproject.toml +11 -20
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/LICENSE +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/core/data_store.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/core/deployments.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/core/endpoints.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/core/environment_variables.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/core/pipeline_executions.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/core/pipeline_metrics.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/core/pipelines.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/core/resource_metrics.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/core/steps.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/core/users.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/exceptions.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/io.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/utils.py +0 -0
- {craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/warnings.py +0 -0
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: craft-ai-sdk
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.60.0rc1
|
|
4
4
|
Summary: Craft AI MLOps platform SDK
|
|
5
5
|
Home-page: https://www.craft.ai/
|
|
6
6
|
License: Apache-2.0
|
|
7
7
|
Author: Craft AI
|
|
8
8
|
Author-email: contact@craft.ai
|
|
9
|
-
Requires-Python: >=3.
|
|
9
|
+
Requires-Python: >=3.9,<4.0
|
|
10
10
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.9
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.10
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -24,7 +23,7 @@ Description-Content-Type: text/markdown
|
|
|
24
23
|
This Python SDK lets you interact with Craft AI MLOps Platform.
|
|
25
24
|
|
|
26
25
|
## Installation
|
|
27
|
-
This project relies on **Python 3.
|
|
26
|
+
This project relies on **Python 3.9+**. Once a supported version of Python is installed, you can install `craft-ai-sdk` from PyPI with:
|
|
28
27
|
|
|
29
28
|
```console
|
|
30
29
|
pip install craft-ai-sdk
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
This Python SDK lets you interact with Craft AI MLOps Platform.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
|
-
This project relies on **Python 3.
|
|
6
|
+
This project relies on **Python 3.9+**. Once a supported version of Python is installed, you can install `craft-ai-sdk` from PyPI with:
|
|
7
7
|
|
|
8
8
|
```console
|
|
9
9
|
pip install craft-ai-sdk
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
from strenum import LowercaseStrEnum
|
|
2
1
|
from enum import auto
|
|
3
2
|
|
|
3
|
+
from strenum import LowercaseStrEnum
|
|
4
4
|
|
|
5
|
-
class DEPLOYMENT_EXECUTION_RULES(LowercaseStrEnum):
|
|
6
5
|
|
|
6
|
+
class DEPLOYMENT_EXECUTION_RULES(LowercaseStrEnum):
|
|
7
7
|
"""Enumeration for deployments execution rules."""
|
|
8
8
|
|
|
9
9
|
ENDPOINT = auto()
|
|
@@ -11,7 +11,6 @@ class DEPLOYMENT_EXECUTION_RULES(LowercaseStrEnum):
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class DEPLOYMENT_MODES(LowercaseStrEnum):
|
|
14
|
-
|
|
15
14
|
"""Enumeration for deployments modes."""
|
|
16
15
|
|
|
17
16
|
LOW_LATENCY = auto()
|
|
@@ -19,7 +18,6 @@ class DEPLOYMENT_MODES(LowercaseStrEnum):
|
|
|
19
18
|
|
|
20
19
|
|
|
21
20
|
class DEPLOYMENT_STATUS(LowercaseStrEnum):
|
|
22
|
-
|
|
23
21
|
"""Enumeration for deployments status."""
|
|
24
22
|
|
|
25
23
|
CREATION_PENDING = auto()
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
from abc import ABC, abstractmethod
|
|
2
|
-
from datetime import timedelta
|
|
3
1
|
import os
|
|
4
2
|
import sys
|
|
5
3
|
import time
|
|
6
4
|
import warnings
|
|
5
|
+
from abc import ABC, abstractmethod
|
|
6
|
+
from datetime import timedelta
|
|
7
7
|
|
|
8
8
|
import jwt
|
|
9
9
|
import requests
|
|
10
10
|
|
|
11
|
-
|
|
12
11
|
from .utils import handle_http_request, use_authentication
|
|
13
12
|
|
|
14
13
|
warnings.simplefilter("always", DeprecationWarning)
|
|
@@ -57,69 +56,64 @@ class CraftAiSdk(BaseCraftAiSdk):
|
|
|
57
56
|
a metric is added outside of a step.
|
|
58
57
|
"""
|
|
59
58
|
|
|
60
|
-
from .core.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
get_step_logs,
|
|
67
|
-
)
|
|
68
|
-
from .core.pipelines import (
|
|
69
|
-
create_pipeline,
|
|
70
|
-
get_pipeline,
|
|
71
|
-
list_pipelines,
|
|
72
|
-
delete_pipeline,
|
|
73
|
-
download_pipeline_local_folder,
|
|
74
|
-
get_pipeline_logs,
|
|
75
|
-
)
|
|
76
|
-
from .core.pipeline_executions import (
|
|
77
|
-
run_pipeline,
|
|
78
|
-
list_pipeline_executions,
|
|
79
|
-
get_pipeline_execution,
|
|
80
|
-
get_pipeline_execution_output,
|
|
81
|
-
get_pipeline_execution_input,
|
|
82
|
-
get_pipeline_execution_logs,
|
|
83
|
-
delete_pipeline_execution,
|
|
59
|
+
from .core.data_store import (
|
|
60
|
+
delete_data_store_object,
|
|
61
|
+
download_data_store_object,
|
|
62
|
+
get_data_store_object_information,
|
|
63
|
+
list_data_store_objects,
|
|
64
|
+
upload_data_store_object,
|
|
84
65
|
)
|
|
85
66
|
from .core.deployments import (
|
|
86
67
|
create_deployment,
|
|
68
|
+
delete_deployment,
|
|
87
69
|
get_deployment,
|
|
88
70
|
get_deployment_logs,
|
|
89
71
|
list_deployments,
|
|
90
72
|
update_deployment,
|
|
91
|
-
delete_deployment,
|
|
92
73
|
)
|
|
93
74
|
from .core.endpoints import (
|
|
94
|
-
trigger_endpoint,
|
|
95
|
-
retrieve_endpoint_results,
|
|
96
75
|
generate_new_endpoint_token,
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
record_metric_value,
|
|
100
|
-
record_list_metric_values,
|
|
101
|
-
get_metrics,
|
|
102
|
-
get_list_metrics,
|
|
103
|
-
)
|
|
104
|
-
from .core.data_store import (
|
|
105
|
-
upload_data_store_object,
|
|
106
|
-
download_data_store_object,
|
|
107
|
-
get_data_store_object_information,
|
|
108
|
-
list_data_store_objects,
|
|
109
|
-
delete_data_store_object,
|
|
76
|
+
retrieve_endpoint_results,
|
|
77
|
+
trigger_endpoint,
|
|
110
78
|
)
|
|
111
79
|
from .core.environment_variables import (
|
|
112
80
|
create_or_update_environment_variable,
|
|
113
|
-
list_environment_variables,
|
|
114
81
|
delete_environment_variable,
|
|
82
|
+
list_environment_variables,
|
|
115
83
|
)
|
|
116
|
-
from .core.
|
|
117
|
-
|
|
84
|
+
from .core.pipeline_executions import (
|
|
85
|
+
delete_pipeline_execution,
|
|
86
|
+
get_pipeline_execution,
|
|
87
|
+
get_pipeline_execution_input,
|
|
88
|
+
get_pipeline_execution_logs,
|
|
89
|
+
get_pipeline_execution_output,
|
|
90
|
+
list_pipeline_executions,
|
|
91
|
+
run_pipeline,
|
|
118
92
|
)
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
93
|
+
from .core.pipeline_metrics import (
|
|
94
|
+
get_list_metrics,
|
|
95
|
+
get_metrics,
|
|
96
|
+
record_list_metric_values,
|
|
97
|
+
record_metric_value,
|
|
98
|
+
)
|
|
99
|
+
from .core.pipelines import (
|
|
100
|
+
create_pipeline,
|
|
101
|
+
delete_pipeline,
|
|
102
|
+
download_pipeline_local_folder,
|
|
103
|
+
get_pipeline,
|
|
104
|
+
get_pipeline_logs,
|
|
105
|
+
list_pipelines,
|
|
106
|
+
)
|
|
107
|
+
from .core.resource_metrics import get_resource_metrics
|
|
108
|
+
from .core.steps import (
|
|
109
|
+
create_step,
|
|
110
|
+
delete_step,
|
|
111
|
+
download_step_local_folder,
|
|
112
|
+
get_step,
|
|
113
|
+
get_step_logs,
|
|
114
|
+
list_steps,
|
|
122
115
|
)
|
|
116
|
+
from .core.users import get_user
|
|
123
117
|
|
|
124
118
|
# Size (in bytes) from which datastore upload will switch to multipart
|
|
125
119
|
# AWS: minimum part size is 5MiB
|
|
@@ -135,7 +129,7 @@ class CraftAiSdk(BaseCraftAiSdk):
|
|
|
135
129
|
os.environ.get("CRAFT_AI__MULTIPART_PART_SIZE__B", str(38 * 256 * 1024))
|
|
136
130
|
)
|
|
137
131
|
_access_token_margin = timedelta(seconds=30)
|
|
138
|
-
_version = "0.
|
|
132
|
+
_version = "0.60.0rc1" # Would be better to share it somewhere
|
|
139
133
|
|
|
140
134
|
def __init__(
|
|
141
135
|
self,
|
|
@@ -212,9 +206,7 @@ class CraftAiSdk(BaseCraftAiSdk):
|
|
|
212
206
|
verbose_log = (
|
|
213
207
|
True
|
|
214
208
|
if env_verbose_log == "true"
|
|
215
|
-
else False
|
|
216
|
-
if env_verbose_log == "false"
|
|
217
|
-
else hasattr(sys, "ps1")
|
|
209
|
+
else False if env_verbose_log == "false" else hasattr(sys, "ps1")
|
|
218
210
|
)
|
|
219
211
|
self.verbose_log = verbose_log
|
|
220
212
|
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "craft-ai-sdk"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.60.0rc1"
|
|
4
4
|
description = "Craft AI MLOps platform SDK"
|
|
5
5
|
license = "Apache-2.0"
|
|
6
6
|
authors = ["Craft AI <contact@craft.ai>"]
|
|
@@ -25,32 +25,23 @@ rstdoc = "scripts.scripts:generate_docs_in_rst"
|
|
|
25
25
|
filterwarnings = ["ignore::UserWarning"]
|
|
26
26
|
|
|
27
27
|
[tool.poetry.dependencies]
|
|
28
|
-
python = "^3.
|
|
28
|
+
python = "^3.9"
|
|
29
29
|
requests = "^2.27.1"
|
|
30
30
|
PyJWT = "^2.3.0"
|
|
31
31
|
StrEnum = "^0.4.9"
|
|
32
32
|
|
|
33
33
|
[tool.poetry.group.dev.dependencies]
|
|
34
|
-
ipython = "^8.
|
|
35
|
-
ipykernel = "^6.
|
|
36
|
-
black = "^
|
|
37
|
-
flake8 =
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
pylint = "^2.12.2"
|
|
42
|
-
python-dotenv = "^1.0.0"
|
|
43
|
-
pytest = "^7.0.1"
|
|
34
|
+
ipython = "^8.18.1"
|
|
35
|
+
ipykernel = "^6.29.5"
|
|
36
|
+
black = "^25.1.0"
|
|
37
|
+
flake8 = "^7.1.2"
|
|
38
|
+
pylint = "^3.3.4"
|
|
39
|
+
python-dotenv = "^1.0.1"
|
|
40
|
+
pytest = "^8.3.4"
|
|
44
41
|
requests-mock = { extras = ["fixture"], version = "^1.9.3" }
|
|
45
42
|
pytest-watch = "^4.2.0"
|
|
46
|
-
pyarrow =
|
|
47
|
-
|
|
48
|
-
{ version = "^17.0.0", python = ">=3.9,<4.0" },
|
|
49
|
-
]
|
|
50
|
-
pandas = [
|
|
51
|
-
{ version = "^1.5.3", python = "3.8" },
|
|
52
|
-
{ version = "^2.2.2", python = ">=3.9,<4.0" },
|
|
53
|
-
]
|
|
43
|
+
pyarrow = "^19.0.1"
|
|
44
|
+
pandas = "^2.2.3"
|
|
54
45
|
|
|
55
46
|
[tool.poetry.group.docs.dependencies]
|
|
56
47
|
doc8 = "^0.10.1"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{craft_ai_sdk-0.59.0rc1 → craft_ai_sdk-0.60.0rc1}/craft_ai_sdk/core/environment_variables.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|