lamindb_setup 0.76.7__py2.py3-none-any.whl → 0.76.8__py2.py3-none-any.whl
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.
- lamindb_setup/__init__.py +1 -1
- lamindb_setup/_cache.py +34 -34
- lamindb_setup/_check.py +7 -7
- lamindb_setup/_check_setup.py +79 -79
- lamindb_setup/_close.py +35 -35
- lamindb_setup/_connect_instance.py +433 -433
- lamindb_setup/_delete.py +137 -137
- lamindb_setup/_django.py +41 -41
- lamindb_setup/_exportdb.py +68 -68
- lamindb_setup/_importdb.py +50 -50
- lamindb_setup/_init_instance.py +374 -374
- lamindb_setup/_migrate.py +239 -239
- lamindb_setup/_register_instance.py +36 -36
- lamindb_setup/_schema.py +27 -27
- lamindb_setup/_schema_metadata.py +411 -391
- lamindb_setup/_set_managed_storage.py +55 -55
- lamindb_setup/_setup_user.py +118 -118
- lamindb_setup/_silence_loggers.py +44 -44
- lamindb_setup/core/__init__.py +21 -21
- lamindb_setup/core/_aws_credentials.py +151 -151
- lamindb_setup/core/_aws_storage.py +48 -48
- lamindb_setup/core/_deprecated.py +55 -55
- lamindb_setup/core/_docs.py +14 -14
- lamindb_setup/core/_hub_client.py +164 -164
- lamindb_setup/core/_hub_core.py +473 -473
- lamindb_setup/core/_hub_crud.py +211 -211
- lamindb_setup/core/_hub_utils.py +109 -109
- lamindb_setup/core/_private_django_api.py +88 -88
- lamindb_setup/core/_settings.py +138 -138
- lamindb_setup/core/_settings_instance.py +461 -461
- lamindb_setup/core/_settings_load.py +100 -100
- lamindb_setup/core/_settings_save.py +81 -81
- lamindb_setup/core/_settings_storage.py +393 -393
- lamindb_setup/core/_settings_store.py +72 -72
- lamindb_setup/core/_settings_user.py +51 -51
- lamindb_setup/core/_setup_bionty_sources.py +101 -99
- lamindb_setup/core/cloud_sqlite_locker.py +232 -232
- lamindb_setup/core/django.py +113 -113
- lamindb_setup/core/exceptions.py +12 -12
- lamindb_setup/core/hashing.py +114 -114
- lamindb_setup/core/types.py +19 -19
- lamindb_setup/core/upath.py +779 -779
- {lamindb_setup-0.76.7.dist-info → lamindb_setup-0.76.8.dist-info}/METADATA +1 -1
- lamindb_setup-0.76.8.dist-info/RECORD +46 -0
- {lamindb_setup-0.76.7.dist-info → lamindb_setup-0.76.8.dist-info}/WHEEL +1 -1
- lamindb_setup-0.76.7.dist-info/RECORD +0 -46
- {lamindb_setup-0.76.7.dist-info → lamindb_setup-0.76.8.dist-info}/LICENSE +0 -0
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import TYPE_CHECKING
|
|
4
|
-
|
|
5
|
-
from lamin_utils import logger
|
|
6
|
-
|
|
7
|
-
from ._init_instance import register_storage_in_instance
|
|
8
|
-
from .core._hub_core import delete_storage_record
|
|
9
|
-
from .core._settings import settings
|
|
10
|
-
from .core._settings_storage import init_storage
|
|
11
|
-
|
|
12
|
-
if TYPE_CHECKING:
|
|
13
|
-
from lamindb_setup.core.types import UPathStr
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def set_managed_storage(root: UPathStr, **fs_kwargs):
|
|
17
|
-
"""Add or switch to another managed storage location.
|
|
18
|
-
|
|
19
|
-
Args:
|
|
20
|
-
root: `UPathStr` - The new storage root, e.g., an S3 bucket.
|
|
21
|
-
**fs_kwargs: Additional fsspec arguments for cloud root, e.g., profile.
|
|
22
|
-
|
|
23
|
-
"""
|
|
24
|
-
if settings.instance.dialect == "sqlite":
|
|
25
|
-
raise ValueError(
|
|
26
|
-
"Can't add additional managed storage locations for sqlite instances."
|
|
27
|
-
)
|
|
28
|
-
if not settings.instance.is_on_hub:
|
|
29
|
-
raise ValueError(
|
|
30
|
-
"Can't add additional managed storage locations for instances that aren't managed through the hub."
|
|
31
|
-
)
|
|
32
|
-
# here the storage is registered in the hub
|
|
33
|
-
# hub_record_status="hub-record-created" if a new record is created
|
|
34
|
-
# "hub-record-retireved" if the storage is in the hub already
|
|
35
|
-
ssettings, hub_record_status = init_storage(
|
|
36
|
-
root=root, instance_id=settings.instance._id, register_hub=True
|
|
37
|
-
)
|
|
38
|
-
if ssettings._instance_id is None:
|
|
39
|
-
raise ValueError(
|
|
40
|
-
f"Cannot manage storage without write access: {ssettings.root}"
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
# here the storage is saved in the instance
|
|
44
|
-
# if any error happens the record in the hub is deleted
|
|
45
|
-
# if it was created earlier and not retrieved
|
|
46
|
-
try:
|
|
47
|
-
register_storage_in_instance(ssettings)
|
|
48
|
-
except Exception as e:
|
|
49
|
-
if hub_record_status == "hub-record-created" and ssettings._uuid is not None:
|
|
50
|
-
delete_storage_record(ssettings._uuid) # type: ignore
|
|
51
|
-
raise e
|
|
52
|
-
|
|
53
|
-
settings.instance._storage = ssettings
|
|
54
|
-
settings.instance._persist() # this also updates the settings object
|
|
55
|
-
settings.storage._set_fs_kwargs(**fs_kwargs)
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
from lamin_utils import logger
|
|
6
|
+
|
|
7
|
+
from ._init_instance import register_storage_in_instance
|
|
8
|
+
from .core._hub_core import delete_storage_record
|
|
9
|
+
from .core._settings import settings
|
|
10
|
+
from .core._settings_storage import init_storage
|
|
11
|
+
|
|
12
|
+
if TYPE_CHECKING:
|
|
13
|
+
from lamindb_setup.core.types import UPathStr
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def set_managed_storage(root: UPathStr, **fs_kwargs):
|
|
17
|
+
"""Add or switch to another managed storage location.
|
|
18
|
+
|
|
19
|
+
Args:
|
|
20
|
+
root: `UPathStr` - The new storage root, e.g., an S3 bucket.
|
|
21
|
+
**fs_kwargs: Additional fsspec arguments for cloud root, e.g., profile.
|
|
22
|
+
|
|
23
|
+
"""
|
|
24
|
+
if settings.instance.dialect == "sqlite":
|
|
25
|
+
raise ValueError(
|
|
26
|
+
"Can't add additional managed storage locations for sqlite instances."
|
|
27
|
+
)
|
|
28
|
+
if not settings.instance.is_on_hub:
|
|
29
|
+
raise ValueError(
|
|
30
|
+
"Can't add additional managed storage locations for instances that aren't managed through the hub."
|
|
31
|
+
)
|
|
32
|
+
# here the storage is registered in the hub
|
|
33
|
+
# hub_record_status="hub-record-created" if a new record is created
|
|
34
|
+
# "hub-record-retireved" if the storage is in the hub already
|
|
35
|
+
ssettings, hub_record_status = init_storage(
|
|
36
|
+
root=root, instance_id=settings.instance._id, register_hub=True
|
|
37
|
+
)
|
|
38
|
+
if ssettings._instance_id is None:
|
|
39
|
+
raise ValueError(
|
|
40
|
+
f"Cannot manage storage without write access: {ssettings.root}"
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
# here the storage is saved in the instance
|
|
44
|
+
# if any error happens the record in the hub is deleted
|
|
45
|
+
# if it was created earlier and not retrieved
|
|
46
|
+
try:
|
|
47
|
+
register_storage_in_instance(ssettings)
|
|
48
|
+
except Exception as e:
|
|
49
|
+
if hub_record_status == "hub-record-created" and ssettings._uuid is not None:
|
|
50
|
+
delete_storage_record(ssettings._uuid) # type: ignore
|
|
51
|
+
raise e
|
|
52
|
+
|
|
53
|
+
settings.instance._storage = ssettings
|
|
54
|
+
settings.instance._persist() # this also updates the settings object
|
|
55
|
+
settings.storage._set_fs_kwargs(**fs_kwargs)
|
lamindb_setup/_setup_user.py
CHANGED
|
@@ -1,118 +1,118 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import Optional, Union
|
|
4
|
-
|
|
5
|
-
from lamin_utils import logger
|
|
6
|
-
|
|
7
|
-
from ._check_setup import _check_instance_setup
|
|
8
|
-
from ._init_instance import register_user
|
|
9
|
-
from .core._settings import settings
|
|
10
|
-
from .core._settings_load import load_or_create_user_settings, load_user_settings
|
|
11
|
-
from .core._settings_save import save_user_settings
|
|
12
|
-
from .core._settings_store import (
|
|
13
|
-
current_user_settings_file,
|
|
14
|
-
user_settings_file_email,
|
|
15
|
-
user_settings_file_handle,
|
|
16
|
-
)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def load_user(email: str | None = None, handle: str | None = None) -> str | None:
|
|
20
|
-
if email is not None:
|
|
21
|
-
settings_file = user_settings_file_email(email)
|
|
22
|
-
if handle is not None:
|
|
23
|
-
settings_file = user_settings_file_handle(handle)
|
|
24
|
-
if settings_file.exists():
|
|
25
|
-
user_settings = load_user_settings(settings_file)
|
|
26
|
-
save_user_settings(user_settings) # needed to save to current_user.env
|
|
27
|
-
assert user_settings.email is not None
|
|
28
|
-
else:
|
|
29
|
-
user_settings = load_or_create_user_settings()
|
|
30
|
-
if email is None:
|
|
31
|
-
raise RuntimeError(
|
|
32
|
-
"Use your email for your first login in a compute environment. "
|
|
33
|
-
"After that, you can use your handle."
|
|
34
|
-
)
|
|
35
|
-
user_settings.email = email
|
|
36
|
-
user_settings.handle = handle
|
|
37
|
-
save_user_settings(user_settings)
|
|
38
|
-
|
|
39
|
-
from .core._settings import settings
|
|
40
|
-
|
|
41
|
-
settings._user_settings = None # this is to refresh a settings instance
|
|
42
|
-
|
|
43
|
-
return None
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
def login(
|
|
47
|
-
user: str,
|
|
48
|
-
*,
|
|
49
|
-
key: str | None = None,
|
|
50
|
-
password: str | None = None, # for backward compat
|
|
51
|
-
) -> None:
|
|
52
|
-
"""Log in user.
|
|
53
|
-
|
|
54
|
-
Args:
|
|
55
|
-
user: handle or email
|
|
56
|
-
key: API key or legacy passward
|
|
57
|
-
password: Backward compat, will be removed
|
|
58
|
-
"""
|
|
59
|
-
if "@" in user:
|
|
60
|
-
email, handle = user, None
|
|
61
|
-
else:
|
|
62
|
-
email, handle = None, user
|
|
63
|
-
load_user(email, handle)
|
|
64
|
-
|
|
65
|
-
user_settings = load_or_create_user_settings()
|
|
66
|
-
|
|
67
|
-
if password is not None:
|
|
68
|
-
logger.warning(
|
|
69
|
-
"please use --key instead of --password, "
|
|
70
|
-
"passwords are deprecated and replaced with API keys"
|
|
71
|
-
)
|
|
72
|
-
key = password
|
|
73
|
-
|
|
74
|
-
if key is not None:
|
|
75
|
-
# within UserSettings, we still call it "password" for a while
|
|
76
|
-
user_settings.password = key
|
|
77
|
-
|
|
78
|
-
if user_settings.email is None:
|
|
79
|
-
raise RuntimeError("No stored user email, please call: lamin login {user}")
|
|
80
|
-
|
|
81
|
-
if user_settings.password is None:
|
|
82
|
-
raise RuntimeError(
|
|
83
|
-
"No stored API key, please call: lamin login <your-email> --key <API-key>"
|
|
84
|
-
)
|
|
85
|
-
|
|
86
|
-
from .core._hub_core import sign_in_hub
|
|
87
|
-
|
|
88
|
-
response = sign_in_hub(
|
|
89
|
-
user_settings.email, user_settings.password, user_settings.handle
|
|
90
|
-
)
|
|
91
|
-
if isinstance(response, Exception):
|
|
92
|
-
raise response
|
|
93
|
-
else:
|
|
94
|
-
user_uuid, user_id, user_handle, user_name, access_token = response
|
|
95
|
-
if handle is None:
|
|
96
|
-
logger.success(f"logged in with handle {user_handle} (uid: {user_id})")
|
|
97
|
-
else:
|
|
98
|
-
logger.success(f"logged in with email {user_settings.email} (uid: {user_id})")
|
|
99
|
-
user_settings.uid = user_id
|
|
100
|
-
user_settings.handle = user_handle
|
|
101
|
-
user_settings.name = user_name
|
|
102
|
-
user_settings._uuid = user_uuid
|
|
103
|
-
user_settings.access_token = access_token
|
|
104
|
-
save_user_settings(user_settings)
|
|
105
|
-
|
|
106
|
-
if settings._instance_exists and _check_instance_setup():
|
|
107
|
-
register_user(user_settings)
|
|
108
|
-
|
|
109
|
-
settings._user_settings = None
|
|
110
|
-
return None
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
def logout():
|
|
114
|
-
if current_user_settings_file().exists():
|
|
115
|
-
current_user_settings_file().unlink()
|
|
116
|
-
logger.success("logged out")
|
|
117
|
-
else:
|
|
118
|
-
logger.important("already logged out")
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Optional, Union
|
|
4
|
+
|
|
5
|
+
from lamin_utils import logger
|
|
6
|
+
|
|
7
|
+
from ._check_setup import _check_instance_setup
|
|
8
|
+
from ._init_instance import register_user
|
|
9
|
+
from .core._settings import settings
|
|
10
|
+
from .core._settings_load import load_or_create_user_settings, load_user_settings
|
|
11
|
+
from .core._settings_save import save_user_settings
|
|
12
|
+
from .core._settings_store import (
|
|
13
|
+
current_user_settings_file,
|
|
14
|
+
user_settings_file_email,
|
|
15
|
+
user_settings_file_handle,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def load_user(email: str | None = None, handle: str | None = None) -> str | None:
|
|
20
|
+
if email is not None:
|
|
21
|
+
settings_file = user_settings_file_email(email)
|
|
22
|
+
if handle is not None:
|
|
23
|
+
settings_file = user_settings_file_handle(handle)
|
|
24
|
+
if settings_file.exists():
|
|
25
|
+
user_settings = load_user_settings(settings_file)
|
|
26
|
+
save_user_settings(user_settings) # needed to save to current_user.env
|
|
27
|
+
assert user_settings.email is not None
|
|
28
|
+
else:
|
|
29
|
+
user_settings = load_or_create_user_settings()
|
|
30
|
+
if email is None:
|
|
31
|
+
raise RuntimeError(
|
|
32
|
+
"Use your email for your first login in a compute environment. "
|
|
33
|
+
"After that, you can use your handle."
|
|
34
|
+
)
|
|
35
|
+
user_settings.email = email
|
|
36
|
+
user_settings.handle = handle
|
|
37
|
+
save_user_settings(user_settings)
|
|
38
|
+
|
|
39
|
+
from .core._settings import settings
|
|
40
|
+
|
|
41
|
+
settings._user_settings = None # this is to refresh a settings instance
|
|
42
|
+
|
|
43
|
+
return None
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def login(
|
|
47
|
+
user: str,
|
|
48
|
+
*,
|
|
49
|
+
key: str | None = None,
|
|
50
|
+
password: str | None = None, # for backward compat
|
|
51
|
+
) -> None:
|
|
52
|
+
"""Log in user.
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
user: handle or email
|
|
56
|
+
key: API key or legacy passward
|
|
57
|
+
password: Backward compat, will be removed
|
|
58
|
+
"""
|
|
59
|
+
if "@" in user:
|
|
60
|
+
email, handle = user, None
|
|
61
|
+
else:
|
|
62
|
+
email, handle = None, user
|
|
63
|
+
load_user(email, handle)
|
|
64
|
+
|
|
65
|
+
user_settings = load_or_create_user_settings()
|
|
66
|
+
|
|
67
|
+
if password is not None:
|
|
68
|
+
logger.warning(
|
|
69
|
+
"please use --key instead of --password, "
|
|
70
|
+
"passwords are deprecated and replaced with API keys"
|
|
71
|
+
)
|
|
72
|
+
key = password
|
|
73
|
+
|
|
74
|
+
if key is not None:
|
|
75
|
+
# within UserSettings, we still call it "password" for a while
|
|
76
|
+
user_settings.password = key
|
|
77
|
+
|
|
78
|
+
if user_settings.email is None:
|
|
79
|
+
raise RuntimeError("No stored user email, please call: lamin login {user}")
|
|
80
|
+
|
|
81
|
+
if user_settings.password is None:
|
|
82
|
+
raise RuntimeError(
|
|
83
|
+
"No stored API key, please call: lamin login <your-email> --key <API-key>"
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
from .core._hub_core import sign_in_hub
|
|
87
|
+
|
|
88
|
+
response = sign_in_hub(
|
|
89
|
+
user_settings.email, user_settings.password, user_settings.handle
|
|
90
|
+
)
|
|
91
|
+
if isinstance(response, Exception):
|
|
92
|
+
raise response
|
|
93
|
+
else:
|
|
94
|
+
user_uuid, user_id, user_handle, user_name, access_token = response
|
|
95
|
+
if handle is None:
|
|
96
|
+
logger.success(f"logged in with handle {user_handle} (uid: {user_id})")
|
|
97
|
+
else:
|
|
98
|
+
logger.success(f"logged in with email {user_settings.email} (uid: {user_id})")
|
|
99
|
+
user_settings.uid = user_id
|
|
100
|
+
user_settings.handle = user_handle
|
|
101
|
+
user_settings.name = user_name
|
|
102
|
+
user_settings._uuid = user_uuid
|
|
103
|
+
user_settings.access_token = access_token
|
|
104
|
+
save_user_settings(user_settings)
|
|
105
|
+
|
|
106
|
+
if settings._instance_exists and _check_instance_setup():
|
|
107
|
+
register_user(user_settings)
|
|
108
|
+
|
|
109
|
+
settings._user_settings = None
|
|
110
|
+
return None
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
def logout():
|
|
114
|
+
if current_user_settings_file().exists():
|
|
115
|
+
current_user_settings_file().unlink()
|
|
116
|
+
logger.success("logged out")
|
|
117
|
+
else:
|
|
118
|
+
logger.important("already logged out")
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
import logging
|
|
4
|
-
|
|
5
|
-
silenced = False
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
# from https://github.com/boto/boto3/blob/8c6e641bed8130a9d8cb4d97b4acbe7aa0d0657a/boto3/__init__.py#L37
|
|
9
|
-
def set_stream_logger(name, level):
|
|
10
|
-
logger = logging.getLogger(name)
|
|
11
|
-
logger.setLevel(level)
|
|
12
|
-
handler = logging.StreamHandler()
|
|
13
|
-
handler.setLevel(level)
|
|
14
|
-
logger.addHandler(handler)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def silence_loggers():
|
|
18
|
-
global silenced
|
|
19
|
-
|
|
20
|
-
if not silenced:
|
|
21
|
-
# this gets logged 6 times
|
|
22
|
-
set_stream_logger(name="botocore.credentials", level=logging.WARNING)
|
|
23
|
-
set_stream_logger(name="botocore.hooks", level=logging.WARNING)
|
|
24
|
-
set_stream_logger(name="botocore.utils", level=logging.WARNING)
|
|
25
|
-
set_stream_logger(name="botocore.auth", level=logging.WARNING)
|
|
26
|
-
set_stream_logger(name="botocore.endpoint", level=logging.WARNING)
|
|
27
|
-
set_stream_logger(name="httpx", level=logging.WARNING)
|
|
28
|
-
try:
|
|
29
|
-
import aiobotocore
|
|
30
|
-
|
|
31
|
-
# the 7th logging message of credentials came from aiobotocore
|
|
32
|
-
set_stream_logger(name="aiobotocore.credentials", level=logging.WARNING)
|
|
33
|
-
except ImportError:
|
|
34
|
-
pass
|
|
35
|
-
try:
|
|
36
|
-
# google also aggressively logs authentication related warnings
|
|
37
|
-
# in cases where users access public data
|
|
38
|
-
set_stream_logger(name="google.auth._default", level=logging.ERROR)
|
|
39
|
-
set_stream_logger(
|
|
40
|
-
name="google.auth.compute_engine._metadata", level=logging.ERROR
|
|
41
|
-
)
|
|
42
|
-
except Exception:
|
|
43
|
-
pass
|
|
44
|
-
silenced = True
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
|
|
5
|
+
silenced = False
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# from https://github.com/boto/boto3/blob/8c6e641bed8130a9d8cb4d97b4acbe7aa0d0657a/boto3/__init__.py#L37
|
|
9
|
+
def set_stream_logger(name, level):
|
|
10
|
+
logger = logging.getLogger(name)
|
|
11
|
+
logger.setLevel(level)
|
|
12
|
+
handler = logging.StreamHandler()
|
|
13
|
+
handler.setLevel(level)
|
|
14
|
+
logger.addHandler(handler)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def silence_loggers():
|
|
18
|
+
global silenced
|
|
19
|
+
|
|
20
|
+
if not silenced:
|
|
21
|
+
# this gets logged 6 times
|
|
22
|
+
set_stream_logger(name="botocore.credentials", level=logging.WARNING)
|
|
23
|
+
set_stream_logger(name="botocore.hooks", level=logging.WARNING)
|
|
24
|
+
set_stream_logger(name="botocore.utils", level=logging.WARNING)
|
|
25
|
+
set_stream_logger(name="botocore.auth", level=logging.WARNING)
|
|
26
|
+
set_stream_logger(name="botocore.endpoint", level=logging.WARNING)
|
|
27
|
+
set_stream_logger(name="httpx", level=logging.WARNING)
|
|
28
|
+
try:
|
|
29
|
+
import aiobotocore
|
|
30
|
+
|
|
31
|
+
# the 7th logging message of credentials came from aiobotocore
|
|
32
|
+
set_stream_logger(name="aiobotocore.credentials", level=logging.WARNING)
|
|
33
|
+
except ImportError:
|
|
34
|
+
pass
|
|
35
|
+
try:
|
|
36
|
+
# google also aggressively logs authentication related warnings
|
|
37
|
+
# in cases where users access public data
|
|
38
|
+
set_stream_logger(name="google.auth._default", level=logging.ERROR)
|
|
39
|
+
set_stream_logger(
|
|
40
|
+
name="google.auth.compute_engine._metadata", level=logging.ERROR
|
|
41
|
+
)
|
|
42
|
+
except Exception:
|
|
43
|
+
pass
|
|
44
|
+
silenced = True
|
lamindb_setup/core/__init__.py
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
"""Core setup library.
|
|
2
|
-
|
|
3
|
-
Settings:
|
|
4
|
-
|
|
5
|
-
.. autosummary::
|
|
6
|
-
:toctree:
|
|
7
|
-
|
|
8
|
-
SetupSettings
|
|
9
|
-
UserSettings
|
|
10
|
-
InstanceSettings
|
|
11
|
-
StorageSettings
|
|
12
|
-
|
|
13
|
-
"""
|
|
14
|
-
|
|
15
|
-
from . import django, types, upath
|
|
16
|
-
from ._deprecated import deprecated
|
|
17
|
-
from ._docs import doc_args
|
|
18
|
-
from ._settings import SetupSettings
|
|
19
|
-
from ._settings_instance import InstanceSettings
|
|
20
|
-
from ._settings_storage import StorageSettings
|
|
21
|
-
from ._settings_user import UserSettings
|
|
1
|
+
"""Core setup library.
|
|
2
|
+
|
|
3
|
+
Settings:
|
|
4
|
+
|
|
5
|
+
.. autosummary::
|
|
6
|
+
:toctree:
|
|
7
|
+
|
|
8
|
+
SetupSettings
|
|
9
|
+
UserSettings
|
|
10
|
+
InstanceSettings
|
|
11
|
+
StorageSettings
|
|
12
|
+
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from . import django, types, upath
|
|
16
|
+
from ._deprecated import deprecated
|
|
17
|
+
from ._docs import doc_args
|
|
18
|
+
from ._settings import SetupSettings
|
|
19
|
+
from ._settings_instance import InstanceSettings
|
|
20
|
+
from ._settings_storage import StorageSettings
|
|
21
|
+
from ._settings_user import UserSettings
|