lamindb 0.74.2__py3-none-any.whl → 0.75.0__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.
@@ -39,7 +39,7 @@ is_run_from_ipython = getattr(builtins, "__IPYTHON__", False)
39
39
 
40
40
  # add type annotations back asap when re-organizing the module
41
41
  def auto_storage_key_from_artifact(artifact: Artifact):
42
- if artifact.key is None or artifact.key_is_virtual:
42
+ if artifact.key is None or artifact._key_is_virtual:
43
43
  is_dir = artifact.n_objects is not None
44
44
  return auto_storage_key_from_artifact_uid(artifact.uid, artifact.suffix, is_dir)
45
45
  else:
@@ -56,6 +56,14 @@ def auto_storage_key_from_artifact_uid(uid: str, suffix: str, is_dir: bool) -> s
56
56
  return storage_key
57
57
 
58
58
 
59
+ def check_path_is_child_of_root(path: Path | UPath, root: Path | UPath | None) -> bool:
60
+ # str is needed to eliminate UPath storage_options
61
+ # from the equality checks below
62
+ path = UPath(str(path))
63
+ root = UPath(str(root))
64
+ return root.resolve() in path.resolve().parents
65
+
66
+
59
67
  def attempt_accessing_path(
60
68
  artifact: Artifact,
61
69
  storage_key: str,
@@ -141,19 +149,6 @@ def delete_storage(
141
149
  storagepath: Path, raise_file_not_found_error: bool = True
142
150
  ) -> None | str:
143
151
  """Delete arbitrary artifact."""
144
- # TODO is_relative_to is not available in 3.8 and deprecated since 3.12
145
- # replace with check_path_is_child_of_root but this needs to first be debugged
146
- # if not check_path_is_child_of_root(storagepath, settings.storage.root):
147
- if not storagepath.is_relative_to(settings.storage.root): # type: ignore
148
- allow_delete = False
149
- if setup_settings.instance.keep_artifacts_local:
150
- allow_delete = storagepath.is_relative_to( # type: ignore
151
- setup_settings.instance.storage_local.root
152
- )
153
- if not allow_delete:
154
- logger.warning("couldn't delete files outside of default storage")
155
- return "did-not-delete"
156
- # only delete files in the default storage
157
152
  if storagepath.is_file():
158
153
  storagepath.unlink()
159
154
  elif storagepath.is_dir():
lamindb/core/types.py CHANGED
@@ -7,9 +7,12 @@
7
7
  StrField
8
8
  ListLike
9
9
  TransformType
10
+ ArtifactType
10
11
  """
12
+
11
13
  from lamindb_setup.core.types import UPathStr
12
14
  from lnschema_core.types import (
15
+ ArtifactType,
13
16
  ListLike,
14
17
  StrField,
15
18
  TransformType,
@@ -136,7 +136,7 @@ def process_is_new_version_of(
136
136
  type: type[IsVersioned],
137
137
  ) -> tuple[str, str, str]:
138
138
  if is_new_version_of is not None and not isinstance(is_new_version_of, type):
139
- raise TypeError(f"is_new_version_of has to be of type {type}")
139
+ raise TypeError(f"is_new_version_of has to be of type {type.__name__}")
140
140
  if is_new_version_of is None:
141
141
  uid = init_uid(version=version, n_full_id=type._len_full_uid)
142
142
  else:
@@ -5,4 +5,5 @@
5
5
 
6
6
  save_vitessce_config
7
7
  """
8
+
8
9
  from ._vitessce import save_vitessce_config
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.74.2
3
+ Version: 0.75.0
4
4
  Summary: A data framework for biology.
5
5
  Author-email: Lamin Labs <open-source@lamin.ai>
6
6
  Requires-Python: >=3.8
@@ -9,10 +9,10 @@ Classifier: Programming Language :: Python :: 3.8
9
9
  Classifier: Programming Language :: Python :: 3.9
10
10
  Classifier: Programming Language :: Python :: 3.10
11
11
  Classifier: Programming Language :: Python :: 3.11
12
- Requires-Dist: lnschema_core==0.70.5
13
- Requires-Dist: lamindb_setup==0.74.1
12
+ Requires-Dist: lnschema_core==0.72.1
13
+ Requires-Dist: lamindb_setup==0.76.2
14
14
  Requires-Dist: lamin_utils==0.13.2
15
- Requires-Dist: lamin_cli==0.15.0
15
+ Requires-Dist: lamin_cli==0.16.0
16
16
  Requires-Dist: rapidfuzz
17
17
  Requires-Dist: pyarrow
18
18
  Requires-Dist: typing_extensions!=4.6.0
@@ -24,7 +24,7 @@ Requires-Dist: pandas
24
24
  Requires-Dist: graphviz
25
25
  Requires-Dist: psycopg2-binary
26
26
  Requires-Dist: lamindb_setup[aws] ; extra == "aws"
27
- Requires-Dist: bionty==0.44.2 ; extra == "bionty"
27
+ Requires-Dist: bionty==0.47.1 ; extra == "bionty"
28
28
  Requires-Dist: pre-commit ; extra == "dev"
29
29
  Requires-Dist: nox ; extra == "dev"
30
30
  Requires-Dist: laminci>=0.3 ; extra == "dev"
@@ -37,7 +37,7 @@ Requires-Dist: faker-biology ; extra == "dev"
37
37
  Requires-Dist: django-schema-graph ; extra == "erdiagram"
38
38
  Requires-Dist: readfcs>=1.1.8 ; extra == "fcs"
39
39
  Requires-Dist: lamindb_setup[gcp] ; extra == "gcp"
40
- Requires-Dist: nbproject==0.10.3 ; extra == "jupyter"
40
+ Requires-Dist: nbproject==0.10.4 ; extra == "jupyter"
41
41
  Requires-Dist: nbstripout==0.6.1 ; extra == "jupyter"
42
42
  Requires-Dist: nbconvert ; extra == "jupyter"
43
43
  Requires-Dist: zarr>=2.16.0 ; extra == "zarr"
@@ -0,0 +1,58 @@
1
+ lamindb/__init__.py,sha256=Ua3SskTHYGZID5uI9cI_KyVS3h0f93U6rUqxHVAjUm8,2249
2
+ lamindb/_artifact.py,sha256=pu0d2CuRkT4xP5hLpkrKlSPU3Maihmdk1B7VKu-cjj4,42575
3
+ lamindb/_can_validate.py,sha256=R5xZtCiH_rHl_PyAD1cHDYzd-n53KDtWiEkis6VGKsE,16347
4
+ lamindb/_collection.py,sha256=vrvuww4MLPx6qHqRWy6tLvRHOmXdvEjYN7dnG9DIIPU,14894
5
+ lamindb/_curate.py,sha256=lN7O7cmV703VDDOemvSENc7Jr35pqfI916ctYG7Psdc,45455
6
+ lamindb/_feature.py,sha256=hLj5KDhIVkZrIa7IbiHGyUBGZS7PeDNxKsNK1EadBAc,7377
7
+ lamindb/_feature_set.py,sha256=DmAy96V_RyV0yiyvWOCHgustXPsCaMwn4TrWwh2qDd8,8104
8
+ lamindb/_filter.py,sha256=I1tSIF-izmD48YpB8NtKmau59Vpt6C54RPHWc3oinGM,1412
9
+ lamindb/_finish.py,sha256=3rGY4RxhcKR1BIdgf6GPB03AArhlV5vYtD6wxtTHYxE,10817
10
+ lamindb/_from_values.py,sha256=HwnH3Q0d80DswF2Bs0q6S02RVjbcQb-fCRzwBDwb3Q8,12831
11
+ lamindb/_is_versioned.py,sha256=Z_zVsHTnNaWvD15dEz18VocsSgka53jUzs_wDr78ltI,1344
12
+ lamindb/_parents.py,sha256=eMavdd6IO6STOVJSlR2TzdRtx6sKYDKsMOtlR3DZlgQ,15599
13
+ lamindb/_query_manager.py,sha256=6_ZqQr0SKTYsbMtJd5BmaMoyASIVel5v2F1KMgacWlU,4252
14
+ lamindb/_query_set.py,sha256=LM5NsAWy5FCZZSxX1VbE20RdA5nsyk4_5p4abuMjdcI,11662
15
+ lamindb/_record.py,sha256=Kv6dZhdbSo8NbOUXVwJ_ZY2P53NmBjdmUEMM7Xmvaoo,19076
16
+ lamindb/_run.py,sha256=xj3ER4F_yWvuNw1mr0XU-QuIPi5hBO7Ue0ygBgJQ6mc,1887
17
+ lamindb/_save.py,sha256=1A6NBy6Yp76fyc_5Sn7PMQZzwDHWu5KMVzqXrIt1hfg,11002
18
+ lamindb/_storage.py,sha256=GBVChv-DHVMNEBJL5l_JT6B4RDhZ6NnwgzmUICphYKk,413
19
+ lamindb/_transform.py,sha256=OtZmCSS-mxWPJU0S6p79sYauY-cKIxqBYfeMX0-SQ_A,3435
20
+ lamindb/_ulabel.py,sha256=XDSdZBXX_ki5s1vOths3MjF2x5DPggBR_PV_KF4SGyg,1611
21
+ lamindb/_utils.py,sha256=LGdiW4k3GClLz65vKAVRkL6Tw-Gkx9DWAdez1jyA5bE,428
22
+ lamindb/_view.py,sha256=_sAcSD06bC92R_LLDcHMhO0IfOqybBXXRYxOXvm1Juc,2322
23
+ lamindb/core/__init__.py,sha256=HtyYVFrS6RclSk7gZty9vgXU0k2_oZiqFPfqghBc4Fc,1415
24
+ lamindb/core/_data.py,sha256=LPfbWqTw3w5o_HygSg5V67hK7XFvbvv0QVzkk6kcFzY,16237
25
+ lamindb/core/_feature_manager.py,sha256=NMC2SuIJJUJzgQjgupU2a0Gu6m0mjgnjbBf-hRXrO10,31585
26
+ lamindb/core/_label_manager.py,sha256=5jbBF9aYPeeqpDZDimAXskGw76YUaQTQak6XAt6madU,9183
27
+ lamindb/core/_mapped_collection.py,sha256=wN2qEXnKrx0kqblVml_Kx9hYomUAZLYKckGXX4-9dr0,19621
28
+ lamindb/core/_run_context.py,sha256=bk4hwbGbx1no-JKVpLioIOU5dyO8YCdg-srbQV7UuGE,18371
29
+ lamindb/core/_settings.py,sha256=sDfIfq9H7H8nUE51FJF4EO_Zihlxh44S3GbaliHKJY4,6108
30
+ lamindb/core/_sync_git.py,sha256=qc0yfPyKeG4uuNT_3qsv-mkIMqhLFqfXNeNVO49vV00,4547
31
+ lamindb/core/_track_environment.py,sha256=STzEVUzOeUEWdX7WDJUkKH4u08k7eupRX6AXQwoVt14,828
32
+ lamindb/core/exceptions.py,sha256=rNLDlqDJt6stM_HGeE9qR0oWRNn4Kq0WDdIi85P53VA,1057
33
+ lamindb/core/fields.py,sha256=47Jmh3efUr5ZscgimR_yckY-I3cNf8ScLutbwKCK3j4,162
34
+ lamindb/core/schema.py,sha256=sNrzWnqeyh9Ppr7yImlSAXiHb_VJdB5DWuO-QERxQGY,1847
35
+ lamindb/core/types.py,sha256=uVBqSVLoQaTkqP9nqsJhwU6yYnx8H5e6-ZxrB6vpOOw,265
36
+ lamindb/core/versioning.py,sha256=8fapNQmpxlUaiJG9oo9Y4I7xtFXzD077dMwzkeWTMMY,4965
37
+ lamindb/core/datasets/__init__.py,sha256=zRP98oqUAaXhqWyKMiH0s_ImVIuNeziQQ2kQ_t0f-DI,1353
38
+ lamindb/core/datasets/_core.py,sha256=04mqj3IVIpY97HlD7VVL6-E6tf7za9suzE3lH07Z698,19564
39
+ lamindb/core/datasets/_fake.py,sha256=BZF9R_1iF0HDnvtZNqL2FtsjSMuqDIfuFxnw_LJYIh4,953
40
+ lamindb/core/storage/__init__.py,sha256=pLF8maqC18zrzIwbQZmBCmJJm34io7ECPDjdrb0-FMw,442
41
+ lamindb/core/storage/_anndata_accessor.py,sha256=jmEZeeZlt8-qBXRkU0tTA-t6dVEb_dH86wc1ok0jSRY,24030
42
+ lamindb/core/storage/_anndata_sizes.py,sha256=aXO3OB--tF5MChenSsigW6Q-RuE8YJJOUTVukkLrv9A,1029
43
+ lamindb/core/storage/_backed_access.py,sha256=MsSgiIccHVhqOcur2lZ4mj5LSIL5OL8nX4eqK6mloU0,4732
44
+ lamindb/core/storage/_valid_suffixes.py,sha256=J08aglC9oo35pzahj0SQXW9IHib8Asp4dc11co-2uys,212
45
+ lamindb/core/storage/_zarr.py,sha256=5ceEz6YIvgvUnVVNWhK5Z4W0WfrvyvY82Yna5jSX1_E,3661
46
+ lamindb/core/storage/objects.py,sha256=OzvBCS-Urz5mr-O95qYt6RGBDDX5HmjfRRKWPPDn1ZE,1797
47
+ lamindb/core/storage/paths.py,sha256=I0UjQfXfh3MptfLgpA0iSyR-X9pLOvgtXNr4B_Lwk4g,7810
48
+ lamindb/core/subsettings/__init__.py,sha256=KFHPzIE7f7Bj4RgMjGQF4CjTdHVG_VNFBrCndo49ixo,198
49
+ lamindb/core/subsettings/_creation_settings.py,sha256=54mfMH_osC753hpxcl7Dq1rwBD2LHnWveXtQpkLBITE,1194
50
+ lamindb/core/subsettings/_transform_settings.py,sha256=4YbCuZtJo6zdytl6UQR4GvdDkTtT6SRBqVzofGzNOt8,583
51
+ lamindb/integrations/__init__.py,sha256=MoLRD_qqX5WHFUAqHL6zoY_cDkWH0zimaGT_1CyXKnk,124
52
+ lamindb/integrations/_vitessce.py,sha256=VC80NKuzZ0FdjFxaLvyD78kAUNwvwBnGblSPDqT_mGQ,2737
53
+ lamindb/setup/__init__.py,sha256=OwZpZzPDv5lPPGXZP7-zK6UdO4FHvvuBh439yZvIp3A,410
54
+ lamindb/setup/core/__init__.py,sha256=SevlVrc2AZWL3uALbE5sopxBnIZPWZ1IB0NBDudiAL8,167
55
+ lamindb-0.75.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
56
+ lamindb-0.75.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
57
+ lamindb-0.75.0.dist-info/METADATA,sha256=JH3tndNGYawedC8nYQRkX60azWmKmUKmRuxNn0sZOkg,2669
58
+ lamindb-0.75.0.dist-info/RECORD,,
@@ -1,57 +0,0 @@
1
- lamindb/__init__.py,sha256=N8c6LCD-NLi9UTsmkOIvRcPOdu183747G8mdfsLfNJI,2249
2
- lamindb/_artifact.py,sha256=pdSMBuZnlr-Jfot8p90x7TEbto-viXyryax5p1FljEs,40133
3
- lamindb/_can_validate.py,sha256=CUu-lBY9XnSYGWiazYhLMW5H0LuuR86mVbU7UnIZTVU,15010
4
- lamindb/_collection.py,sha256=P4UjZxC2OcViTmqSeW3NIiXU3C0ZF5BF9P6YcchS2Zg,14617
5
- lamindb/_curate.py,sha256=i3pqkNvgXtOXXmw7zPgnr7BT3KnZDBw8DyxuyPkhwbo,44898
6
- lamindb/_feature.py,sha256=hLj5KDhIVkZrIa7IbiHGyUBGZS7PeDNxKsNK1EadBAc,7377
7
- lamindb/_feature_set.py,sha256=nsiT9mKfEJdh2yqihOawfFL0mkHRNi5-9vxRllv5NAM,8137
8
- lamindb/_filter.py,sha256=Ed9k-LOkr1BwqeHpvaEe0w27cG7Bu0BaXPDA0OIzUpQ,1410
9
- lamindb/_finish.py,sha256=FRGN2cmBbZqmxr803YIpGGUaqst8xBTi3kmliV5oJo4,10504
10
- lamindb/_from_values.py,sha256=SGTQNb0M1h3icuYsfIIjqI7xNy3i3Frw_-PAl5MXMBo,13860
11
- lamindb/_is_versioned.py,sha256=8pXW2gkLTZsTxRERuWZLidiagNIC8evmCmnbztWkVQ4,1343
12
- lamindb/_parents.py,sha256=Zgi9Lmw9td18Y0QJ96rYaBrjSaZ8XGcseWdbJkpJhFU,15061
13
- lamindb/_query_manager.py,sha256=6_ZqQr0SKTYsbMtJd5BmaMoyASIVel5v2F1KMgacWlU,4252
14
- lamindb/_query_set.py,sha256=LM5NsAWy5FCZZSxX1VbE20RdA5nsyk4_5p4abuMjdcI,11662
15
- lamindb/_record.py,sha256=LPIUvJut4mFqk4231SaA7jpyKcN8K4RU2kpfNIo9I-4,19768
16
- lamindb/_run.py,sha256=xj3ER4F_yWvuNw1mr0XU-QuIPi5hBO7Ue0ygBgJQ6mc,1887
17
- lamindb/_save.py,sha256=FrtaW8uaw4YLMPixpW1T2o8SmNJqgNdpPF-xUf5tXJ8,11852
18
- lamindb/_storage.py,sha256=GBVChv-DHVMNEBJL5l_JT6B4RDhZ6NnwgzmUICphYKk,413
19
- lamindb/_transform.py,sha256=E9C7psuOnsNrUQpWRuGgEUM8_pc7YhDn7n4ieHzB4X0,3169
20
- lamindb/_ulabel.py,sha256=XDSdZBXX_ki5s1vOths3MjF2x5DPggBR_PV_KF4SGyg,1611
21
- lamindb/_utils.py,sha256=LGdiW4k3GClLz65vKAVRkL6Tw-Gkx9DWAdez1jyA5bE,428
22
- lamindb/_view.py,sha256=_sAcSD06bC92R_LLDcHMhO0IfOqybBXXRYxOXvm1Juc,2322
23
- lamindb/core/__init__.py,sha256=HtyYVFrS6RclSk7gZty9vgXU0k2_oZiqFPfqghBc4Fc,1415
24
- lamindb/core/_data.py,sha256=yk2ozTt-mNIA8bWllmcC__WgFukj03fZU41rr_ultlM,16264
25
- lamindb/core/_feature_manager.py,sha256=dWrHtICaJpKdaSKtU9etg3SbUnWJ3fKZWkSM0ZKFJes,32184
26
- lamindb/core/_label_manager.py,sha256=51VzgF_TtdQDmKBjWmZcuE4OHVtsy-HdxdPHhUb5eJg,9659
27
- lamindb/core/_mapped_collection.py,sha256=SGUsR6RbjNzUOq6A6wTa4M4GkLMuP4Z70WOeF39WPCU,19618
28
- lamindb/core/_run_context.py,sha256=w_LdfwYTncCZmh4agNPey37UdKrzSglLfLUNBe5z1mw,18421
29
- lamindb/core/_settings.py,sha256=sDfIfq9H7H8nUE51FJF4EO_Zihlxh44S3GbaliHKJY4,6108
30
- lamindb/core/_sync_git.py,sha256=qc0yfPyKeG4uuNT_3qsv-mkIMqhLFqfXNeNVO49vV00,4547
31
- lamindb/core/_track_environment.py,sha256=STzEVUzOeUEWdX7WDJUkKH4u08k7eupRX6AXQwoVt14,828
32
- lamindb/core/exceptions.py,sha256=bbm-PeSy24qFcqh2HpucZWpwGAvk-TL_3FUoAPb3e3E,867
33
- lamindb/core/fields.py,sha256=47Jmh3efUr5ZscgimR_yckY-I3cNf8ScLutbwKCK3j4,162
34
- lamindb/core/schema.py,sha256=sNrzWnqeyh9Ppr7yImlSAXiHb_VJdB5DWuO-QERxQGY,1847
35
- lamindb/core/types.py,sha256=xeQF2x40p2pR9eIVQrXT74RrS810z2fbjmTRTSQUqPM,230
36
- lamindb/core/versioning.py,sha256=lz1JP3K-0npeSTZPY7kMVXqOOcB8IEGmdG0Si3kSdN8,4956
37
- lamindb/core/datasets/__init__.py,sha256=zRP98oqUAaXhqWyKMiH0s_ImVIuNeziQQ2kQ_t0f-DI,1353
38
- lamindb/core/datasets/_core.py,sha256=11vsIRREU7TvjwkL2htJWAGoBNCmG2qz8ps4Bd4SNLQ,19873
39
- lamindb/core/datasets/_fake.py,sha256=BZF9R_1iF0HDnvtZNqL2FtsjSMuqDIfuFxnw_LJYIh4,953
40
- lamindb/core/storage/__init__.py,sha256=5LUFQKRr2BX24d-yWBezhTXBV83sShcOvPj5Y5u6qIg,441
41
- lamindb/core/storage/_anndata_sizes.py,sha256=aXO3OB--tF5MChenSsigW6Q-RuE8YJJOUTVukkLrv9A,1029
42
- lamindb/core/storage/_backed_access.py,sha256=4VmnqGd5DH6xJ5UQ7JMiQ2dfs-uLBnVlJXkZB8GcJHI,26624
43
- lamindb/core/storage/_valid_suffixes.py,sha256=J08aglC9oo35pzahj0SQXW9IHib8Asp4dc11co-2uys,212
44
- lamindb/core/storage/_zarr.py,sha256=5ceEz6YIvgvUnVVNWhK5Z4W0WfrvyvY82Yna5jSX1_E,3661
45
- lamindb/core/storage/objects.py,sha256=OzvBCS-Urz5mr-O95qYt6RGBDDX5HmjfRRKWPPDn1ZE,1797
46
- lamindb/core/storage/paths.py,sha256=IAtZTkYB0Q1vlVkx-7c-zBjQtlKVdwojemNgqVTOUC0,8255
47
- lamindb/core/subsettings/__init__.py,sha256=KFHPzIE7f7Bj4RgMjGQF4CjTdHVG_VNFBrCndo49ixo,198
48
- lamindb/core/subsettings/_creation_settings.py,sha256=54mfMH_osC753hpxcl7Dq1rwBD2LHnWveXtQpkLBITE,1194
49
- lamindb/core/subsettings/_transform_settings.py,sha256=4YbCuZtJo6zdytl6UQR4GvdDkTtT6SRBqVzofGzNOt8,583
50
- lamindb/integrations/__init__.py,sha256=aH2PmO2m4-vwIifMYTB0Fyyr_gZWtVnV71jT0tVWSw0,123
51
- lamindb/integrations/_vitessce.py,sha256=VC80NKuzZ0FdjFxaLvyD78kAUNwvwBnGblSPDqT_mGQ,2737
52
- lamindb/setup/__init__.py,sha256=OwZpZzPDv5lPPGXZP7-zK6UdO4FHvvuBh439yZvIp3A,410
53
- lamindb/setup/core/__init__.py,sha256=SevlVrc2AZWL3uALbE5sopxBnIZPWZ1IB0NBDudiAL8,167
54
- lamindb-0.74.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
55
- lamindb-0.74.2.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
56
- lamindb-0.74.2.dist-info/METADATA,sha256=PjbRqnIXHyjshCFH9JlZR32KTSw_1i85gT3FWNj4MkI,2669
57
- lamindb-0.74.2.dist-info/RECORD,,