lamindb 0.68.0__py3-none-any.whl → 0.68.2__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 CHANGED
@@ -1,8 +1,14 @@
1
1
  import lamindb_setup as _lamindb_setup
2
2
  from lamindb_setup import * # noqa: F403
3
- from lamindb_setup import settings
3
+ from lamindb_setup import (
4
+ connect,
5
+ delete,
6
+ init,
7
+ settings,
8
+ )
4
9
 
5
- from . import dev
10
+ from . import core
6
11
 
12
+ del connect # we have this at the root level, hence, we don't want it here
7
13
  __doc__ = _lamindb_setup.__doc__.replace("lamindb_setup", "lamindb.setup")
8
14
  settings.__doc__ = settings.__doc__.replace("lamindb_setup", "lamindb.setup")
@@ -1,6 +1,4 @@
1
- """Setup developer API.
2
-
3
- Settings:
1
+ """Core setup library.
4
2
 
5
3
  .. autosummary::
6
4
  :toctree:
@@ -10,7 +8,7 @@ Settings:
10
8
  StorageSettings
11
9
 
12
10
  """
13
- from lamindb_setup.dev import ( # pragma: no cover
11
+ from lamindb_setup.core import ( # pragma: no cover
14
12
  InstanceSettings,
15
13
  StorageSettings,
16
14
  UserSettings,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb
3
- Version: 0.68.0
3
+ Version: 0.68.2
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.62.0
13
- Requires-Dist: lamindb_setup==0.65.3
12
+ Requires-Dist: lnschema_core==0.63.0
13
+ Requires-Dist: lamindb_setup==0.66.1
14
14
  Requires-Dist: lamin_utils==0.13.0
15
- Requires-Dist: lamin_cli==0.8.1
15
+ Requires-Dist: lamin_cli==0.9.3
16
16
  Requires-Dist: rapidfuzz
17
17
  Requires-Dist: pyarrow
18
18
  Requires-Dist: typing_extensions!=4.6.0
@@ -24,8 +24,9 @@ Requires-Dist: graphviz
24
24
  Requires-Dist: psycopg2-binary
25
25
  Requires-Dist: urllib3<2 ; extra == "aws"
26
26
  Requires-Dist: aiobotocore[boto3]>=2.5.4,<3.0.0 ; extra == "aws"
27
+ Requires-Dist: s3fs==2023.12.2 ; extra == "aws"
27
28
  Requires-Dist: fsspec[s3]==2023.12.2 ; extra == "aws"
28
- Requires-Dist: bionty==0.41.0 ; extra == "bionty"
29
+ Requires-Dist: bionty==0.42.0 ; extra == "bionty"
29
30
  Requires-Dist: pandas<2 ; extra == "dev"
30
31
  Requires-Dist: pre-commit ; extra == "dev"
31
32
  Requires-Dist: nox ; extra == "dev"
@@ -59,14 +60,11 @@ Provides-Extra: zarr
59
60
 
60
61
  # LaminDB - A data framework for biology
61
62
 
62
- LaminDB is an open-source Python framework to manage biological data & analyses:
63
-
64
- - Access data & metadata across storage & databases.
63
+ - Access storage & databases with one Python API & CLI.
65
64
  - Track data lineage across notebooks & pipelines.
66
65
  - Manage registries for experimental metadata & in-house ontologies.
67
- - Validate, standardize & annotate data.
68
- - Organize and share data across a mesh of LaminDB instances.
69
- - Manage data access, leverage an auditable system of record.
66
+ - Validate, standardize & annotate.
67
+ - Collaborate across a mesh of distributed LaminDB instances.
70
68
 
71
69
  ## Documentation
72
70
 
@@ -0,0 +1,49 @@
1
+ lamindb/__init__.py,sha256=dT1kw0e8P_VQAeAbtpZQK_tPcxm7W7oFoG9kFKvnLiM,2277
2
+ lamindb/_artifact.py,sha256=DzOWGupWqb0EUJYunmrxPU2xIPkQwGiSbtVdABvTZm0,36316
3
+ lamindb/_collection.py,sha256=esjFYaVPIz7E5J-dk3FppAOZsimszd4m7MYGxErmrk4,18097
4
+ lamindb/_feature.py,sha256=B_vjiH7wOW0mugZOmIHYKkAe20E1Ca9PnMppAW9KJU4,6677
5
+ lamindb/_feature_set.py,sha256=G_Ss6mKh4D0Eji-xSfLRbKVFXwgUE82YOqIUmkV0CAA,8767
6
+ lamindb/_filter.py,sha256=_PjyQWQBR3ohDAvJbR3hMvZ-2p2GvzFxLfKGC-gPnHI,1320
7
+ lamindb/_from_values.py,sha256=Ei11ml77Q1xubVekt2C4-mbox2-qnC7kP18B-LhCdSc,11886
8
+ lamindb/_is_versioned.py,sha256=DXp5t-1DwErpqqMc9eb08kpQPCHOC2fNzaozMoBunR4,1337
9
+ lamindb/_parents.py,sha256=oPfrEB1t-OD1TmsZ1c6PmFZ0NrZ86WqA-tCw-0atxaU,14738
10
+ lamindb/_query_manager.py,sha256=lyYMEsstUQlns2H01oZXN5Ly0X6ug2VOPebyu9fHn4s,4008
11
+ lamindb/_query_set.py,sha256=1J4E6UuB0WUtWlky6ZEgvJqJWGJuEOqXtdsaBhTTMU4,10906
12
+ lamindb/_registry.py,sha256=d_ZLG2Y4No_KBGoY-Xl9iia3enF5J50ktpC2E21ERM4,19160
13
+ lamindb/_run.py,sha256=O5TcVPZqgdUvk4nBmI_HXzvWOG_Zr3B_HMDaw228w-4,1719
14
+ lamindb/_save.py,sha256=2V3u0F2FFJZBlaBtViBYLIPDIVlwY-uXlhPDfA-wCMo,11102
15
+ lamindb/_storage.py,sha256=VW8xq3VRv58-ciholvOdlcgvp_OIlLxx5GxLt-e2Irs,614
16
+ lamindb/_transform.py,sha256=yVff1BbkIYSFD3mY-GgDgjCx0IE1mGVthC4rh6Yk07g,3382
17
+ lamindb/_ulabel.py,sha256=euXsDPD7wC99oopLXVkT-vq7f3E6-zP4Z4akI-yh0aM,1913
18
+ lamindb/_utils.py,sha256=LGdiW4k3GClLz65vKAVRkL6Tw-Gkx9DWAdez1jyA5bE,428
19
+ lamindb/_validate.py,sha256=w7lrUGTWldpvwaRiXBRrjfU_ZRidA7CooOu_r5MbocY,14569
20
+ lamindb/_view.py,sha256=yFMu4vnt0YqvN1q11boAkwigxCH1gdliDUSbzh3IuDw,2175
21
+ lamindb/core/__init__.py,sha256=lXCmiCDx_cJ9TjgCMAZelxJQcppA4OF5mB-4YnKaCwU,1164
22
+ lamindb/core/_data.py,sha256=lJRdEBW_CkcH13FuchTEMYcoW5nLiam8Uy8d_DDULek,17210
23
+ lamindb/core/_feature_manager.py,sha256=a1HXGmMgSRWEsE7nmlMMKYZzDo8oFAmieOM6HGa-yyU,13901
24
+ lamindb/core/_label_manager.py,sha256=zrWDSd2AkR6fKsGDxLSWqHC9fz9BcGlavPZEh92Wzjg,9063
25
+ lamindb/core/_mapped_collection.py,sha256=uoaX59BnA_EqkRvF-bQaNS6mi1PihSPTym02PEbadZg,16795
26
+ lamindb/core/_run_context.py,sha256=HztuUbj4DJ-fCaP9a6lgRjZrHtSAzU-j5vnTuCQP0Yc,17139
27
+ lamindb/core/_settings.py,sha256=vJ2gIfYneapsiwhwnzbYnmbTOhkBaUJgVABSSeV9HOc,4691
28
+ lamindb/core/_track_environment.py,sha256=QjHWbyl2u8J4hbJG8Q_ToFaZIgS-H15Ej6syJgk-dvY,662
29
+ lamindb/core/_transform_settings.py,sha256=pOjCWAW0Lst_GtZqscOM76SJo8yo69BFi7DfGr0fnG8,186
30
+ lamindb/core/_view_tree.py,sha256=K-C1BsOiEupwgkhyrsGxLFxHU45SAkiKsQbeOV9PbaY,3421
31
+ lamindb/core/exceptions.py,sha256=PHk5lyBdJPrrEQcid3ItfdNzz3fgiQsUmsEDdz063F0,197
32
+ lamindb/core/fields.py,sha256=Jgi_XI-iTe6cT7oD8FV_JqEpjN1Q9rZWwL8VLtj4jkA,164
33
+ lamindb/core/types.py,sha256=2CJdqGXxbYv4oOB_t6p2PJdg_5j9qDUSJJYEV-lcnqA,256
34
+ lamindb/core/versioning.py,sha256=SGhRyjLo8z51DndyczpihLX1Tq9VyyHY4vkiqXbtotc,3024
35
+ lamindb/core/datasets/__init__.py,sha256=zRP98oqUAaXhqWyKMiH0s_ImVIuNeziQQ2kQ_t0f-DI,1353
36
+ lamindb/core/datasets/_core.py,sha256=Y1UP_gPN2w6-QijaqmeKV57luYXYb5d2G-bmuSobS1I,18856
37
+ lamindb/core/datasets/_fake.py,sha256=S8mNho-oSh1M9x9oOSsUBLLHmBAegsOLlFk6LnF81EA,942
38
+ lamindb/core/storage/__init__.py,sha256=9alBNtyH59VnoWJS-IdjLwFKlK-kgeCGl6jXk0_wGeQ,369
39
+ lamindb/core/storage/_anndata_sizes.py,sha256=0XVzA6AQeVGPaGPrhGusKyxFgFjeo3qSN29hxb8D5E8,993
40
+ lamindb/core/storage/_backed_access.py,sha256=MD58DbKMen-62I7eloaCSUFYpU2zTERGbJuPWus2qsE,22871
41
+ lamindb/core/storage/_zarr.py,sha256=bMQSCsTOCtQy4Yo3KwCVpbUkKdWRApN9FM1rM-d2_G0,2839
42
+ lamindb/core/storage/file.py,sha256=FP9G6Z7Uxt86Ro2WvewDaVgKrrErW2VOCFK3-3vSUNI,7285
43
+ lamindb/core/storage/object.py,sha256=MPUb2M8Fleq2j9x1Ryqr3BETmvsDKyf11Ifvbxd3NpA,1097
44
+ lamindb/setup/__init__.py,sha256=OwZpZzPDv5lPPGXZP7-zK6UdO4FHvvuBh439yZvIp3A,410
45
+ lamindb/setup/core/__init__.py,sha256=LqIIvJNcONxkqjbnP6CUaP4d45Lbd6TSMAcXFp4C7_8,231
46
+ lamindb-0.68.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
47
+ lamindb-0.68.2.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
48
+ lamindb-0.68.2.dist-info/METADATA,sha256=RP8GwGeqWVOpb6HazhQ7hqwidk3mWiFSzsZgxY6lyZQ,2848
49
+ lamindb-0.68.2.dist-info/RECORD,,
lamindb/core/hashing.py DELETED
@@ -1,62 +0,0 @@
1
- """Hashing.
2
-
3
- .. autosummary::
4
- :toctree: .
5
-
6
- hash_set
7
- hash_file
8
-
9
- """
10
-
11
- import base64
12
- import hashlib
13
- from typing import List, Set, Tuple
14
-
15
-
16
- def to_b64_str(bstr: bytes):
17
- b64 = base64.urlsafe_b64encode(bstr).decode().strip("=")
18
- return b64
19
-
20
-
21
- def b16_to_b64(s: str):
22
- return to_b64_str(base64.b16decode(s.strip('"'), casefold=True))
23
-
24
-
25
- # a lot to read about this: lamin-notes/2022/hashing
26
- def hash_set(s: Set[str]) -> str:
27
- bstr = ":".join(sorted(s)).encode("utf-8")
28
- # as we're truncating at 20 b64, we choose md5 over sha512
29
- return to_b64_str(hashlib.md5(bstr).digest())[:20]
30
-
31
-
32
- def hash_md5s_from_dir(etags: List[str]) -> Tuple[str, str]:
33
- # need to sort below because we don't want the order of parsing the dir to
34
- # affect the hash
35
- digests = b"".join(
36
- hashlib.md5(etag.encode("utf-8")).digest() for etag in sorted(etags)
37
- )
38
- digest = hashlib.md5(digests).digest()
39
- return to_b64_str(digest)[:22], "md5-d"
40
-
41
-
42
- def hash_file(file_path, chunk_size=50 * 1024 * 1024) -> Tuple[str, str]:
43
- chunks = []
44
- with open(file_path, "rb") as fp:
45
- # read first chunk
46
- chunks = [fp.read(chunk_size)]
47
- # try reading the 2nd chunk
48
- data = fp.read(chunk_size)
49
- if data:
50
- # go to end of file
51
- fp.seek(-chunk_size, 2)
52
- # read last chunk
53
- data = fp.read(chunk_size)
54
- chunks.append(data)
55
- if len(chunks) == 1:
56
- digest = hashlib.md5(chunks[0]).digest()
57
- hash_type = "md5"
58
- else:
59
- digests = b"".join(hashlib.sha1(chunk).digest() for chunk in chunks)
60
- digest = hashlib.sha1(digests).digest()
61
- hash_type = "sha1-fl" # sha1 first last chunk
62
- return to_b64_str(digest)[:22], hash_type
@@ -1,50 +0,0 @@
1
- lamindb/__init__.py,sha256=6Ha3TEyHnihuVKO1Mpk3lEZe5R_qlkNon-GkEQ1SGro,2743
2
- lamindb/_artifact.py,sha256=LmuyNlwRy4cRJUdFKm3fRxLTEAQMbEtFK8lpAMg7rWc,38225
3
- lamindb/_collection.py,sha256=kHqAZRa3yo_x2jXPqrSm5XVvbOBZbl98V5JgZH1X0rg,17989
4
- lamindb/_feature.py,sha256=ygCukU6M_cmybYu5_mysS-14vfsKOH8OwxWXW7804wY,6657
5
- lamindb/_feature_set.py,sha256=yr8fqG1-taQw9IrVb7cICkU7bWhbQXG-IhpKC7HzAwc,8741
6
- lamindb/_filter.py,sha256=_PjyQWQBR3ohDAvJbR3hMvZ-2p2GvzFxLfKGC-gPnHI,1320
7
- lamindb/_from_values.py,sha256=Ei11ml77Q1xubVekt2C4-mbox2-qnC7kP18B-LhCdSc,11886
8
- lamindb/_is_versioned.py,sha256=N-unibWKF2tYIn6-nyrncDi_tyoaEzmT35jHYDMc77Q,1317
9
- lamindb/_parents.py,sha256=0MicY3zFmZGilV-gECCBRt5lQMcE3l1rlWVzCOjKf2s,14719
10
- lamindb/_query_manager.py,sha256=NFkNe6_bhZihKnwE2hoHU_sp1suiuKQE8wLQ-TeT8aU,4007
11
- lamindb/_query_set.py,sha256=9CDGvAZ2wrRYKPL798A8fW7ZvcTxGi81WaTrZOy6P8I,10905
12
- lamindb/_registry.py,sha256=MtI0gmHl__10cINGzrG5dS3jwYiNDgLvQY9VpaEr5m4,18411
13
- lamindb/_run.py,sha256=O5TcVPZqgdUvk4nBmI_HXzvWOG_Zr3B_HMDaw228w-4,1719
14
- lamindb/_save.py,sha256=jOiGWCe4QhoJIQdbEINkNOTVUGWz95A_j_iAAIaMr6g,11101
15
- lamindb/_storage.py,sha256=NPTkLFGbUtvq2ajtE9xXMRH3l5p5oSig6IJ2JKgQDrw,612
16
- lamindb/_transform.py,sha256=YbrkWDxLPHDe8JhjyGuy4m6NRTT1pHrTut86IVJiuT0,3304
17
- lamindb/_ulabel.py,sha256=HALoy6HerRnehR-u8zPH-qmiFQHWxeAwkZ31jxjrfgI,1893
18
- lamindb/_utils.py,sha256=LGdiW4k3GClLz65vKAVRkL6Tw-Gkx9DWAdez1jyA5bE,428
19
- lamindb/_validate.py,sha256=dq-ppvykw4jGTvFsCIbd6EHFD_IXWGbRMKLzyxyxqVs,14549
20
- lamindb/_view.py,sha256=yFMu4vnt0YqvN1q11boAkwigxCH1gdliDUSbzh3IuDw,2175
21
- lamindb/core/__init__.py,sha256=R1_gJsyT3KCZ4f-eUXd0yF9ZI42Z3gDF7wiN1yGULqY,1175
22
- lamindb/core/_data.py,sha256=iXY6pl9iDruhNGB1OvWH_J7uao4QUKVHOqXzT4kTyFU,17209
23
- lamindb/core/_feature_manager.py,sha256=mtLuRWybRlHwYdX3JGX05c4oWT3sWyZ0Le8eRCNc56A,13674
24
- lamindb/core/_label_manager.py,sha256=vctXLp1BhJhrFxSTfU-VprT7r6kZvh7gtlWnkMDYEA4,8941
25
- lamindb/core/_mapped_collection.py,sha256=QJNMSemkms05dvlLsFqm3eRmHlTz8xGAQd3bEbI5JCA,15529
26
- lamindb/core/_run_context.py,sha256=6zTqYFpHOSvoA-vmNhCTwPYyT3TA5xT6GhdZ-vjO1pU,17748
27
- lamindb/core/_settings.py,sha256=drFEAWlcRv79mMRdmSygetpcW6ECQ9p75hSXlqpbPkg,4507
28
- lamindb/core/_track_environment.py,sha256=QjHWbyl2u8J4hbJG8Q_ToFaZIgS-H15Ej6syJgk-dvY,662
29
- lamindb/core/_transform_settings.py,sha256=pOjCWAW0Lst_GtZqscOM76SJo8yo69BFi7DfGr0fnG8,186
30
- lamindb/core/_view_tree.py,sha256=K-C1BsOiEupwgkhyrsGxLFxHU45SAkiKsQbeOV9PbaY,3421
31
- lamindb/core/exceptions.py,sha256=PHk5lyBdJPrrEQcid3ItfdNzz3fgiQsUmsEDdz063F0,197
32
- lamindb/core/fields.py,sha256=Jgi_XI-iTe6cT7oD8FV_JqEpjN1Q9rZWwL8VLtj4jkA,164
33
- lamindb/core/hashing.py,sha256=wmioFBv_5G-Gjnm-QU_UtofpB0wBjeEkycof_V9F454,1745
34
- lamindb/core/types.py,sha256=dzzoSaxjtJ1zJ_C9LZJcydiULf9XfZji1KI2DvO6S8g,224
35
- lamindb/core/versioning.py,sha256=zcj8KLJpKriCp_RlZGbppaQyba6h_IhZUBdhXQR5Gg0,3023
36
- lamindb/core/datasets/__init__.py,sha256=zRP98oqUAaXhqWyKMiH0s_ImVIuNeziQQ2kQ_t0f-DI,1353
37
- lamindb/core/datasets/_core.py,sha256=Y1UP_gPN2w6-QijaqmeKV57luYXYb5d2G-bmuSobS1I,18856
38
- lamindb/core/datasets/_fake.py,sha256=S8mNho-oSh1M9x9oOSsUBLLHmBAegsOLlFk6LnF81EA,942
39
- lamindb/core/storage/__init__.py,sha256=P6LYolhSu4QNtvp4hEnVpLpW1GueX2BTewbUE8A12ak,368
40
- lamindb/core/storage/_anndata_sizes.py,sha256=0XVzA6AQeVGPaGPrhGusKyxFgFjeo3qSN29hxb8D5E8,993
41
- lamindb/core/storage/_backed_access.py,sha256=iQcdTji1qSf5fW9ohBAJIGhWeAei1G_PS25VnDjU0JA,22870
42
- lamindb/core/storage/_zarr.py,sha256=CrY-I73c2RhFl92jujWIA77TaT_prGsvdZxnqOyhNRg,2838
43
- lamindb/core/storage/file.py,sha256=uxHEyRVdzk89uVtwdhu0556z8TO0bksZoJog3Z5Uut4,7115
44
- lamindb/core/storage/object.py,sha256=KGuOwwYuN2yCJxTXn9v0LanC0fjKwy_62P-WksHcf40,1140
45
- lamindb/setup/__init__.py,sha256=WaWKO-2XT67S65lSbS80hUojL-Mr_Wms9UxH6U54TsY,289
46
- lamindb/setup/dev/__init__.py,sha256=tBty426VGF2PGqqt2XuNU-WgvOrbOp1aZBDowjLuzgA,242
47
- lamindb-0.68.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
48
- lamindb-0.68.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
49
- lamindb-0.68.0.dist-info/METADATA,sha256=-occcnetwTruu7t7VHoxw4BGpn9S8-a4xfpBsgSTzeg,2946
50
- lamindb-0.68.0.dist-info/RECORD,,