superb-ai-onprem 0.1.2__tar.gz → 0.1.4__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 superb-ai-onprem might be problematic. Click here for more details.
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/.gitignore +4 -1
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/PKG-INFO +1 -1
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/_version.py +2 -2
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/base_service.py +4 -1
- superb_ai_onprem-0.1.4/spb_onprem/users/entities/auth.py +88 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/superb_ai_onprem.egg-info/PKG-INFO +1 -1
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/superb_ai_onprem.egg-info/SOURCES.txt +0 -1
- superb_ai_onprem-0.1.2/.env.local +0 -10
- superb_ai_onprem-0.1.2/spb_onprem/users/entities/auth.py +0 -86
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/.github/workflows/publish.yml +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/LICENSE +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/README.md +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/pyproject.toml +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/setup.cfg +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/setup.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/base_model.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/base_types.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/contents/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/contents/entities/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/contents/entities/base_content.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/contents/entities/content.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/contents/queries.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/contents/service.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/entities/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/entities/annotation.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/entities/data.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/entities/data_meta.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/entities/prediction.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/entities/scene.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/enums/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/enums/data_meta_type.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/enums/data_type.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/enums/scene_type.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/create_data.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/data.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/data_list.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/delete_annotation_version.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/delete_data.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/delete_prediction.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/delete_scene.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/insert_annotation_version.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/insert_data_to_slice.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/insert_prediction.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/insert_scene.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/remove_data_from_slice.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/remove_data_meta.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/update_annotation.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/update_data.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/update_scene.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/upsert_data_meta.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/queries.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/service.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/entities/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/entities/dataset.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/params/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/params/create_dataset.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/params/dataset.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/params/datasets.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/params/update_dataset.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/queries.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/service.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/entities.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/exceptions.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/searches.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/slices/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/slices/entities/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/slices/entities/slice.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/slices/params/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/slices/params/create_slice.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/slices/params/delete_slice.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/slices/params/slice.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/slices/params/slices.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/slices/params/update_slice.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/slices/queries.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/slices/service.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/users/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/users/entities/__init__.py +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/superb_ai_onprem.egg-info/dependency_links.txt +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/superb_ai_onprem.egg-info/requires.txt +0 -0
- {superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/superb_ai_onprem.egg-info/top_level.txt +0 -0
|
@@ -32,7 +32,10 @@ class BaseService():
|
|
|
32
32
|
|
|
33
33
|
def __init__(self):
|
|
34
34
|
self._auth_user = AuthUser.get_instance()
|
|
35
|
-
|
|
35
|
+
if self._auth_user.is_system_sdk:
|
|
36
|
+
self.endpoint = f"{self._auth_user.host}/system/graphql/"
|
|
37
|
+
else:
|
|
38
|
+
self.endpoint = f"{self._auth_user.host}/graphql/"
|
|
36
39
|
|
|
37
40
|
@classmethod
|
|
38
41
|
def requests_retry_session(
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import base64
|
|
2
|
+
import os
|
|
3
|
+
import configparser
|
|
4
|
+
from typing import Optional, ClassVar
|
|
5
|
+
|
|
6
|
+
from spb_onprem.base_model import CustomBaseModel, Field
|
|
7
|
+
from spb_onprem.exceptions import SDKConfigError
|
|
8
|
+
|
|
9
|
+
class AuthUser(CustomBaseModel):
|
|
10
|
+
host: str = Field(alias="host")
|
|
11
|
+
access_key: str = Field(alias="accessKey")
|
|
12
|
+
access_key_secret: str = Field(alias="accessKeySecret")
|
|
13
|
+
is_system_sdk: bool = Field(alias="isSystemSdk")
|
|
14
|
+
system_sdk_user_email: Optional[str] = Field(None, alias="systemSdkUserEmail")
|
|
15
|
+
|
|
16
|
+
_access_token: Optional[str] = None
|
|
17
|
+
_instance: ClassVar[Optional["AuthUser"]] = None
|
|
18
|
+
|
|
19
|
+
@classmethod
|
|
20
|
+
def get_instance(
|
|
21
|
+
cls,
|
|
22
|
+
config_file: str = "~/.spb/onprem-config"
|
|
23
|
+
) -> "AuthUser":
|
|
24
|
+
if cls._instance is None:
|
|
25
|
+
config_file_path = os.path.expanduser(config_file)
|
|
26
|
+
|
|
27
|
+
if not os.path.exists(config_file_path):
|
|
28
|
+
cls._instance = cls._create_system_sdk_instance()
|
|
29
|
+
else:
|
|
30
|
+
cls._instance = cls._create_config_instance(config_file_path)
|
|
31
|
+
return cls._instance
|
|
32
|
+
|
|
33
|
+
@classmethod
|
|
34
|
+
def _create_system_sdk_instance(cls) -> "AuthUser":
|
|
35
|
+
system_sdk_host = os.environ.get("SUNRISE_SERVER_URL") or os.environ.get("SUPERB_SYSTEM_SDK_HOST") or "http://app-api:8080"
|
|
36
|
+
|
|
37
|
+
return cls(
|
|
38
|
+
host=system_sdk_host,
|
|
39
|
+
access_key="",
|
|
40
|
+
access_key_secret="",
|
|
41
|
+
is_system_sdk=True,
|
|
42
|
+
system_sdk_user_email=os.environ.get("SUPERB_SYSTEM_SDK_USER_EMAIL", "system@superb-ai.com")
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def _create_config_instance(cls, config_file_path: str) -> "AuthUser":
|
|
47
|
+
config = configparser.ConfigParser()
|
|
48
|
+
try:
|
|
49
|
+
if not config.read(config_file_path):
|
|
50
|
+
raise SDKConfigError(f"Failed to read config file: {config_file_path}")
|
|
51
|
+
|
|
52
|
+
if "default" not in config:
|
|
53
|
+
raise SDKConfigError(f"Missing 'default' section in config file: {config_file_path}")
|
|
54
|
+
|
|
55
|
+
required_keys = ["host", "access_key", "access_key_secret"]
|
|
56
|
+
for key in required_keys:
|
|
57
|
+
if key not in config["default"]:
|
|
58
|
+
raise SDKConfigError(f"Missing required key '{key}' in config file: {config_file_path}")
|
|
59
|
+
|
|
60
|
+
return cls(
|
|
61
|
+
host=config["default"]["host"],
|
|
62
|
+
access_key=config["default"]["access_key"],
|
|
63
|
+
access_key_secret=config["default"]["access_key_secret"],
|
|
64
|
+
is_system_sdk=False,
|
|
65
|
+
system_sdk_user_email=None
|
|
66
|
+
)
|
|
67
|
+
except configparser.Error as e:
|
|
68
|
+
raise SDKConfigError(f"Error parsing config file: {str(e)}") from e
|
|
69
|
+
|
|
70
|
+
@property
|
|
71
|
+
def access_token(self):
|
|
72
|
+
if self._access_token:
|
|
73
|
+
return self._access_token
|
|
74
|
+
decoded_token = f"{self.access_key}:{self.access_key_secret}"
|
|
75
|
+
decoded_token_bytes = decoded_token.encode("utf-8")
|
|
76
|
+
encoded_token = base64.b64encode(decoded_token_bytes).decode("utf-8")
|
|
77
|
+
self._access_token = f"Basic {encoded_token}"
|
|
78
|
+
return self._access_token
|
|
79
|
+
|
|
80
|
+
@property
|
|
81
|
+
def auth_headers(self):
|
|
82
|
+
if self.is_system_sdk:
|
|
83
|
+
return {
|
|
84
|
+
"x-user-email": self.system_sdk_user_email
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
"Authorization": self.access_token
|
|
88
|
+
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
# System SDK Configuration
|
|
2
|
-
# Set to "true" to use system SDK mode (typically used in Airflow DAGs)
|
|
3
|
-
SUPERB_SYSTEM_SDK=false
|
|
4
|
-
|
|
5
|
-
# Host Configuration
|
|
6
|
-
# Either SUNRISE_SERVER_URL or SUPERB_SYSTEM_SDK_HOST must be set when SUPERB_SYSTEM_SDK is true
|
|
7
|
-
SUPERB_SYSTEM_SDK_HOST=https://your-superb-ai-host
|
|
8
|
-
|
|
9
|
-
# User Configuration (Required when SUPERB_SYSTEM_SDK is true)
|
|
10
|
-
SUPERB_SYSTEM_SDK_USER_EMAIL=user@example.com
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import base64
|
|
2
|
-
import os
|
|
3
|
-
import configparser
|
|
4
|
-
from typing import Optional, ClassVar
|
|
5
|
-
|
|
6
|
-
from spb_onprem.base_model import CustomBaseModel, Field
|
|
7
|
-
from spb_onprem.exceptions import SDKConfigError
|
|
8
|
-
|
|
9
|
-
class AuthUser(CustomBaseModel):
|
|
10
|
-
host: str = Field(alias="host")
|
|
11
|
-
access_key: str = Field(alias="accessKey")
|
|
12
|
-
access_key_secret: str = Field(alias="accessKeySecret")
|
|
13
|
-
is_system_sdk: bool = Field(alias="isSystemSdk")
|
|
14
|
-
system_sdk_user_email: Optional[str] = Field(None, alias="systemSdkUserEmail")
|
|
15
|
-
|
|
16
|
-
_access_token: Optional[str] = None
|
|
17
|
-
_instance: ClassVar[Optional["AuthUser"]] = None
|
|
18
|
-
|
|
19
|
-
@classmethod
|
|
20
|
-
def get_instance(
|
|
21
|
-
cls,
|
|
22
|
-
config_file: str = "~/.spb/onprem-config"
|
|
23
|
-
) -> "AuthUser":
|
|
24
|
-
if cls._instance is None:
|
|
25
|
-
if os.environ.get("SUPERB_SYSTEM_SDK") == "true":
|
|
26
|
-
if not os.environ.get("SUNRISE_SERVER_URL") and not os.environ.get("SUPERB_SYSTEM_SDK_HOST"):
|
|
27
|
-
raise SDKConfigError("Superb Platform SDK is not configured. Please set the environment variable SUPERB_SYSTEM_SDK_URL.")
|
|
28
|
-
|
|
29
|
-
if os.environ.get("SUNRISE_SERVER_URL"):
|
|
30
|
-
system_sdk_host = os.environ.get("SUNRISE_SERVER_URL")
|
|
31
|
-
else:
|
|
32
|
-
system_sdk_host = os.environ.get("SUPERB_SYSTEM_SDK_HOST")
|
|
33
|
-
|
|
34
|
-
# Skip reading config file when SUPERB_SYSTEM_SDK is true
|
|
35
|
-
cls._instance = cls(
|
|
36
|
-
host=system_sdk_host,
|
|
37
|
-
access_key="",
|
|
38
|
-
access_key_secret="",
|
|
39
|
-
is_system_sdk=True,
|
|
40
|
-
system_sdk_user_email=os.environ.get("SUPERB_SYSTEM_SDK_USER_EMAIL", "")
|
|
41
|
-
)
|
|
42
|
-
else:
|
|
43
|
-
config_file_path = os.path.expanduser(config_file)
|
|
44
|
-
config = configparser.ConfigParser()
|
|
45
|
-
try:
|
|
46
|
-
if not config.read(config_file_path):
|
|
47
|
-
raise SDKConfigError(f"Failed to read config file: {config_file_path}")
|
|
48
|
-
|
|
49
|
-
if "default" not in config:
|
|
50
|
-
raise SDKConfigError(f"Missing 'default' section in config file: {config_file_path}")
|
|
51
|
-
|
|
52
|
-
required_keys = ["host", "access_key", "access_key_secret"]
|
|
53
|
-
for key in required_keys:
|
|
54
|
-
if key not in config["default"]:
|
|
55
|
-
raise SDKConfigError(f"Missing required key '{key}' in config file: {config_file_path}")
|
|
56
|
-
|
|
57
|
-
cls._instance = cls(
|
|
58
|
-
host=config["default"]["host"],
|
|
59
|
-
access_key=config["default"]["access_key"],
|
|
60
|
-
access_key_secret=config["default"]["access_key_secret"],
|
|
61
|
-
is_system_sdk=False,
|
|
62
|
-
system_sdk_user_email=None # Not required in normal mode
|
|
63
|
-
)
|
|
64
|
-
except configparser.Error as e:
|
|
65
|
-
raise SDKConfigError(f"Error parsing config file: {str(e)}") from e
|
|
66
|
-
return cls._instance
|
|
67
|
-
|
|
68
|
-
@property
|
|
69
|
-
def access_token(self):
|
|
70
|
-
if self._access_token:
|
|
71
|
-
return self._access_token
|
|
72
|
-
decoded_token = f"{self.access_key}:{self.access_key_secret}"
|
|
73
|
-
decoded_token_bytes = decoded_token.encode("utf-8")
|
|
74
|
-
encoded_token = base64.b64encode(decoded_token_bytes).decode("utf-8")
|
|
75
|
-
self._access_token = f"Basic {encoded_token}"
|
|
76
|
-
return self._access_token
|
|
77
|
-
|
|
78
|
-
@property
|
|
79
|
-
def auth_headers(self):
|
|
80
|
-
if self.is_system_sdk:
|
|
81
|
-
return {
|
|
82
|
-
"x-user-email": self.system_sdk_user_email
|
|
83
|
-
}
|
|
84
|
-
return {
|
|
85
|
-
"Authorization": self.access_token
|
|
86
|
-
}
|
|
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
|
{superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/contents/entities/base_content.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
|
|
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
|
{superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/delete_prediction.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/insert_data_to_slice.py
RENAMED
|
File without changes
|
{superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/insert_prediction.py
RENAMED
|
File without changes
|
|
File without changes
|
{superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/remove_data_from_slice.py
RENAMED
|
File without changes
|
{superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/remove_data_meta.py
RENAMED
|
File without changes
|
{superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/update_annotation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/data/params/upsert_data_meta.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/params/create_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/spb_onprem/datasets/params/update_dataset.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{superb_ai_onprem-0.1.2 → superb_ai_onprem-0.1.4}/superb_ai_onprem.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|